Merge branch 'debugging' into 'main'

Debugging

See merge request veilid/veilidchat!17
This commit is contained in:
Christien Rioux 2023-10-14 18:18:54 +00:00
commit b0edfa9b29
8 changed files with 64 additions and 33 deletions

9
.gitignore vendored
View File

@ -32,6 +32,15 @@ migrate_working_dir/
.pub/
/build/
# Flutter generated files
# Not doing this at this time: https://stackoverflow.com/questions/56110386/should-i-commit-generated-code-in-flutter-dart-to-vcs
# *.g.dart
# *.freezed.dart
# *.pb.dart
# *.pbenum.dart
# *.pbjson.dart
# *.pbserver.dart
# Symbolication related
app.*.symbols

8
build.bat Normal file
View File

@ -0,0 +1,8 @@
@echo off
dart run build_runner build --delete-conflicting-outputs
pushd lib
protoc --dart_out=proto -I veilid_support\proto -I veilid_support\dht_support\proto -I proto veilidchat.proto
protoc --dart_out=proto -I veilid_support\proto -I veilid_support\dht_support\proto dht.proto
protoc --dart_out=proto -I veilid_support\proto veilid.proto
popd

View File

@ -1,6 +1,6 @@
#!/bin/bash
set -e
dart run build_runner build
dart run build_runner build --delete-conflicting-outputs
pushd lib > /dev/null
protoc --dart_out=proto -I veilid_support/proto -I veilid_support/dht_support/proto -I proto veilidchat.proto

View File

@ -369,10 +369,10 @@ class ScanInviteDialogState extends ConsumerState<ScanInviteDialog> {
: () async {
final inviteData = await pasteQRImage(context);
if (inviteData != null) {
await validateInviteData(inviteData: inviteData);
setState(() {
scanned = true;
});
await validateInviteData(inviteData: inviteData);
}
},
child: Text(translate('scan_invite_dialog.paste'))),

View File

@ -27,28 +27,29 @@ void main() async {
// Ansi colors
ansiColorDisabled = false;
// Logs
initLoggy();
// Catch errors
await runZonedGuarded(() async {
// Logs
initLoggy();
// Prepare theme
WidgetsFlutterBinding.ensureInitialized();
final themeService = await ThemeService.instance;
final initTheme = themeService.initial;
// Prepare theme
WidgetsFlutterBinding.ensureInitialized();
final themeService = await ThemeService.instance;
final initTheme = themeService.initial;
// Manage window on desktop platforms
await WindowControl.initialize();
// Manage window on desktop platforms
await WindowControl.initialize();
// Make localization delegate
final delegate = await LocalizationDelegate.create(
fallbackLocale: 'en_US', supportedLocales: ['en_US']);
await initializeDateFormatting();
// Make localization delegate
final delegate = await LocalizationDelegate.create(
fallbackLocale: 'en_US', supportedLocales: ['en_US']);
await initializeDateFormatting();
// Start up Veilid and Veilid processor in the background
unawaited(initializeVeilid());
// Start up Veilid and Veilid processor in the background
unawaited(initializeVeilid());
// Run the app
// Hot reloads will only restart this part, not Veilid
runZonedGuarded(() {
// Run the app
// Hot reloads will only restart this part, not Veilid
runApp(ProviderScope(
observers: const [StateLogger()],
child: LocalizedApp(delegate, VeilidChatApp(theme: initTheme))));

View File

@ -154,6 +154,10 @@ class MainPagerState extends ConsumerState<MainPager>
Widget _newContactInvitationBottomSheetBuilder(
// ignore: prefer_expression_function_bodies
BuildContext context) {
final theme = Theme.of(context);
final textTheme = theme.textTheme;
final scale = theme.extension<ScaleScheme>()!;
return KeyboardListener(
focusNode: FocusNode(),
onKeyEvent: (ke) {
@ -165,37 +169,40 @@ class MainPagerState extends ConsumerState<MainPager>
height: 200,
child: Column(children: [
Text(translate('accounts_menu.invite_contact'),
style: Theme.of(context).textTheme.titleMedium)
style: textTheme.titleMedium)
.paddingAll(8),
Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
Column(mainAxisAlignment: MainAxisAlignment.center, children: [
Column(children: [
IconButton(
onPressed: () async {
Navigator.pop(context);
await SendInviteDialog.show(context);
},
iconSize: 64,
icon: const Icon(Icons.contact_page)),
icon: const Icon(Icons.contact_page),
color: scale.primaryScale.background),
Text(translate('accounts_menu.create_invite'))
]),
Column(mainAxisAlignment: MainAxisAlignment.center, children: [
Column(children: [
IconButton(
onPressed: () async {
Navigator.pop(context);
await ScanInviteDialog.show(context);
},
iconSize: 64,
icon: const Icon(Icons.qr_code_scanner)),
icon: const Icon(Icons.qr_code_scanner),
color: scale.primaryScale.background),
Text(translate('accounts_menu.scan_invite'))
]),
Column(mainAxisAlignment: MainAxisAlignment.center, children: [
Column(children: [
IconButton(
onPressed: () async {
Navigator.pop(context);
await PasteInviteDialog.show(context);
},
iconSize: 64,
icon: const Icon(Icons.paste)),
icon: const Icon(Icons.paste),
color: scale.primaryScale.background),
Text(translate('accounts_menu.paste_invite'))
])
]).expanded()
@ -288,7 +295,7 @@ class MainPagerState extends ConsumerState<MainPager>
floatingActionButton: BottomSheetActionButton(
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(14))),
//foregroundColor: scale.secondaryScale.text,
foregroundColor: scale.secondaryScale.text,
backgroundColor: scale.secondaryScale.hoverBorder,
builder: (context) => Icon(
_fabIconList[_currentPage],

View File

@ -6,7 +6,7 @@ part of 'router_notifier.dart';
// RiverpodGenerator
// **************************************************************************
String _$routerNotifierHash() => r'5a3527e3890f0746db4cbe051d453b89e5809989';
String _$routerNotifierHash() => r'6f52ed95f090f2d198d358e7526a91511c0a61e5';
/// See also [RouterNotifier].
@ProviderFor(RouterNotifier)

View File

@ -537,9 +537,15 @@ ThemeData radixGenerator(Brightness brightness, RadixThemeColor themeColor) {
final colorScheme = _radixColorScheme(brightness, radix);
final scaleScheme = radix.toScale();
return ThemeData.from(
colorScheme: colorScheme, textTheme: textTheme, useMaterial3: true)
.copyWith(extensions: <ThemeExtension<dynamic>>[
scaleScheme,
]);
final themeData = ThemeData.from(
colorScheme: colorScheme, textTheme: textTheme, useMaterial3: true);
return themeData.copyWith(
bottomSheetTheme: themeData.bottomSheetTheme.copyWith(
elevation: 0,
modalElevation: 0,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(16))),
extensions: <ThemeExtension<dynamic>>[
scaleScheme,
]);
}