diff --git a/README.md b/README.md new file mode 100644 index 00000000..e948aa78 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +Bugs + +- [ ] Remove hack for re-rendering rooms on url change +- [ ] Memoize room list, every time the user switches chat rooms it pulls the full list + +Features + +- [ ] Threads/social +- [ ] Server discovery +- [ ] Favorite chat rooms diff --git a/src/App.svelte b/src/App.svelte index ba33fa99..9612dc8f 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -13,8 +13,10 @@ import Profile from "src/routes/Profile.svelte" import RelayList from "src/routes/RelayList.svelte" import UserDetail from "src/routes/UserDetail.svelte" - import Explore from "src/routes/Explore.svelte" - import Messages from "src/routes/Messages.svelte" + import Chat from "src/routes/Chat.svelte" + import ChatCreate from "src/routes/ChatCreate.svelte" + import ChatRoom from "src/routes/ChatRoom.svelte" + import ChatEdit from "src/routes/ChatEdit.svelte" const menuIsOpen = writable(false) const toggleMenu = () => menuIsOpen.update(x => !x) @@ -44,80 +46,82 @@ -
-
+
+
+ + + + - -

Coracle

-
- - - - -
- {#if $toast}
{$toast.message}
diff --git a/src/app.css b/src/app.css index 49024257..9b51da8a 100644 --- a/src/app.css +++ b/src/app.css @@ -41,6 +41,10 @@ :root { font-family: Montserrat; - background-color: #252422; + background-color: #0f0f0e; color: white; } + +html, body, #app, #app > div { + height: 100%; +} diff --git a/src/partials/Input.svelte b/src/partials/Input.svelte index 7f382d2e..ff529978 100644 --- a/src/partials/Input.svelte +++ b/src/partials/Input.svelte @@ -6,17 +6,21 @@ const className = cx( $$props.class, - "rounded bg-light shadow-inset py-2 px-4 pr-10 text-black w-full text-dark", + "rounded bg-light shadow-inset py-2 px-4 pr-10 text-black w-full placeholder:text-medium", {"pl-10": $$slots.before, "pr-10": $$slots.after}, )
+ {#if $$slots.before}
+ {/if} + {#if $$slots.after}
+ {/if}
diff --git a/src/routes/Chat.svelte b/src/routes/Chat.svelte new file mode 100644 index 00000000..6e0ff9e7 --- /dev/null +++ b/src/routes/Chat.svelte @@ -0,0 +1,13 @@ + + +
+
+
+ Select a room to join the conversation! +
+
+ +
+ diff --git a/src/routes/Explore.svelte b/src/routes/Explore.svelte deleted file mode 100644 index 63ee0b65..00000000 --- a/src/routes/Explore.svelte +++ /dev/null @@ -1 +0,0 @@ -Explore diff --git a/src/routes/Feed.svelte b/src/routes/Feed.svelte index 2dd908ca..044061c8 100644 --- a/src/routes/Feed.svelte +++ b/src/routes/Feed.svelte @@ -18,7 +18,7 @@ {#if $relays && $relays.length > 0} feed -
+
{:else if $relays}
-
+
You aren't yet connected to any relays. Please click here to get started. diff --git a/src/routes/Login.svelte b/src/routes/Login.svelte index f7c3174f..5bbfe784 100644 --- a/src/routes/Login.svelte +++ b/src/routes/Login.svelte @@ -31,7 +31,7 @@ } -
+

Welcome!

diff --git a/src/routes/Messages.svelte b/src/routes/Messages.svelte deleted file mode 100644 index ae9bcc58..00000000 --- a/src/routes/Messages.svelte +++ /dev/null @@ -1 +0,0 @@ -Messages diff --git a/src/routes/Profile.svelte b/src/routes/Profile.svelte index c5805979..446e41dc 100644 --- a/src/routes/Profile.svelte +++ b/src/routes/Profile.svelte @@ -49,7 +49,7 @@ } -
+

About You

diff --git a/src/routes/RelayList.svelte b/src/routes/RelayList.svelte index 4d782bdd..1adbe953 100644 --- a/src/routes/RelayList.svelte +++ b/src/routes/RelayList.svelte @@ -10,7 +10,7 @@ import {nostr, relays} from "src/state/nostr" let q = "" - let search = () => [] + let search const knownRelays = liveQuery(() => db.relays.toArray()) @@ -21,7 +21,7 @@ } -
+

Get Connected

@@ -38,12 +38,14 @@
{#each search(q) as relay} -
+ diff --git a/src/routes/UserDetail.svelte b/src/routes/UserDetail.svelte index 5470d720..7a6910c3 100644 --- a/src/routes/UserDetail.svelte +++ b/src/routes/UserDetail.svelte @@ -42,11 +42,11 @@ {#if userData} -
+
@@ -57,11 +57,11 @@ {/if}
-

{userData.about}

+

{userData.about || ''}

-
+
{#each reverse(notes) as note}
diff --git a/src/state/dispatch.js b/src/state/dispatch.js index 2733077c..81d36373 100644 --- a/src/state/dispatch.js +++ b/src/state/dispatch.js @@ -42,3 +42,29 @@ dispatch.addMethod("relay/join", (topic, url) => { dispatch.addMethod("relay/leave", (topic, url) => { relays.update(r => without([url], r)) }) + +dispatch.addMethod("room/create", async (topic, room) => { + const event = nostr.event(40, JSON.stringify(room)) + + await nostr.publish(event) + + return event +}) + +dispatch.addMethod("room/update", async (topic, {id, ...room}) => { + const [relay] = get(relays) + const event = nostr.event(41, JSON.stringify(room), [["e", id, relay]]) + + await nostr.publish(event) + + return event +}) + +dispatch.addMethod("message/create", async (topic, roomId, content, type = "root") => { + const [relay] = get(relays) + const event = nostr.event(42, content, [["e", roomId, relay, type]]) + + await nostr.publish(event) + + return event +}) diff --git a/tailwind.config.cjs b/tailwind.config.cjs index d290a69c..f2247da9 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -8,11 +8,12 @@ module.exports = { extend: {}, colors: { transparent: "transparent", - black: "#252422", + black: "#0f0f0e", white: "#FFFCF2", accent: "#EB5E28", light: "#CCC5B9", - dark: "#403D39", + medium: "#403D39", + dark: "#252422", }, }, plugins: [],