Move layout around a bit more

This commit is contained in:
Jon Staab 2024-10-18 15:58:44 -07:00
parent 5174bd0db8
commit 4308e29dec
12 changed files with 175 additions and 131 deletions

1
.env
View file

@ -1 +1,2 @@
VITE_DEFAULT_PUBKEYS=fe7f6bc6f7338b76bbf80db402ade65953e20b2f23e66e898204b63cc42539a3,391819e2f2f13b90cac7209419eb574ef7c0d1f4e81867fc24c47a3ce5e8a248,84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240,dace63b00c42e6e017d00dd190a9328386002ff597b841eb5ef91de4f1ce8491,82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2,58c741aa630c2da35a56a77c1d05381908bd10504fdd2d8b43f725efa6d23196,eeb11961b25442b16389fe6c7ebea9adf0ac36dd596816ea7119e521b8821b9e,b676ded7c768d66a757aa3967b1243d90bf57afb09d1044d3219d8d424e4aea0,61066504617ee79387021e18c89fb79d1ddbc3e7bff19cf2298f40466f8715e9 VITE_DEFAULT_PUBKEYS=fe7f6bc6f7338b76bbf80db402ade65953e20b2f23e66e898204b63cc42539a3,391819e2f2f13b90cac7209419eb574ef7c0d1f4e81867fc24c47a3ce5e8a248,84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240,dace63b00c42e6e017d00dd190a9328386002ff597b841eb5ef91de4f1ce8491,82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2,58c741aa630c2da35a56a77c1d05381908bd10504fdd2d8b43f725efa6d23196,eeb11961b25442b16389fe6c7ebea9adf0ac36dd596816ea7119e521b8821b9e,b676ded7c768d66a757aa3967b1243d90bf57afb09d1044d3219d8d424e4aea0,61066504617ee79387021e18c89fb79d1ddbc3e7bff19cf2298f40466f8715e9
VITE_PLATFORM_RELAY=wss://coracle-dev.nostr1.com

View file

@ -10,12 +10,13 @@
export let depth = 0 export let depth = 0
const {id, identifier, kind, pubkey, relays} = value const {id, identifier, kind, pubkey, relays} = value
const idOrAddress = id || new Address(kind, pubkey, identifier).toString() const addr = new Address(kind, pubkey, identifier)
const idOrAddress = id || addr.toString()
const event = deriveEvent(idOrAddress, relays) const event = deriveEvent(idOrAddress, relays)
const nevent = nip19.neventEncode({id, relays}) const entity = id ? nip19.neventEncode({id, relays}) : addr.toNaddr()
</script> </script>
<Link external href={entityLink(nevent)} class="my-2 block max-w-full text-left"> <Link external href={entityLink(entity)} class="my-2 block max-w-full text-left">
{#if $event} {#if $event}
<NoteCard event={$event} class="bg-alt rounded-box p-4"> <NoteCard event={$event} class="bg-alt rounded-box p-4">
<slot name="note-content" event={$event} {depth} /> <slot name="note-content" event={$event} {depth} />

View file

@ -12,7 +12,7 @@
<div class="column menu gap-2"> <div class="column menu gap-2">
<Link href="/settings/relays"> <Link href="/settings/relays">
<CardButton> <CardButton>
<div slot="icon"><Icon icon="remote-controller-minimalistic" size={7} /></div> <div slot="icon"><Icon icon="server" size={7} /></div>
<div slot="title">Relays</div> <div slot="title">Relays</div>
<div slot="info">Control how Flotilla talks to the network</div> <div slot="info">Control how Flotilla talks to the network</div>
</CardButton> </CardButton>

View file

@ -21,6 +21,31 @@
const showSettingsMenu = () => pushModal(MenuSettings) const showSettingsMenu = () => pushModal(MenuSettings)
</script> </script>
{#if import.meta.env.VITE_PLATFORM_RELAY}
<div class="relative hidden w-14 flex-shrink-0 bg-base-100 pt-4 md:block">
<div class="flex h-full flex-col justify-between">
<div>
<PrimaryNavItem href="/home/people" class="tooltip-right">
<Avatar icon="home-smile" class="!h-10 !w-10" />
</PrimaryNavItem>
<PrimaryNavItem
title={displayRelayUrl(import.meta.env.VITE_PLATFORM_RELAY)}
href={makeSpacePath(import.meta.env.VITE_PLATFORM_RELAY)}
class="tooltip-right">
<SpaceAvatar url={import.meta.env.VITE_PLATFORM_RELAY} />
</PrimaryNavItem>
</div>
<div>
<PrimaryNavItem title="Profile" href="/settings/profile" class="tooltip-right">
<Avatar src={$userProfile?.picture} class="!h-10 !w-10" />
</PrimaryNavItem>
<PrimaryNavItem title="Settings" href="/settings/relays" class="tooltip-right">
<Avatar icon="settings" class="!h-10 !w-10" />
</PrimaryNavItem>
</div>
</div>
</div>
{:else}
<div class="relative hidden w-14 flex-shrink-0 bg-base-100 pt-4 md:block"> <div class="relative hidden w-14 flex-shrink-0 bg-base-100 pt-4 md:block">
<div class="flex h-full flex-col justify-between"> <div class="flex h-full flex-col justify-between">
<div> <div>
@ -52,6 +77,7 @@
</div> </div>
</div> </div>
</div> </div>
{/if}
<slot /> <slot />
@ -68,7 +94,7 @@
<Avatar icon="settings" class="!h-10 !w-10" /> <Avatar icon="settings" class="!h-10 !w-10" />
</PrimaryNavItem> </PrimaryNavItem>
</div> </div>
<PrimaryNavItem title="Settings" href="/settings/profile"> <PrimaryNavItem noActive title="Settings" href="/settings/profile">
<Avatar src={$userProfile?.picture} class="!h-10 !w-10" /> <Avatar src={$userProfile?.picture} class="!h-10 !w-10" />
</PrimaryNavItem> </PrimaryNavItem>
</div> </div>

View file

@ -15,7 +15,7 @@
<div class="card2 card2-sm bg-alt column gap-2"> <div class="card2 card2-sm bg-alt column gap-2">
<div class="flex items-center justify-between gap-4"> <div class="flex items-center justify-between gap-4">
<div class="ellipsize flex items-center gap-2"> <div class="ellipsize flex items-center gap-2">
<Icon icon="remote-controller-minimalistic" /> <Icon icon="server" />
<p class="ellipsize">{displayRelayUrl(url)}</p> <p class="ellipsize">{displayRelayUrl(url)}</p>
</div> </div>
<slot /> <slot />

View file

@ -36,7 +36,7 @@
<Field> <Field>
<p slot="label">Relay</p> <p slot="label">Relay</p>
<label class="input input-bordered flex w-full items-center gap-2" slot="input"> <label class="input input-bordered flex w-full items-center gap-2" slot="input">
<Icon icon="remote-controller-minimalistic" /> <Icon icon="server" />
<input bind:value={relay} class="grow" type="text" /> <input bind:value={relay} class="grow" type="text" />
</label> </label>
<p slot="info"> <p slot="info">

View file

@ -0,0 +1,8 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 17C2 15.1144 2 14.1716 2.58579 13.5858C3.17157 13 4.11438 13 6 13H18C19.8856 13 20.8284 13 21.4142 13.5858C22 14.1716 22 15.1144 22 17C22 18.8856 22 19.8284 21.4142 20.4142C20.8284 21 19.8856 21 18 21H6C4.11438 21 3.17157 21 2.58579 20.4142C2 19.8284 2 18.8856 2 17Z" stroke="#1C274C" stroke-width="1.5"/>
<path d="M2 6C2 4.11438 2 3.17157 2.58579 2.58579C3.17157 2 4.11438 2 6 2H18C19.8856 2 20.8284 2 21.4142 2.58579C22 3.17157 22 4.11438 22 6C22 7.88562 22 8.82843 21.4142 9.41421C20.8284 10 19.8856 10 18 10H6C4.11438 10 3.17157 10 2.58579 9.41421C2 8.82843 2 7.88562 2 6Z" stroke="#1C274C" stroke-width="1.5"/>
<path d="M11 6H18" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
<path d="M6 6H8" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
<path d="M11 17H18" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
<path d="M6 17H8" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -61,6 +61,7 @@
import Plain from "@assets/icons/Plain.svg?dataurl" import Plain from "@assets/icons/Plain.svg?dataurl"
import RemoteControllerMinimalistic from "@assets/icons/Remote Controller Minimalistic.svg?dataurl" import RemoteControllerMinimalistic from "@assets/icons/Remote Controller Minimalistic.svg?dataurl"
import Reply from "@assets/icons/Reply.svg?dataurl" import Reply from "@assets/icons/Reply.svg?dataurl"
import Server from "@assets/icons/Server.svg?dataurl"
import Settings from "@assets/icons/Settings.svg?dataurl" import Settings from "@assets/icons/Settings.svg?dataurl"
import TagHorizontal from "@assets/icons/Tag Horizontal.svg?dataurl" import TagHorizontal from "@assets/icons/Tag Horizontal.svg?dataurl"
import ShareCircle from "@assets/icons/Share Circle.svg?dataurl" import ShareCircle from "@assets/icons/Share Circle.svg?dataurl"
@ -138,6 +139,7 @@
"share-circle": ShareCircle, "share-circle": ShareCircle,
"shop-minimalistic": ShopMinimalistic, "shop-minimalistic": ShopMinimalistic,
"smile-circle": SmileCircle, "smile-circle": SmileCircle,
server: Server,
settings: Settings, settings: Settings,
"tag-horizontal": TagHorizontal, "tag-horizontal": TagHorizontal,
"trash-bin-2": TrashBin2, "trash-bin-2": TrashBin2,

View file

@ -4,10 +4,11 @@
export let title = "" export let title = ""
export let href = "" export let href = ""
export let noActive = false
$: itemSegment = href.split("/")[1] $: itemSegment = href.split("/")[1]
$: currentSegment = $page.route?.id?.split("/")[1] $: currentSegment = $page.route?.id?.split("/")[1]
$: active = itemSegment === currentSegment $: active = itemSegment === currentSegment && !noActive
</script> </script>
{#if href} {#if href}

View file

@ -20,7 +20,7 @@
</div> </div>
<div in:fly|local={{delay: 50}}> <div in:fly|local={{delay: 50}}>
<SecondaryNavItem href="/settings/relays"> <SecondaryNavItem href="/settings/relays">
<Icon icon="remote-controller-minimalistic" /> Relays <Icon icon="server" /> Relays
</SecondaryNavItem> </SecondaryNavItem>
</div> </div>
<div in:fly|local={{delay: 100}}> <div in:fly|local={{delay: 100}}>

View file

@ -113,7 +113,7 @@
<Field> <Field>
<p slot="label">Nostr Address</p> <p slot="label">Nostr Address</p>
<label class="input input-bordered flex w-full items-center gap-2" slot="input"> <label class="input input-bordered flex w-full items-center gap-2" slot="input">
<Icon icon="remote-controller-minimalistic" /> <Icon icon="map-point" />
<input bind:value={values.nip05} class="grow" type="text" /> <input bind:value={values.nip05} class="grow" type="text" />
</label> </label>
<p slot="info"> <p slot="info">

View file

@ -5,6 +5,7 @@
import {fly, slide} from "@lib/transition" import {fly, slide} from "@lib/transition"
import Icon from "@lib/components/Icon.svelte" import Icon from "@lib/components/Icon.svelte"
import Page from "@lib/components/Page.svelte" import Page from "@lib/components/Page.svelte"
import Delay from "@lib/components/Delay.svelte"
import Button from "@lib/components/Button.svelte" import Button from "@lib/components/Button.svelte"
import Popover from "@lib/components/Popover.svelte" import Popover from "@lib/components/Popover.svelte"
import SecondaryNav from "@lib/components/SecondaryNav.svelte" import SecondaryNav from "@lib/components/SecondaryNav.svelte"
@ -71,6 +72,7 @@
</script> </script>
{#key url} {#key url}
<Delay>
<SecondaryNav> <SecondaryNav>
<SecondaryNavSection> <SecondaryNavSection>
<div> <div>
@ -89,6 +91,7 @@
Create Invite Create Invite
</Button> </Button>
</li> </li>
{#if !import.meta.env.VITE_PLATFORM_RELAY}
<li> <li>
{#if getMembershipUrls($userMembership).includes(url)} {#if getMembershipUrls($userMembership).includes(url)}
<Button on:click={leaveSpace} class="text-error"> <Button on:click={leaveSpace} class="text-error">
@ -102,6 +105,7 @@
</Button> </Button>
{/if} {/if}
</li> </li>
{/if}
</ul> </ul>
</Popover> </Popover>
{/if} {/if}
@ -169,4 +173,5 @@
<slot /> <slot />
{/key} {/key}
</Page> </Page>
</Delay>
{/key} {/key}