mirror of https://github.com/TZGyn/shortener
added browser data to visitors
parent
ba72a0a8b6
commit
6bb0e5578a
Binary file not shown.
@ -0,0 +1,30 @@
|
||||
<script lang="ts">
|
||||
import ThemeToggle from '$lib/components/theme-toggle.svelte'
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
</script>
|
||||
|
||||
<div class="flex flex-col items-center w-screen h-screen">
|
||||
<div class="flex justify-between py-4 px-8 w-full max-w-6xl">
|
||||
<div class="flex gap-4 items-center">
|
||||
<img src="/logo.png" alt="" class="h-8" />
|
||||
<div>kon.sh</div>
|
||||
</div>
|
||||
<div class="flex gap-8 items-center">
|
||||
<a href="/landing/docs">Docs</a>
|
||||
<a href="/landing/pricing">Pricing</a>
|
||||
</div>
|
||||
<div class="flex gap-4 items-center">
|
||||
<a
|
||||
href="/login"
|
||||
class="transition-all text-primary/80 hover:text-primary">
|
||||
Login
|
||||
</a>
|
||||
<Button
|
||||
href="/signup"
|
||||
class="bg-orange-400 hover:bg-orange-300 w-fit"
|
||||
>Get Started</Button>
|
||||
<ThemeToggle />
|
||||
</div>
|
||||
</div>
|
||||
<slot />
|
||||
</div>
|
||||
@ -0,0 +1,33 @@
|
||||
<script lang="ts">
|
||||
import { Button } from '$lib/components/ui/button'
|
||||
</script>
|
||||
|
||||
<div class="flex flex-col items-center pt-24">
|
||||
<div class="flex flex-col gap-24 max-w-6xl">
|
||||
<div class="flex flex-col gap-4 items-center text-center">
|
||||
<h1
|
||||
class="text-6xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-orange-300 to-orange-400">
|
||||
Kon.sh
|
||||
</h1>
|
||||
<p class="max-w-sm text-xl font-semibold text-center">
|
||||
Open Source Self-hostable Link Shortener With Analytics
|
||||
</p>
|
||||
<Button
|
||||
href="/signup"
|
||||
class="bg-orange-400 hover:bg-orange-300 w-fit">
|
||||
Get Started
|
||||
</Button>
|
||||
</div>
|
||||
<div class="flex flex-col gap-4 items-center text-center">
|
||||
<h1 class="text-4xl font-bold">Why Kon.sh?</h1>
|
||||
<p class="max-w-lg text-xl font-semibold text-center">
|
||||
Kon.sh is completely self-hostable, open source, and free. No
|
||||
vendor lock-in, can be hosted using docker/docker compose with
|
||||
no limitations.
|
||||
<a href="/landing/docs" class="text-orange-400 underline">
|
||||
Learn More
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,6 @@
|
||||
import type { PageServerLoad } from './$types'
|
||||
import { redirect } from '@sveltejs/kit'
|
||||
|
||||
export const load = (async () => {
|
||||
return redirect(300, '/landing')
|
||||
}) satisfies PageServerLoad
|
||||
@ -0,0 +1,15 @@
|
||||
<script>
|
||||
import { goto } from '$app/navigation'
|
||||
import Button from '$lib/components/ui/button/button.svelte'
|
||||
</script>
|
||||
|
||||
<div class="flex justify-center items-center w-full h-full">
|
||||
<div class="flex flex-col gap-12 items-center">
|
||||
<div class="flex flex-col gap-4 items-center">
|
||||
<div class="text-4xl font-bold">404</div>
|
||||
<div class="text-4xl font-bold">Page Not Found</div>
|
||||
</div>
|
||||
<Button on:click={() => goto('/landing')} class="w-fit"
|
||||
>Return</Button>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue