2024-10-09 23:11:23 +00:00
|
|
|
<script lang="ts">
|
2026-02-11 01:41:32 +00:00
|
|
|
import {Capacitor} from "@capacitor/core"
|
2026-07-29 22:49:59 +00:00
|
|
|
import ServerPath from "@assets/icons/server-path.svg?dataurl"
|
2026-03-13 00:21:01 +00:00
|
|
|
import GalleryMinimalistic from "@assets/icons/gallery-minimalistic.svg?dataurl"
|
|
|
|
|
import Shield from "@assets/icons/shield-minimalistic.svg?dataurl"
|
2025-09-09 16:54:08 +00:00
|
|
|
import Bell from "@assets/icons/bell.svg?dataurl"
|
|
|
|
|
import Wallet from "@assets/icons/wallet.svg?dataurl"
|
2024-10-09 23:15:09 +00:00
|
|
|
import Icon from "@lib/components/Icon.svelte"
|
|
|
|
|
import Link from "@lib/components/Link.svelte"
|
|
|
|
|
import Button from "@lib/components/Button.svelte"
|
2026-02-03 22:18:58 +00:00
|
|
|
import Modal from "@lib/components/Modal.svelte"
|
|
|
|
|
import ModalBody from "@lib/components/ModalBody.svelte"
|
2026-03-13 00:21:01 +00:00
|
|
|
import Profile from "@app/components/Profile.svelte"
|
2024-10-09 23:11:23 +00:00
|
|
|
import LogOut from "@app/components/LogOut.svelte"
|
2026-07-28 16:16:26 +00:00
|
|
|
import {user} from "@app/core"
|
2026-06-08 21:14:40 +00:00
|
|
|
import {pushModal} from "@app/modal"
|
2024-10-09 23:11:23 +00:00
|
|
|
|
|
|
|
|
const logout = () => pushModal(LogOut)
|
|
|
|
|
</script>
|
|
|
|
|
|
2026-02-03 22:18:58 +00:00
|
|
|
<Modal>
|
|
|
|
|
<ModalBody>
|
2026-03-13 00:21:01 +00:00
|
|
|
<div class="flex flex-col gap-8 items-center py-12 max-w-[16rem] m-auto w-full">
|
2026-07-28 16:16:26 +00:00
|
|
|
<Link replaceState href="/settings/profile">
|
|
|
|
|
<Profile inert pubkey={$user.pubkey} />
|
|
|
|
|
</Link>
|
2026-03-17 22:03:40 +00:00
|
|
|
<div class="grid grid-cols-3 gap-3 w-full">
|
2026-03-13 00:21:01 +00:00
|
|
|
<Link
|
|
|
|
|
replaceState
|
|
|
|
|
href="/settings/alerts"
|
2026-06-24 20:56:53 +00:00
|
|
|
class="aspect-square button button-neutral h-[unset] flex flex-col gap-2 text-center">
|
2026-03-17 22:03:40 +00:00
|
|
|
<Icon icon={Bell} size={5} />
|
2026-03-13 00:21:01 +00:00
|
|
|
Alerts
|
|
|
|
|
</Link>
|
|
|
|
|
{#if Capacitor.getPlatform() !== "ios"}
|
|
|
|
|
<Link
|
|
|
|
|
replaceState
|
|
|
|
|
href="/settings/wallet"
|
2026-06-24 20:56:53 +00:00
|
|
|
class="aspect-square button button-neutral h-[unset] flex flex-col gap-2 text-center">
|
2026-03-17 22:03:40 +00:00
|
|
|
<Icon icon={Wallet} size={5} />
|
2026-03-13 00:21:01 +00:00
|
|
|
Wallet
|
|
|
|
|
</Link>
|
|
|
|
|
{/if}
|
2026-07-29 22:49:59 +00:00
|
|
|
<Link
|
|
|
|
|
replaceState
|
|
|
|
|
href="/settings/hosting"
|
|
|
|
|
class="aspect-square button button-neutral h-[unset] flex flex-col gap-2 text-center">
|
|
|
|
|
<Icon icon={ServerPath} size={5} />
|
|
|
|
|
Hosting
|
|
|
|
|
</Link>
|
2026-03-13 00:21:01 +00:00
|
|
|
<Link
|
|
|
|
|
replaceState
|
|
|
|
|
href="/settings/content"
|
2026-06-24 20:56:53 +00:00
|
|
|
class="aspect-square button button-neutral h-[unset] flex flex-col gap-2 text-center">
|
2026-03-17 22:03:40 +00:00
|
|
|
<Icon icon={GalleryMinimalistic} size={5} />
|
2026-03-13 00:21:01 +00:00
|
|
|
Content
|
|
|
|
|
</Link>
|
|
|
|
|
<Link
|
|
|
|
|
replaceState
|
|
|
|
|
href="/settings/privacy"
|
2026-06-24 20:56:53 +00:00
|
|
|
class="aspect-square button button-neutral h-[unset] flex flex-col gap-2 text-center">
|
2026-03-17 22:03:40 +00:00
|
|
|
<Icon icon={Shield} size={5} />
|
2026-03-13 00:21:01 +00:00
|
|
|
Privacy
|
|
|
|
|
</Link>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex gap-3 items-center opacity-75 text-sm">
|
2026-08-12 23:37:51 +00:00
|
|
|
<Link replaceState href="/settings/theme">Theme</Link>
|
2026-03-13 00:21:01 +00:00
|
|
|
/
|
|
|
|
|
<Link replaceState href="/settings/about">About</Link>
|
|
|
|
|
/
|
|
|
|
|
<Button onclick={logout}>Log Out</Button>
|
|
|
|
|
</div>
|
2026-02-10 19:39:29 +00:00
|
|
|
</div>
|
2026-02-03 22:18:58 +00:00
|
|
|
</ModalBody>
|
|
|
|
|
</Modal>
|