flotilla/src/app/components/MenuSettings.svelte

80 lines
2.8 KiB
Svelte
Raw Normal View History

2024-10-09 23:11:23 +00:00
<script lang="ts">
2026-02-11 01:41:32 +00:00
import {Capacitor} from "@capacitor/core"
import {pubkey} from "@welshman/app"
2025-09-10 22:26:39 +00:00
import Server from "@assets/icons/server.svg?dataurl"
import GalleryMinimalistic from "@assets/icons/gallery-minimalistic.svg?dataurl"
import Shield from "@assets/icons/shield-minimalistic.svg?dataurl"
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"
import Profile from "@app/components/Profile.svelte"
2024-10-09 23:11:23 +00:00
import LogOut from "@app/components/LogOut.svelte"
2026-06-08 21:14:40 +00:00
import {pushModal} from "@app/modal"
import {theme} from "@app/theme"
2024-10-09 23:11:23 +00:00
const logout = () => pushModal(LogOut)
const toggleTheme = () => theme.set($theme === "dark" ? "light" : "dark")
2024-10-09 23:11:23 +00:00
</script>
2026-02-03 22:18:58 +00:00
<Modal>
<ModalBody>
<div class="flex flex-col gap-8 items-center py-12 max-w-[16rem] m-auto w-full">
{#if $pubkey}
<Link replaceState href="/settings/profile">
<Profile inert pubkey={$pubkey} />
2026-02-11 01:41:32 +00:00
</Link>
{/if}
2026-03-17 22:03:40 +00:00
<div class="grid grid-cols-3 gap-3 w-full">
<Link
replaceState
href="/settings/alerts"
2026-03-17 22:03:40 +00:00
class="aspect-square btn h-[unset] btn-neutral flex flex-col gap-2 text-center">
<Icon icon={Bell} size={5} />
Alerts
</Link>
{#if Capacitor.getPlatform() !== "ios"}
<Link
replaceState
href="/settings/wallet"
2026-03-17 22:03:40 +00:00
class="aspect-square btn h-[unset] btn-neutral flex flex-col gap-2 text-center">
<Icon icon={Wallet} size={5} />
Wallet
</Link>
{/if}
<Link
replaceState
href="/settings/relays"
2026-03-17 22:03:40 +00:00
class="aspect-square btn h-[unset] btn-neutral flex flex-col gap-2 text-center">
<Icon icon={Server} size={5} />
Relays
</Link>
<Link
replaceState
href="/settings/content"
2026-03-17 22:03:40 +00:00
class="aspect-square btn h-[unset] btn-neutral flex flex-col gap-2 text-center">
<Icon icon={GalleryMinimalistic} size={5} />
Content
</Link>
<Link
replaceState
href="/settings/privacy"
2026-03-17 22:03:40 +00:00
class="aspect-square btn h-[unset] btn-neutral flex flex-col gap-2 text-center">
<Icon icon={Shield} size={5} />
Privacy
</Link>
</div>
<div class="flex gap-3 items-center opacity-75 text-sm">
<Button onclick={toggleTheme}>Theme</Button>
/
<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>