Align settings page with add app page styling

- SettingsToggleRow contentPadding: 16 -> 20 (matches add app tileMode)
- SettingsTile: borderRadius -> RoundedSuperellipseBorder shape (matches add app)
- SettingsToggleRow: RoundedRectangleBorder -> RoundedSuperellipseBorder
- Add app _FormSwitchRow: add haptic feedback via selectionClick()
  (respects tactileFeedbackEnabled pref, matches settings page)
This commit is contained in:
Imran Remtulla
2026-07-08 02:09:23 +01:00
parent 3f2876f37f
commit e5d67e74ed
2 changed files with 12 additions and 4 deletions

View File

@@ -151,7 +151,15 @@ class _FormSwitchRow extends StatelessWidget {
),
),
const SizedBox(width: 8),
Switch(value: value, onChanged: item.disabled ? null : onChanged),
Switch(
value: value,
onChanged: item.disabled
? null
: (v) {
context.read<SettingsProvider>().selectionClick();
onChanged?.call(v);
},
),
],
);
}

View File

@@ -73,7 +73,7 @@ class SettingsTile extends StatelessWidget {
borderRadius ?? BorderRadius.circular(connectedTileBigRadius);
return Material(
color: color ?? Theme.of(context).colorScheme.surfaceContainerLow,
borderRadius: effectiveRadius,
shape: RoundedSuperellipseBorder(borderRadius: effectiveRadius),
clipBehavior: Clip.antiAlias,
child: Padding(padding: padding, child: child),
);
@@ -107,13 +107,13 @@ class SettingsToggleRow extends StatelessWidget {
onChanged!(v);
};
final tileShape = borderRadius != null
? RoundedRectangleBorder(borderRadius: borderRadius!)
? RoundedSuperellipseBorder(borderRadius: borderRadius!)
: null;
return SettingsTile(
padding: EdgeInsets.zero,
borderRadius: borderRadius,
child: ListTile(
contentPadding: const EdgeInsets.symmetric(horizontal: 16),
contentPadding: const EdgeInsets.symmetric(horizontal: 20),
shape: tileShape,
title: Text(label),
subtitle: subtitle,