Initial commit — Tauri image gallery with sqlite-vec

Sets up Tauri v2 + React frontend with SQLite metadata store,
sqlite-vec for CLIP embedding infrastructure, and r2d2 connection
pool replacing the single Arc<Mutex<Connection>>. Indexer now uses
rayon for parallel file metadata collection.
This commit is contained in:
2026-04-05 15:59:48 +01:00
commit c5e9c83ac9
51 changed files with 10540 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
import { useEffect } from "react";
import { useGalleryStore } from "./store";
import { Sidebar } from "./components/Sidebar";
import { MenuBar } from "./components/MenuBar";
import { Toolbar } from "./components/Toolbar";
import { Gallery } from "./components/Gallery";
import { Lightbox } from "./components/Lightbox";
export default function App() {
const { loadFolders, loadImages, subscribeToProgress } = useGalleryStore();
useEffect(() => {
loadFolders().then(() => loadImages(true));
let unlisten: (() => void) | undefined;
subscribeToProgress().then((fn) => {
unlisten = fn;
});
return () => {
unlisten?.();
};
}, []);
return (
<div className="flex h-screen bg-gray-950 text-white overflow-hidden select-none">
<Sidebar />
<main className="flex-1 flex flex-col min-w-0">
<MenuBar />
<Toolbar />
<Gallery />
</main>
<Lightbox />
</div>
);
}