mirror of
https://github.com/LukeHagar/website.git
synced 2025-12-09 21:07:46 +00:00
Merge pull request #1470 from appwrite/fix-back-button-tutorials
Reinstate the back button on tutorials
This commit is contained in:
@@ -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" />
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
@@ -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
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user