diff --git a/src/svelte-interface/components/Select.svelte b/src/svelte-interface/components/Select.svelte new file mode 100644 index 00000000..38f37280 --- /dev/null +++ b/src/svelte-interface/components/Select.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/svelte-interface/pages/settings/general.svelte b/src/svelte-interface/pages/settings/general.svelte index 9e0957eb..87a9a44c 100644 --- a/src/svelte-interface/pages/settings/general.svelte +++ b/src/svelte-interface/pages/settings/general.svelte @@ -2,6 +2,7 @@ import Switch from "../../components/Switch.svelte" import Button from "../../components/Button.svelte" import Slider from "../../components/Slider.svelte" + import Select from "@/svelte-interface/components/Select.svelte" import browser from "webextension-polyfill" @@ -40,7 +41,7 @@ title: "Animated Background", description: "Adds an animated background to BetterSEQTA. (May impact battery life)", id: 2, - Component: Switch as any, + Component: Switch, props: { state: $settingsState.animatedbk, onChange: (isOn: boolean) => settingsState.animatedbk = isOn @@ -68,13 +69,23 @@ { title: "Edit Sidebar Layout", description: "Customise the sidebar layout.", - id: 6, + id: 5, Component: Button, props: { onClick: () => browser.runtime.sendMessage({ type: 'currentTab', info: 'EditSidebar' }), text: "Edit" } }, + { + title: "Animations", + description: "Enables animations on certain pages.", + id: 6, + Component: Switch, + props: { + state: $settingsState.animations, + onChange: (isOn: boolean) => settingsState.animations = isOn + } + }, { title: "Notification Collector", description: "Uncaps the 9+ limit for notifications, showing the real number.", @@ -95,10 +106,39 @@ onChange: (isOn: boolean) => settingsState.lessonalert = isOn } }, + { + title: "12 Hour Time", + description: "Prefer 12 hour time format for SEQTA", + id: 9, + Component: Switch, + props: { + state: $settingsState.timeFormat === "12", + onChange: (isOn: boolean) => settingsState.timeFormat = isOn ? "12" : "24" + } + }, + { + title: "Default Page", + description: "The page to load when SEQTA Learn is opened.", + id: 10, + Component: Select, + props: { + state: $settingsState.defaultPage, + onChange: (value: string) => settingsState.defaultPage = value, + options: [ + { value: 'home', label: 'Home' }, + { value: 'dashboard', label: 'Dashboard' }, + { value: 'timetable', label: 'Timetable' }, + { value: 'welcome', label: 'Welcome' }, + { value: 'messages', label: 'Messages' }, + { value: 'documents', label: 'Documents' }, + { value: 'reports', label: 'Reports' }, + ] + } + }, { title: "BetterSEQTA+", description: "Enables BetterSEQTA+ features", - id: 10, + id: 11, Component: Switch, props: { state: $settingsState.onoff,