mirror of
https://gitlab.com/veilid/veilidchat.git
synced 2025-09-28 14:29:43 -04:00
unify handling of themes
accessible theming/high contrast support
This commit is contained in:
parent
23ec185324
commit
4f02435964
41 changed files with 958 additions and 622 deletions
|
@ -13,7 +13,6 @@ import '../../chat_list/chat_list.dart';
|
|||
import '../../contacts/contacts.dart';
|
||||
import '../../proto/proto.dart' as proto;
|
||||
import '../../theme/theme.dart';
|
||||
import '../../tools/tools.dart';
|
||||
import '../chat.dart';
|
||||
|
||||
class ChatComponent extends StatelessWidget {
|
||||
|
@ -173,11 +172,13 @@ class ChatComponent extends StatelessWidget {
|
|||
16, 0, 16, 0),
|
||||
child: Text(_remoteUser.firstName!,
|
||||
textAlign: TextAlign.start,
|
||||
style: textTheme.titleMedium),
|
||||
style: textTheme.titleMedium!.copyWith(
|
||||
color: scale.primaryScale.borderText)),
|
||||
)),
|
||||
const Spacer(),
|
||||
IconButton(
|
||||
icon: const Icon(Icons.close),
|
||||
icon: Icon(Icons.close,
|
||||
color: scale.primaryScale.borderText),
|
||||
onPressed: () async {
|
||||
context.read<ActiveChatCubit>().setActiveChat(null);
|
||||
}).paddingLTRB(16, 0, 16, 0)
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_translate/flutter_translate.dart';
|
||||
|
||||
import '../../theme/theme.dart';
|
||||
|
||||
class EmptyChatWidget extends StatelessWidget {
|
||||
const EmptyChatWidget({super.key});
|
||||
|
@ -7,28 +10,32 @@ class EmptyChatWidget extends StatelessWidget {
|
|||
// ignore: prefer_expression_function_bodies
|
||||
Widget build(
|
||||
BuildContext context,
|
||||
) =>
|
||||
Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(context).scaffoldBackgroundColor,
|
||||
),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.chat,
|
||||
color: Theme.of(context).disabledColor,
|
||||
size: 48,
|
||||
),
|
||||
Text(
|
||||
'Say Something',
|
||||
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
|
||||
color: Theme.of(context).disabledColor,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
) {
|
||||
final theme = Theme.of(context);
|
||||
final scale = theme.extension<ScaleScheme>()!;
|
||||
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(context).scaffoldBackgroundColor,
|
||||
),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.chat,
|
||||
color: scale.primaryScale.subtleBorder,
|
||||
size: 48,
|
||||
),
|
||||
Text(
|
||||
translate('chat.say_something'),
|
||||
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
|
||||
color: scale.primaryScale.subtleBorder,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,12 +4,11 @@ import 'package:flutter/services.dart';
|
|||
import 'package:flutter_translate/flutter_translate.dart';
|
||||
|
||||
import '../../theme/theme.dart';
|
||||
import '../../tools/tools.dart';
|
||||
|
||||
Widget newChatBottomSheetBuilder(
|
||||
BuildContext sheetContext, BuildContext context) {
|
||||
final theme = Theme.of(sheetContext);
|
||||
final scale = theme.extension<ScaleScheme>()!;
|
||||
//final theme = Theme.of(sheetContext);
|
||||
//final scale = theme.extension<ScaleScheme>()!;
|
||||
|
||||
return KeyboardListener(
|
||||
focusNode: FocusNode(),
|
||||
|
@ -23,49 +22,10 @@ Widget newChatBottomSheetBuilder(
|
|||
title: translate('add_chat_sheet.new_chat'),
|
||||
child: SizedBox(
|
||||
height: 160,
|
||||
child: Row(
|
||||
child: const Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
Text(
|
||||
'Group and custom chat functionality is not available yet')
|
||||
// Column(children: [
|
||||
// IconButton(
|
||||
// onPressed: () async {
|
||||
// Navigator.pop(sheetContext);
|
||||
// await CreateInvitationDialog.show(context);
|
||||
// },
|
||||
// iconSize: 64,
|
||||
// icon: const Icon(Icons.contact_page),
|
||||
// color: scale.primaryScale.background),
|
||||
// Text(
|
||||
// translate('accounts_menu.create_invite'),
|
||||
// )
|
||||
// ]),
|
||||
// Column(children: [
|
||||
// IconButton(
|
||||
// onPressed: () async {
|
||||
// Navigator.pop(sheetContext);
|
||||
// await ScanInvitationDialog.show(context);
|
||||
// },
|
||||
// iconSize: 64,
|
||||
// icon: const Icon(Icons.qr_code_scanner),
|
||||
// color: scale.primaryScale.background),
|
||||
// Text(
|
||||
// translate('accounts_menu.scan_invite'),
|
||||
// )
|
||||
// ]),
|
||||
// Column(children: [
|
||||
// IconButton(
|
||||
// onPressed: () async {
|
||||
// Navigator.pop(sheetContext);
|
||||
// await PasteInvitationDialog.show(context);
|
||||
// },
|
||||
// iconSize: 64,
|
||||
// icon: const Icon(Icons.paste),
|
||||
// color: scale.primaryScale.background),
|
||||
// Text(
|
||||
// translate('accounts_menu.paste_invite'),
|
||||
// )
|
||||
// ])
|
||||
]).paddingAll(16))));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue