diff --git a/src/routes/tutorial/[slug]/arrow.svg b/src/lib/icons/arrow.svg similarity index 100% rename from src/routes/tutorial/[slug]/arrow.svg rename to src/lib/icons/arrow.svg diff --git a/src/routes/tutorial/[slug]/chevron.svg b/src/lib/icons/chevron.svg similarity index 100% rename from src/routes/tutorial/[slug]/chevron.svg rename to src/lib/icons/chevron.svg diff --git a/src/routes/tutorial/[slug]/refresh.svg b/src/lib/icons/refresh.svg similarity index 100% rename from src/routes/tutorial/[slug]/refresh.svg rename to src/lib/icons/refresh.svg diff --git a/src/routes/tutorial/[slug]/+page.svelte b/src/routes/tutorial/[slug]/+page.svelte index cea95c987..617052341 100644 --- a/src/routes/tutorial/[slug]/+page.svelte +++ b/src/routes/tutorial/[slug]/+page.svelte @@ -1,374 +1,32 @@ - - {data.exercise.chapter.title} / {data.exercise.title} • Svelte Tutorial @@ -400,9 +58,7 @@ index={data.index} exercise={data.exercise} on:select={(e) => { - selected.set( - /** @type {import('$lib/types').FileStub} */ (data.exercise.a[e.detail.file]) - ); + state.select_file(e.detail.file); }} /> @@ -417,32 +73,16 @@ - { - reset_adapter($files); - }} - /> + { - $files = Object.values(completed ? data.exercise.a : $endstate); - if (completed) { - reset_complete_states(); - } else { - update_complete_states($files); - } - reset_adapter($files); + state.toggle_completion(); }} > - {#if completed && Object.keys(data.exercise.b).length > 0} + {#if $completed && Object.keys(data.exercise.b).length > 0} reset {:else} solve @@ -451,40 +91,14 @@ - + - { - set_iframe_src(adapter.base + path); - }} - on:change={(e) => nav_to(e.detail.value)} - on:back={go_bwd} - on:forward={go_fwd} - /> - - - {#if browser} - - {/if} - - {#if loading || error} - - {/if} - + diff --git a/src/routes/tutorial/[slug]/Chrome.svelte b/src/routes/tutorial/[slug]/Chrome.svelte index f313ca7b4..64a2e4b21 100644 --- a/src/routes/tutorial/[slug]/Chrome.svelte +++ b/src/routes/tutorial/[slug]/Chrome.svelte @@ -1,7 +1,7 @@ + + + { + set_iframe_src(adapter.base + path); + }} + on:change={(e) => nav_to(e.detail.value)} + on:back={go_bwd} + on:forward={go_fwd} +/> + + + {#if browser} + + {/if} + + {#if loading || error} + + {/if} + + + diff --git a/src/lib/components/filetree/ContextMenu.svelte b/src/routes/tutorial/[slug]/filetree/ContextMenu.svelte similarity index 100% rename from src/lib/components/filetree/ContextMenu.svelte rename to src/routes/tutorial/[slug]/filetree/ContextMenu.svelte diff --git a/src/lib/components/filetree/File.svelte b/src/routes/tutorial/[slug]/filetree/File.svelte similarity index 76% rename from src/lib/components/filetree/File.svelte rename to src/routes/tutorial/[slug]/filetree/File.svelte index d911ddb5f..c74b3369c 100644 --- a/src/lib/components/filetree/File.svelte +++ b/src/routes/tutorial/[slug]/filetree/File.svelte @@ -1,16 +1,16 @@