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
4 changed files with 233 additions and 151 deletions
|
|
@ -3,7 +3,6 @@ import 'dart:io';
|
|||
import 'package:flutter/services.dart';
|
||||
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';
|
||||
|
|
@ -29,7 +28,6 @@ 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.
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
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'));
|
||||
});
|
||||
|
|
@ -5,12 +5,15 @@ import 'package:halkyon_learn_flutter/src/core/theme/learn_theme.dart';
|
|||
import 'package:halkyon_learn_flutter/src/core/widget/app_launch_screen.dart';
|
||||
import 'package:material_ui/material_ui.dart';
|
||||
|
||||
/// The app's icon: Lucide's `graduation-cap` fading from cobalt into purple
|
||||
/// (ADR 0031, D5), atop the rail, on the launch screen and on halkyon_app's
|
||||
/// own screens, as Todo's and Train's show theirs (D6: no longer the
|
||||
/// kingfisher, which stays Halkyon's emblem).
|
||||
/// The app's icon: Halkyon's kingfisher in its own colours on white (ADR
|
||||
/// 0045, D14; ADR 0031, D12, in place of D5's graduation cap), atop the rail
|
||||
/// and on halkyon_app's own screens, as Todo's and Train's show theirs (D6).
|
||||
const learnIcon = AssetImage('assets/icon/halkyon_learn_icon.png');
|
||||
|
||||
/// Halkyon's kingfisher in its own colours, alone, on its launch screen
|
||||
/// (ADR 0031, D11, D12), drawn by `tool/app_icons.py`.
|
||||
const learnKingfisher = AssetImage('assets/icon/halkyon_learn_kingfisher.png');
|
||||
|
||||
/// Halkyon Learn as halkyon_app's own screens know it (the first start, the
|
||||
/// start screen, the account switcher, signing in): its name and word, its
|
||||
/// icon, its look and languages, and the sentence only it can say,
|
||||
|
|
|
|||
|
|
@ -5,14 +5,14 @@ import 'package:material_ui/material_ui.dart';
|
|||
|
||||
/// What shows while the app opens: the instance, the session, the
|
||||
/// person's data (decided 2026-10-11). halkyon_ui's [LaunchScreen] with
|
||||
/// Learn's icon, "Learn" beneath "Halkyon", read out as the app's
|
||||
/// name.
|
||||
/// the kingfisher in its own colours (ADR 0031, D12), "Learn" beneath
|
||||
/// "Halkyon", read out as the app's name.
|
||||
class const AppLaunchScreen({super.key}) extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final l10n = AppLocalizations.of(context);
|
||||
return LaunchScreen(
|
||||
icon: learnIcon,
|
||||
emblem: learnKingfisher,
|
||||
product: l10n.launchProduct,
|
||||
name: l10n.appTitle,
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in a new issue