diff --git a/PROJECT.md b/PROJECT.md index 06c4c8b..df548a5 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -1,9 +1,9 @@ ## Status ### Last Completed -Built out the schema for the most part +Migrated the db and started it using `bunx prisma dev`. I can see it working with `bunx prisma studio`. Started working on structure and initial setup form. ### Next Up -Actually apply the schema and play around with adding data in studio +Continue with initial setup and create functions to seed the db with first user and AllowList. ## Feature List ### Must Haves diff --git a/bun.lock b/bun.lock index 185e3c7..5d71fd4 100644 --- a/bun.lock +++ b/bun.lock @@ -11,7 +11,7 @@ "@eslint/js": "^10.0.1", "@fontsource-variable/inter": "^5.3.0", "@internationalized/date": "^3.12.0", - "@lucide/svelte": "^1.52.0", + "@lucide/svelte": "^1.53.0", "@sveltejs/adapter-auto": "^8.0.0", "@sveltejs/kit": "^3.0.0", "@sveltejs/vite-plugin-svelte": "^7.2.0", @@ -131,7 +131,7 @@ "@layerstack/utils": ["@layerstack/utils@2.0.0-next.19", "", { "dependencies": { "d3-array": "^3.2.4", "d3-time": "^3.1.0", "d3-time-format": "^4.1.0" } }, "sha512-HyXCEz9pge4rFWklrSgFr3YIwdE1gP8WM6GPetmnKPDfYLF1/oetRFKI9FqiE+dw4brnULGPKJsVhjM3vQfD4A=="], - "@lucide/svelte": ["@lucide/svelte@1.52.0", "", { "peerDependencies": { "svelte": "^5" } }, "sha512-bQ8t3IcZxWqAdmdMZPyZEv8Qf+MDgBAf7n43eRQoXyBeLWr8HWToiMIO6vKlHxC/lnMiCDdTzm09hjy92ch46A=="], + "@lucide/svelte": ["@lucide/svelte@1.53.0", "", { "peerDependencies": { "svelte": "^5" } }, "sha512-RZTHcLAwwjAz+rO1S4IPQSTzDycGZWhSYa0GS3sXAoJ3GTHdBZyHCXutIxJketIAoaIkcmFK5Ucfo2+WBYpKLA=="], "@oxc-project/types": ["@oxc-project/types@0.152.0", "", {}, "sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw=="], diff --git a/package.json b/package.json index 37f3a2a..c0b00eb 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@eslint/js": "^10.0.1", "@fontsource-variable/inter": "^5.3.0", "@internationalized/date": "^3.12.0", - "@lucide/svelte": "^1.52.0", + "@lucide/svelte": "^1.53.0", "@sveltejs/adapter-auto": "^8.0.0", "@sveltejs/kit": "^3.0.0", "@sveltejs/vite-plugin-svelte": "^7.2.0", diff --git a/src/lib/components/forms/SetupForm.svelte b/src/lib/components/forms/SetupForm.svelte new file mode 100644 index 0000000..76f9bcf --- /dev/null +++ b/src/lib/components/forms/SetupForm.svelte @@ -0,0 +1,64 @@ + + + + + + First Time Setup + + + Complete the following information to finish setup + + + +
+
+
+ + + + + + + + Roles + {#each roles as role (role.value)} + + {role.label} + + {/each} + + + +
+
+ + +
+
+ + +
+
+
+
+
\ No newline at end of file diff --git a/src/lib/components/ui/field/field-content.svelte b/src/lib/components/ui/field/field-content.svelte new file mode 100644 index 0000000..6d2787f --- /dev/null +++ b/src/lib/components/ui/field/field-content.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/field/field-description.svelte b/src/lib/components/ui/field/field-description.svelte new file mode 100644 index 0000000..e0ddb58 --- /dev/null +++ b/src/lib/components/ui/field/field-description.svelte @@ -0,0 +1,25 @@ + + +

a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", + className + )} + {...restProps} +> + {@render children?.()} +

diff --git a/src/lib/components/ui/field/field-error.svelte b/src/lib/components/ui/field/field-error.svelte new file mode 100644 index 0000000..6c9c2a3 --- /dev/null +++ b/src/lib/components/ui/field/field-error.svelte @@ -0,0 +1,58 @@ + + +{#if hasContent} + +{/if} diff --git a/src/lib/components/ui/field/field-group.svelte b/src/lib/components/ui/field/field-group.svelte new file mode 100644 index 0000000..336cc1f --- /dev/null +++ b/src/lib/components/ui/field/field-group.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/field/field-label.svelte b/src/lib/components/ui/field/field-label.svelte new file mode 100644 index 0000000..c9f5d36 --- /dev/null +++ b/src/lib/components/ui/field/field-label.svelte @@ -0,0 +1,25 @@ + + + diff --git a/src/lib/components/ui/field/field-legend.svelte b/src/lib/components/ui/field/field-legend.svelte new file mode 100644 index 0000000..ed784da --- /dev/null +++ b/src/lib/components/ui/field/field-legend.svelte @@ -0,0 +1,24 @@ + + + + {@render children?.()} + diff --git a/src/lib/components/ui/field/field-separator.svelte b/src/lib/components/ui/field/field-separator.svelte new file mode 100644 index 0000000..d803db1 --- /dev/null +++ b/src/lib/components/ui/field/field-separator.svelte @@ -0,0 +1,35 @@ + + +
+ + {#if children} + + {@render children()} + + {/if} +
diff --git a/src/lib/components/ui/field/field-set.svelte b/src/lib/components/ui/field/field-set.svelte new file mode 100644 index 0000000..470ce16 --- /dev/null +++ b/src/lib/components/ui/field/field-set.svelte @@ -0,0 +1,20 @@ + + +
[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col", className)} + {...restProps} +> + {@render children?.()} +
diff --git a/src/lib/components/ui/field/field-title.svelte b/src/lib/components/ui/field/field-title.svelte new file mode 100644 index 0000000..b31bf16 --- /dev/null +++ b/src/lib/components/ui/field/field-title.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/field/field.svelte b/src/lib/components/ui/field/field.svelte new file mode 100644 index 0000000..cc999a3 --- /dev/null +++ b/src/lib/components/ui/field/field.svelte @@ -0,0 +1,47 @@ + + + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/field/index.ts b/src/lib/components/ui/field/index.ts new file mode 100644 index 0000000..320b5c0 --- /dev/null +++ b/src/lib/components/ui/field/index.ts @@ -0,0 +1,33 @@ +import Content from "./field-content.svelte"; +import Description from "./field-description.svelte"; +import Error from "./field-error.svelte"; +import Group from "./field-group.svelte"; +import Label from "./field-label.svelte"; +import Legend from "./field-legend.svelte"; +import Separator from "./field-separator.svelte"; +import Set from "./field-set.svelte"; +import Title from "./field-title.svelte"; +import Field from "./field.svelte"; + +export { + Field, + Set, + Legend, + Group, + Content, + Label, + Title, + Description, + Separator, + Error, + // + Set as FieldSet, + Legend as FieldLegend, + Group as FieldGroup, + Content as FieldContent, + Label as FieldLabel, + Title as FieldTitle, + Description as FieldDescription, + Separator as FieldSeparator, + Error as FieldError, +}; diff --git a/src/routes/(public)/+layout.svelte b/src/routes/(public)/+layout.svelte index 7e9c3c9..43d1019 100644 --- a/src/routes/(public)/+layout.svelte +++ b/src/routes/(public)/+layout.svelte @@ -10,6 +10,8 @@ -
- {@render children()} +
+
+ {@render children()} +
\ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/(public)/+page.svelte similarity index 66% rename from src/routes/+page.svelte rename to src/routes/(public)/+page.svelte index e451f87..002e351 100644 --- a/src/routes/+page.svelte +++ b/src/routes/(public)/+page.svelte @@ -1,3 +1,13 @@ + +

Welcome to SvelteKit

diff --git a/src/routes/(public)/setup/+page.svelte b/src/routes/(public)/setup/+page.svelte new file mode 100644 index 0000000..c237ae5 --- /dev/null +++ b/src/routes/(public)/setup/+page.svelte @@ -0,0 +1,7 @@ + +
+ +
\ No newline at end of file