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

109 lines
2.6 KiB
Svelte
Raw Normal View History

<script lang="ts">
2021-09-21 21:39:28 +02:00
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";
import ConnectApp from "./ConnectApp.svelte";
2022-02-01 18:43:52 +01:00
import ActivityLog from "./ActivityLog.svelte";
2022-10-18 14:30:50 +02:00
import DepositCredit from "./DepositCredit.svelte";
import TabMenu, { type Tab } from "util/TabMenu.svelte";
2022-10-18 14:30:50 +02:00
import BandwidthSharing from "./BandwidthSharing.svelte";
import EmbeddingControls from "./EmbeddingControls.svelte";
import PageBranding from "./PageBranding.svelte";
import Dashboard from "./dashboard/Dashboard.svelte";
2025-03-21 01:11:03 +01:00
import AffiliatePrompt from "./AffiliatePrompt.svelte";
import FileManager from "./filemanager/FileManager.svelte";
import { onMount } from "svelte";
import { get_user, type User } from "lib/PixeldrainAPI.mjs";
2021-09-21 21:39:28 +02:00
let pages: Tab[] = [
2022-10-18 14:30:50 +02:00
{
path: "/user",
title: "Dashboard",
icon: "dashboard",
component: Dashboard,
hide_background: true,
}, {
path: "/user/filemanager",
title: "My Files",
icon: "",
component: FileManager,
hidden: true,
hide_frame: true,
2022-10-18 14:30:50 +02:00
}, {
path: "/user/settings",
title: "Settings",
icon: "settings",
component: AccountSettings,
2023-11-29 12:43:33 +01:00
}, {
path: "/user/subscription",
title: "Subscription",
icon: "shopping_cart",
2023-11-29 12:43:33 +01:00
subpages: [
{
path: "/user/subscription",
title: "Manage",
icon: "shopping_cart",
component: Subscription,
}, {
2023-11-29 12:43:33 +01:00
path: "/user/prepaid/deposit",
title: "Deposit Credit",
2023-11-29 12:43:33 +01:00
icon: "account_balance_wallet",
component: DepositCredit,
}, {
path: "/user/prepaid/transactions",
title: "Transactions",
icon: "receipt",
component: Transactions,
},
],
2022-10-18 14:30:50 +02:00
}, {
path: "/user/sharing",
title: "Sharing",
icon: "share",
subpages: [
{
path: "/user/sharing/bandwidth",
title: "Sharing settings",
2022-10-18 14:30:50 +02:00
icon: "share",
component: BandwidthSharing,
}, {
path: "/user/sharing/branding",
title: "Page Branding",
icon: "palette",
component: PageBranding,
}, {
path: "/user/sharing/embedding",
title: "Embedding Controls",
icon: "code",
component: EmbeddingControls,
},
],
}, {
path: "/user/connect_app",
title: "Apps",
icon: "app_registration",
component: ConnectApp,
}, {
path: "/user/api_keys",
title: "API Keys",
icon: "vpn_key",
component: APIKeys,
}, {
path: "/user/activity",
title: "Activity Log",
icon: "list",
component: ActivityLog,
},
]
let user = {} as User
onMount(async () => {
user = await get_user()
})
2021-09-21 21:39:28 +02:00
</script>
<TabMenu pages={pages} title="Welcome, {user.username}!"/>
2025-03-21 01:11:03 +01:00
<AffiliatePrompt always/>