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', ]); }