diff --git a/site/bun.lockb b/site/bun.lockb index ad4c3d9..072ffe2 100755 Binary files a/site/bun.lockb and b/site/bun.lockb differ diff --git a/site/package.json b/site/package.json index 36c6572..4947b42 100644 --- a/site/package.json +++ b/site/package.json @@ -15,6 +15,7 @@ "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-label": "^2.1.0", "@radix-ui/react-slot": "^1.1.0", + "@radix-ui/react-tooltip": "^1.1.2", "@tanstack/react-table": "^8.19.2", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", @@ -22,19 +23,19 @@ "lucide-react": "^0.401.0", "nanostores": "^0.10.3", "pocketbase": "^0.21.3", - "preact": "^10.22.0", + "preact": "^10.22.1", "tailwind-merge": "^2.4.0", "tailwindcss-animate": "^1.0.7", "valibot": "^0.36.0", "wouter-preact": "^3.3.1" }, "devDependencies": { - "@preact/preset-vite": "^2.8.2", + "@preact/preset-vite": "^2.8.3", "@types/bun": "^1.1.6", "autoprefixer": "^10.4.19", "postcss": "^8.4.39", "tailwindcss": "^3.4.4", - "typescript": "^5.2.2", - "vite": "^5.3.1" + "typescript": "^5.5.3", + "vite": "^5.3.3" } } diff --git a/site/src/components/add-server.tsx b/site/src/components/add-server.tsx index 3c19a31..394d8d7 100644 --- a/site/src/components/add-server.tsx +++ b/site/src/components/add-server.tsx @@ -8,10 +8,12 @@ import { DialogTitle, DialogTrigger, } from '@/components/ui/dialog' +import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '@/components/ui/tooltip' + import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' -import { pb } from '@/lib/stores' -import { Plus } from 'lucide-react' +import { $publicKey, pb } from '@/lib/stores' +import { ClipboardIcon, Plus } from 'lucide-react' import { MutableRef, useRef, useState } from 'preact/hooks' function copyDockerCompose(port: string) { @@ -101,6 +103,36 @@ export function AddServerButton() { required /> +
+ + +
+ + + + + + +

Click to copy

+
+
+
+
+ + +

Add to library

+
+ + + ) +} diff --git a/site/src/components/ui/tooltip.tsx b/site/src/components/ui/tooltip.tsx new file mode 100644 index 0000000..4f04c62 --- /dev/null +++ b/site/src/components/ui/tooltip.tsx @@ -0,0 +1,28 @@ +import * as React from 'react' +import * as TooltipPrimitive from '@radix-ui/react-tooltip' + +import { cn } from '@/lib/utils' + +const TooltipProvider = TooltipPrimitive.Provider + +const Tooltip = TooltipPrimitive.Root + +const TooltipTrigger = TooltipPrimitive.Trigger + +const TooltipContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, sideOffset = 4, ...props }, ref) => ( + +)) +TooltipContent.displayName = TooltipPrimitive.Content.displayName + +export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } diff --git a/site/src/lib/stores.ts b/site/src/lib/stores.ts index ed315d3..9485138 100644 --- a/site/src/lib/stores.ts +++ b/site/src/lib/stores.ts @@ -12,3 +12,5 @@ export const $authenticated = atom(pb.authStore.isValid) pb.authStore.onChange(() => { $authenticated.set(pb.authStore.isValid) }) + +export const $publicKey = atom('') diff --git a/site/src/main.tsx b/site/src/main.tsx index 9bdfc14..4c88134 100644 --- a/site/src/main.tsx +++ b/site/src/main.tsx @@ -25,12 +25,17 @@ const Main = () => { // const servers = useStore($servers) useEffect(() => { - console.log('fetching servers') + // get servers pb.collection('systems') .getFullList({ sort: '+name' }) .then((records) => { $servers.set(records) }) + + // get public key + pb.send('/getkey', {}).then(({ key }) => { + console.log('key', key) + }) }, []) return (