2024-03-15 20:41:09 +00:00

220 lines
6.9 KiB
JavaScript
Executable File

import config from "config"
export default {
id: "general",
icon: "Command",
label: "General",
group: "app",
order: 0,
settings: [
{
id: "language",
storaged: true,
group: "general",
component: "Select",
icon: "MdTranslate",
title: "Language",
description: "Choose a language for the application",
props: {
options: config.i18n.languages.map((language) => {
return {
label: language.name,
value: language.locale
}
})
},
emitEvent: "changeLanguage"
},
{
id: "haptic_feedback",
storaged: true,
group: "general",
component: "Switch",
icon: "MdVibration",
title: "Haptic Feedback",
description: "Enable haptic feedback on touch events.",
desktop: false
},
{
id: "longPressDelay",
storaged: true,
group: "general",
component: "Slider",
icon: "MdTimer",
title: "Long press delay",
description: "Set the delay before long press trigger is activated.",
props: {
min: 300,
max: 2000,
step: 100,
marks: {
300: "0.3s",
600: "0.6s",
1000: "1s",
1500: "1.5s",
2000: "2s",
}
}
},
{
id: "clear_internal_storage",
storaged: false,
group: "general",
component: "Button",
icon: "MdDelete",
title: "Clear internal storage",
description: "Clear all the data stored in the internal storage, including your current session. It will not affect the data stored in the cloud.",
emitEvent: "app.clearInternalStorage",
props: {
danger: true,
children: "Clear"
},
},
{
id: "low_performance_mode",
group: "general",
component: "Switch",
icon: "MdSlowMotionVideo",
title: "Low performance mode",
description: "Enable low performance mode to reduce the memory usage and improve the performance in low-end devices. This will disable some animations and other decorative features.",
emitEvent: "app.lowPerformanceMode",
props: {
disabled: true
},
storaged: true,
experimental: true,
disabled: true,
},
{
id: "ui.effects",
storaged: true,
group: "ui.sounds",
component: "Switch",
icon: "MdVolumeUp",
title: "UI effects",
description: "Enable the UI effects.",
mobile: false,
},
{
id: "ui.general_volume",
storaged: true,
group: "ui.sounds",
component: "Slider",
icon: "MdVolumeUp",
title: "UI volume",
description: "Set the volume of the app sounds.",
props: {
tipFormatter: (value) => {
return `${value}%`
},
min: 0,
max: 100,
step: 10,
},
emitEvent: "change:app.general_ui_volume",
mobile: false,
},
{
id: "notifications_sound",
storaged: true,
group: "notifications",
component: "Switch",
icon: "MdVolumeUp",
title: "Notifications Sound",
description: "Play a sound when a notification is received.",
},
{
id: "notifications_vibrate",
storaged: true,
group: "notifications",
component: "Switch",
icon: "MdVibration",
title: "Vibration",
description: "Vibrate the device when a notification is received.",
emitEvent: "changeNotificationsVibrate",
desktop: false,
},
{
id: "notifications_sound_volume",
storaged: true,
group: "notifications",
component: "Slider",
icon: "MdVolumeUp",
title: "Sound Volume",
description: "Set the volume of the sound when a notification is received.",
props: {
tipFormatter: (value) => {
return `${value}%`
}
},
emitEvent: "changeNotificationsSoundVolume",
mobile: false,
},
{
id: "sidebar.collapsable",
group: "sidebar",
component: "Switch",
icon: "Columns",
title: "Auto Collapse",
description: "Allow to collapse the sidebar when loose focus.",
emitEvent: "settingChanged.sidebar_collapse",
storaged: true,
mobile: false,
},
{
id: "sidebar.collapse_delay_time",
group: "sidebar",
component: "Slider",
icon: "MdTimer",
dependsOn: {
"sidebar.collapsable": true
},
title: "Auto Collapse timeout",
description: "Set the delay before the sidebar is collapsed",
props: {
min: 0,
max: 2000,
step: 100,
marks: {
0: "No delay",
600: "0.6s",
1000: "1s",
1500: "1.5s",
2000: "2s",
}
},
storaged: true,
mobile: false,
},
{
id: "transcode_video_browser",
group: "posts",
component: "Switch",
icon: "MdVideoCameraFront",
title: "Transcode video in browser",
description: "Transcode videos from the application instead of on the servers. This feature may speed up the posting process depending on your computer. This will consume your computer resources.",
dependsOn: {
"low_performance_mode": false,
},
props: {
disabled: true,
},
experimental: true,
storaged: true,
disabled: true,
},
{
id: "feed_max_fetch",
title: "Fetch max items",
description: "Set the maximum number of items to load per fetch in the feed list",
component: "Slider",
icon: "MdFormatListNumbered",
group: "posts",
props: {
min: 5,
max: 50,
},
storaged: true,
},
]
}