This commit is contained in:
@@ -9,20 +9,27 @@ const appLogonTitle = 'Repertory Portal Login';
|
||||
const appSettingsTitle = 'Portal Settings';
|
||||
const appTitle = 'Repertory Management Portal';
|
||||
const borderRadius = 16.0;
|
||||
const borderRadiusSmall = 8.0;
|
||||
const borderRadiusSmall = borderRadius / 2.0;
|
||||
const borderRadiusTiny = borderRadiusSmall / 2.0;
|
||||
const databaseTypeList = ['rocksdb', 'sqlite'];
|
||||
const downloadTypeList = ['default', 'direct', 'ring_buffer'];
|
||||
const eventLevelList = ['critical', 'error', 'warn', 'info', 'debug', 'trace'];
|
||||
const gradientColors = [Color(0xFF0A0F1F), Color(0xFF1B1C1F)];
|
||||
const gradientColors2 = [Color(0x07FFFFFF), Color(0x00000000)];
|
||||
const highlightAlpha = 0.10;
|
||||
const logonWidth = 300.0;
|
||||
const outlineAlpha = 0.15;
|
||||
const padding = 16.0;
|
||||
const paddingSmall = 8.0;
|
||||
const paddingSmall = padding / 2.0;
|
||||
const primaryAlpha = 0.25;
|
||||
const boxShadowAlpha = 0.20;
|
||||
const primarySurfaceAlpha = 92.0;
|
||||
const protocolTypeList = ['http', 'https'];
|
||||
const providerTypeList = ['Encrypt', 'Remote', 'S3', 'Sia'];
|
||||
const ringBufferSizeList = ['128', '256', '512', '1024', '2048'];
|
||||
const primaryAlpha = 0.25;
|
||||
const secondaryAlpha = 0.50;
|
||||
const secondaryAlpha = 0.45;
|
||||
const largeIconSize = 32.0;
|
||||
const secondarySurfaceAlpha = 70.0;
|
||||
const surfaceContainerLowDark = Color(0xFF292A2D);
|
||||
const surfaceDark = Color(0xFF202124);
|
||||
|
||||
|
@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:repertory/constants.dart' as constants;
|
||||
import 'package:repertory/models/auth.dart';
|
||||
import 'package:repertory/widgets/app_dropdown.dart';
|
||||
import 'package:settings_ui/settings_ui.dart';
|
||||
import 'package:sodium_libs/sodium_libs.dart' show SecureKey, StringX;
|
||||
|
||||
Future doShowDialog(BuildContext context, Widget child) => showDialog(
|
||||
@@ -24,7 +25,9 @@ Future doShowDialog(BuildContext context, Widget child) => showDialog(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(constants.borderRadius),
|
||||
side: BorderSide(
|
||||
color: scheme.outlineVariant.withValues(alpha: 0.08),
|
||||
color: scheme.outlineVariant.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
width: 1,
|
||||
),
|
||||
),
|
||||
@@ -462,3 +465,30 @@ IconData getProviderTypeIcon(String mountType) {
|
||||
return Icons.cloud_outlined;
|
||||
}
|
||||
}
|
||||
|
||||
SettingsThemeData createSettingsTheme(ColorScheme scheme) {
|
||||
return SettingsThemeData(
|
||||
settingsListBackground: Colors.transparent,
|
||||
settingsSectionBackground: scheme.primary.withValues(
|
||||
alpha: constants.primaryAlpha,
|
||||
),
|
||||
titleTextColor: scheme.onSurface.withValues(
|
||||
alpha: constants.primarySurfaceAlpha,
|
||||
),
|
||||
trailingTextColor: scheme.onSurface.withValues(
|
||||
alpha: constants.primarySurfaceAlpha,
|
||||
),
|
||||
tileDescriptionTextColor: scheme.onSurface.withValues(
|
||||
alpha: constants.secondarySurfaceAlpha,
|
||||
),
|
||||
leadingIconsColor: scheme.onSurface.withValues(
|
||||
alpha: constants.primarySurfaceAlpha,
|
||||
),
|
||||
dividerColor: scheme.outlineVariant.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
tileHighlightColor: scheme.primary.withValues(
|
||||
alpha: constants.highlightAlpha,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
@@ -111,7 +111,9 @@ class _AddMountScreenState extends State<AddMountScreen>
|
||||
label: const Text('Test'),
|
||||
icon: const Icon(Icons.check),
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: scheme.primary.withValues(alpha: 0.18),
|
||||
backgroundColor: scheme.primary.withValues(
|
||||
alpha: constants.primaryAlpha,
|
||||
),
|
||||
foregroundColor: scheme.primary,
|
||||
elevation: 0,
|
||||
shape: RoundedRectangleBorder(
|
||||
@@ -119,7 +121,9 @@ class _AddMountScreenState extends State<AddMountScreen>
|
||||
constants.borderRadius,
|
||||
),
|
||||
side: BorderSide(
|
||||
color: scheme.outlineVariant.withValues(alpha: 0.15),
|
||||
color: scheme.outlineVariant.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
width: 1,
|
||||
),
|
||||
),
|
||||
@@ -136,7 +140,9 @@ class _AddMountScreenState extends State<AddMountScreen>
|
||||
backgroundColor: scheme.primary,
|
||||
foregroundColor: scheme.onPrimary,
|
||||
elevation: 8,
|
||||
shadowColor: scheme.primary.withValues(alpha: 0.45),
|
||||
shadowColor: scheme.primary.withValues(
|
||||
alpha: constants.secondaryAlpha,
|
||||
),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(
|
||||
constants.borderRadius,
|
||||
|
@@ -85,8 +85,10 @@ class _AuthScreenState extends State<AuthScreen> {
|
||||
),
|
||||
Positioned.fill(
|
||||
child: BackdropFilter(
|
||||
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
|
||||
child: Container(color: Colors.black.withValues(alpha: 0.10)),
|
||||
filter: ImageFilter.blur(sigmaX: 6, sigmaY: 6),
|
||||
child: Container(
|
||||
color: Colors.black.withValues(alpha: constants.outlineAlpha),
|
||||
),
|
||||
),
|
||||
),
|
||||
Align(
|
||||
@@ -99,7 +101,9 @@ class _AuthScreenState extends State<AuthScreen> {
|
||||
shape: BoxShape.circle,
|
||||
gradient: RadialGradient(
|
||||
colors: [
|
||||
scheme.primary.withValues(alpha: 0.20),
|
||||
scheme.primary.withValues(
|
||||
alpha: constants.primaryAlpha,
|
||||
),
|
||||
Colors.transparent,
|
||||
],
|
||||
stops: const [0.0, 1.0],
|
||||
@@ -137,7 +141,9 @@ class _AuthScreenState extends State<AuthScreen> {
|
||||
),
|
||||
child: Card(
|
||||
elevation: constants.padding,
|
||||
color: scheme.primary.withValues(alpha: 0.10),
|
||||
color: scheme.primary.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(
|
||||
constants.borderRadius,
|
||||
@@ -162,18 +168,21 @@ class _AuthScreenState extends State<AuthScreen> {
|
||||
height: 64,
|
||||
decoration: BoxDecoration(
|
||||
color: scheme.primary.withValues(
|
||||
alpha: 0.11,
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(
|
||||
constants.borderRadiusSmall,
|
||||
),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: scheme.primary.withValues(
|
||||
alpha: 0.08,
|
||||
color: Colors.black.withValues(
|
||||
alpha: constants.boxShadowAlpha,
|
||||
),
|
||||
blurRadius: constants.borderRadius,
|
||||
offset: Offset(
|
||||
0,
|
||||
constants.borderRadius,
|
||||
),
|
||||
blurRadius: 16,
|
||||
spreadRadius: 1,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -213,11 +222,7 @@ class _AuthScreenState extends State<AuthScreen> {
|
||||
style: Theme.of(context)
|
||||
.textTheme
|
||||
.bodyMedium
|
||||
?.copyWith(
|
||||
color: scheme.onSurface.withValues(
|
||||
alpha: 0.72,
|
||||
),
|
||||
),
|
||||
?.copyWith(color: scheme.onSurface),
|
||||
),
|
||||
const SizedBox(
|
||||
height: constants.padding * 2.0,
|
||||
@@ -283,9 +288,13 @@ class _AuthScreenState extends State<AuthScreen> {
|
||||
: null,
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: scheme.primary
|
||||
.withValues(alpha: 0.45),
|
||||
.withValues(
|
||||
alpha: constants.secondaryAlpha,
|
||||
),
|
||||
disabledBackgroundColor: scheme.primary
|
||||
.withValues(alpha: 0.15),
|
||||
.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(
|
||||
constants.borderRadiusSmall,
|
||||
|
@@ -33,17 +33,13 @@ class _EditMountScreenState extends State<EditMountScreen>
|
||||
children: [
|
||||
Text(
|
||||
"Advanced",
|
||||
style: textTheme.labelLarge?.copyWith(
|
||||
color: scheme.onSurface.withValues(alpha: 0.90),
|
||||
),
|
||||
style: textTheme.labelLarge?.copyWith(color: scheme.onSurface),
|
||||
),
|
||||
const SizedBox(width: 6),
|
||||
IconButton(
|
||||
tooltip: _showAdvanced ? 'Hide advanced' : 'Show advanced',
|
||||
icon: Icon(_showAdvanced ? Icons.toggle_on : Icons.toggle_off),
|
||||
color: _showAdvanced
|
||||
? scheme.primary
|
||||
: scheme.onSurface.withValues(alpha: 0.70),
|
||||
color: _showAdvanced ? scheme.primary : scheme.onSurface,
|
||||
onPressed: () => setState(() => _showAdvanced = !_showAdvanced),
|
||||
),
|
||||
],
|
||||
|
@@ -34,7 +34,9 @@ class _HomeScreeState extends State<HomeScreen> {
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(constants.borderRadius),
|
||||
border: Border.all(
|
||||
color: scheme.outlineVariant.withValues(alpha: 0.06),
|
||||
color: scheme.outlineVariant.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
width: 1,
|
||||
),
|
||||
gradient: const LinearGradient(
|
||||
@@ -44,7 +46,9 @@ class _HomeScreeState extends State<HomeScreen> {
|
||||
),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withValues(alpha: 0.22),
|
||||
color: Colors.black.withValues(
|
||||
alpha: constants.boxShadowAlpha,
|
||||
),
|
||||
blurRadius: constants.borderRadius,
|
||||
offset: Offset(0, constants.borderRadius),
|
||||
),
|
||||
|
@@ -63,9 +63,7 @@ class AppDropdown<T> extends StatelessWidget {
|
||||
final scheme = theme.colorScheme;
|
||||
final effectiveStyle =
|
||||
textStyle ??
|
||||
theme.textTheme.bodyMedium?.copyWith(
|
||||
color: scheme.onSurface.withValues(alpha: 0.96),
|
||||
);
|
||||
theme.textTheme.bodyMedium?.copyWith(color: scheme.onSurface);
|
||||
|
||||
final longest = values.isEmpty
|
||||
? ''
|
||||
@@ -76,7 +74,7 @@ class AppDropdown<T> extends StatelessWidget {
|
||||
final labelW = _measureTextWidth(context, longest, effectiveStyle);
|
||||
|
||||
final prefixW = prefixIcon == null ? 0.0 : 48.0;
|
||||
const arrowW = 32.0;
|
||||
const arrowW = constants.largeIconSize;
|
||||
final pad = contentPadding ?? const EdgeInsets.all(constants.paddingSmall);
|
||||
final padW = (pad is EdgeInsets)
|
||||
? (pad.left + pad.right)
|
||||
@@ -99,9 +97,7 @@ class AppDropdown<T> extends StatelessWidget {
|
||||
|
||||
final effectiveTextStyle =
|
||||
textStyle ??
|
||||
theme.textTheme.bodyMedium?.copyWith(
|
||||
color: scheme.onSurface.withValues(alpha: 0.96),
|
||||
);
|
||||
theme.textTheme.bodyMedium?.copyWith(color: scheme.onSurface);
|
||||
|
||||
final items = values.map((v) {
|
||||
return DropdownMenuItem<T>(
|
||||
@@ -122,7 +118,7 @@ class AppDropdown<T> extends StatelessWidget {
|
||||
icon: prefixIcon,
|
||||
),
|
||||
dropdownColor: dropdownColor ?? effectiveFill,
|
||||
iconEnabledColor: scheme.onSurface.withValues(alpha: 0.90),
|
||||
iconEnabledColor: scheme.onSurface,
|
||||
initialValue: value,
|
||||
isExpanded: isExpanded,
|
||||
items: items,
|
||||
|
@@ -29,17 +29,19 @@ class AppIconButtonFramed extends StatelessWidget {
|
||||
width: 46,
|
||||
height: 46,
|
||||
decoration: BoxDecoration(
|
||||
color: scheme.primary.withValues(alpha: 0.12),
|
||||
color: scheme.primary.withValues(alpha: constants.outlineAlpha),
|
||||
borderRadius: radius,
|
||||
border: Border.all(
|
||||
color: scheme.outlineVariant.withValues(alpha: 0.08),
|
||||
color: scheme.outlineVariant.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
width: 1,
|
||||
),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withValues(alpha: 0.24),
|
||||
blurRadius: constants.borderRadiusSmall / 2.0,
|
||||
offset: const Offset(0, 5),
|
||||
color: Colors.black.withValues(alpha: constants.boxShadowAlpha),
|
||||
blurRadius: constants.borderRadiusTiny,
|
||||
offset: const Offset(0, constants.borderRadiusSmall),
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -48,8 +50,8 @@ class AppIconButtonFramed extends StatelessWidget {
|
||||
scale: 0.90,
|
||||
child: Icon(
|
||||
icon,
|
||||
color: iconColor ?? scheme.onSurface.withValues(alpha: 0.92),
|
||||
size: 32.0,
|
||||
color: iconColor ?? scheme.onSurface,
|
||||
size: constants.largeIconSize,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
@@ -40,6 +40,7 @@ class AppScaffold extends StatelessWidget {
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: constants.gradientColors,
|
||||
stops: [0.0, 1.0],
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -50,7 +51,9 @@ class AppScaffold extends StatelessWidget {
|
||||
Positioned.fill(
|
||||
child: BackdropFilter(
|
||||
filter: ImageFilter.blur(sigmaX: 6, sigmaY: 6),
|
||||
child: Container(color: Colors.black.withValues(alpha: 0.06)),
|
||||
child: Container(
|
||||
color: Colors.black.withValues(alpha: constants.outlineAlpha),
|
||||
),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
@@ -90,19 +93,23 @@ class AppScaffold extends StatelessWidget {
|
||||
width: 40,
|
||||
height: 40,
|
||||
decoration: BoxDecoration(
|
||||
color: scheme.surface.withValues(alpha: 0.40),
|
||||
color: scheme.surface.withValues(
|
||||
alpha: constants.secondaryAlpha,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(
|
||||
constants.borderRadius,
|
||||
),
|
||||
border: Border.all(
|
||||
color: scheme.outlineVariant.withValues(
|
||||
alpha: 0.08,
|
||||
alpha: constants.highlightAlpha,
|
||||
),
|
||||
width: 1,
|
||||
),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withValues(alpha: 0.22),
|
||||
color: Colors.black.withValues(
|
||||
alpha: constants.boxShadowAlpha,
|
||||
),
|
||||
blurRadius: constants.borderRadius,
|
||||
offset: Offset(0, constants.borderRadius),
|
||||
),
|
||||
@@ -122,7 +129,7 @@ class AppScaffold extends StatelessWidget {
|
||||
style: textTheme.headlineSmall?.copyWith(
|
||||
fontWeight: FontWeight.w700,
|
||||
letterSpacing: 0.2,
|
||||
color: scheme.onSurface.withValues(alpha: 0.96),
|
||||
color: scheme.onSurface,
|
||||
),
|
||||
),
|
||||
),
|
||||
@@ -139,7 +146,7 @@ class AppScaffold extends StatelessWidget {
|
||||
),
|
||||
color: settings.autoStart
|
||||
? scheme.primary
|
||||
: scheme.onSurface.withValues(alpha: 0.70),
|
||||
: scheme.onSurface,
|
||||
onPressed: () =>
|
||||
settings.setAutoStart(!settings.autoStart),
|
||||
);
|
||||
|
@@ -19,13 +19,11 @@ class AppToggleButtonFramed extends StatelessWidget {
|
||||
final bool isOn = mounted ?? false;
|
||||
|
||||
IconData icon = Icons.hourglass_top;
|
||||
Color iconColor = scheme.onSurface.withValues(alpha: 0.60);
|
||||
Color iconColor = scheme.onSurface;
|
||||
|
||||
if (mounted != null) {
|
||||
icon = isOn ? Icons.toggle_on : Icons.toggle_off;
|
||||
iconColor = isOn
|
||||
? scheme.primary
|
||||
: scheme.onSurface.withValues(alpha: 0.55);
|
||||
iconColor = isOn ? scheme.primary : scheme.onSurface;
|
||||
}
|
||||
|
||||
return AppIconButtonFramed(
|
||||
|
@@ -8,7 +8,8 @@ import 'package:repertory/helpers.dart'
|
||||
convertAllToString,
|
||||
getChanged,
|
||||
getSettingDescription,
|
||||
getSettingValidators;
|
||||
getSettingValidators,
|
||||
createSettingsTheme;
|
||||
import 'package:repertory/models/auth.dart';
|
||||
import 'package:repertory/models/mount.dart';
|
||||
import 'package:repertory/models/mount_list.dart';
|
||||
@@ -38,19 +39,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final scheme = Theme.of(context).colorScheme;
|
||||
|
||||
final theme = SettingsThemeData(
|
||||
settingsListBackground: Colors.transparent,
|
||||
settingsSectionBackground: scheme.primary.withValues(
|
||||
alpha: constants.primaryAlpha,
|
||||
),
|
||||
titleTextColor: scheme.onSurface.withValues(alpha: 0.96),
|
||||
trailingTextColor: scheme.onSurface.withValues(alpha: 0.80),
|
||||
tileDescriptionTextColor: scheme.onSurface.withValues(alpha: 0.68),
|
||||
leadingIconsColor: scheme.onSurface.withValues(alpha: 0.90),
|
||||
dividerColor: scheme.outlineVariant.withValues(alpha: 0.10),
|
||||
tileHighlightColor: scheme.primary.withValues(alpha: 0.08),
|
||||
);
|
||||
final theme = createSettingsTheme(scheme);
|
||||
|
||||
List<SettingsTile> commonSettings = [];
|
||||
List<SettingsTile> encryptConfigSettings = [];
|
||||
|
@@ -31,11 +31,9 @@ class _MountWidgetState extends State<MountWidget>
|
||||
final titleStyle = textTheme.titleMedium?.copyWith(
|
||||
fontWeight: FontWeight.w700,
|
||||
letterSpacing: 0.15,
|
||||
color: scheme.onSurface.withValues(alpha: 0.96),
|
||||
);
|
||||
final subStyle = textTheme.bodyMedium?.copyWith(
|
||||
color: scheme.onSurface.withValues(alpha: 0.78),
|
||||
color: scheme.onSurface,
|
||||
);
|
||||
final subStyle = textTheme.bodyMedium?.copyWith(color: scheme.onSurface);
|
||||
|
||||
return ConstrainedBox(
|
||||
constraints: const BoxConstraints(minHeight: 120),
|
||||
@@ -46,7 +44,9 @@ class _MountWidgetState extends State<MountWidget>
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(constants.borderRadiusSmall),
|
||||
side: BorderSide(
|
||||
color: scheme.outlineVariant.withValues(alpha: 0.06),
|
||||
color: scheme.outlineVariant.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
width: 1,
|
||||
),
|
||||
),
|
||||
@@ -65,7 +65,9 @@ class _MountWidgetState extends State<MountWidget>
|
||||
),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withValues(alpha: 0.22),
|
||||
color: Colors.black.withValues(
|
||||
alpha: constants.boxShadowAlpha,
|
||||
),
|
||||
blurRadius: constants.borderRadiusSmall,
|
||||
offset: const Offset(0, constants.borderRadiusSmall),
|
||||
),
|
||||
@@ -180,9 +182,8 @@ class _MountWidgetState extends State<MountWidget>
|
||||
child: Container(
|
||||
height: 1,
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(
|
||||
context,
|
||||
).colorScheme.outlineVariant.withValues(alpha: 0.15),
|
||||
color: Theme.of(context).colorScheme.outlineVariant
|
||||
.withValues(alpha: constants.outlineAlpha),
|
||||
borderRadius: BorderRadius.circular(1),
|
||||
),
|
||||
),
|
||||
@@ -295,7 +296,7 @@ class _EditPathButton extends StatelessWidget {
|
||||
final scheme = Theme.of(context).colorScheme;
|
||||
|
||||
return Opacity(
|
||||
opacity: enabled ? 1.0 : 0.45,
|
||||
opacity: enabled ? 1.0 : constants.secondaryAlpha,
|
||||
child: OutlinedButton.icon(
|
||||
onPressed: enabled ? onPressed : null,
|
||||
icon: const Icon(Icons.edit, size: 18),
|
||||
@@ -303,14 +304,16 @@ class _EditPathButton extends StatelessWidget {
|
||||
style: OutlinedButton.styleFrom(
|
||||
foregroundColor: scheme.primary,
|
||||
side: BorderSide(
|
||||
color: scheme.primary.withValues(alpha: 0.55),
|
||||
color: scheme.primary.withValues(alpha: constants.secondaryAlpha),
|
||||
width: 1.2,
|
||||
),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(constants.borderRadiusSmall),
|
||||
),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 10),
|
||||
backgroundColor: scheme.primary.withValues(alpha: 0.10),
|
||||
backgroundColor: scheme.primary.withValues(
|
||||
alpha: constants.outlineAlpha,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
@@ -9,6 +9,7 @@ import 'package:repertory/constants.dart' as constants;
|
||||
import 'package:repertory/helpers.dart'
|
||||
show
|
||||
convertAllToString,
|
||||
createSettingsTheme,
|
||||
displayAuthError,
|
||||
getBaseUri,
|
||||
getChanged,
|
||||
@@ -40,19 +41,7 @@ class _UISettingsWidgetState extends State<UISettingsWidget>
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final scheme = Theme.of(context).colorScheme;
|
||||
|
||||
final theme = SettingsThemeData(
|
||||
settingsListBackground: Colors.transparent,
|
||||
settingsSectionBackground: scheme.primary.withValues(
|
||||
alpha: constants.primaryAlpha,
|
||||
),
|
||||
titleTextColor: scheme.onSurface.withValues(alpha: 0.96),
|
||||
trailingTextColor: scheme.onSurface.withValues(alpha: 0.80),
|
||||
tileDescriptionTextColor: scheme.onSurface.withValues(alpha: 0.68),
|
||||
leadingIconsColor: scheme.onSurface.withValues(alpha: 0.90),
|
||||
dividerColor: scheme.outlineVariant.withValues(alpha: 0.10),
|
||||
tileHighlightColor: scheme.primary.withValues(alpha: 0.08),
|
||||
);
|
||||
final theme = createSettingsTheme(scheme);
|
||||
|
||||
List<SettingsTile> commonSettings = [];
|
||||
|
||||
|
Reference in New Issue
Block a user