chore: Add sensible defaults to init lean-back mode

This commit is contained in:
PartyDonut 2025-10-18 16:37:45 +02:00
parent 9954ed7db5
commit 829bc3e34c
10 changed files with 37 additions and 25 deletions

View file

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:fladder/models/settings/arguments_model.dart';
import 'package:fladder/util/adaptive_layout/adaptive_layout.dart';
import 'package:fladder/util/localization_helper.dart';
@ -10,14 +11,22 @@ part 'home_settings_model.g.dart';
@Freezed(copyWith: true)
abstract class HomeSettingsModel with _$HomeSettingsModel {
const HomeSettingsModel._();
factory HomeSettingsModel({
@Default({...LayoutMode.values}) Set<LayoutMode> screenLayouts,
@Default({...ViewSize.values}) Set<ViewSize> layoutStates,
@Default(HomeBanner.carousel) HomeBanner homeBanner,
required HomeBanner homeBanner,
@Default(HomeCarouselSettings.combined) HomeCarouselSettings carouselSettings,
@Default(HomeNextUp.separate) HomeNextUp nextUp,
}) = _HomeSettingsModel;
static HomeSettingsModel defaultModel() {
return HomeSettingsModel(
homeBanner: leanBackMode ? HomeBanner.detailedBanner : HomeBanner.carousel,
);
}
factory HomeSettingsModel.fromJson(Map<String, dynamic> json) => _$HomeSettingsModelFromJson(json);
}