diff --git a/.vscode/settings.json b/.vscode/settings.json index 69b81bc..d7d9f3d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,10 @@ "svelte.enable-ts-plugin": true, "files.associations": { "*.css": "tailwindcss" + }, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "[svelte]": { + "editor.defaultFormatter": "svelte.svelte-vscode" } } diff --git a/src/lib/components/ui/button/button.svelte b/src/lib/components/ui/button/button.svelte new file mode 100644 index 0000000..2105474 --- /dev/null +++ b/src/lib/components/ui/button/button.svelte @@ -0,0 +1,82 @@ + + + + +{#if href} + + {@render children?.()} + +{:else} + +{/if} diff --git a/src/lib/components/ui/button/index.ts b/src/lib/components/ui/button/index.ts new file mode 100644 index 0000000..fb585d7 --- /dev/null +++ b/src/lib/components/ui/button/index.ts @@ -0,0 +1,17 @@ +import Root, { + type ButtonProps, + type ButtonSize, + type ButtonVariant, + buttonVariants, +} from "./button.svelte"; + +export { + Root, + type ButtonProps as Props, + // + Root as Button, + buttonVariants, + type ButtonProps, + type ButtonSize, + type ButtonVariant, +}; diff --git a/src/lib/components/ui/empty/empty-content.svelte b/src/lib/components/ui/empty/empty-content.svelte new file mode 100644 index 0000000..7126aa6 --- /dev/null +++ b/src/lib/components/ui/empty/empty-content.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-description.svelte b/src/lib/components/ui/empty/empty-description.svelte new file mode 100644 index 0000000..85a866c --- /dev/null +++ b/src/lib/components/ui/empty/empty-description.svelte @@ -0,0 +1,23 @@ + + +
a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4", + className + )} + {...restProps} +> + {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-header.svelte b/src/lib/components/ui/empty/empty-header.svelte new file mode 100644 index 0000000..296eaf8 --- /dev/null +++ b/src/lib/components/ui/empty/empty-header.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-media.svelte b/src/lib/components/ui/empty/empty-media.svelte new file mode 100644 index 0000000..0b4e45d --- /dev/null +++ b/src/lib/components/ui/empty/empty-media.svelte @@ -0,0 +1,41 @@ + + + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-title.svelte b/src/lib/components/ui/empty/empty-title.svelte new file mode 100644 index 0000000..8c237aa --- /dev/null +++ b/src/lib/components/ui/empty/empty-title.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty.svelte b/src/lib/components/ui/empty/empty.svelte new file mode 100644 index 0000000..2b45107 --- /dev/null +++ b/src/lib/components/ui/empty/empty.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/index.ts b/src/lib/components/ui/empty/index.ts new file mode 100644 index 0000000..ae4c106 --- /dev/null +++ b/src/lib/components/ui/empty/index.ts @@ -0,0 +1,22 @@ +import Root from "./empty.svelte"; +import Header from "./empty-header.svelte"; +import Media from "./empty-media.svelte"; +import Title from "./empty-title.svelte"; +import Description from "./empty-description.svelte"; +import Content from "./empty-content.svelte"; + +export { + Root, + Header, + Media, + Title, + Description, + Content, + // + Root as Empty, + Header as EmptyHeader, + Media as EmptyMedia, + Title as EmptyTitle, + Description as EmptyDescription, + Content as EmptyContent, +}; diff --git a/src/lib/services/onboarding.ts b/src/lib/services/onboarding.ts new file mode 100644 index 0000000..54b7bef --- /dev/null +++ b/src/lib/services/onboarding.ts @@ -0,0 +1,3 @@ +export async function check_onboarding(): Promise { + return Promise.resolve(true); +} \ No newline at end of file diff --git a/src/lib/services/workspaces.ts b/src/lib/services/workspaces.ts new file mode 100644 index 0000000..4c897ce --- /dev/null +++ b/src/lib/services/workspaces.ts @@ -0,0 +1,5 @@ +import type { Workspace } from "$lib/types/workspace"; + +export async function get_workspaces(): Promise { + return [] +} \ No newline at end of file diff --git a/src/lib/types/workspace.ts b/src/lib/types/workspace.ts new file mode 100644 index 0000000..2d4b5a5 --- /dev/null +++ b/src/lib/types/workspace.ts @@ -0,0 +1,4 @@ +export type Workspace = { + Id: string, + Name: string, +} \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index eb3daec..a75d6e5 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,156 +1,14 @@ - -
-

Welcome to Tauri + Svelte

- - -

Click on the Tauri, Vite, and SvelteKit logos to learn more.

- -
- - -
-

{greetMsg}

-
- - diff --git a/src/routes/workspaces/+page.svelte b/src/routes/workspaces/+page.svelte new file mode 100644 index 0000000..4ba93a2 --- /dev/null +++ b/src/routes/workspaces/+page.svelte @@ -0,0 +1,26 @@ + + + + + + + + No Workspaces Yet + + You haven't created any Workspaces yet. Get started by creating your first + project. + + + +
+ +
+
+