backup: before home page modernization

This commit is contained in:
Hiddify User
2025-12-26 02:47:20 +03:00
parent 063f2464ee
commit 3b9d3ef2b7
2 changed files with 61 additions and 28 deletions

View File

@@ -127,10 +127,37 @@ class ProxiesOverviewPage extends HookConsumerWidget with PresLogger {
),
],
),
floatingActionButton: FloatingActionButton(
onPressed: () async => notifier.urlTest(group.tag),
tooltip: t.proxies.delayTestTooltip,
child: const Icon(FluentIcons.arrow_clockwise_24_filled),
floatingActionButton: Builder(
builder: (context) {
final theme = Theme.of(context);
return Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
theme.colorScheme.primary,
theme.colorScheme.primary.withOpacity(0.8),
],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
borderRadius: BorderRadius.circular(16),
boxShadow: [
BoxShadow(
color: theme.colorScheme.primary.withOpacity(0.4),
blurRadius: 12,
offset: const Offset(0, 4),
),
],
),
child: FloatingActionButton(
onPressed: () async => notifier.urlTest(group.tag),
tooltip: t.proxies.delayTestTooltip,
backgroundColor: Colors.transparent,
elevation: 0,
child: const Icon(FluentIcons.arrow_clockwise_24_filled),
),
);
},
),
);

View File

@@ -20,14 +20,19 @@ class ProxyTile extends HookConsumerWidget with PresLogger {
Widget build(BuildContext context, WidgetRef ref) {
final theme = Theme.of(context);
return ListTile(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
title: Text(
proxy.name,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontFamily: FontFamily.emoji),
),
leading: Padding(
return Card(
elevation: selected ? 3 : 1,
shadowColor: selected ? theme.colorScheme.primary.withOpacity(0.3) : null,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)),
margin: const EdgeInsets.symmetric(horizontal: 4, vertical: 3),
child: ListTile(
contentPadding: const EdgeInsets.symmetric(horizontal: 12, vertical: 4),
title: Text(
proxy.name,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontFamily: FontFamily.emoji),
),
leading: Padding(
padding: const EdgeInsets.symmetric(vertical: 8),
child: Container(
width: 6,
@@ -58,22 +63,23 @@ class ProxyTile extends HookConsumerWidget with PresLogger {
)
: null,
selected: selected,
onTap: onSelect,
onLongPress: () async {
showDialog(
context: context,
builder: (context) => AlertDialog(
content: SelectionArea(child: Text(proxy.name)),
actions: [
TextButton(
onPressed: Navigator.of(context).pop,
child: Text(MaterialLocalizations.of(context).closeButtonLabel),
),
],
),
);
},
horizontalTitleGap: 4,
onTap: onSelect,
onLongPress: () async {
showDialog(
context: context,
builder: (context) => AlertDialog(
content: SelectionArea(child: Text(proxy.name)),
actions: [
TextButton(
onPressed: Navigator.of(context).pop,
child: Text(MaterialLocalizations.of(context).closeButtonLabel),
),
],
),
);
},
horizontalTitleGap: 4,
),
);
}