- Explore filters by what a studyset's licence lets a learner do: adapt it (no NoDerivatives) and use it commercially (no NonCommercial), which the instance reads from the release's licence (ExploreQuery.adaptable, commercial) and the app the same way (LicenseUse). An instance from before ignores both. - While the studysets are read, the Library shows shimmering skeletons of their cards rather than a spinner: halkyon_ui's new Shimmer and SkeletonBox, still where the system asks for no animations. - The scope's "Include private studysets" is offered only while the person has a private studyset. - An agreement to what goes where is per provider (protocol and host): agreeing to one assistant agrees to every assistant of that provider, those granted later too, and the agreement sheet says so. No migration: it is written on every grant of the provider, so taking one back keeps it for the others, and read per provider from any of them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
47 lines
1.9 KiB
Dart
47 lines
1.9 KiB
Dart
/// Halkyon's look, shared by its apps: the theme around cobalt and copper
|
|
/// (`appTheme`), the bundled Noto Sans (`appFontFamily`), Material 3's
|
|
/// window sizes (`WindowSize`), and the widgets every app's screens are
|
|
/// built of, with their texts in English and German
|
|
/// (`HalkyonUiLocalizations`, whose delegate an app adds to its own).
|
|
library;
|
|
|
|
export 'l10n/halkyon_ui_localizations.dart';
|
|
export 'src/layout/readable_width.dart';
|
|
export 'src/layout/window_size.dart';
|
|
export 'src/theme/app_fonts.dart';
|
|
export 'src/theme/app_theme.dart';
|
|
export 'src/theme/brand.dart';
|
|
export 'src/theme/palette_color.dart';
|
|
export 'src/theme/theme_extras.dart';
|
|
export 'src/widget/adaptive_sheet.dart';
|
|
export 'src/widget/app_loading_indicator.dart';
|
|
export 'src/widget/brand_wordmark.dart';
|
|
export 'src/widget/chevron_field.dart';
|
|
export 'src/widget/collapsing_row.dart';
|
|
export 'src/widget/confirm_dialog.dart';
|
|
export 'src/widget/count_badge.dart';
|
|
export 'src/widget/count_stepper.dart';
|
|
export 'src/widget/empty_list_message.dart';
|
|
export 'src/widget/field_label.dart';
|
|
export 'src/widget/floating_navigation_bar.dart';
|
|
export 'src/widget/folding_tabs.dart';
|
|
export 'src/widget/found_by_id.dart';
|
|
export 'src/widget/keyboard_back_on_resume.dart';
|
|
export 'src/widget/launch_screen.dart';
|
|
export 'src/widget/lift_while_dragged.dart';
|
|
export 'src/widget/more_info_sheet.dart';
|
|
export 'src/widget/navigation_frame.dart';
|
|
export 'src/widget/palette_color_picker.dart';
|
|
export 'src/widget/reorder_grip.dart';
|
|
export 'src/widget/reorder_toggle.dart';
|
|
export 'src/widget/screen_tint.dart';
|
|
export 'src/widget/scroll_hiding_fab.dart';
|
|
export 'src/widget/section_card.dart';
|
|
export 'src/widget/skeleton.dart';
|
|
export 'src/widget/sliver_centered.dart';
|
|
export 'src/widget/tab_visibility.dart';
|
|
export 'src/widget/text_limits.dart';
|
|
export 'src/widget/tinted_frame.dart';
|
|
export 'src/widget/title_with_kicker.dart';
|
|
export 'src/widget/top_gradient.dart';
|
|
export 'src/widget/undo_snack_bar.dart';
|