Skip to content

Commit 61239cb

Browse files
committed
chore: add winners and fix styles
1 parent 77f4ba5 commit 61239cb

File tree

5 files changed

+141
-21
lines changed

5 files changed

+141
-21
lines changed

src/lib/years/2024/About.svelte

+7-4
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,15 @@
5252
<strong><a href="https://sveltesociety.dev">Svelte Society</a></strong>,
5353
donations to the
5454
<a href="https://opencollective.com/svelte">Svelte Open Collective</a>, and
55-
the amazing Svelte Community.
55+
the amazing Svelte Community. We had <strong>$14,250</strong> in prizes,
56+
over
57+
<strong>80</strong> submissions, at <strong>15</strong> amazing winners.
5658
</p>
5759

5860
<p>
59-
The winners will be announced on
60-
{format(data.date.winnersAnnouncement, 'MMMM do')}
61+
SvelteHack ran from the {format(data.date.start, 'do MMMM yyyy')} to the
62+
{format(data.date.end, 'do MMMM yyyy')}, and the winners were announced on
63+
the {format(data.date.winnersAnnouncement, 'do MMMM yyyy')}.
6164
</p>
6265

6366
<div class="br-xs"></div>
@@ -133,7 +136,7 @@
133136
134137
.svelte-society-logo {
135138
position: absolute;
136-
left: -15%;
139+
left: -18%;
137140
top: 15%;
138141
width: 175px;
139142
height: 175px;

src/lib/years/2024/data.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const data = {
22
date: {
3-
winnersAnnouncement: new Date('2025-02-10T20:30:00.000Z'),
3+
winnersAnnouncement: new Date('2025-02-10T00:30:00.000Z'),
44
start: new Date('2024-10-19T00:00:00.000Z'),
55
end: new Date('2025-01-10T23:59:59.999Z'),
66
},

src/routes/(auth)/submit/+page.svelte

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
<script lang="ts">
2-
import { data as year2024 } from '$lib/years/2024/data'
32
import Preferences from './Preferences.svelte'
43
import Submission from './Submission.svelte'
54
import { SUBMISSIONS_OPEN } from '$lib/vars'
65
import { slide } from 'svelte/transition'
76
import '../../../styles/inputs.scss'
8-
import { format } from 'date-fns'
97
108
const { data } = $props()
119
@@ -25,11 +23,9 @@
2523
{:else}
2624
Thanks to everyone who entered.
2725
{/if}
28-
The <a href="/2024/winners">winners</a> will be posted on
29-
{format(year2024.date.winnersAnnouncement, 'MMM do yyyy')}. In the meantime why don't
30-
you come hang out on the
31-
<a href="https://svelte.dev/chat">Svelte Discord</a>!
3226
</p>
27+
28+
<p>Why not go checkout the <a href="/2024/winners">winners</a>!</p>
3329
</div>
3430

3531
<div class="br-md"></div>

src/routes/2024/winners/+page.svelte

+128-5
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,138 @@
1919
const categories: Data[] = [
2020
{
2121
category: 'Wizzbangery Wizard',
22-
winners: [],
22+
winners: [
23+
{
24+
title: 'Kunkun',
25+
description:
26+
'Kunkun is a cross-platform extensible app launcher like Raycast or Alfred. All extensions run in a sandboxed environment by default to ensure security.',
27+
github: 'https://github.com/kunkunsh/kunkun',
28+
website: 'https://kunkun.sh',
29+
place: 1,
30+
},
31+
{
32+
title: 'Infinite Turtles',
33+
description: 'A card game made with Threlte.',
34+
github: 'https://github.com/edsunman/infinite-turtles',
35+
website: 'https://infinite-turtles.pages.dev/',
36+
place: 2,
37+
},
38+
{
39+
title: 'Svudoku',
40+
description:
41+
'Svudoku is a modern-looking Sudoku application that lets you enjoy solving both Classic and Killer Sudoku puzzles.',
42+
github: 'https://github.com/fodor-lori/svudoku',
43+
website: 'https://svudoku.vercel.app',
44+
place: 3,
45+
},
46+
{
47+
title: 'Svelte Space',
48+
description:
49+
'A TowerDefence clicker game made with Svelte 5, without canvas. Playable on different screens, Mobile or Desktop.',
50+
github: 'https://github.com/baterson/svelte-tower-defence',
51+
website: 'https://svelte-tower-defence.vercel.app/',
52+
place: 4,
53+
},
54+
{
55+
title: 'Haunted House',
56+
description:
57+
'Old-school arcade game where you explore a haunted mansion full of ghosts. Control plasma bullets, use your wits and clear the whole house! Created only with Svelte 5.',
58+
github: 'https://github.com/martaProsniak/haunted-house',
59+
website: 'https://hauntedhousegame.netlify.app',
60+
place: 5,
61+
},
62+
],
2363
rune: W,
2464
},
2565
{
26-
category: 'Rune Revolutionary',
27-
winners: [],
66+
category: 'Rune Ritualist',
67+
winners: [
68+
{
69+
title: 'SyncroState',
70+
description:
71+
"SyncroState brings Svelte 5 reactivity DX to the multiplayer level. Built on top of Yjs, it's a typesafe, efficient and dead simple way to manage multiplayer state. It is just like a normal $state but synchronised in realtime.",
72+
github: 'https://github.com/beynar/syncrostate',
73+
website: 'https://syncrostate.pages.dev',
74+
place: 1,
75+
},
76+
{
77+
title: 'Twoslash Svelte',
78+
description:
79+
'Twoslash Svelte is an extension of `twoslashes/twoslash` which supports Svelte. This will be beneficial for adding type hints to code blocks on any documentation website targeting Svelte.',
80+
github: 'https://github.com/twoslashes/twoslash/pull/57',
81+
website: 'https://deploy-preview-57--twoslash.netlify.app/packages/svelte',
82+
place: 2,
83+
},
84+
{
85+
title: 'svisx',
86+
description:
87+
"A port of Airbnb's visx to Svelte, bringing the power of D3 visualizations to the Svelte ecosystem.",
88+
github: 'https://github.com/xGEMINIx/svisx',
89+
website: 'https://svisx.pages.dev',
90+
place: 3,
91+
},
92+
{
93+
title: 'Svelte Value Inspect',
94+
description:
95+
'Svelte Value Inspect is a "json tree"-like inspector inspired by the likes of react-json-view, and svelte-json-tree.',
96+
github: 'https://github.com/ampled/svelte-inspect-value',
97+
website: 'https://svelte-inspect-value.vercel.app',
98+
place: 4,
99+
},
100+
{
101+
title: 'Flexiboards',
102+
description: 'Headless, reactive drag and drop components for Svelte 5.',
103+
github: 'https://github.com/Blakintosh/svelte-flexiboards',
104+
website: 'https://svelte-flexiboards.vercel.app',
105+
place: 5,
106+
},
107+
],
28108
rune: R,
29109
},
30110
{
31-
category: 'Migration Master',
32-
winners: [],
111+
category: 'Migration Magician',
112+
winners: [
113+
{
114+
title: 'Svelte MapLibre GL',
115+
description:
116+
'Build interactive web maps effortlessly with MapLibre GL JS and Svelte 5.',
117+
github: 'https://github.com/MIERUNE/svelte-maplibre-gl',
118+
website: 'https://svelte-maplibre-gl.mierune.dev',
119+
place: 1,
120+
},
121+
{
122+
title: 'svelte-ux',
123+
description:
124+
'Collection of Svelte components, actions, stores, and utilities to build highly interactive applications.',
125+
github: 'https://github.com/techniq/svelte-ux/pull/530',
126+
website: 'https://svelte-ux.techniq.dev',
127+
place: 2,
128+
},
129+
{
130+
title: 'rokkit',
131+
description:
132+
'Rokkit is a data-driven, configurable, and themeable UI library built for use with Svelte. Rokkit controls are designed to be easily themeable, so you can match the look and feel of your project with minimal effort.',
133+
github: 'https://github.com/jerrythomas/rokkit/tree/develop',
134+
website: 'https://rokkit.vercel.app',
135+
place: 3,
136+
},
137+
{
138+
title: 'Svelte MiniApps',
139+
description:
140+
'Boost your productivity with Svelte MiniApps - a collection of user-friendly tools rebuilt with Svelte 5 for enhanced speed and reliability!',
141+
github: 'https://github.com/Michael-Obele/Svelte-MiniApps',
142+
website: 'https://svelte-apps.me/',
143+
place: 4,
144+
},
145+
{
146+
title: 'Roguelighter Engine',
147+
description:
148+
'Roguelighter is a free, open-source, easy-to-use game engine for 2D game development.',
149+
github: 'https://github.com/roguelighterengine/roguelighter',
150+
website: 'https://roguelighter.vercel.app',
151+
place: 5,
152+
},
153+
],
33154
rune: M,
34155
},
35156
]
@@ -67,6 +188,8 @@
67188
{/if}
68189
</section>
69190

191+
<div class="br-xl"></div>
192+
70193
<style lang="scss">
71194
section {
72195
max-width: min(var(--max-w), 95vw);

src/routes/2024/winners/Category.svelte

+3-5
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@
44
import Website from '$lib/graphics/Website.svelte'
55
import GitHub from '$lib/graphics/GitHub.svelte'
66
7-
const {
8-
category,
9-
winners,
10-
rune,
11-
}: { category: string; winners: Winner[]; rune: any } = $props()
7+
const { category, winners, rune }: { category: string; winners: Winner[]; rune: any } = $props()
128
139
function icon(place: number) {
1410
switch (place) {
@@ -37,6 +33,8 @@
3733
<h2>{category}</h2>
3834
</div>
3935

36+
<div class="br-sm"></div>
37+
4038
<div class="winners">
4139
{#each winners as winner}
4240
<div

0 commit comments

Comments
 (0)