For the complete documentation index, see llms.txt. This page is also available as Markdown.

Protected Routing

Sering kali kita memerlukan halaman yang diproteksi. Hanya user yang sudah login yang bisa masuk ke halaman tersebut.

Buat Halaman src/routes/AccessDenied.svelte

<script>
  import { Link } from "svelte-routing"
  import { PATH_URL } from "../helper/path"
</script>

<h1>No access ๐Ÿค•</h1>
<h2>
  Go back to <Link to={PATH_URL.BASE}>Home page</Link>
</h2>

Buat file src/stores/token.js

import { writable } from 'svelte/store';

export const token = writable(localStorage.getItem('token'));

Buat file src/ProtectedRoute.svelte

<script>
  import { Route } from "svelte-routing"
  import AccessDenied from "./routes/AccessDenied.svelte"
  import { token } from "./stores/token.js"

  export let path
  export let component
  $: isAuthenticated = $token;
</script>

{#if isAuthenticated}
  <Route path={path} component={component} />
{:else}
  <Route path={path} component={AccessDenied} />
{/if}

Buat file src/routes/UserList.svelte

Ubah file src/App.svelte

Buat file src/components/Navigation.svelte

Update file-file routes untuk menambahkan Navigation

Last updated