Merge pull request #1470 from appwrite/fix-back-button-tutorials

Reinstate the back button on tutorials
This commit is contained in:
Ernst Mulders
2024-11-05 09:56:51 +01:00
committed by GitHub
17 changed files with 43 additions and 4 deletions

View File

@@ -7,6 +7,7 @@
import { onMount } from 'svelte'; import { onMount } from 'svelte';
export let toc: Array<TocItem>; export let toc: Array<TocItem>;
export let back: string;
export let currentStep: number; export let currentStep: number;
export let date: string; export let date: string;
@@ -44,6 +45,15 @@
<article class="web-article contents"> <article class="web-article contents">
<header class="web-article-header"> <header class="web-article-header">
<div class="web-article-header-start web-u-cross-start flex flex-col"> <div class="web-article-header-start web-u-cross-start flex flex-col">
{#if back}
<a
href={back}
class="web-icon-button web-is-only-mobile"
aria-label="previous page"
>
<span class="icon-cheveron-left" aria-hidden="true" />
</a>
{/if}
<ul class="web-metadata web-caption-400"> <ul class="web-metadata web-caption-400">
{#if currentStepItem.difficulty} {#if currentStepItem.difficulty}
<li>{currentStepItem.difficulty}</li> <li>{currentStepItem.difficulty}</li>
@@ -53,7 +63,21 @@
{/if} {/if}
</ul> </ul>
<div class="u-cross-center relative flex"> <div class="u-cross-center relative flex">
<h1 class="web-title">{firstStepItem?.title}</h1> {#if back}
<a
href={back}
class="
web-button is-text is-only-icon web-u-cross-center
web-is-not-mobile -translate-x-1/2"
aria-label="previous page"
>
<span
class="icon-cheveron-left web-u-font-size-24 web-u-color-text-primary"
aria-hidden="true"
/>
</a>
{/if}
<h1 class="web-title lg:-ml-5">{firstStepItem?.title}</h1>
</div> </div>
</div> </div>
<div class="web-article-header-end" /> <div class="web-article-header-end" />

View File

@@ -8,6 +8,7 @@
draft?: boolean; draft?: boolean;
difficulty?: string; difficulty?: string;
readtime?: string; readtime?: string;
back: string;
}; };
</script> </script>
@@ -25,6 +26,7 @@
export let description: string; export let description: string;
export let step: number; export let step: number;
export let date: string; export let date: string;
export let back: string;
setContext<LayoutContext>('headings', writable({})); setContext<LayoutContext>('headings', writable({}));
@@ -76,7 +78,7 @@
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
</svelte:head> </svelte:head>
<DocsTutorial {toc} {tutorials} {date} currentStep={step}> <DocsTutorial {toc} {back} {tutorials} {date} currentStep={step}>
<slot /> <slot />
</DocsTutorial> </DocsTutorial>
<MainFooter variant="docs" /> <MainFooter variant="docs" />

View File

@@ -3,6 +3,7 @@ layout: tutorial
title: Build an ideas tracker with Android title: Build an ideas tracker with Android
description: Learn to build an Android app with no backend code using an Appwrite backend. description: Learn to build an Android app with no backend code using an Appwrite backend.
framework: Android framework: Android
back: /docs/tutorials
category: Mobile and native category: Mobile and native
step: 1 step: 1
--- ---

View File

@@ -3,6 +3,7 @@ layout: tutorial
title: Coming soon title: Coming soon
description: Learn to build an Apple app with no backend code using an Appwrite backend. description: Learn to build an Apple app with no backend code using an Appwrite backend.
framework: Apple framework: Apple
back: /docs/tutorials
category: Mobile and native category: Mobile and native
step: 1 step: 1
draft: true draft: true

View File

@@ -4,6 +4,7 @@ title: Server-side authentication with Astro
description: Add SSR authentication to your Astro app with Appwrite description: Add SSR authentication to your Astro app with Appwrite
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 20 readtime: 20
framework: Astro SSR framework: Astro SSR
category: Auth category: Auth

View File

@@ -3,6 +3,7 @@ layout: tutorial
title: Coming soon title: Coming soon
description: Learn to build an Flutter app with no backend code using an Appwrite backend. description: Learn to build an Flutter app with no backend code using an Appwrite backend.
framework: Flutter framework: Flutter
back: /docs/tutorials
category: Mobile and native category: Mobile and native
step: 1 step: 1
draft: true draft: true

View File

@@ -4,6 +4,7 @@ title: Server-side authentication with Next.js
description: Add SSR authentication to your Next.js app with Appwrite description: Add SSR authentication to your Next.js app with Appwrite
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 20 readtime: 20
framework: Next.js SSR framework: Next.js SSR
category: Auth category: Auth

View File

@@ -4,6 +4,7 @@ title: Server-side authentication with Nuxt
description: Add SSR authentication to your Nuxt app with Appwrite description: Add SSR authentication to your Nuxt app with Appwrite
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
draft: true draft: true
readtime: 20 readtime: 20
framework: Nuxt SSR framework: Nuxt SSR

View File

@@ -7,7 +7,7 @@ difficulty: beginner
readtime: 25 readtime: 25
framework: Nuxt framework: Nuxt
category: Web category: Web
back: /docs back: /docs/tutorials
--- ---
**Idea tracker**: an app to track all the side project ideas that you'll start, but probably never finish. **Idea tracker**: an app to track all the side project ideas that you'll start, but probably never finish.

View File

@@ -4,6 +4,7 @@ title: Build an ideas tracker with React Native
description: Learn to build a React Native app with no backend code using an Appwrite backend. description: Learn to build a React Native app with no backend code using an Appwrite backend.
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 10 readtime: 10
category: Mobile and native category: Mobile and native
framework: React Native framework: React Native

View File

@@ -4,6 +4,7 @@ title: Build an ideas tracker with React
description: Learn to build a React app with no backend code using an Appwrite backend. description: Learn to build a React app with no backend code using an Appwrite backend.
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 10 readtime: 10
category: Web category: Web
framework: React framework: React

View File

@@ -4,6 +4,7 @@ title: Build a blog admin panel with Refine
description: Learn to build a Refine app with no backend code using an Appwrite backend. description: Learn to build a Refine app with no backend code using an Appwrite backend.
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 10 readtime: 10
framework: Refine framework: Refine
category: Web category: Web

View File

@@ -4,6 +4,7 @@ title: Add app subscriptions with Stripe
description: Add paid app subscription plans to your app with Stripe and Appwrite Functions. description: Add paid app subscription plans to your app with Stripe and Appwrite Functions.
step: 1 step: 1
difficulty: easy difficulty: easy
back: /docs/tutorials
readtime: 10 readtime: 10
framework: Stripe framework: Stripe
category: Functions category: Functions

View File

@@ -4,6 +4,7 @@ title: Authentication with SvelteKit
description: Add Authentication to a SvelteKit project using Appwrite. description: Add Authentication to a SvelteKit project using Appwrite.
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 20 readtime: 20
framework: SvelteKit framework: SvelteKit
category: Auth category: Auth

View File

@@ -4,6 +4,7 @@ title: Server-side authentication with SvelteKit
description: Add SSR authentication to your SvelteKit app with Appwrite description: Add SSR authentication to your SvelteKit app with Appwrite
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 20 readtime: 20
framework: SvelteKit SSR framework: SvelteKit SSR
category: Auth category: Auth

View File

@@ -4,6 +4,7 @@ title: Build an ideas tracker with SvelteKit
description: Build a SvelteKit project using Appwrite. description: Build a SvelteKit project using Appwrite.
step: 1 step: 1
difficulty: beginner difficulty: beginner
back: /docs/tutorials
readtime: 10 readtime: 10
framework: SvelteKit framework: SvelteKit
category: Web category: Web

View File

@@ -3,7 +3,7 @@ layout: tutorial
title: Build an ideas tracker with Vue.js title: Build an ideas tracker with Vue.js
description: Learn to build an idea tracker app with Appwrite and Vue with authentication, databases and collections, queries, pagination, and file storage. description: Learn to build an idea tracker app with Appwrite and Vue with authentication, databases and collections, queries, pagination, and file storage.
step: 1 step: 1
back: /docs back: /docs/tutorials
framework: Vue framework: Vue
category: Web category: Web
--- ---