diff --git a/components.json b/components.json index d433749..cbb37ec 100644 --- a/components.json +++ b/components.json @@ -1,13 +1,13 @@ { "$schema": "https://ui.shadcn.com/schema.json", - "style": "default", + "style": "new-york", "rsc": false, "tsx": true, "tailwind": { "config": "tailwind.config.js", "css": "frontend/main.css", "baseColor": "slate", - "cssVariables": false, + "cssVariables": true, "prefix": "" }, "aliases": { diff --git a/frontend/@/components/ui/alert.tsx b/frontend/@/components/ui/alert.tsx index f3d3252..b05dbb0 100644 --- a/frontend/@/components/ui/alert.tsx +++ b/frontend/@/components/ui/alert.tsx @@ -4,13 +4,13 @@ import {cva, type VariantProps} from "class-variance-authority" import {cn} from "Frontend/@/lib/utils" const alertVariants = cva( - "relative w-full rounded-lg border border-slate-200 p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-slate-950 dark:border-slate-800 dark:[&>svg]:text-slate-50", + "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7", { variants: { variant: { - default: "bg-white text-slate-950 dark:bg-slate-950 dark:text-slate-50", + default: "bg-background text-foreground", destructive: - "border-red-500/50 text-red-500 dark:border-red-500 [&>svg]:text-red-500 dark:border-red-900/50 dark:text-red-900 dark:dark:border-red-900 dark:[&>svg]:text-red-900", + "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive", }, }, defaultVariants: { diff --git a/frontend/@/components/ui/avatar.tsx b/frontend/@/components/ui/avatar.tsx index e923abd..1e79b3e 100644 --- a/frontend/@/components/ui/avatar.tsx +++ b/frontend/@/components/ui/avatar.tsx @@ -37,7 +37,7 @@ const AvatarFallback = React.forwardRef< ( ) diff --git a/frontend/@/components/ui/card.tsx b/frontend/@/components/ui/card.tsx index 05500c5..d9d9551 100644 --- a/frontend/@/components/ui/card.tsx +++ b/frontend/@/components/ui/card.tsx @@ -9,7 +9,7 @@ const Card = React.forwardRef<
(({className, ...props}, ref) => (

)) diff --git a/frontend/@/components/ui/dropdown-menu.tsx b/frontend/@/components/ui/dropdown-menu.tsx index c331a09..3ff64f1 100644 --- a/frontend/@/components/ui/dropdown-menu.tsx +++ b/frontend/@/components/ui/dropdown-menu.tsx @@ -1,6 +1,6 @@ import * as React from "react" import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" -import {Check, ChevronRight, Circle} from "lucide-react" +import {CheckIcon, ChevronRightIcon, DotFilledIcon,} from "@radix-ui/react-icons" import {cn} from "Frontend/@/lib/utils" @@ -25,14 +25,14 @@ const DropdownMenuSubTrigger = React.forwardRef< {children} - + )) DropdownMenuSubTrigger.displayName = @@ -45,7 +45,7 @@ const DropdownMenuSubContent = React.forwardRef< - + {children} @@ -121,14 +122,14 @@ const DropdownMenuRadioItem = React.forwardRef< - + {children} @@ -160,7 +161,7 @@ const DropdownMenuSeparator = React.forwardRef< >(({className, ...props}, ref) => ( )) diff --git a/frontend/@/components/ui/input.tsx b/frontend/@/components/ui/input.tsx index ceb94d3..a965f5e 100644 --- a/frontend/@/components/ui/input.tsx +++ b/frontend/@/components/ui/input.tsx @@ -12,7 +12,7 @@ const Input = React.forwardRef( - - - - - - - - - - - - - - -

{theme.name}

-
+ + + + + + {/*@ts-ignore*/} + + + + + + + + + + + + + + + + +

{theme.name}

+
+
+
); } /* diff --git a/frontend/components/wizard/Wizard.tsx b/frontend/components/wizard/Wizard.tsx index 84fd220..c5452e6 100644 --- a/frontend/components/wizard/Wizard.tsx +++ b/frontend/components/wizard/Wizard.tsx @@ -49,7 +49,7 @@ const Wizard = ({children, initialValues, onSubmit}: { validationSchema={step.props.validationSchema} > {formik => ( -
+

Step {stepNumber + 1} of {steps.length}

{/* diff --git a/frontend/main.css b/frontend/main.css index b5c61c9..7d0af7c 100644 --- a/frontend/main.css +++ b/frontend/main.css @@ -1,3 +1,83 @@ @tailwind base; @tailwind components; @tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 222.2 84% 4.9%; + + --card: 0 0% 100%; + --card-foreground: 222.2 84% 4.9%; + + --popover: 0 0% 100%; + --popover-foreground: 222.2 84% 4.9%; + + --primary: 222.2 47.4% 11.2%; + --primary-foreground: 210 40% 98%; + + --secondary: 210 40% 96.1%; + --secondary-foreground: 222.2 47.4% 11.2%; + + --muted: 210 40% 96.1%; + --muted-foreground: 215.4 16.3% 46.9%; + + --accent: 210 40% 96.1%; + --accent-foreground: 222.2 47.4% 11.2%; + + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 210 40% 98%; + + --border: 214.3 31.8% 91.4%; + --input: 214.3 31.8% 91.4%; + --ring: 222.2 84% 4.9%; + + --radius: 0.5rem; + + --warning: 38 92% 50%; + --warning-foreground: 48 96% 89%; + } + + .dark { + --background: 222.2 84% 4.9%; + --foreground: 210 40% 98%; + + --card: 222.2 84% 4.9%; + --card-foreground: 210 40% 98%; + + --popover: 222.2 84% 4.9%; + --popover-foreground: 210 40% 98%; + + --primary: 210 40% 98%; + --primary-foreground: 222.2 47.4% 11.2%; + + --secondary: 217.2 32.6% 17.5%; + --secondary-foreground: 210 40% 98%; + + --muted: 217.2 32.6% 17.5%; + --muted-foreground: 215 20.2% 65.1%; + + --accent: 217.2 32.6% 17.5%; + --accent-foreground: 210 40% 98%; + + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 210 40% 98%; + + --border: 217.2 32.6% 17.5%; + --input: 217.2 32.6% 17.5%; + --ring: 212.7 26.8% 83.9%; + + --warning: 48 96% 89%; + --warning-foreground: 38 92% 50%; + } +} + +@layer base { + * { + @apply border-border; + } + + body { + @apply bg-background text-foreground; + } +} \ No newline at end of file diff --git a/frontend/views/SetupView.tsx b/frontend/views/SetupView.tsx index e49a338..6bf2994 100644 --- a/frontend/views/SetupView.tsx +++ b/frontend/views/SetupView.tsx @@ -37,7 +37,7 @@ function WelcomeStep() { function ThemeStep() { return (
-
+
{themes.map(((theme: Theme) => ( )))} diff --git a/package-lock.json b/package-lock.json index be9476d..9d163ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,7 @@ "@polymer/polymer": "3.5.1", "@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-dropdown-menu": "^2.0.6", + "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-tooltip": "^1.0.7", @@ -53,6 +54,7 @@ "@lit-labs/react": "^1.1.0", "@rollup/plugin-replace": "5.0.4", "@rollup/pluginutils": "5.0.5", + "@types/node": "^20.12.2", "@types/react": "18.2.42", "@types/react-dom": "^18.0.8", "@vitejs/plugin-react": "4.2.0", @@ -3086,6 +3088,14 @@ } } }, + "node_modules/@radix-ui/react-icons": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz", + "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==", + "peerDependencies": { + "react": "^16.x || ^17.x || ^18.x" + } + }, "node_modules/@radix-ui/react-id": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", @@ -4008,9 +4018,9 @@ "peer": true }, "node_modules/@types/node": { - "version": "20.11.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", - "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", + "version": "20.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.2.tgz", + "integrity": "sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==", "dev": true, "dependencies": { "undici-types": "~5.26.4" diff --git a/package.json b/package.json index 893002e..38b7b27 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@polymer/polymer": "3.5.1", "@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-dropdown-menu": "^2.0.6", + "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-tooltip": "^1.0.7", @@ -48,6 +49,7 @@ "@lit-labs/react": "^1.1.0", "@rollup/plugin-replace": "5.0.4", "@rollup/pluginutils": "5.0.5", + "@types/node": "^20.12.2", "@types/react": "18.2.42", "@types/react-dom": "^18.0.8", "@vitejs/plugin-react": "4.2.0", @@ -108,7 +110,8 @@ "@radix-ui/react-slot": "$@radix-ui/react-slot", "@radix-ui/react-avatar": "$@radix-ui/react-avatar", "@radix-ui/react-dropdown-menu": "$@radix-ui/react-dropdown-menu", - "@radix-ui/react-tooltip": "$@radix-ui/react-tooltip" + "@radix-ui/react-tooltip": "$@radix-ui/react-tooltip", + "@radix-ui/react-icons": "$@radix-ui/react-icons" }, "vaadin": { "dependencies": { @@ -152,6 +155,6 @@ "workbox-core": "7.0.0", "workbox-precaching": "7.0.0" }, - "hash": "54c9ffc1de2ff554baf5ced1be2e704d4a354138bf9cbfca2d4fc83f126a4563" + "hash": "5375ee653b483f5c0b565f19670e73ec7e02e2abb121e622411201c6c6cb2431" } } diff --git a/tailwind.config.ts b/tailwind.config.ts index db74131..ea14736 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -22,7 +22,47 @@ export default { extend: { colors: { 'gf-primary': '#2332c8', - 'gf-secondary': '#6441a5' + 'gf-secondary': '#6441a5', + warning: "hsl(var(--warning))", + "warning-foreground": "hsl(var(--warning-foreground))", + border: "hsl(var(--border))", + input: "hsl(var(--input))", + ring: "hsl(var(--ring))", + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + }, + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", }, keyframes: { "accordion-down": {