import 'package:flutter/material.dart'; import 'package:toolbox/core/persistant_store.dart'; import 'package:toolbox/core/utils/platform.dart'; import 'package:toolbox/data/res/misc.dart'; class SettingStore extends PersistentStore { StoreProperty get primaryColor => property( 'primaryColor', defaultValue: const Color.fromARGB(255, 145, 58, 31).value, ); StoreProperty get serverStatusUpdateInterval => property('serverStatusUpdateInterval', defaultValue: 3); // Lanch page idx StoreProperty get launchPage => property('launchPage', defaultValue: 0); // Version of store db StoreProperty get storeVersion => property('storeVersion', defaultValue: 0); // Show logo on server detail page StoreProperty get showDistLogo => property('showDistLogo', defaultValue: true); // First time to use SSH term StoreProperty get firstTimeUseSshTerm => property('firstTimeUseSshTerm', defaultValue: true); StoreProperty get termColorIdx => property('termColorIdx', defaultValue: 0); // Max retry count when connect to server StoreProperty get maxRetryCount => property('maxRetryCount', defaultValue: 2); // Night mode: 0 -> auto, 1 -> light, 2 -> dark StoreProperty get themeMode => property('themeMode', defaultValue: 0); // Font file path StoreProperty get fontPath => property('fontPath'); // Backgroud running (Android) StoreProperty get bgRun => property('bgRun', defaultValue: isAndroid); // Server order StoreProperty> get serverOrder => property('serverOrder', defaultValue: null); // Server details page cards order StoreProperty> get detailCardOrder => property('detailCardPrder', defaultValue: defaultDetailCardOrder); // SSH term font size StoreProperty get termFontSize => property('termFontSize', defaultValue: 13); // Server detail disk ignore path StoreProperty> get diskIgnorePath => property('diskIgnorePath', defaultValue: [ 'udev', 'tmpfs', 'devtmpfs', 'overlay', 'run', 'none', ]); // Locale StoreProperty get locale => property('locale', defaultValue: null); // SSH virtual key (ctrl | alt) auto turn off StoreProperty get sshVirtualKeyAutoOff => property('sshVirtualKeyAutoOff', defaultValue: true); // Editor theme StoreProperty get editorTheme => property('editorTheme', defaultValue: 'monokai'); }