From 4ace4af7da6998498b5444afb7fbc6ff886683eb Mon Sep 17 00:00:00 2001 From: lollipopkit <10864310+lollipopkit@users.noreply.github.com> Date: Mon, 2 Dec 2024 21:41:17 +0800 Subject: [PATCH] opt.: home ui - new: top left settings btn - opt.: top logo --- lib/data/model/app/tab.dart | 16 ++++++++-------- lib/view/page/home/appbar.dart | 23 ++++++++++++++++++++--- lib/view/page/server/top_bar.dart | 15 ++++++++------- lib/view/page/setting/entry.dart | 22 +++++++++++++--------- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 6 files changed, 52 insertions(+), 30 deletions(-) diff --git a/lib/data/model/app/tab.dart b/lib/data/model/app/tab.dart index 9774a986..36a3e2ed 100644 --- a/lib/data/model/app/tab.dart +++ b/lib/data/model/app/tab.dart @@ -2,7 +2,7 @@ import 'package:fl_lib/fl_lib.dart'; import 'package:flutter/material.dart'; import 'package:server_box/core/extension/context/locale.dart'; import 'package:server_box/view/page/server/tab.dart'; -import 'package:server_box/view/page/setting/entry.dart'; +// import 'package:server_box/view/page/setting/entry.dart'; import 'package:server_box/view/page/snippet/list.dart'; import 'package:server_box/view/page/ssh/tab.dart'; import 'package:icons_plus/icons_plus.dart'; @@ -13,13 +13,13 @@ enum AppTab { ssh, file, snippet, - settings, + //settings, ; Widget get page { return switch (this) { server => const ServerPage(), - settings => const SettingsPage(), + //settings => const SettingsPage(), ssh => const SSHTabPage(), file => const LocalFilePage(), snippet => const SnippetListPage(), @@ -33,11 +33,11 @@ enum AppTab { label: l10n.server, selectedIcon: const Icon(BoxIcons.bxs_server), ), - settings => NavigationDestination( - icon: const Icon(Icons.settings), - label: libL10n.setting, - selectedIcon: const Icon(Icons.settings), - ), + // settings => NavigationDestination( + // icon: const Icon(Icons.settings), + // label: libL10n.setting, + // selectedIcon: const Icon(Icons.settings), + // ), ssh => const NavigationDestination( icon: Icon(Icons.terminal_outlined), label: 'SSH', diff --git a/lib/view/page/home/appbar.dart b/lib/view/page/home/appbar.dart index 64bcf782..a30e9474 100644 --- a/lib/view/page/home/appbar.dart +++ b/lib/view/page/home/appbar.dart @@ -9,9 +9,26 @@ final class _AppBar extends StatelessWidget implements PreferredSizeWidget { Widget build(BuildContext context) { return SizedBox( height: preferredSize.height, - child: isIOS - ? const Center(child: Text(BuildData.name, style: UIs.text15Bold)) - : null, + child: isIOS ? Center(child: _buildLogo()) : null, + ); + } + + Widget _buildLogo() { + final text = Text( + BuildData.name, + style: TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + color: UIs.primaryColor.isBrightColor ? Colors.black : Colors.white, + ), + ); + return Container( + decoration: BoxDecoration( + color: UIs.primaryColor, + borderRadius: BorderRadius.circular(11), + ), + padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 1), + child: text, ); } diff --git a/lib/view/page/server/top_bar.dart b/lib/view/page/server/top_bar.dart index 737c5035..ef287638 100644 --- a/lib/view/page/server/top_bar.dart +++ b/lib/view/page/server/top_bar.dart @@ -25,16 +25,17 @@ final class _TopBar extends StatelessWidget implements PreferredSizeWidget { context, args: const DebugPageArgs(title: 'Logs(${BuildData.build})'), ), - child: const Padding( - padding: EdgeInsets.symmetric(horizontal: 7), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 7), child: Row( children: [ - Text( - BuildData.name, - style: TextStyle(fontSize: 20), - textAlign: TextAlign.center, + Btn.icon( + icon: const Icon(Icons.settings), + onTap: () { + SettingsPage.route.go(context); + }, ), - Icon( + const Icon( Icons.keyboard_arrow_right, color: Colors.grey, size: 17, diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart index 0ebab745..aa3dc5c9 100644 --- a/lib/view/page/setting/entry.dart +++ b/lib/view/page/setting/entry.dart @@ -70,14 +70,17 @@ class _SettingsPageState extends State @override Widget build(BuildContext context) { return Scaffold( - appBar: TabBar( - controller: _tabCtrl, - dividerHeight: 0, - tabAlignment: TabAlignment.center, - isScrollable: true, - tabs: SettingsTabs.values - .map((e) => Tab(text: e.i18n)) - .toList(growable: false), + appBar: AppBar( + title: Text(libL10n.setting, style: const TextStyle(fontSize: 20)), + bottom: TabBar( + controller: _tabCtrl, + dividerHeight: 0, + tabAlignment: TabAlignment.center, + isScrollable: true, + tabs: SettingsTabs.values + .map((e) => Tab(text: e.i18n)) + .toList(growable: false), + ), ), // actions: [ // IconButton( @@ -134,8 +137,9 @@ final class _AppAboutPageState extends State ), UIs.height13, SizedBox( - height: 47, + height: 77, child: ListView( + padding: const EdgeInsets.symmetric(vertical: 13, horizontal: 7), scrollDirection: Axis.horizontal, children: [ Btn.elevated( diff --git a/pubspec.lock b/pubspec.lock index e79707f0..ad279f0c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -478,8 +478,8 @@ packages: dependency: "direct main" description: path: "." - ref: "v1.0.217" - resolved-ref: a07b1d2a004574b3d083f87a295a428286524ef7 + ref: "v1.0.218" + resolved-ref: b8108c9ffe1e67da22e8f9003e0adfe2692f3b0b url: "https://github.com/lppcg/fl_lib" source: git version: "0.0.1" diff --git a/pubspec.yaml b/pubspec.yaml index ece73417..f0364ac8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,7 +60,7 @@ dependencies: fl_lib: git: url: https://github.com/lppcg/fl_lib - ref: v1.0.217 + ref: v1.0.218 dependency_overrides: # dartssh2: