From 54de83730adeae2e84b9858d86558247126567ce Mon Sep 17 00:00:00 2001 From: Simon Ding Date: Tue, 9 Jul 2024 19:22:49 +0800 Subject: [PATCH] chore: update --- ui/lib/main.dart | 4 +++ ui/lib/search.dart | 9 ++++--- ui/lib/system_settings.dart | 4 +-- ui/lib/weclome.dart | 54 +++++++++++++++++-------------------- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/ui/lib/main.dart b/ui/lib/main.dart index 173e5ab..8af12ec 100644 --- a/ui/lib/main.dart +++ b/ui/lib/main.dart @@ -54,6 +54,10 @@ class MyApp extends StatelessWidget { ); }, routes: [ + GoRoute( + path: "/", + redirect: (context, state) => WelcomePage.route, + ), GoRoute( path: WelcomePage.route, builder: (context, state) => const WelcomePage(), diff --git a/ui/lib/search.dart b/ui/lib/search.dart index 72ac904..1f8a213 100644 --- a/ui/lib/search.dart +++ b/ui/lib/search.dart @@ -1,21 +1,23 @@ import 'package:flutter/material.dart'; import 'package:dio/dio.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:ui/APIs.dart'; +import 'package:ui/providers/welcome_data.dart'; import 'package:ui/server_response.dart'; import 'package:ui/utils.dart'; -class SearchPage extends StatefulWidget { +class SearchPage extends ConsumerStatefulWidget { const SearchPage({super.key}); static const route = "/search"; @override - State createState() { + ConsumerState createState() { return _SearchPageState(); } } -class _SearchPageState extends State { +class _SearchPageState extends ConsumerState { List list = List.empty(); void _queryResults(BuildContext context, String q) async { @@ -140,6 +142,7 @@ class _SearchPageState extends State { if (sp.code != 0 && context.mounted) { Utils.showAlertDialog(context, sp.message); } + ref.refresh(welcomePageDataProvider); } } diff --git a/ui/lib/system_settings.dart b/ui/lib/system_settings.dart index 4b2dac6..2cf7077 100644 --- a/ui/lib/system_settings.dart +++ b/ui/lib/system_settings.dart @@ -172,7 +172,7 @@ class _SystemSettingsPageState extends ConsumerState { tilePadding: const EdgeInsets.fromLTRB(10, 0, 10, 0), childrenPadding: const EdgeInsets.fromLTRB(50, 0, 50, 0), initiallyExpanded: true, - title: const Text("下载器设置"), + title: const Text("下载客户端设置"), children: [downloadSetting], ), ], @@ -277,7 +277,7 @@ class _SystemSettingsPageState extends ConsumerState { barrierDismissible: true, // user must tap button! builder: (BuildContext context) { return AlertDialog( - title: const Text('下载器'), + title: const Text('下载客户端'), content: SingleChildScrollView( child: ListBody( children: [ diff --git a/ui/lib/weclome.dart b/ui/lib/weclome.dart index 7c8d179..1aadfa0 100644 --- a/ui/lib/weclome.dart +++ b/ui/lib/weclome.dart @@ -6,7 +6,7 @@ import 'package:ui/providers/welcome_data.dart'; import 'package:ui/tv_details.dart'; class WelcomePage extends ConsumerWidget { - static const route = "/welcome"; + static const route = "/series"; const WelcomePage({super.key}); @@ -16,45 +16,39 @@ class WelcomePage extends ConsumerWidget { return switch (data) { AsyncData(:final value) => GridView.builder( - itemCount: value.length, - gridDelegate: - const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 6), - itemBuilder: (context, i) { - var item = value[i]; - return Card( - margin: const EdgeInsets.all(4), - clipBehavior: Clip.hardEdge, - child: InkWell( - //splashColor: Colors.blue.withAlpha(30), - onTap: () { - context.go(TvDetailsPage.toRoute(item.id!)); - //showDialog(context: context, builder: builder) - }, - child: Column( - children: [ - Flexible( - child: SizedBox( - width: 300, - height: 600, + padding: const EdgeInsets.all(30), + itemCount: value.length, + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 6), + itemBuilder: (context, i) { + var item = value[i]; + return Card( + margin: const EdgeInsets.all(4), + clipBehavior: Clip.hardEdge, + child: InkWell( + //splashColor: Colors.blue.withAlpha(30), + onTap: () { + context.go(TvDetailsPage.toRoute(item.id!)); + //showDialog(context: context, builder: builder) + }, + child: Column( + children: [ + Flexible( child: Image.network( APIs.tmdbImgBaseUrl + item.posterPath!, fit: BoxFit.contain, ), ), - ), - Flexible( - child: Text( + Text( item.name!, style: const TextStyle( fontSize: 14, fontWeight: FontWeight.bold), ), - ) - ], - ), - )); - }), + ], + ), + )); + }), _ => const CircularProgressIndicator(), - }; } }