diff --git a/bun.lock b/bun.lock
index 5e3d2d5..840e278 100644
--- a/bun.lock
+++ b/bun.lock
@@ -8,13 +8,13 @@
"mode-watcher": "^1.1.0",
},
"devDependencies": {
- "@internationalized/date": "^3.8.1",
- "@lucide/svelte": "^0.544.0",
+ "@internationalized/date": "^3.10.0",
+ "@lucide/svelte": "^0.561.0",
"@sveltejs/adapter-vercel": "^6.0.0",
"@sveltejs/kit": "^2.47.1",
"@sveltejs/vite-plugin-svelte": "^6.2.1",
"@tailwindcss/vite": "^4.1.14",
- "bits-ui": "^2.11.0",
+ "bits-ui": "^2.14.4",
"clsx": "^2.1.1",
"prettier": "^3.7.4",
"prettier-plugin-svelte": "^3.4.0",
@@ -105,7 +105,7 @@
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
- "@lucide/svelte": ["@lucide/svelte@0.544.0", "", { "peerDependencies": { "svelte": "^5" } }, "sha512-9f9O6uxng2pLB01sxNySHduJN3HTl5p0HDu4H26VR51vhZfiMzyOMe9Mhof3XAk4l813eTtl+/DYRvGyoRR+yw=="],
+ "@lucide/svelte": ["@lucide/svelte@0.561.0", "", { "peerDependencies": { "svelte": "^5" } }, "sha512-vofKV2UFVrKE6I4ewKJ3dfCXSV6iP6nWVmiM83MLjsU91EeJcEg7LoWUABLp/aOTxj1HQNbJD1f3g3L0JQgH9A=="],
"@mapbox/node-pre-gyp": ["@mapbox/node-pre-gyp@2.0.0", "", { "dependencies": { "consola": "^3.2.3", "detect-libc": "^2.0.0", "https-proxy-agent": "^7.0.5", "node-fetch": "^2.6.7", "nopt": "^8.0.0", "semver": "^7.5.3", "tar": "^7.4.0" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" } }, "sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg=="],
@@ -231,7 +231,7 @@
"bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="],
- "bits-ui": ["bits-ui@2.14.3", "", { "dependencies": { "@floating-ui/core": "^1.7.1", "@floating-ui/dom": "^1.7.1", "esm-env": "^1.1.2", "runed": "^0.35.1", "svelte-toolbelt": "^0.10.6", "tabbable": "^6.2.0" }, "peerDependencies": { "@internationalized/date": "^3.8.1", "svelte": "^5.33.0" } }, "sha512-Dkpenu6F5WUfdDJn5D8ALkTaAM+7sUCszKjzav5TWAzsq1fj2tcqKYJcUm82OS+JlgcolI7LOkrqIXzKnt56RA=="],
+ "bits-ui": ["bits-ui@2.14.4", "", { "dependencies": { "@floating-ui/core": "^1.7.1", "@floating-ui/dom": "^1.7.1", "esm-env": "^1.1.2", "runed": "^0.35.1", "svelte-toolbelt": "^0.10.6", "tabbable": "^6.2.0" }, "peerDependencies": { "@internationalized/date": "^3.8.1", "svelte": "^5.33.0" } }, "sha512-W6kenhnbd/YVvur+DKkaVJ6GldE53eLewur5AhUCqslYQ0vjZr8eWlOfwZnMiPB+PF5HMVqf61vXBvmyrAmPWg=="],
"brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="],
diff --git a/package.json b/package.json
index 4d3b826..1aa0375 100644
--- a/package.json
+++ b/package.json
@@ -14,13 +14,13 @@
"lint": "prettier --check ."
},
"devDependencies": {
- "@internationalized/date": "^3.8.1",
- "@lucide/svelte": "^0.544.0",
+ "@internationalized/date": "^3.10.0",
+ "@lucide/svelte": "^0.561.0",
"@sveltejs/adapter-vercel": "^6.0.0",
"@sveltejs/kit": "^2.47.1",
"@sveltejs/vite-plugin-svelte": "^6.2.1",
"@tailwindcss/vite": "^4.1.14",
- "bits-ui": "^2.11.0",
+ "bits-ui": "^2.14.4",
"clsx": "^2.1.1",
"prettier": "^3.7.4",
"prettier-plugin-svelte": "^3.4.0",
diff --git a/src/lib/components/ui/command/command-dialog.svelte b/src/lib/components/ui/command/command-dialog.svelte
new file mode 100644
index 0000000..4bdb740
--- /dev/null
+++ b/src/lib/components/ui/command/command-dialog.svelte
@@ -0,0 +1,40 @@
+
+
+
+
+ {title}
+ {description}
+
+
+
+
+
diff --git a/src/lib/components/ui/command/command-empty.svelte b/src/lib/components/ui/command/command-empty.svelte
new file mode 100644
index 0000000..6726cd8
--- /dev/null
+++ b/src/lib/components/ui/command/command-empty.svelte
@@ -0,0 +1,17 @@
+
+
+
diff --git a/src/lib/components/ui/command/command-group.svelte b/src/lib/components/ui/command/command-group.svelte
new file mode 100644
index 0000000..104f817
--- /dev/null
+++ b/src/lib/components/ui/command/command-group.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {#if heading}
+
+ {heading}
+
+ {/if}
+
+
diff --git a/src/lib/components/ui/command/command-input.svelte b/src/lib/components/ui/command/command-input.svelte
new file mode 100644
index 0000000..28d3dcf
--- /dev/null
+++ b/src/lib/components/ui/command/command-input.svelte
@@ -0,0 +1,26 @@
+
+
+
+
+
+
diff --git a/src/lib/components/ui/command/command-item.svelte b/src/lib/components/ui/command/command-item.svelte
new file mode 100644
index 0000000..5833416
--- /dev/null
+++ b/src/lib/components/ui/command/command-item.svelte
@@ -0,0 +1,20 @@
+
+
+
diff --git a/src/lib/components/ui/command/command-link-item.svelte b/src/lib/components/ui/command/command-link-item.svelte
new file mode 100644
index 0000000..ada6d2c
--- /dev/null
+++ b/src/lib/components/ui/command/command-link-item.svelte
@@ -0,0 +1,20 @@
+
+
+
diff --git a/src/lib/components/ui/command/command-list.svelte b/src/lib/components/ui/command/command-list.svelte
new file mode 100644
index 0000000..2d3a01a
--- /dev/null
+++ b/src/lib/components/ui/command/command-list.svelte
@@ -0,0 +1,17 @@
+
+
+
diff --git a/src/lib/components/ui/command/command-loading.svelte b/src/lib/components/ui/command/command-loading.svelte
new file mode 100644
index 0000000..19dd298
--- /dev/null
+++ b/src/lib/components/ui/command/command-loading.svelte
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/lib/components/ui/command/command-separator.svelte b/src/lib/components/ui/command/command-separator.svelte
new file mode 100644
index 0000000..35c4c95
--- /dev/null
+++ b/src/lib/components/ui/command/command-separator.svelte
@@ -0,0 +1,17 @@
+
+
+
diff --git a/src/lib/components/ui/command/command-shortcut.svelte b/src/lib/components/ui/command/command-shortcut.svelte
new file mode 100644
index 0000000..f3d6928
--- /dev/null
+++ b/src/lib/components/ui/command/command-shortcut.svelte
@@ -0,0 +1,20 @@
+
+
+
+ {@render children?.()}
+
diff --git a/src/lib/components/ui/command/command.svelte b/src/lib/components/ui/command/command.svelte
new file mode 100644
index 0000000..a1581f1
--- /dev/null
+++ b/src/lib/components/ui/command/command.svelte
@@ -0,0 +1,28 @@
+
+
+
diff --git a/src/lib/components/ui/command/index.ts b/src/lib/components/ui/command/index.ts
new file mode 100644
index 0000000..5435fbe
--- /dev/null
+++ b/src/lib/components/ui/command/index.ts
@@ -0,0 +1,37 @@
+import Root from "./command.svelte";
+import Loading from "./command-loading.svelte";
+import Dialog from "./command-dialog.svelte";
+import Empty from "./command-empty.svelte";
+import Group from "./command-group.svelte";
+import Item from "./command-item.svelte";
+import Input from "./command-input.svelte";
+import List from "./command-list.svelte";
+import Separator from "./command-separator.svelte";
+import Shortcut from "./command-shortcut.svelte";
+import LinkItem from "./command-link-item.svelte";
+
+export {
+ Root,
+ Dialog,
+ Empty,
+ Group,
+ Item,
+ LinkItem,
+ Input,
+ List,
+ Separator,
+ Shortcut,
+ Loading,
+ //
+ Root as Command,
+ Dialog as CommandDialog,
+ Empty as CommandEmpty,
+ Group as CommandGroup,
+ Item as CommandItem,
+ LinkItem as CommandLinkItem,
+ Input as CommandInput,
+ List as CommandList,
+ Separator as CommandSeparator,
+ Shortcut as CommandShortcut,
+ Loading as CommandLoading,
+};
diff --git a/src/lib/components/ui/dialog/dialog-content.svelte b/src/lib/components/ui/dialog/dialog-content.svelte
index 9d7c7f5..5c6ee6d 100644
--- a/src/lib/components/ui/dialog/dialog-content.svelte
+++ b/src/lib/components/ui/dialog/dialog-content.svelte
@@ -1,9 +1,11 @@
-
+
Close
{/if}
-
+
diff --git a/src/lib/components/ui/dialog/dialog-portal.svelte b/src/lib/components/ui/dialog/dialog-portal.svelte
new file mode 100644
index 0000000..ccfa79c
--- /dev/null
+++ b/src/lib/components/ui/dialog/dialog-portal.svelte
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/lib/components/ui/dialog/dialog-title.svelte b/src/lib/components/ui/dialog/dialog-title.svelte
index 067e55e..e4d4b34 100644
--- a/src/lib/components/ui/dialog/dialog-title.svelte
+++ b/src/lib/components/ui/dialog/dialog-title.svelte
@@ -12,6 +12,6 @@
diff --git a/src/lib/components/ui/dialog/dialog.svelte b/src/lib/components/ui/dialog/dialog.svelte
new file mode 100644
index 0000000..211672c
--- /dev/null
+++ b/src/lib/components/ui/dialog/dialog.svelte
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/lib/components/ui/dialog/index.ts b/src/lib/components/ui/dialog/index.ts
index dce1d9d..076cef5 100644
--- a/src/lib/components/ui/dialog/index.ts
+++ b/src/lib/components/ui/dialog/index.ts
@@ -1,5 +1,5 @@
-import { Dialog as DialogPrimitive } from "bits-ui";
-
+import Root from "./dialog.svelte";
+import Portal from "./dialog-portal.svelte";
import Title from "./dialog-title.svelte";
import Footer from "./dialog-footer.svelte";
import Header from "./dialog-header.svelte";
@@ -9,9 +9,6 @@ import Description from "./dialog-description.svelte";
import Trigger from "./dialog-trigger.svelte";
import Close from "./dialog-close.svelte";
-const Root = DialogPrimitive.Root;
-const Portal = DialogPrimitive.Portal;
-
export {
Root,
Title,
diff --git a/src/lib/head/Busqueda.svelte b/src/lib/head/Busqueda.svelte
new file mode 100644
index 0000000..f966680
--- /dev/null
+++ b/src/lib/head/Busqueda.svelte
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+ (open = true)}
+ />
+
+ Ctrl+K
+
+
+
+
+ {#if search}
+
+ {/if}
+
diff --git a/src/lib/head/Header.svelte b/src/lib/head/Header.svelte
index 145f2fb..1e26e02 100644
--- a/src/lib/head/Header.svelte
+++ b/src/lib/head/Header.svelte
@@ -9,6 +9,7 @@
import { apiBase } from '@/stores/url';
import { goto } from '$app/navigation';
import AvatarButton from './AvatarButton.svelte';
+ import Busqueda from './Busqueda.svelte';
let menuOpen = $state(false);
const toggleMenu = () => (menuOpen = !menuOpen);
@@ -56,7 +57,8 @@
-
+
+
{#if showCerrarSesion}
{#if $sesionStore !== null}
diff --git a/src/routes/(privado)/admin/+page.ts b/src/routes/(privado)/admin/+page.ts
index 7b54d62..4808e7b 100644
--- a/src/routes/(privado)/admin/+page.ts
+++ b/src/routes/(privado)/admin/+page.ts
@@ -6,7 +6,7 @@ import type { UserResponseDto } from '../../../types.js';
export const ssr = false;
-export async function load({ depends }) {
+export async function load({ depends, fetch }) {
depends('admin:load');
const response = await fetch(get(apiBase) + '/api/admin/users', {
method: 'GET',