From 5e2fba174615da99d169985c0b1d7e612f1f4f3f Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Tue, 20 Oct 2026 13:27:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(flutter):=20=E7=A7=BB=E9=99=A4=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E6=A1=86=E8=AF=86=E5=89=A7=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/l10n/app_en.arb | 1 - lib/l10n/app_id.arb | 1 - lib/l10n/app_localizations.dart | 6 -- lib/l10n/app_localizations_en.dart | 3 - lib/l10n/app_localizations_id.dart | 3 - lib/l10n/app_localizations_zh.dart | 3 - lib/l10n/app_zh.arb | 1 - lib/pages/discover/discover_view.dart | 1 - .../discover/widgets/discover_header.dart | 3 - .../widgets/discover_search_field.dart | 58 +++---------------- test/discover/home_all_dramas_grid_test.dart | 12 ---- test/widget_test.dart | 1 - 12 files changed, 9 insertions(+), 84 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 261acae..ac06870 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -30,7 +30,6 @@ "actionGenre": "Action", "filter": "Filter", "reserve": "Reserve", - "identifyDrama": "Identify", "heatLabel": "{count} heat", "@heatLabel": { "placeholders": { diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index e54c24b..9d469cd 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -30,7 +30,6 @@ "actionGenre": "Aksi", "filter": "Filter", "reserve": "Reservasi", - "identifyDrama": "Identifikasi", "heatLabel": "{count} panas", "topCharts": "Peringkat Teratas", "newReleases": "Rilisan Baru", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index a4e37c2..5ed8a28 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -280,12 +280,6 @@ abstract class AppLocalizations { /// **'Reserve'** String get reserve; - /// No description provided for @identifyDrama. - /// - /// In en, this message translates to: - /// **'Identify'** - String get identifyDrama; - /// No description provided for @heatLabel. /// /// In en, this message translates to: diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 0c8adfd..94ed571 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -101,9 +101,6 @@ class AppLocalizationsEn extends AppLocalizations { @override String get reserve => 'Reserve'; - @override - String get identifyDrama => 'Identify'; - @override String heatLabel(String count) { return '$count heat'; diff --git a/lib/l10n/app_localizations_id.dart b/lib/l10n/app_localizations_id.dart index c92b2e5..afd95c8 100644 --- a/lib/l10n/app_localizations_id.dart +++ b/lib/l10n/app_localizations_id.dart @@ -101,9 +101,6 @@ class AppLocalizationsId extends AppLocalizations { @override String get reserve => 'Reservasi'; - @override - String get identifyDrama => 'Identifikasi'; - @override String heatLabel(String count) { return '$count panas'; diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index 1e2ebcf..7a33e7b 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -98,9 +98,6 @@ class AppLocalizationsZh extends AppLocalizations { @override String get reserve => '预约'; - @override - String get identifyDrama => '识剧'; - @override String heatLabel(String count) { return '$count热度'; diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index dd5e21b..bae635d 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -30,7 +30,6 @@ "actionGenre": "动作", "filter": "筛选", "reserve": "预约", - "identifyDrama": "识剧", "heatLabel": "{count}热度", "topCharts": "排行榜", "newReleases": "新剧", diff --git a/lib/pages/discover/discover_view.dart b/lib/pages/discover/discover_view.dart index 3193a6d..dfc986f 100644 --- a/lib/pages/discover/discover_view.dart +++ b/lib/pages/discover/discover_view.dart @@ -106,7 +106,6 @@ class _DiscoverPageState extends State { focusNode: logic.searchFocus, onChanged: (_) => logic.onSearchChanged(), loading: logic.searchLoading, - onIdentify: () => _showComingSoon(l10n), ), Expanded(child: _feed(l10n, categories)), if (!embedded) _bottomNav(l10n), diff --git a/lib/pages/discover/widgets/discover_header.dart b/lib/pages/discover/widgets/discover_header.dart index c2e0ecf..ab14549 100644 --- a/lib/pages/discover/widgets/discover_header.dart +++ b/lib/pages/discover/widgets/discover_header.dart @@ -13,14 +13,12 @@ class DiscoverHeader extends StatelessWidget { required this.focusNode, required this.onChanged, required this.loading, - required this.onIdentify, }); final TextEditingController controller; final FocusNode focusNode; final ValueChanged onChanged; final bool loading; - final VoidCallback onIdentify; @override Widget build(BuildContext context) { @@ -32,7 +30,6 @@ class DiscoverHeader extends StatelessWidget { focusNode: focusNode, onChanged: onChanged, loading: loading, - onIdentify: onIdentify, ), ), ); diff --git a/lib/pages/discover/widgets/discover_search_field.dart b/lib/pages/discover/widgets/discover_search_field.dart index 3cda27d..74efb8d 100644 --- a/lib/pages/discover/widgets/discover_search_field.dart +++ b/lib/pages/discover/widgets/discover_search_field.dart @@ -3,13 +3,12 @@ import 'package:flutter/material.dart'; import '../../../core/theme/app_colors.dart'; -import '../../../core/theme/app_dimens.dart'; import '../../../l10n/app_localizations.dart'; const double _searchHeight = 40; const double _searchRadius = 18; -/// 剧场顶部搜索框:右侧内嵌「识剧」入口。 +/// 剧场顶部整行搜索框。 class DiscoverSearchField extends StatelessWidget { const DiscoverSearchField({ super.key, @@ -17,7 +16,6 @@ class DiscoverSearchField extends StatelessWidget { required this.focusNode, required this.onChanged, required this.loading, - required this.onIdentify, this.horizontalPadding = 14, }); @@ -25,7 +23,6 @@ class DiscoverSearchField extends StatelessWidget { final FocusNode focusNode; final ValueChanged onChanged; final bool loading; - final VoidCallback onIdentify; final double horizontalPadding; @override @@ -53,17 +50,14 @@ class DiscoverSearchField extends StatelessWidget { color: AppColors.subtle, size: 17, ), - suffixIcon: Padding( - padding: const EdgeInsets.only(right: 6), - child: loading - ? const SizedBox.square( - dimension: 18, - child: Center( - child: CircularProgressIndicator(strokeWidth: 2), - ), - ) - : _identifyPill(context), - ), + suffixIcon: loading + ? const SizedBox.square( + dimension: 18, + child: Center( + child: CircularProgressIndicator(strokeWidth: 2), + ), + ) + : null, suffixIconConstraints: const BoxConstraints( minWidth: 0, minHeight: 0, @@ -82,38 +76,4 @@ class DiscoverSearchField extends StatelessWidget { ), ); } - - Widget _identifyPill(BuildContext context) { - final l10n = AppLocalizations.of(context)!; - return Padding( - padding: const EdgeInsets.symmetric(vertical: 7), - child: Material( - color: AppColors.raised, - borderRadius: BorderRadius.circular(AppDimens.pillRadius), - child: InkWell( - key: const Key('discover-identify'), - onTap: onIdentify, - borderRadius: BorderRadius.circular(AppDimens.pillRadius), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - const Icon( - Icons.center_focus_weak_rounded, - color: AppColors.muted, - size: 14, - ), - const SizedBox(width: 4), - Text( - l10n.identifyDrama, - style: const TextStyle(color: AppColors.muted, fontSize: 12), - ), - ], - ), - ), - ), - ), - ); - } } diff --git a/test/discover/home_all_dramas_grid_test.dart b/test/discover/home_all_dramas_grid_test.dart index d8a6e66..98f2ae1 100644 --- a/test/discover/home_all_dramas_grid_test.dart +++ b/test/discover/home_all_dramas_grid_test.dart @@ -34,7 +34,6 @@ void main() { expect(find.byKey(const Key('theater-category-chips')), findsOneWidget); expect(find.byKey(const Key('theater-language-chips')), findsNothing); expect(find.byKey(const Key('home-all-dramas-grid')), findsOneWidget); - expect(find.byKey(const Key('discover-identify')), findsOneWidget); expect(find.byKey(const Key('discover-profile')), findsNothing); for (final tool in ['filter', 'ranking', 'new', 'reserve']) { expect(find.byKey(Key('theater-toolbar-$tool')), findsOneWidget); @@ -71,17 +70,6 @@ void main() { ); }); - testWidgets('should_show_coming_soon_when_identify_is_tapped', ( - tester, - ) async { - await _pumpTheater(tester, categoryRepository: _GridCategoryRepository()); - - await tester.tap(find.byKey(const Key('discover-identify'))); - await tester.pump(); - - expect(find.text('Coming soon'), findsOneWidget); - }); - testWidgets('should_filter_grid_when_category_chip_is_tapped', ( tester, ) async { diff --git a/test/widget_test.dart b/test/widget_test.dart index 3f0fb47..bcfc416 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -215,7 +215,6 @@ void main() { expect(find.byKey(const Key('theater-category-chips')), findsOneWidget); expect(find.byKey(const Key('theater-language-chips')), findsNothing); expect(find.byKey(const Key('home-all-dramas-grid')), findsOneWidget); - expect(find.byKey(const Key('discover-identify')), findsOneWidget); expect(tester.takeException(), isNull); });