flotilla/src/app/components/SpaceAdd.svelte

77 lines
2.4 KiB
Svelte
Raw Normal View History

2024-08-08 21:02:46 +00:00
<script lang="ts">
2025-09-12 16:11:53 +00:00
import Login from "@assets/icons/login-3.svg?dataurl"
2025-09-10 22:26:39 +00:00
import AddCircle from "@assets/icons/add-circle.svg?dataurl"
2025-10-28 23:46:49 +00:00
import Compass from "@assets/icons/compass.svg?dataurl"
2024-10-09 21:19:27 +00:00
import Icon from "@lib/components/Icon.svelte"
2025-10-28 23:46:49 +00:00
import Link from "@lib/components/Link.svelte"
2024-10-09 21:19:27 +00:00
import Button from "@lib/components/Button.svelte"
2024-08-16 17:50:38 +00:00
import CardButton from "@lib/components/CardButton.svelte"
2026-01-30 22:14:12 +00:00
import Modal from "@lib/components/Modal.svelte"
import ModalBody from "@lib/components/ModalBody.svelte"
2024-10-09 23:11:23 +00:00
import ModalHeader from "@lib/components/ModalHeader.svelte"
2024-08-16 19:42:00 +00:00
import SpaceInviteAccept from "@app/components/SpaceInviteAccept.svelte"
import {pushModal} from "@app/util/modal"
2024-08-08 21:02:46 +00:00
2025-10-28 23:46:49 +00:00
type Props = {
hideDiscover?: boolean
}
const {hideDiscover}: Props = $props()
2024-08-16 19:42:00 +00:00
const startJoin = () => pushModal(SpaceInviteAccept)
2024-08-08 21:02:46 +00:00
</script>
2026-01-30 22:14:12 +00:00
<Modal>
<ModalBody>
<ModalHeader>
{#snippet title()}
<div>Add a Space</div>
{/snippet}
{#snippet info()}
<div>Spaces are places where communities come together to work, play, and hang out.</div>
{/snippet}
</ModalHeader>
{#if !hideDiscover}
<Link href="/discover">
<CardButton class="btn-primary">
{#snippet icon()}
<div><Icon icon={Compass} size={7} /></div>
{/snippet}
{#snippet title()}
<div>Explore Spaces</div>
{/snippet}
{#snippet info()}
<div>Join create, or browse spaces</div>
{/snippet}
</CardButton>
</Link>
{/if}
<Button onclick={startJoin}>
<CardButton class={hideDiscover ? "btn-primary" : "btn-neutral"}>
{#snippet icon()}
<div><Icon icon={Login} size={7} /></div>
{/snippet}
{#snippet title()}
<div>Join a space</div>
{/snippet}
{#snippet info()}
<div>Enter an invite link to join an existing space.</div>
{/snippet}
</CardButton>
</Button>
<Link href="/spaces/create">
<CardButton class="btn-neutral">
2025-10-28 23:46:49 +00:00
{#snippet icon()}
2026-01-30 22:14:12 +00:00
<div><Icon icon={AddCircle} size={7} /></div>
2025-10-28 23:46:49 +00:00
{/snippet}
{#snippet title()}
2026-01-30 22:14:12 +00:00
<div>Create a space</div>
2025-10-28 23:46:49 +00:00
{/snippet}
{#snippet info()}
2026-01-30 22:14:12 +00:00
<div>Just a few questions and you'll be on your way.</div>
2025-10-28 23:46:49 +00:00
{/snippet}
</CardButton>
</Link>
2026-01-30 22:14:12 +00:00
</ModalBody>
</Modal>