mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
feat: sidebar download count and proper progress color in playbutton
This commit is contained in:
parent
1f2d53114d
commit
a10bc5b8d8
@ -94,7 +94,18 @@ class Sidebar extends HookConsumerWidget {
|
||||
final icon = Icon(e.icon);
|
||||
return MapEntry(
|
||||
PlatformSidebarItem(
|
||||
icon: icon,
|
||||
icon: Badge(
|
||||
badgeColor: PlatformTheme.of(context).primaryColor!,
|
||||
showBadge: e.title == "Library" && downloadCount > 0,
|
||||
badgeContent: Text(
|
||||
downloadCount.toString(),
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 10,
|
||||
),
|
||||
),
|
||||
child: icon,
|
||||
),
|
||||
title: Text(
|
||||
e.title,
|
||||
style: const TextStyle(
|
||||
|
@ -119,12 +119,7 @@ class PlaybuttonCard extends HookWidget {
|
||||
bottom: 10,
|
||||
end: 5,
|
||||
child: Builder(builder: (context) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
color: iconBgColor,
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
child: PlatformIconButton(
|
||||
return PlatformIconButton(
|
||||
onPressed: onPlaybuttonPressed,
|
||||
backgroundColor:
|
||||
PlatformTheme.of(context).primaryColor,
|
||||
@ -132,11 +127,19 @@ class PlaybuttonCard extends HookWidget {
|
||||
.primaryColor
|
||||
?.withOpacity(0.5),
|
||||
icon: isLoading
|
||||
? const SizedBox(
|
||||
? SizedBox(
|
||||
height: 23,
|
||||
width: 23,
|
||||
child:
|
||||
PlatformCircularProgressIndicator(),
|
||||
child: PlatformCircularProgressIndicator(
|
||||
color:
|
||||
ThemeData.estimateBrightnessForColor(
|
||||
PlatformTheme.of(context)
|
||||
.primaryColor!,
|
||||
) ==
|
||||
Brightness.dark
|
||||
? Colors.white
|
||||
: Colors.grey[900],
|
||||
),
|
||||
)
|
||||
: Icon(
|
||||
isPlaying
|
||||
@ -144,7 +147,6 @@ class PlaybuttonCard extends HookWidget {
|
||||
: Icons.play_arrow_rounded,
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
)
|
||||
|
@ -68,21 +68,17 @@ class TrackCollectionView<T> extends HookConsumerWidget {
|
||||
onPressed: onShare,
|
||||
),
|
||||
if (heartBtn != null) heartBtn!,
|
||||
|
||||
const SizedBox(width: 5),
|
||||
// play playlist
|
||||
Container(
|
||||
margin: const EdgeInsets.symmetric(vertical: 10),
|
||||
child: PlatformFilledButton(
|
||||
style: ButtonStyle(
|
||||
shape: MaterialStateProperty.all(const CircleBorder()),
|
||||
),
|
||||
PlatformIconButton(
|
||||
backgroundColor: PlatformTheme.of(context).primaryColor,
|
||||
onPressed: tracksSnapshot.data != null ? onPlay : null,
|
||||
child: Icon(
|
||||
icon: Icon(
|
||||
isPlaying ? Icons.stop_rounded : Icons.play_arrow_rounded,
|
||||
color: Theme.of(context).backgroundColor,
|
||||
),
|
||||
color: PlatformTextTheme.of(context).body?.color,
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
];
|
||||
|
||||
final controller = useScrollController();
|
||||
|
@ -1,7 +1,7 @@
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:youtube_explode_dart/youtube_explode_dart.dart';
|
||||
|
||||
part 'CacheTrack.g.dart';
|
||||
part 'cache_track.g.dart';
|
||||
|
||||
@HiveType(typeId: 2)
|
||||
class CacheTrackEngagement {
|
@ -1,6 +1,6 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'CacheTrack.dart';
|
||||
part of 'cache_track.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
@ -1,4 +1,4 @@
|
||||
import 'package:spotube/entities/CacheTrack.dart';
|
||||
import 'package:spotube/entities/cache_track.dart';
|
||||
import 'package:spotube/utils/duration.dart';
|
||||
import 'package:youtube_explode_dart/youtube_explode_dart.dart';
|
||||
|
||||
|
@ -12,7 +12,7 @@ import 'package:platform_ui/platform_ui.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:spotube/collections/cache_keys.dart';
|
||||
import 'package:spotube/components/shared/dialogs/replace_downloaded_dialog.dart';
|
||||
import 'package:spotube/entities/CacheTrack.dart';
|
||||
import 'package:spotube/entities/cache_track.dart';
|
||||
import 'package:spotube/collections/routes.dart';
|
||||
import 'package:spotube/collections/intents.dart';
|
||||
import 'package:spotube/models/logger.dart';
|
||||
@ -40,7 +40,7 @@ void main() async {
|
||||
final savedSize = rawSize != null ? json.decode(rawSize) : null;
|
||||
final double? height = savedSize?["height"];
|
||||
final double? width = savedSize?["width"];
|
||||
appWindow.minSize = const Size(900, 700);
|
||||
appWindow.minSize = const Size(1020, 700);
|
||||
appWindow.alignment = Alignment.center;
|
||||
appWindow.title = "Spotube";
|
||||
if (height != null && width != null && height >= 700 && width >= 359) {
|
||||
|
@ -7,7 +7,7 @@ import 'package:flutter/services.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:spotify/spotify.dart';
|
||||
import 'package:spotube/entities/CacheTrack.dart';
|
||||
import 'package:spotube/entities/cache_track.dart';
|
||||
import 'package:spotube/extensions/video.dart';
|
||||
import 'package:spotube/models/current_playlist.dart';
|
||||
import 'package:spotube/models/logger.dart';
|
||||
|
Loading…
Reference in New Issue
Block a user