diff --git a/app/src/routes/login.svelte b/app/src/lib/components/login.svelte
similarity index 100%
rename from app/src/routes/login.svelte
rename to app/src/lib/components/login.svelte
diff --git a/app/src/routes/menu.svelte b/app/src/lib/components/menu.svelte
similarity index 92%
rename from app/src/routes/menu.svelte
rename to app/src/lib/components/menu.svelte
index 89e305c..16a6781 100644
--- a/app/src/routes/menu.svelte
+++ b/app/src/lib/components/menu.svelte
@@ -24,6 +24,9 @@
import { page } from '$app/stores';
import { user } from '$lib/stores/user';
import { createEventDispatcher } from 'svelte';
+ import { useFeatureFlags } from '$lib/stores/featureFlags';
+
+ const features = useFeatureFlags();
const appName = $page.data.app_name;
@@ -70,7 +73,7 @@
title: 'Camera',
icon: Camera,
href: '/peripherals/camera',
- feature: $page.data.features.camera,
+ feature: $features.camera,
},
{
title: 'Servo',
@@ -82,20 +85,20 @@
title: 'IMU',
icon: Rotate3d,
href: '/peripherals/imu',
- feature: $page.data.features.imu || $page.data.features.mag || $page.data.features.bmp,
+ feature: $features.imu || $features.mag || $features.bmp,
}
]
},
{
title: 'Connections',
icon: Remote,
- feature: $page.data.features.ntp,
+ feature: $features.ntp,
submenu: [
{
title: 'NTP',
icon: NTP,
href: '/connections/ntp',
- feature: $page.data.features.ntp,
+ feature: $features.ntp,
}
]
@@ -125,7 +128,7 @@
title: 'Users',
icon: Users,
href: '/user',
- feature: $page.data.features.security && $user.admin,
+ feature: $features.security && $user.admin,
},
{
@@ -151,7 +154,7 @@
title: 'System Metrics',
icon: Metrics,
href: '/system/metrics',
- feature: $page.data.features.analytics,
+ feature: $features.analytics,
},
{
@@ -159,10 +162,10 @@
icon: Update,
href: '/system/update',
feature:
- ($page.data.features.ota ||
- $page.data.features.upload_firmware ||
- $page.data.features.download_firmware) &&
- (!$page.data.features.security || $user.admin),
+ ($features.ota ||
+ $features.upload_firmware ||
+ $features.download_firmware) &&
+ (!$features.security || $user.admin),
}
]
}
@@ -245,7 +248,7 @@
- {#if $page.data.features.security}
+ {#if $features.security}
{$user.username}
diff --git a/app/src/lib/components/widget/ChartWidget.svelte b/app/src/lib/components/widget/ChartWidget.svelte
index f8bfcf6..8bf8914 100644
--- a/app/src/lib/components/widget/ChartWidget.svelte
+++ b/app/src/lib/components/widget/ChartWidget.svelte
@@ -1,5 +1,5 @@
diff --git a/app/src/routes/system/metrics/SystemMetrics.svelte b/app/src/routes/system/metrics/SystemMetrics.svelte
index e62bc13..b81d98f 100644
--- a/app/src/routes/system/metrics/SystemMetrics.svelte
+++ b/app/src/routes/system/metrics/SystemMetrics.svelte
@@ -6,7 +6,7 @@
import { cubicOut } from 'svelte/easing';
import { Chart, registerables } from 'chart.js';
import Metrics from '~icons/tabler/report-analytics';
- import { daisyColor } from '$lib/DaisyUiHelper';
+ import { daisyColor } from '$lib/utilities';
import { analytics } from '$lib/stores/analytics';
Chart.register(...registerables);
diff --git a/app/src/routes/system/status/SystemStatus.svelte b/app/src/routes/system/status/SystemStatus.svelte
index 596c9c6..0340849 100644
--- a/app/src/routes/system/status/SystemStatus.svelte
+++ b/app/src/routes/system/status/SystemStatus.svelte
@@ -29,6 +29,10 @@
import { api } from '$lib/api';
import { convertSeconds } from '$lib/utilities';
+ import { useFeatureFlags } from '$lib/stores/featureFlags';
+
+ const features = useFeatureFlags()
+
let systemInformation: SystemInformation;
async function getSystemStatus() {
@@ -295,12 +299,12 @@
- {#if $page.data.features.sleep}
+ {#if $features.sleep}
{/if}
- {#if !$page.data.features.security || $user.admin}
+ {#if !$features.security || $user.admin}
diff --git a/app/src/routes/system/update/+page.svelte b/app/src/routes/system/update/+page.svelte
index 9611a4e..7c46007 100644
--- a/app/src/routes/system/update/+page.svelte
+++ b/app/src/routes/system/update/+page.svelte
@@ -2,15 +2,17 @@
import UploadFirmware from './UploadFirmware.svelte';
import GithubFirmwareManager from './GithubFirmwareManager.svelte';
import { user } from '$lib/stores/user';
- import { page } from '$app/stores';
+ import { useFeatureFlags } from '$lib/stores';
+
+ const features = useFeatureFlags();
- {#if $page.data.features.download_firmware && (!$page.data.features.security || $user.admin)}
+ {#if $features.download_firmware && (!$features.security || $user.admin)}
{/if}
- {#if $page.data.features.upload_firmware && (!$page.data.features.security || $user.admin)}
+ {#if $features.upload_firmware && (!$features.security || $user.admin)}
{/if}
diff --git a/app/src/routes/system/update/GithubFirmwareManager.svelte b/app/src/routes/system/update/GithubFirmwareManager.svelte
index 59e5cf2..1fdd3f6 100644
--- a/app/src/routes/system/update/GithubFirmwareManager.svelte
+++ b/app/src/routes/system/update/GithubFirmwareManager.svelte
@@ -16,6 +16,9 @@
import InfoDialog from '$lib/components/InfoDialog.svelte';
import Check from '~icons/tabler/check';
import { api } from '$lib/api';
+ import { useFeatureFlags } from '$lib/stores';
+
+ const features = useFeatureFlags();
async function getGithubAPI() {
const headers = {
@@ -45,7 +48,7 @@
// check if the asset is of type *.bin
if (
assets[i].name.includes('.bin') &&
- assets[i].name.includes($page.data.features.firmware_built_target)
+ assets[i].name.includes($features.firmware_built_target)
) {
url = assets[i].browser_download_url;
}
@@ -99,7 +102,7 @@
{#each githubReleases as release}
@@ -124,7 +127,7 @@
{/if}
|
- {#if compareVersions($page.data.features.firmware_version, release.tag_name) != 0}
+ {#if compareVersions($features.firmware_version, release.tag_name) != 0}
|