{#snippet Setting({ title, description, Component, props }: SettingsList) }

{title}

{description}

{/snippet}
{#each [ { title: "Transparency Effects", description: "Enables transparency effects on certain elements such as blur. (May impact battery life)", id: 1, Component: Switch, props: { state: $settingsState.transparencyEffects, onChange: (isOn: boolean) => settingsState.transparencyEffects = isOn } }, { title: "Animated Background", description: "Adds an animated background to BetterSEQTA. (May impact battery life)", id: 2, Component: Switch, props: { state: $settingsState.animatedbk, onChange: (isOn: boolean) => settingsState.animatedbk = isOn } }, { title: "Animated Background Speed", description: "Controls the speed of the animated background.", id: 3, Component: Slider, props: { state: $settingsState.bksliderinput, onChange: (value: number) => settingsState.bksliderinput = `${value}` } }, { title: "Custom Theme Colour", description: "Customise the overall theme colour of SEQTA Learn.", id: 4, Component: PickerSwatch, props: { onClick: showColourPicker } }, { title: "Edit Sidebar Layout", description: "Customise the sidebar layout.", 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.", id: 7, Component: Switch, props: { state: $settingsState.notificationcollector, onChange: (isOn: boolean) => settingsState.notificationcollector = isOn } }, { title: "Lesson Alerts", description: "Sends a native browser notification ~5 minutes prior to lessons.", id: 8, Component: Switch, props: { state: $settingsState.lessonalert, 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: 11, Component: Switch, props: { state: $settingsState.onoff, onChange: (isOn: boolean) => settingsState.onoff = isOn } } ] as option} {@render Setting(option)} {/each} {#if $settingsState.devMode}

Developer Mode

Enables developer mode, allowing you to test new features and changes.

settingsState.devMode = isOn} />

Sensitive Hider

Replace sensitive content with mock data

{/if}