180 lines
6.0 KiB
JavaScript
Executable File

import React from "react"
import config from "config"
import { Select } from "antd"
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": {
children: config.i18n.languages.map((language) => {
return <Select.Option value={language.locale}>{language.name}</Select.Option>
})
},
"emitEvent": "changeLanguage"
},
{
"id": "haptic_feedback",
"storaged": true,
"group": "general",
"component": "Switch",
"icon": "MdVibration",
"title": "Haptic Feedback",
"description": "Enable haptic feedback on touch events.",
},
{
"id": "selection_longPress_timeout",
"storaged": true,
"group": "general",
"component": "Slider",
"icon": "MdTimer",
"title": "Selection press delay",
"description": "Set the delay before the selection 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"
},
{
"id": "low_performance_mode",
"storaged": true,
"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"
},
{
"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"
},
{
"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"
},
{
"id": "collapseOnLooseFocus",
"storaged": true,
"group": "sidebar",
"component": "Switch",
"icon": "Columns",
"title": "Auto Collapse",
"description": "Collapse the sidebar when loose focus",
"emitEvent": "settingChanged.sidebar_collapse",
},
{
"id": "autoCollapseDelay",
"storaged": true,
"group": "sidebar",
"component": "Slider",
"icon": "MdTimer",
"dependsOn": {
"collapseOnLooseFocus": 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",
}
}
},
{
"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,
},
{
"id": "postCard_carrusel_auto",
"title": "Post autoplay",
"description": "Automatically play the post medias when the post has multiple medias",
"component": "Switch",
"icon": "MdPhotoCameraBack",
"group": "posts",
"storaged": true,
"emitEvent": "router.forceUpdate",
"disabled": true
},
{
"id": "postCard_expansible_actions",
"title": "Expansible actions",
"description": "Automatically show or hide the actions bar",
"component": "Switch",
"icon": "MdCallToAction",
"group": "posts",
"storaged": true,
"emitEvent": "router.forceUpdate"
},
]
}