Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,24 @@
"@playwright/test": "^1.28.1",
"@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/adapter-node": "^4.0.1",
"@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0",
"@sveltejs/kit": "^2.5.27",
"@sveltejs/vite-plugin-svelte": "^4.0.0",
"@types/eslint": "8.56.0",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"autoprefixer": "^10.4.17",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-svelte": "^2.35.1",
"eslint-plugin-svelte": "^2.45.1",
"postcss": "^8.4.35",
"prettier": "^3.1.1",
"prettier-plugin-svelte": "^3.1.2",
"svelte": "^4.2.7",
"svelte-check": "^3.6.0",
"prettier-plugin-svelte": "^3.2.6",
"svelte": "^5.0.0",
"svelte-check": "^4.0.0",
"tailwindcss": "^3.4.1",
"tslib": "^2.4.1",
"typescript": "^5.0.0",
"vite": "^5.1.3",
"typescript": "^5.5.0",
"vite": "^5.4.4",
"vitest": "^1.2.0"
},
"scripts": {
Expand Down
23 changes: 18 additions & 5 deletions src/components/Button.svelte
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
<script lang="ts">
export let className = "";
export let href = "";
export let target = "";
import { createBubbler } from 'svelte/legacy';

const bubble = createBubbler();
interface Props {
className?: string;
href?: string;
target?: string;
children?: import('svelte').Snippet;
}

let {
className = "",
href = "",
target = "",
children
}: Props = $props();
</script>

<a target="{target}" on:click href="{href}" class="flex py-2 px-4 rounded-lg font-semibold text-center no-underline items-center {className}">
<slot/>
<a target="{target}" onclick={bubble('click')} href="{href}" class="flex py-2 px-4 rounded-lg font-semibold text-center no-underline items-center {className}">
{@render children?.()}
</a>
5 changes: 3 additions & 2 deletions src/components/Card.svelte
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<script>
export let title = "";
/** @type {{title?: string, children?: import('svelte').Snippet}} */
let { title = "", children } = $props();
</script>

<div class="h-[430px] lg:h-80 bg-[#ffffff04] rounded-lg outline outline-1 outline-[#cbd5e11a] p-6 space-y-2">
<div class="text-2xl font-semibold">{title}</div>
<div class="text-md text-gray-400">
<slot/>
{@render children?.()}
</div>
</div>
4 changes: 2 additions & 2 deletions src/components/Header.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import Logo from "$lib/images/logo.webp"
import Button from "./Button.svelte";

let hamburgerMenuOpen = false;
let hamburgerMenuOpen = $state(false);
</script>

<header class="fixed w-screen top-0 h-20 backdrop-blur-md outline outline-[#cbd5e11a] outline-1 drop-shadow-lg">
Expand All @@ -21,7 +21,7 @@
</div>

<!-- Hamburger Menu -->
<button on:click={() => (hamburgerMenuOpen = !hamburgerMenuOpen)} class="lg:hidden flex mr-3 text-3xl">
<button onclick={() => (hamburgerMenuOpen = !hamburgerMenuOpen)} class="lg:hidden flex mr-3 text-3xl">
</button>

Expand Down
5 changes: 3 additions & 2 deletions src/components/Link.svelte
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<script>
export let href = "";
/** @type {{href?: string, children?: import('svelte').Snippet}} */
let { href = "", children } = $props();
</script>

<a target="_blank" href={href} class="text-primary hover:underline">
<slot />
{@render children?.()}
</a>
3 changes: 2 additions & 1 deletion src/components/RedirectPage.svelte
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<script>
export let url = "";

import { onMount } from 'svelte';
/** @type {{url?: string}} */
let { url = "" } = $props();

onMount(() => {
window.location.href = url;
Expand Down
4 changes: 3 additions & 1 deletion src/routes/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@
import Footer from "$components/Footer.svelte";
import Header from "$components/Header.svelte";
import "../app.css";
/** @type {{children?: import('svelte').Snippet}} */
let { children } = $props();
</script>

<div>
<Header />

<main class="min-h-screen">
<slot />
{@render children?.()}
</main>

<Footer />
Expand Down