Files
fnx_web/svelte/src/user_home/Router.svelte

88 lines
2.2 KiB
Svelte
Raw Normal View History

2021-09-21 21:39:28 +02:00
<script>
import { onMount } from "svelte";
import Home from "./Home.svelte";
import AccountSettings from "./AccountSettings.svelte";
2021-09-21 22:47:38 +02:00
import APIKeys from "./APIKeys.svelte";
import Transactions from "./Transactions.svelte";
import Subscription from "./Subscription.svelte";
2021-09-21 21:39:28 +02:00
let page = ""
let navigate = (path, title) => {
page = path
window.document.title = title+" ~ pixeldrain"
window.history.pushState(
{}, window.document.title, "/user/"+path
)
}
let get_page = () => {
2021-09-21 21:39:28 +02:00
let newpage = window.location.pathname.substring(window.location.pathname.lastIndexOf("/")+1)
if (newpage === "user") {
newpage = "home"
2021-09-21 21:39:28 +02:00
}
2021-09-21 21:39:28 +02:00
page = newpage
}
onMount(() => {
get_page()
2021-09-21 21:39:28 +02:00
})
</script>
<svelte:window on:popstate={get_page} />
2021-09-21 21:39:28 +02:00
<div>
2021-09-21 23:12:55 +02:00
<div class="tab_bar">
2021-09-23 20:38:17 +02:00
<a class="button"
2021-09-21 23:12:55 +02:00
href="/user"
class:button_highlight={page === "home"}
on:click|preventDefault={() => {navigate("home", "My home")}}>
2021-09-21 23:12:55 +02:00
<i class="icon">home</i>
My home
</a>
2021-09-23 20:38:17 +02:00
<a class="button"
2021-09-21 23:12:55 +02:00
href="/user/settings"
class:button_highlight={page === "settings"}
on:click|preventDefault={() => {navigate("settings", "Account settings")}}>
<i class="icon">settings</i>
Account settings
</a>
2021-09-23 20:38:17 +02:00
<a class="button"
2021-09-21 23:12:55 +02:00
href="/user/api_keys"
class:button_highlight={page === "api_keys"}
on:click|preventDefault={() => {navigate("api_keys", "API keys")}}>
<i class="icon">vpn_key</i>
API keys
</a>
<a class="button"
href="/user/subscription"
class:button_highlight={page === "subscription"}
on:click|preventDefault={() => {navigate("subscription", "Subscription")}}>
<i class="icon">shopping_cart</i>
Subscription
</a>
2021-11-30 16:33:57 +01:00
{#if window.user.subscription.type !== "patreon"}
<a class="button"
href="/user/transactions"
class:button_highlight={page === "transactions"}
on:click|preventDefault={() => {navigate("transactions", "Transactions")}}>
<i class="icon">receipt_long</i>
Transactions
</a>
{/if}
2021-09-21 23:12:55 +02:00
</div>
2021-09-21 21:39:28 +02:00
{#if page === "home"}
<Home></Home>
2021-09-21 21:39:28 +02:00
{:else if page === "settings"}
<AccountSettings></AccountSettings>
2021-09-21 22:47:38 +02:00
{:else if page === "api_keys"}
<APIKeys></APIKeys>
{:else if page === "transactions"}
<Transactions></Transactions>
{:else if page === "subscription"}
<Subscription></Subscription>
2021-09-21 21:39:28 +02:00
{/if}
</div>