initial
This commit is contained in:
33
lib/features/proxies/widgets/proxy_tile.dart
Normal file
33
lib/features/proxies/widgets/proxy_tile.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hiddify/domain/clash/clash.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
|
||||
// TODO: rewrite
|
||||
class ProxyTile extends HookConsumerWidget {
|
||||
const ProxyTile(
|
||||
this.proxy, {
|
||||
super.key,
|
||||
required this.selected,
|
||||
required this.onSelect,
|
||||
this.delay,
|
||||
});
|
||||
|
||||
final ClashProxy proxy;
|
||||
final bool selected;
|
||||
final VoidCallback onSelect;
|
||||
final int? delay;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
return ListTile(
|
||||
title: Text(
|
||||
proxy.name,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
subtitle: Text(proxy.type.label),
|
||||
trailing: delay != null ? Text(delay.toString()) : null,
|
||||
selected: selected,
|
||||
onTap: onSelect,
|
||||
);
|
||||
}
|
||||
}
|
||||
1
lib/features/proxies/widgets/widgets.dart
Normal file
1
lib/features/proxies/widgets/widgets.dart
Normal file
@@ -0,0 +1 @@
|
||||
export 'proxy_tile.dart';
|
||||
Reference in New Issue
Block a user