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
2 changed files with 342 additions and 322 deletions
|
|
@ -2,6 +2,7 @@ import 'dart:io';
|
|||
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:halkyon_app/halkyon_app.dart';
|
||||
import 'package:halkyon_learn_flutter/src/app/app_icon_license.dart';
|
||||
import 'package:halkyon_learn_flutter/src/app/learn_frame.dart';
|
||||
import 'package:halkyon_learn_flutter/src/app/learn_sessions.dart';
|
||||
import 'package:halkyon_learn_flutter/src/core/bloc/app_bloc_observer.dart';
|
||||
|
|
@ -27,6 +28,7 @@ Future<void> main() async {
|
|||
// Unicode CLDR's for the world map's country names, as that copy gives it.
|
||||
registerWorldMapCldrLicense();
|
||||
registerMecabLicenses();
|
||||
registerAppIconLicense();
|
||||
// The instance the build names (`--dart-define=SERVER_URL=…`, or
|
||||
// `assets/config.json`): the first offered, and the one installs from
|
||||
// before the choice go on with.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
/// Adds Lucide's notice (ISC) to the app's licence list: the app's icon is
|
||||
/// Lucide's graduation cap (ADR 0031), and its licence asks that the notice go
|
||||
/// with it. The licence is verbatim from the release the icon was drawn from.
|
||||
void registerAppIconLicense() => LicenseRegistry.addLicense(() async* {
|
||||
yield LicenseEntryWithLineBreaks(const [
|
||||
'Lucide (the app icon)',
|
||||
], await rootBundle.loadString('assets/icon/LICENSE-lucide.txt'));
|
||||
});
|
||||
Loading…
Reference in a new issue