50 lines
1.7 KiB
Dart
50 lines
1.7 KiB
Dart
|
|
import 'package:fl_clash/common/common.dart';
|
||
|
|
import 'package:fl_clash/icons/icons.dart';
|
||
|
|
import 'package:fl_clash/views/config/filters.dart';
|
||
|
|
import 'package:fl_clash/views/config/icon_sets.dart';
|
||
|
|
import 'package:fl_clash/views/config/providers.dart';
|
||
|
|
import 'package:fl_clash/views/profiles/custom/custom_proxies.dart';
|
||
|
|
import 'package:fl_clash/widgets/list.dart';
|
||
|
|
import 'package:fl_clash/widgets/scaffold.dart';
|
||
|
|
import 'package:material_ui/material_ui.dart';
|
||
|
|
|
||
|
|
class CustomResourcesView extends StatelessWidget {
|
||
|
|
const CustomResourcesView({super.key});
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
final appLocalizations = context.appLocalizations;
|
||
|
|
final items = [
|
||
|
|
ListItem.open(
|
||
|
|
title: Text(appLocalizations.proxies),
|
||
|
|
leading: const GlyphIcon(AppGlyphs.proxies),
|
||
|
|
widget: const CustomProxiesView(),
|
||
|
|
),
|
||
|
|
ListItem.open(
|
||
|
|
title: Text(appLocalizations.ruleProviders),
|
||
|
|
leading: const GlyphIcon(AppGlyphs.resources),
|
||
|
|
widget: const ClashProvidersView(),
|
||
|
|
),
|
||
|
|
ListItem.open(
|
||
|
|
title: Text(appLocalizations.filters),
|
||
|
|
leading: const GlyphIcon(AppGlyphs.filter),
|
||
|
|
widget: const FiltersView(),
|
||
|
|
),
|
||
|
|
ListItem.open(
|
||
|
|
title: Text(appLocalizations.iconSets),
|
||
|
|
leading: const GlyphIcon(AppGlyphs.photos),
|
||
|
|
widget: const IconSetsView(),
|
||
|
|
),
|
||
|
|
];
|
||
|
|
return BaseScaffold(
|
||
|
|
title: appLocalizations.customProfileResources,
|
||
|
|
body: ListView(
|
||
|
|
padding: const EdgeInsets.symmetric(
|
||
|
|
horizontal: 16,
|
||
|
|
).copyWith(top: context.contentTopPadding, bottom: 16),
|
||
|
|
children: [generateSectionV3(items: items)],
|
||
|
|
),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|