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
Was this helpful?