{#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: "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: "Assessment Average", description: "Shows your subject average for assessments.", id: 8, Component: Switch, props: { state: $settingsState.assessmentsAverage, onChange: (isOn: boolean) => settingsState.assessmentsAverage = isOn } }, { title: "Letter Grade Averages", description: "Shows the letter grade instead of the percentage in subject averages.", id: 8, Component: Switch, props: { state: $settingsState.lettergrade, onChange: (isOn: boolean) => settingsState.lettergrade = 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: "News Feed Source", description: "Choose sources of your news feed.", id: 11, Component: Select, props: { state: $settingsState.newsSource, onChange: (value: string) => settingsState.newsSource = value, options: [ { value: "australia", label: "Australia" }, { value: "usa", label: "USA" }, { value: "taiwan", label: "Taiwan" }, { value: "hong_kong", label: "Hong Kong" }, { value: "panama", label: "Panama" }, { value: "canada", label: "Canada" }, { value: "singapore", label: "Singapore" }, { value: "uk", label: "UK" }, { value: "japan", label: "Japan" }, { value: "netherlands", label: "Netherlands" } ] } }, ...getPluginSettingEntries(), { title: "BetterSEQTA+", description: "Enables BetterSEQTA+ features", id: 12, 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}