Initial commit

This commit is contained in:
Henry Hiles 2025-01-03 18:33:59 -05:00
parent 32e425f961
commit e94d583b8b
67 changed files with 2516 additions and 698 deletions

View file

@ -0,0 +1,28 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import "package:riverpod_annotation/riverpod_annotation.dart";
import 'package:canal/models/decorations.dart';
import 'package:canal/providers/button_layout_provider.dart';
import 'package:yaru/yaru.dart';
import "package:collection/collection.dart";
part 'decorations_provider.g.dart';
@riverpod
Decorations decorations(Ref ref) {
List<YaruWindowControlType> parse(String section) => section
.split(",")
.map(
(button) => YaruWindowControlType.values.firstWhereOrNull(
(element) => element.name == button,
),
)
.whereNotNull()
.toList();
final buttons = ref.watch(buttonLayoutProvider).requireValue;
final [leading, trailing] = buttons.split(":");
return Decorations(
leading: parse(leading),
trailing: parse(trailing),
);
}