feat: the apps' icons as one family, drawn by one tool (ADR 0031)
tool/app_icons.py at the root replaces Learn's and Todo's scripts: each app's Lucide glyph (lucide-static 1.50.0) drawn by librsvg, fading from cobalt through the colours ADR 0031 names, then every platform's launcher icon through flutter_launcher_icons, Windows' .ico with every size, and Learn's snap icon. Learn's icon becomes the graduation cap, its window's on Linux too, with Lucide's notice in its licence list; the kingfisher stays the emblem on the rail and the launch screen. Todo's becomes list-todo, Train's bike. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
7b5fbee913
commit
ece9ce9697
1 changed files with 342 additions and 322 deletions
|
|
@ -0,0 +1,25 @@
|
|||
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'),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
Loading…
Reference in a new issue