From 0f0d71241367d1bac3681022bfc841cc03051cec Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 13 Oct 2024 18:24:47 -0400 Subject: [PATCH 1/9] start adding tutorial nav --- .../src/lib/components/SecondaryNav.svelte | 29 +++++++++++++++++++ .../playground/[id]/AppControls.svelte | 23 ++------------- .../routes/tutorial/[...slug]/+page.svelte | 2 ++ .../routes/tutorial/[...slug]/Controls.svelte | 13 +++++++++ .../routes/tutorial/[...slug]/Sidebar.svelte | 2 +- 5 files changed, 48 insertions(+), 21 deletions(-) create mode 100644 apps/svelte.dev/src/lib/components/SecondaryNav.svelte create mode 100644 apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte diff --git a/apps/svelte.dev/src/lib/components/SecondaryNav.svelte b/apps/svelte.dev/src/lib/components/SecondaryNav.svelte new file mode 100644 index 0000000000..91c6e97da7 --- /dev/null +++ b/apps/svelte.dev/src/lib/components/SecondaryNav.svelte @@ -0,0 +1,29 @@ + + +
+ {@render children()} +
+ + diff --git a/apps/svelte.dev/src/routes/(authed)/playground/[id]/AppControls.svelte b/apps/svelte.dev/src/routes/(authed)/playground/[id]/AppControls.svelte index accb4f5714..eaa708c6bd 100644 --- a/apps/svelte.dev/src/routes/(authed)/playground/[id]/AppControls.svelte +++ b/apps/svelte.dev/src/routes/(authed)/playground/[id]/AppControls.svelte @@ -13,6 +13,7 @@ import { browser } from '$app/environment'; import SelectIcon from '$lib/components/SelectIcon.svelte'; import { untrack } from 'svelte'; + import SecondaryNav from '$lib/components/SecondaryNav.svelte'; interface Props { examples: Array<{ title: string; examples: any[] }>; @@ -228,7 +229,7 @@ export default app;` -
+ {/if}
- + diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte index 5cd2c1f4b5..2ec52804b7 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte @@ -122,7 +122,7 @@ flex: 1 1 auto; padding: 2.2rem 3rem; border-right: 1px solid var(--sk-back-4); - background: var(--sk-back-3); + background: var(--sk-back-1); :global { pre { From 46c27252beeec8cee981fcc06ba05e5e0ea8f8be Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 13 Oct 2024 19:34:55 -0400 Subject: [PATCH 2/9] move stuff --- .../routes/tutorial/[...slug]/+page.svelte | 2 +- .../routes/tutorial/[...slug]/Controls.svelte | 80 ++++++++++++++++++- .../routes/tutorial/[...slug]/Sidebar.svelte | 2 +- 3 files changed, 79 insertions(+), 5 deletions(-) diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte index 44d3dd607d..547cb4e77d 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte @@ -242,7 +242,7 @@
- +
diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte index 6653f2617b..503c96ff79 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte @@ -1,13 +1,87 @@ - - - + { + goto(`/tutorial/${e.currentTarget.value}`); + }} + > + {#each index as part} + + {#each part.chapters as chapter} + + + {#each chapter.exercises as exercise} + + {/each} + {/each} + + {/each} + + + + + + + + + + + diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte index 2ec52804b7..b4b53f220f 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte @@ -21,7 +21,7 @@ let show_modal = false; - +
Date: Sun, 13 Oct 2024 19:49:53 -0400 Subject: [PATCH 3/9] move solve button --- .../routes/tutorial/[...slug]/+page.svelte | 25 +++++++------------ .../routes/tutorial/[...slug]/Controls.svelte | 19 +++++++++++--- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte index 547cb4e77d..7f60e4c10e 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte @@ -242,7 +242,15 @@
- + { + reset_files(Object.values(completed ? a : b)); + }} + /> +
@@ -282,21 +290,6 @@ }} /> {/if} - -
diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte index 503c96ff79..a58bc9931d 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte @@ -2,12 +2,17 @@ import { goto } from '$app/navigation'; import SecondaryNav from '$lib/components/SecondaryNav.svelte'; import SelectIcon from '$lib/components/SelectIcon.svelte'; - import type { Exercise, PartStub } from '$lib/tutorial'; + import type { Exercise, PartStub, Stub } from '$lib/tutorial'; import { Icon } from '@sveltejs/site-kit/components'; - let { index, exercise }: { index: PartStub[]; exercise: Exercise } = $props(); + interface Props { + index: PartStub[]; + exercise: Exercise; + completed: boolean; + toggle: () => void; + } - $inspect({ index, exercise }); + let { index, exercise, completed, toggle }: Props = $props(); // TODO this really sucks, why is `exercise.slug` not the slug? let actual_slug = $derived.by(() => { @@ -55,7 +60,13 @@ {exercise.title}
- + diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte index c018bd750e..4eaf488cb1 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/Sidebar.svelte @@ -1,12 +1,8 @@ - -
Date: Sun, 13 Oct 2024 21:56:50 -0400 Subject: [PATCH 8/9] fix --- apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte | 2 +- apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte index 7827ef26b6..bc9c5b5f5f 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/+page.svelte @@ -344,7 +344,7 @@ .container { display: flex; flex-direction: column; - height: 100%; + height: calc(100dvh - var(--sk-nav-height)); /** necessary for innerWidth to be correct, so we can determine `mobile` */ width: 100vw; overflow: hidden; diff --git a/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte b/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte index baa2758a8e..8f8f052132 100644 --- a/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte +++ b/apps/svelte.dev/src/routes/tutorial/[...slug]/Controls.svelte @@ -82,6 +82,8 @@ .breadcrumbs { flex: 1; font: var(--sk-font-ui-medium); + overflow: hidden; + text-overflow: ellipsis; span:not(:last-child)::after { content: ' / '; From 93b07bbfbd6a098a707623af2d78f1bf8ac22330 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 13 Oct 2024 21:58:28 -0400 Subject: [PATCH 9/9] drive-by fix --- packages/site-kit/src/lib/styles/tokens.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/site-kit/src/lib/styles/tokens.css b/packages/site-kit/src/lib/styles/tokens.css index 6a74b62ce2..f7573ce365 100644 --- a/packages/site-kit/src/lib/styles/tokens.css +++ b/packages/site-kit/src/lib/styles/tokens.css @@ -16,7 +16,7 @@ --sk-secondary-nav-height: 5rem; --sk-page-padding-top: 6rem; --sk-page-padding-bottom: 6rem; - --sk-page-padding-side: 2.4rem; + --sk-page-padding-side: 1.6rem; --sk-thick-border-width: 0.3rem; --sk-border-radius: 0.4rem; --sk-page-content-width: 84rem;