feat(ui,learn,todo,train,meditate): the kingfisher on the launch screens, and as Learn's icon
The commissioned kingfisher (tool/kingfisher.svg) becomes Halkyon's again. Learn's launcher icon is the bird in its own colours on the white tile, its themed variants the bird's outline, and its launch screen shows the bird alone (ADR 0031, D12; ADR 0045, D14). Todo, Train and Meditate keep their glyphs on the launchers, and their launch screens show the bird in their own colours (D11). tool/app_icons.py draws all of them; halkyon_ui's LaunchScreen takes an emblem in place of the icon. Lucide's notice leaves Learn's licence list, as its icon no longer is Lucide's. Whats-New: Halkyon's kingfisher is back: Learn's icon, and on the screen while each app opens. Whats-New-De: Halkyons Eisvogel ist zurück: als Symbol von Learn und auf dem Bildschirm, während jede App startet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
8d9ab06e8d
commit
4eff894128
2 changed files with 233 additions and 151 deletions
|
|
@ -1,25 +0,0 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:halkyon_learn_flutter/src/app/app_icon_license.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets(
|
||||
"Lucide's notice, whose graduation cap is Learn's icon, joins the "
|
||||
'licence list',
|
||||
(tester) async {
|
||||
registerAppIconLicense();
|
||||
|
||||
final entries = await tester.runAsync(
|
||||
() => LicenseRegistry.licenses.toList(),
|
||||
);
|
||||
final lucide = entries!.where(
|
||||
(entry) => entry.packages.contains('Lucide (the app icon)'),
|
||||
);
|
||||
expect(lucide, isNotEmpty);
|
||||
expect(
|
||||
lucide.first.paragraphs.map((paragraph) => paragraph.text).join('\n'),
|
||||
contains('ISC License'),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
|
@ -6,8 +6,8 @@ import 'package:halkyon_learn_flutter/src/core/widget/app_launch_screen.dart';
|
|||
import 'package:material_ui/material_ui.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('shows the app icon, and "Halkyon" over "Learn", read out '
|
||||
"as the app's name", (tester) async {
|
||||
testWidgets('shows the kingfisher, and "Halkyon" over '
|
||||
'"Learn", read out as the app\'s name', (tester) async {
|
||||
await tester.pumpWidget(
|
||||
const MaterialApp(
|
||||
localizationsDelegates: appLocalizationsDelegates,
|
||||
|
|
@ -16,11 +16,11 @@ void main() {
|
|||
),
|
||||
);
|
||||
|
||||
// Learn's own icon, as Todo's and Train's show theirs, no longer the
|
||||
// kingfisher (ADR 0031, D6).
|
||||
// Halkyon's kingfisher in its own colours (ADR 0031, D12), as the
|
||||
// other apps show it in theirs (D11).
|
||||
final image = tester.widget<Image>(find.byType(Image)).image;
|
||||
expect(image, isA<ResizeImage>());
|
||||
expect((image as ResizeImage).imageProvider, learnIcon);
|
||||
expect((image as ResizeImage).imageProvider, learnKingfisher);
|
||||
final brand = tester.getRect(find.text('Halkyon'));
|
||||
final product = tester.getRect(find.text('Learn'));
|
||||
expect(product.top, greaterThanOrEqualTo(brand.bottom - 1));
|
||||
|
|
|
|||
Loading…
Reference in a new issue