Skip to content

Commit f8b2922

Browse files
committed
feat: use saveProgress and resizeWindow callbacks replace player on TitleBar
1 parent c6a296d commit f8b2922

2 files changed

Lines changed: 9 additions & 8 deletions

File tree

lib/pages/player/iris_player.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1037,10 +1037,11 @@ class IrisPlayer extends HookWidget {
10371037
},
10381038
child: TitleBar(
10391039
title: title,
1040-
player: player,
10411040
actions: [const SizedBox(width: 8)],
10421041
color: contentColor,
10431042
overlayColor: overlayColor,
1043+
saveProgress: () => player.saveProgress(),
1044+
resizeWindow: () => resizeWindow(player.aspect),
10441045
),
10451046
),
10461047
),

lib/widgets/title_bar.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,28 @@ import 'package:flutter/material.dart';
22
import 'package:flutter_hooks/flutter_hooks.dart';
33
import 'package:flutter_zustand/flutter_zustand.dart';
44
import 'package:iris/info.dart';
5-
import 'package:iris/models/player.dart';
65
import 'package:iris/store/use_ui_store.dart';
76
import 'package:iris/utils/get_localizations.dart';
87
import 'package:iris/utils/platform.dart';
9-
import 'package:iris/utils/resize_window.dart';
108
import 'package:window_manager/window_manager.dart';
119

1210
class TitleBar extends HookWidget {
1311
const TitleBar({
1412
super.key,
1513
this.title,
16-
required this.player,
1714
this.actions,
1815
this.color,
1916
this.overlayColor,
17+
this.saveProgress,
18+
this.resizeWindow,
2019
});
2120

2221
final String? title;
23-
final MediaPlayer player;
2422
final List<Widget>? actions;
2523
final Color? color;
2624
final WidgetStateProperty<Color?>? overlayColor;
25+
final Future<void> Function()? saveProgress;
26+
final Future<void> Function()? resizeWindow;
2727

2828
@override
2929
Widget build(BuildContext context) {
@@ -118,7 +118,7 @@ class TitleBar extends HookWidget {
118118
),
119119
onPressed: () async {
120120
if (isFullScreen) {
121-
await resizeWindow(player.aspect);
121+
await resizeWindow?.call();
122122
}
123123
useUiStore().updateFullScreen(!isFullScreen);
124124
},
@@ -142,7 +142,7 @@ class TitleBar extends HookWidget {
142142
onPressed: () async {
143143
if (isMaximized) {
144144
await windowManager.unmaximize();
145-
await resizeWindow(player.aspect);
145+
await resizeWindow?.call();
146146
} else {
147147
await windowManager.maximize();
148148
}
@@ -170,7 +170,7 @@ class TitleBar extends HookWidget {
170170
),
171171
IconButton(
172172
onPressed: () async {
173-
await player.saveProgress();
173+
await saveProgress?.call();
174174
windowManager.close();
175175
},
176176
icon: Icon(

0 commit comments

Comments
 (0)