feat: brand retheme to m8chat.au blues, fix black logo, v1.6.0+8
- m8logo.svg: inline fills (flutter_svg ignores <style> blocks; logo rendered black) - theme.dart v2.0.0: purple -> site palette (#1265ED / #3B8BFF / navy darks) - app_config.dart: appVersion 1.3.0 -> 1.6.0 (profile screen showed stale version) - manifest.json: theme/background colours to match - Remove em-dashes from user-visible UI strings (global style rule) - chat_screen.dart: fix use_build_context_synchronously in _leaveRoom - Deployed to app2.m8chat.au after full functionality audit (all green) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// Version: 1.0.0 | Created: 2026-04-11
|
||||
// Version: 1.0.1 | Created: 2026-04-11 | Updated: 2026-07-03
|
||||
// Dialog for entering a recovery key to restore encrypted message keys
|
||||
// from the server-side key backup (SSSS / Secure Secret Storage).
|
||||
|
||||
@@ -147,7 +147,7 @@ class _KeyRestoreDialogState extends State<_KeyRestoreDialog> {
|
||||
SizedBox(height: 16),
|
||||
Text(
|
||||
'Message keys have been restored. '
|
||||
'Go back to your rooms — previously encrypted '
|
||||
'Go back to your rooms. Previously encrypted '
|
||||
'messages should now be readable.',
|
||||
),
|
||||
],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Version: 1.4.0 | Created: 2026-04-01 | Updated: 2026-04-11
|
||||
// Version: 1.4.1 | Created: 2026-04-01 | Updated: 2026-07-03
|
||||
// Profile screen. Shows current user info and logout button.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -89,7 +89,7 @@ class ProfileScreen extends ConsumerWidget {
|
||||
title: const Text('End-to-end encryption'),
|
||||
subtitle: Text(
|
||||
client.encryptionEnabled
|
||||
? 'Active — messages are encrypted'
|
||||
? 'Active. Messages are encrypted'
|
||||
: 'Not available in this browser',
|
||||
),
|
||||
enabled: false,
|
||||
@@ -108,7 +108,7 @@ class ProfileScreen extends ConsumerWidget {
|
||||
if (restored && context.mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('Keys restored — reopen rooms '
|
||||
content: Text('Keys restored. Reopen rooms '
|
||||
'to see decrypted messages.'),
|
||||
),
|
||||
);
|
||||
@@ -121,7 +121,7 @@ class ProfileScreen extends ConsumerWidget {
|
||||
title: const Text('Security setup'),
|
||||
subtitle: Text(
|
||||
client.encryption?.crossSigning.enabled == true
|
||||
? 'Cross-signing active — device verified'
|
||||
? 'Cross-signing active. Device verified'
|
||||
: 'Set up cross-signing and key backup',
|
||||
),
|
||||
enabled: client.encryptionEnabled,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Version: 1.0.0 | Created: 2026-04-11
|
||||
// Version: 1.0.1 | Created: 2026-04-11 | Updated: 2026-07-03
|
||||
// Security setup dialog: drives the Matrix SDK Bootstrap to set up
|
||||
// SSSS, cross-signing, and online key backup in one flow.
|
||||
// For new users: creates everything, shows recovery key.
|
||||
@@ -298,7 +298,7 @@ class _SecuritySetupDialogState extends State<_SecuritySetupDialog> {
|
||||
children: [
|
||||
const Text(
|
||||
'Your recovery key has been created. Save it somewhere '
|
||||
'safe — you will need it to restore your messages on '
|
||||
'safe. You will need it to restore your messages on '
|
||||
'new devices.',
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
@@ -389,7 +389,7 @@ class _SecuritySetupDialogState extends State<_SecuritySetupDialog> {
|
||||
onPressed: () async {
|
||||
await _restoreKeys();
|
||||
},
|
||||
child: const Text('I saved it — continue'),
|
||||
child: const Text('I saved it, continue'),
|
||||
),
|
||||
],
|
||||
_Phase.done => [
|
||||
|
||||
Reference in New Issue
Block a user