Skip to content

Commit

Permalink
TW-444: Update height for appbar
Browse files Browse the repository at this point in the history
  • Loading branch information
nqhhdev authored and hoangdat committed Aug 11, 2023
1 parent 4c58d1d commit 6a3977d
Show file tree
Hide file tree
Showing 12 changed files with 211 additions and 174 deletions.
6 changes: 5 additions & 1 deletion lib/pages/chat/chat_app_bar_title.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:fluffychat/pages/chat/chat_app_bar_title_style.dart';
import 'package:fluffychat/utils/responsive/responsive_utils.dart';
import 'package:fluffychat/utils/room_status_extension.dart';
import 'package:fluffychat/utils/string_extension.dart';
import 'package:flutter/material.dart';
Expand Down Expand Up @@ -46,7 +47,10 @@ class ChatAppBarTitle extends StatelessWidget {
? null
: () => context.go('/rooms/${room.id}/details'),
child: Padding(
padding: const EdgeInsets.only(left: 8.0),
padding: EdgeInsets.only(
left: 8.0,
top: ResponsiveUtils().isMobile(context) ? 30 : 0,
),
child: Row(
children: [
Stack(
Expand Down
9 changes: 7 additions & 2 deletions lib/pages/chat/chat_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pages/chat/chat_app_bar_title.dart';
import 'package:fluffychat/pages/chat/chat_event_list.dart';
import 'package:fluffychat/pages/chat/chat_loading_view.dart';
import 'package:fluffychat/pages/chat/chat_view_style.dart';
import 'package:fluffychat/pages/chat/pinned_events.dart';
import 'package:fluffychat/pages/chat/reply_display.dart';
import 'package:fluffychat/pages/chat/tombstone_display.dart';
Expand Down Expand Up @@ -116,6 +117,7 @@ class ChatView extends StatelessWidget {
if (controller.room == null) {
return Scaffold(
appBar: AppBar(
toolbarHeight: 120,
title: Text(L10n.of(context)!.oopsSomethingWentWrong),
),
body: Center(
Expand Down Expand Up @@ -145,10 +147,13 @@ class ChatView extends StatelessWidget {
appBar: AppBar(
automaticallyImplyLeading:
controller.responsive.isMobile(context) ? true : false,
toolbarHeight: 64,
toolbarHeight: ChatViewStyle.toolbarHeight(context),
surfaceTintColor: Colors.transparent,
leadingWidth: 8 + 24 + 8,
leading: _buildLeading(context),
leading: Padding(
padding: ChatViewStyle.paddingLeading(context),
child: _buildLeading(context),
),
titleSpacing: 0,
title: ChatAppBarTitle(controller),
actions: _appBarActions(context),
Expand Down
11 changes: 11 additions & 0 deletions lib/pages/chat/chat_view_style.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
import 'package:fluffychat/utils/responsive/responsive_utils.dart';
import 'package:flutter/cupertino.dart';

class ChatViewStyle {
static double get paddingVerticalActionButtons => 8.0;

static double toolbarHeight(BuildContext context) =>
ResponsiveUtils().isMobile(context) ? 104 : 86;

static EdgeInsetsDirectional paddingLeading(BuildContext context) =>
EdgeInsetsDirectional.only(
top: ResponsiveUtils().isMobile(context) ? 30 : 0,
);
}
310 changes: 158 additions & 152 deletions lib/pages/chat_list/chat_list_header.dart

Large diffs are not rendered by default.

9 changes: 7 additions & 2 deletions lib/pages/chat_list/chat_list_view.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:fluffychat/pages/chat_list/chat_list.dart';
import 'package:fluffychat/pages/chat_list/chat_list_body_stream.dart';
import 'package:fluffychat/pages/chat_list/chat_list_header.dart';
import 'package:fluffychat/utils/responsive/responsive_utils.dart';
import 'package:fluffychat/widgets/twake_components/twake_fab.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
Expand All @@ -19,9 +20,13 @@ class ChatListView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: ChatListHeader(controller: controller),
appBar: PreferredSize(
preferredSize: Size.fromHeight(
ResponsiveUtils().isMobile(context) ? 160 : 120,
),
child: ChatListHeader(controller: controller),
),
body: ChatListBodyStream(controller: controller),
extendBody: true,
floatingActionButtonLocation: FloatingActionButtonLocation.endFloat,
floatingActionButton: controller.selectMode == SelectMode.normal
? KeyBoardShortcuts(
Expand Down
12 changes: 7 additions & 5 deletions lib/pages/contacts_tab/contacts_appbar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import 'package:fluffychat/widgets/twake_components/twake_icon_button.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';

class ContactsAppBar extends StatelessWidget implements PreferredSizeWidget {
import '../../utils/responsive/responsive_utils.dart';

class ContactsAppBar extends StatelessWidget {
final ContactsTabController controller;

const ContactsAppBar(
Expand All @@ -26,7 +28,10 @@ class ContactsAppBar extends StatelessWidget implements PreferredSizeWidget {
centerTitle: false,
titleSpacing: 0,
title: Padding(
padding: const EdgeInsetsDirectional.only(start: 16.0),
padding: EdgeInsetsDirectional.only(
start: 16.0,
top: ResponsiveUtils().isMobile(context) ? 30 : 8,
),
child: Text(
L10n.of(context)!.contacts,
style: Theme.of(context).textTheme.titleLarge?.copyWith(
Expand Down Expand Up @@ -84,7 +89,4 @@ class ContactsAppBar extends StatelessWidget implements PreferredSizeWidget {
),
);
}

@override
Size get preferredSize => const Size.fromHeight(120);
}
7 changes: 3 additions & 4 deletions lib/pages/contacts_tab/contacts_tab.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,8 @@ class ContactsTab extends StatefulWidget {
State<StatefulWidget> createState() => ContactsTabController();
}

class ContactsTabController extends State<ContactsTab>
with ComparablePresentationContactMixin {

class ContactsTabController extends State<ContactsTab>
with ComparablePresentationContactMixin {
final searchContactsController = SearchContactsController();
final fetchContactsController = FetchContactsController();
final responsive = getIt.get<ResponsiveUtils>();
Expand Down Expand Up @@ -133,4 +132,4 @@ class ContactsTabController extends State<ContactsTab>
@override
Widget build(BuildContext context) =>
ContactsTabView(contactsController: this);
}
}
2 changes: 1 addition & 1 deletion lib/pages/contacts_tab/contacts_tab_body_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,4 @@ class ContactsTabBodyView extends StatelessWidget {
),
);
}
}
}
8 changes: 7 additions & 1 deletion lib/pages/contacts_tab/contacts_tab_view.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:fluffychat/pages/contacts_tab/contacts_appbar.dart';
import 'package:fluffychat/pages/contacts_tab/contacts_tab.dart';
import 'package:fluffychat/pages/contacts_tab/contacts_tab_body_view.dart';
import 'package:fluffychat/utils/responsive/responsive_utils.dart';
import 'package:flutter/material.dart';

class ContactsTabView extends StatelessWidget {
Expand All @@ -11,7 +12,12 @@ class ContactsTabView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: ContactsAppBar(contactsController),
appBar: PreferredSize(
preferredSize: Size.fromHeight(
ResponsiveUtils().isMobile(context) ? 120 : 96,
),
child: ContactsAppBar(contactsController),
),
body: ContactsTabBodyView(contactsController),
);
}
Expand Down
3 changes: 1 addition & 2 deletions lib/pages/search/search_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class SearchView extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: PreferredSize(
preferredSize: const Size.fromHeight(64.0),
preferredSize: Size.fromHeight(SearchViewStyle.toolbarHeightSearch),
child: _buildAppBarSearch(context),
),
body: WillPopScope(
Expand Down Expand Up @@ -132,7 +132,6 @@ class SearchView extends StatelessWidget {
Widget _buildAppBarSearch(BuildContext context) {
return AppBar(
toolbarHeight: SearchViewStyle.toolbarHeightSearch,
surfaceTintColor: Colors.transparent,
leadingWidth: double.infinity,
leading: Padding(
padding: SearchViewStyle.paddingLeadingAppBar,
Expand Down
4 changes: 2 additions & 2 deletions lib/pages/search/search_view_style.dart
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import 'package:flutter/material.dart';

class SearchViewStyle {
static double get toolbarHeightSearch => 64.0;
static double get toolbarHeightSearch => 104.0;
static double get toolbarHeightOfSliverAppBar => 44.0;

static EdgeInsetsGeometry get paddingRecentChatsHeaders =>
const EdgeInsets.symmetric(horizontal: 16);
static EdgeInsetsGeometry get paddingLeadingAppBar =>
const EdgeInsets.symmetric(horizontal: 8);
const EdgeInsetsDirectional.only(end: 8, start: 8, top: 30);
static EdgeInsets get marginIconBack =>
const EdgeInsets.symmetric(vertical: 12.0);
static EdgeInsetsGeometry get contentPaddingAppBar =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ class _LeadingAppBarWidget extends StatelessWidget {

@override
Widget build(BuildContext context) {
return SvgPicture.asset(ImagePaths.icTwakeImageLogo,
return SvgPicture.asset(
ImagePaths.icTwakeImageLogo,
width: AdaptiveScaffoldAppBarStyle.sizeWidthIcTwakeImageLogo,
height: AdaptiveScaffoldAppBarStyle.sizeHeightIcTwakeImageLogo,
);
}
}

0 comments on commit 6a3977d

Please sign in to comment.