diff --git a/package-lock.json b/package-lock.json index 4997b72..193b783 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,10 +9,11 @@ "version": "0.0.1", "dependencies": { "@poppanator/sveltekit-svg": "^4.2.1", - "@welshman/lib": "^0.0.12", - "@welshman/net": "^0.0.16", + "@welshman/lib": "^0.0.13", + "@welshman/net": "^0.0.17", + "@welshman/signer": "^0.0.2", "@welshman/store": "^0.0.1", - "@welshman/util": "^0.0.23", + "@welshman/util": "^0.0.24", "daisyui": "^4.12.10", "nostr-login": "^1.5.2", "prettier-plugin-tailwindcss": "^0.6.5" @@ -1394,9 +1395,9 @@ } }, "node_modules/@welshman/lib": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@welshman/lib/-/lib-0.0.12.tgz", - "integrity": "sha512-865dbPRbXdpZXNkAXz0KDgW0Yq6krC9Pz59cycfe6k75fDO1w4jA30UlW4E1mJuGQycmBtyi9sAkUPP9LG4Srw==", + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/@welshman/lib/-/lib-0.0.13.tgz", + "integrity": "sha512-tp5+KAiUwoid04Pap47uqkz3MWDqA1iy+JklX7qu5WppClehMgkYfePtCbKOQ8LS9psl88xnZM1oR8NtDhVqnA==", "dependencies": { "@scure/base": "^1.1.6", "@types/events": "^3.0.3", @@ -1406,16 +1407,26 @@ } }, "node_modules/@welshman/net": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@welshman/net/-/net-0.0.16.tgz", - "integrity": "sha512-9NoNKs3BxMs7biyfhLtQFs0rJP5e8raMMjCXYL0+WaHTSPi1VaKBzXGlsikF713pJ0xm5kigAxa6wquonsWHtg==", + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@welshman/net/-/net-0.0.17.tgz", + "integrity": "sha512-m2hvpb3AdHPmmhtfc16oy03523TG+6ggM9bt7vOLfKZl67qg9ki5VHFRxd7VPRuKosvNabeIErWBsXIxtKWdJg==", "dependencies": { - "@welshman/lib": "0.0.12", - "@welshman/util": "0.0.23", + "@welshman/lib": "0.0.13", + "@welshman/util": "0.0.24", "isomorphic-ws": "^5.0.0", "ws": "^8.16.0" } }, + "node_modules/@welshman/signer": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@welshman/signer/-/signer-0.0.2.tgz", + "integrity": "sha512-24K8A5Xnfsijq108+CQI+rvFhbhr+L14YitC/gA69VKnhSSEJTeaIvnKs9YSrHVX0BAYD3/kUNVpeYF3kp7YfA==", + "dependencies": { + "@welshman/lib": "^0.0.13", + "@welshman/net": "^0.0.17", + "@welshman/util": "^0.0.24" + } + }, "node_modules/@welshman/store": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/@welshman/store/-/store-0.0.1.tgz", @@ -1425,11 +1436,11 @@ } }, "node_modules/@welshman/util": { - "version": "0.0.23", - "resolved": "https://registry.npmjs.org/@welshman/util/-/util-0.0.23.tgz", - "integrity": "sha512-xV9RnPvO3XZ163TD/5ga/vCnLtejMpkIu9JlfiO/iyHJ1DdObq9WkyuHTgVDNxkrPBf74KuoF9gnub9rLMCj/w==", + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/@welshman/util/-/util-0.0.24.tgz", + "integrity": "sha512-Qpe0J5VCYpqhpGB4f966d4FAw65L3JE2xYSqhBGbbfdMXnteqW6nHClP0YVbX9pMSYGRPn3ZXWkWf33yqImbGQ==", "dependencies": { - "@welshman/lib": "0.0.12", + "@welshman/lib": "0.0.13", "nostr-tools": "^2.3.2" } }, diff --git a/package.json b/package.json index 786230a..c56ee90 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,11 @@ "type": "module", "dependencies": { "@poppanator/sveltekit-svg": "^4.2.1", - "@welshman/lib": "^0.0.12", - "@welshman/net": "^0.0.16", + "@welshman/lib": "^0.0.13", + "@welshman/net": "^0.0.17", + "@welshman/signer": "^0.0.2", "@welshman/store": "^0.0.1", - "@welshman/util": "^0.0.23", + "@welshman/util": "^0.0.24", "daisyui": "^4.12.10", "nostr-login": "^1.5.2", "prettier-plugin-tailwindcss": "^0.6.5" diff --git a/src/app.css b/src/app.css index 96abf2c..0c915b0 100644 --- a/src/app.css +++ b/src/app.css @@ -42,23 +42,6 @@ font-family: Lato; } -.button { - padding: 12px 16px; - display: flex; - border-radius: var(--rounded-btn, 0.5rem); - cursor: pointer; - animation: button-pop 200ms ease-out; - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.button:active:hover, -.button:active:focus { - animation: button-pop 0s ease-out; - transform: scale(var(--btn-focus-scale, 0.97)); -} - [data-theme="dark"] { --stark: #111; --stark-content: #eee; @@ -88,3 +71,21 @@ .hover\:bg-stark-content:hover { background-color: var(--stark-content); } + +.card { + padding: 1rem; + background-color: oklch(var(--b2) / 1); + border-radius: var(--rounded-box, 1rem); +} + +.column { + @apply flex flex-col; +} + +.heading { + @apply text-2xl text-stark-content text-center; +} + +.subheading { + @apply text-xl text-stark-content text-center; +} diff --git a/src/app/commands.ts b/src/app/commands.ts index 527c660..2a2001a 100644 --- a/src/app/commands.ts +++ b/src/app/commands.ts @@ -1,6 +1,7 @@ import {batch, postJson} from "@welshman/lib" import {normalizeRelayUrl} from "@welshman/util" -import {relayInfo} from "app/state" +import {DUFFLEPUD_URL} from "@app/base" +import {relayInfo} from "@app/state" export const loadRelay = batch(1000, async (urls: string[]) => { const data = await postJson(`${DUFFLEPUD_URL}/relay/info`, {urls}) diff --git a/src/app/components/PrimaryNav.svelte b/src/app/components/PrimaryNav.svelte index de19674..df17afe 100644 --- a/src/app/components/PrimaryNav.svelte +++ b/src/app/components/PrimaryNav.svelte @@ -8,8 +8,12 @@
@@ -32,7 +36,7 @@
{/each} - +
diff --git a/src/app/components/SpaceAdd.svelte b/src/app/components/SpaceAdd.svelte new file mode 100644 index 0000000..eaa6bf9 --- /dev/null +++ b/src/app/components/SpaceAdd.svelte @@ -0,0 +1,21 @@ + + +
+

Add a Space

+

Spaces are places where communities come together to work, play, and hang out.

+ + Just a few questions and you'll be on your way. + +
+

Have an invite?

+ +
+
diff --git a/src/app/components/SpaceCreate.svelte b/src/app/components/SpaceCreate.svelte new file mode 100644 index 0000000..9b8e125 --- /dev/null +++ b/src/app/components/SpaceCreate.svelte @@ -0,0 +1,27 @@ + + +
+

Customize your Space

+

+ Give people a few details to go. You can always change this later. +

+ +

Give your space a name:

+ +
+
+ + +
+
diff --git a/src/app/modal.ts b/src/app/modal.ts index 141f25d..7f6628d 100644 --- a/src/app/modal.ts +++ b/src/app/modal.ts @@ -4,7 +4,7 @@ import {pushState} from "$app/navigation" export const modals = new Map() -export const pushModal = (component: ComponentType, props: Record) => { +export const pushModal = (component: ComponentType, props: Record = {}) => { const id = randomId() // TODO: fix memory leak here by listening to history somehow diff --git a/src/assets/icons/Alt Arrow Left.svg b/src/assets/icons/Alt Arrow Left.svg new file mode 100644 index 0000000..87052ca --- /dev/null +++ b/src/assets/icons/Alt Arrow Left.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/lib/components/CardButton.svelte b/src/lib/components/CardButton.svelte new file mode 100644 index 0000000..b75ac07 --- /dev/null +++ b/src/lib/components/CardButton.svelte @@ -0,0 +1,18 @@ + + + diff --git a/src/lib/components/Field.svelte b/src/lib/components/Field.svelte new file mode 100644 index 0000000..6eb95d1 --- /dev/null +++ b/src/lib/components/Field.svelte @@ -0,0 +1,9 @@ +
+ + +

+ +

+
diff --git a/src/lib/components/Icon.svelte b/src/lib/components/Icon.svelte index b3df4ba..d78930d 100644 --- a/src/lib/components/Icon.svelte +++ b/src/lib/components/Icon.svelte @@ -11,6 +11,7 @@ import AddSquare from "@assets/icons/Add Square.svg?dataurl" import AddCircle from "@assets/icons/Add Circle.svg?dataurl" import AltArrowRight from "@assets/icons/Alt Arrow Right.svg?dataurl" + import AltArrowLeft from "@assets/icons/Alt Arrow Left.svg?dataurl" import ClipboardText from "@assets/icons/Clipboard Text.svg?dataurl" import Compass from "@assets/icons/Compass.svg?dataurl" import CompassBig from "@assets/icons/Compass Big.svg?dataurl" @@ -30,6 +31,7 @@ "add-square": AddSquare, "add-circle": AddCircle, "alt-arrow-right": AltArrowRight, + "alt-arrow-left": AltArrowLeft, "clipboard-text": ClipboardText, compass: Compass, "compass-big": CompassBig, diff --git a/src/lib/components/ModalBox.svelte b/src/lib/components/ModalBox.svelte new file mode 100644 index 0000000..d9da9d0 --- /dev/null +++ b/src/lib/components/ModalBox.svelte @@ -0,0 +1,32 @@ + + + + + diff --git a/src/lib/components/PrimaryNavItem.svelte b/src/lib/components/PrimaryNavItem.svelte index 862e7cb..20aaf93 100644 --- a/src/lib/components/PrimaryNavItem.svelte +++ b/src/lib/components/PrimaryNavItem.svelte @@ -2,10 +2,10 @@ export let title -
+
+ diff --git a/src/lib/components/SecondaryNavItem.svelte b/src/lib/components/SecondaryNavItem.svelte index 2440f57..e2fe0e1 100644 --- a/src/lib/components/SecondaryNavItem.svelte +++ b/src/lib/components/SecondaryNavItem.svelte @@ -8,10 +8,29 @@
+ + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index d2df6d5..3778db8 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -4,6 +4,7 @@ import {fly} from "@lib/transition" import {toast} from "@app/toast" import {modals} from "@app/modal" + import ModalBox from "@lib/components/ModalBox.svelte" import PrimaryNav from "@app/components/PrimaryNav.svelte" import SecondaryNav from "@app/components/SecondaryNav.svelte" @@ -34,32 +35,31 @@ } -
- - -
- -
-
- - - - - -{#if $toast} - {#key $toast.id} -
-
- {$toast.message} -
+
+
+ + +
+
- {/key} -{/if} +
+ + {#if $page.state.modal} + {#key $page.state.modal} + + {/key} + {/if} + + {#if $toast} + {#key $toast.id} +
+
+ {$toast.message} +
+
+ {/key} + {/if} +
diff --git a/src/routes/home/+page.svelte b/src/routes/home/+page.svelte index bd0e53f..7201483 100644 --- a/src/routes/home/+page.svelte +++ b/src/routes/home/+page.svelte @@ -1,5 +1,5 @@
@@ -7,43 +7,19 @@

Welcome to

Flotilla

-
-
- -
-

Create a group

-

Invite all your friends, do life together.

-

-
- -
-
- -
-

Discover groups

-

Find a community based on your hobbies or interests.

-

-
- -
-
- -
-

Leave feedback

-

Let us know how we can improve by giving us feedback.

-

-
- -
-
- -
-

Donate to Flotilla

-

Support the project by donating to the developer.

-

-
- -
+
+ + Invite all your friends, do life together. + + + Find a community based on your hobbies or interests. + + + Let us know how we can improve by giving us feedback. + + + Support the project by donating to the developer. +