Files
flotilla/src/app/components/Landing.svelte
T

61 lines
2.1 KiB
Svelte

<script lang="ts">
import Login from "@assets/icons/login-3.svg?dataurl"
import AddCircle from "@assets/icons/add-circle.svg?dataurl"
import Icon from "@lib/components2/Icon.svelte"
import Button from "@lib/components2/Button.svelte"
import Link from "@lib/components2/Link.svelte"
import Modal from "@lib/components2/Modal.svelte"
import ModalBody from "@lib/components2/ModalBody.svelte"
import CardButton from "@lib/components2/CardButton.svelte"
import Heading from "@lib/components2/Heading.svelte"
import Text from "@lib/components2/Text.svelte"
import LogIn from "@app/components/LogIn.svelte"
import SignUp from "@app/components/SignUp.svelte"
import {PLATFORM_TERMS, PLATFORM_PRIVACY, PLATFORM_NAME} from "@app/env"
import {pushModal} from "@app/modal"
const logIn = () => pushModal(LogIn)
const signUp = () => pushModal(SignUp)
</script>
<Modal>
<ModalBody>
<div class="py-2">
<Heading level={1} class="text-center">Welcome to {PLATFORM_NAME}!</Heading>
<Text class="text-center">The chat app built for self-hosted communities.</Text>
</div>
<Button onclick={logIn} block class="!p-0">
<CardButton>
{#snippet icon()}
<div><Icon icon={Login} size={7} /></div>
{/snippet}
{#snippet title()}
<div>Log in</div>
{/snippet}
{#snippet info()}
<div>If you've been here before, you know the drill.</div>
{/snippet}
</CardButton>
</Button>
<Button onclick={signUp} block class="!p-0">
<CardButton>
{#snippet icon()}
<div><Icon icon={AddCircle} size={7} /></div>
{/snippet}
{#snippet title()}
<div>Create an account</div>
{/snippet}
{#snippet info()}
<div>Just a few questions and you'll be on your way.</div>
{/snippet}
</CardButton>
</Button>
<Text size="sm" muted class="text-center">
By using {PLATFORM_NAME}, you consent to our
<Link external styled href={PLATFORM_TERMS}>Terms of Service</Link> and
<Link external styled href={PLATFORM_PRIVACY}>Privacy Policy</Link>.
</Text>
</ModalBody>
</Modal>