From 41f5b2a49ffa29976878bfc7237d37cf100ebf77 Mon Sep 17 00:00:00 2001 From: Henry Dollman Date: Tue, 9 Jul 2024 22:18:49 -0400 Subject: [PATCH] before conversion to react --- site/bun.lockb | Bin 129899 -> 131289 bytes site/package.json | 9 ++++---- site/src/components/add-server.tsx | 36 +++++++++++++++++++++++++++-- site/src/components/test.tsx | 23 ++++++++++++++++++ site/src/components/ui/tooltip.tsx | 28 ++++++++++++++++++++++ site/src/lib/stores.ts | 2 ++ site/src/main.tsx | 7 +++++- 7 files changed, 98 insertions(+), 7 deletions(-) create mode 100644 site/src/components/test.tsx create mode 100644 site/src/components/ui/tooltip.tsx diff --git a/site/bun.lockb b/site/bun.lockb index ad4c3d93e5f3f2c4aebab259c90040726cd195a8..072ffe227d79b32a6d26e26f2d03a6de4a3695a0 100755 GIT binary patch delta 23159 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 V72oY=-Gs{#wsGr>qwL$@{{bvoiE97= delta 22430 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 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 (