diff --git a/package-lock.json b/package-lock.json index f55d8cd..195e2b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,13 +10,13 @@ "dependencies": { "@sveltejs/adapter-node": "^5.3.1", "drizzle-orm": "^0.44.5", + "fuse.js": "^7.1.0", "postgres": "^3.4.7" }, "devDependencies": { "@eslint/compat": "^1.2.5", "@eslint/js": "^9.18.0", "@sveltejs/adapter-auto": "^6.0.0", - "@sveltejs/adapter-netlify": "^5.2.2", "@sveltejs/kit": "^2.22.0", "@sveltejs/vite-plugin-svelte": "^6.0.0", "@tailwindcss/forms": "^0.5.9", @@ -1135,13 +1135,6 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", - "dev": true, - "license": "ISC" - }, "node_modules/@isaacs/fs-minipass": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", @@ -1630,21 +1623,6 @@ "@sveltejs/kit": "^2.0.0" } }, - "node_modules/@sveltejs/adapter-netlify": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-netlify/-/adapter-netlify-5.2.2.tgz", - "integrity": "sha512-pFWB/lxG8NuJLEYOcPxD059v5QQDFX1vxpBbVobHjgJDCpSDLySGMi4ipDKNPfysqIA9TEG+rwdexz0iaIAocg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@iarna/toml": "^2.2.5", - "esbuild": "^0.25.4", - "set-cookie-parser": "^2.6.0" - }, - "peerDependencies": { - "@sveltejs/kit": "^2.4.0" - } - }, "node_modules/@sveltejs/adapter-node": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.3.1.tgz", @@ -3242,6 +3220,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fuse.js": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.1.0.tgz", + "integrity": "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, "node_modules/get-tsconfig": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", diff --git a/package.json b/package.json index 40b8218..05ef75b 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "dependencies": { "@sveltejs/adapter-node": "^5.3.1", "drizzle-orm": "^0.44.5", + "fuse.js": "^7.1.0", "postgres": "^3.4.7" } } diff --git a/src/routes/discover/+page.svelte b/src/routes/discover/+page.svelte index 2338782..66d4d2d 100644 --- a/src/routes/discover/+page.svelte +++ b/src/routes/discover/+page.svelte @@ -1,24 +1,51 @@ @@ -61,45 +88,79 @@ Discover events created by the community - + - - - - - - - - {#if searchQuery} - (searchQuery = '')} - class="absolute inset-y-0 right-0 flex items-center pr-3 text-slate-400 hover:text-slate-300" - > - + + + + + + + + {#if searchQuery} + (searchQuery = '')} + class="absolute inset-y-0 right-0 flex items-center pr-3 text-slate-400 hover:text-slate-300" + > + + + + + {/if} + + + + + (selectedEventType = 'all')} + class="rounded-sm border px-3 py-2 text-sm font-medium transition-colors {selectedEventType === + 'all' + ? 'border-violet-500 bg-violet-500/20 text-violet-400' + : 'border-slate-600 text-slate-400 hover:border-slate-500 hover:text-slate-300'}" + > + All - {/if} + (selectedEventType = 'limited')} + class="rounded-sm border px-3 py-2 text-sm font-medium transition-colors {selectedEventType === + 'limited' + ? 'border-amber-600 bg-amber-600/20 text-amber-600' + : 'border-slate-600 text-slate-400 hover:border-slate-500 hover:text-slate-300'}" + > + Limited + + (selectedEventType = 'unlimited')} + class="rounded-sm border px-3 py-2 text-sm font-medium transition-colors {selectedEventType === + 'unlimited' + ? 'border-teal-500 bg-teal-500/20 text-teal-500' + : 'border-slate-600 text-slate-400 hover:border-slate-500 hover:text-slate-300'}" + > + Unlimited + +
Discover events created by the community