RhythmBox/lib/screens/player/lyrics.dart

67 lines
1.7 KiB
Dart
Raw Normal View History

2024-08-30 05:23:57 +00:00
import 'dart:math';
import 'package:flutter/material.dart';
2024-08-30 05:23:57 +00:00
import 'package:get/get.dart';
2024-09-02 12:42:33 +00:00
import 'package:rhythm_box/providers/user_preferences.dart';
2024-08-29 08:42:48 +00:00
import 'package:rhythm_box/widgets/lyrics/synced_lyrics.dart';
import 'package:rhythm_box/widgets/player/bottom_player.dart';
2024-09-02 12:42:33 +00:00
import 'package:wakelock_plus/wakelock_plus.dart';
2024-09-02 12:42:33 +00:00
class LyricsScreen extends StatefulWidget {
const LyricsScreen({super.key});
2024-09-02 12:42:33 +00:00
@override
State<LyricsScreen> createState() => _LyricsScreenState();
}
class _LyricsScreenState extends State<LyricsScreen> {
late final UserPreferencesProvider _preferences = Get.find();
@override
void activate() {
super.activate();
if (_preferences.state.value.playerWakelock) {
WakelockPlus.enable();
}
}
@override
void deactivate() {
super.deactivate();
WakelockPlus.disable();
}
@override
Widget build(BuildContext context) {
return Material(
color: Theme.of(context).colorScheme.surface,
child: Scaffold(
appBar: AppBar(
title: const Text('Lyrics'),
),
body: const Column(
children: [
Expanded(
child: SyncedLyrics(
defaultTextZoom: 67,
),
),
],
),
2024-08-30 05:23:57 +00:00
bottomNavigationBar: SizedBox(
height: 85 + max(MediaQuery.of(context).padding.bottom, 16),
child: Material(
elevation: 2,
2024-08-30 05:23:57 +00:00
child: const BottomPlayer(
2024-08-28 12:34:35 +00:00
key: Key('lyrics-page-bottom-player'),
usePop: true,
2024-08-30 05:23:57 +00:00
).paddingOnly(
bottom: max(MediaQuery.of(context).padding.bottom, 16),
2024-08-28 12:34:35 +00:00
),
),
),
),
);
}
}