mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00

BRIEF DESCRIPTION: - Nested Routes like React-Router/Spotify Web/desktop - Except Login routes everything is nested and wrapped by a Shell - PlayerOverlay is no more a overlay A really simple Sidebar now
44 lines
1.5 KiB
Dart
44 lines
1.5 KiB
Dart
import 'package:flutter/material.dart' hide Image;
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:spotube/components/Library/UserAlbums.dart';
|
|
import 'package:spotube/components/Library/UserArtists.dart';
|
|
import 'package:spotube/components/Library/UserDownloads.dart';
|
|
import 'package:spotube/components/Library/UserLocalTracks.dart';
|
|
import 'package:spotube/components/Library/UserPlaylists.dart';
|
|
import 'package:spotube/components/Shared/AnonymousFallback.dart';
|
|
import 'package:spotube/components/Shared/ColoredTabBar.dart';
|
|
|
|
class UserLibrary extends ConsumerWidget {
|
|
const UserLibrary({Key? key}) : super(key: key);
|
|
@override
|
|
Widget build(BuildContext context, ref) {
|
|
return DefaultTabController(
|
|
length: 5,
|
|
child: SafeArea(
|
|
child: Scaffold(
|
|
appBar: ColoredTabBar(
|
|
color: Theme.of(context).backgroundColor,
|
|
child: const TabBar(
|
|
isScrollable: true,
|
|
tabs: [
|
|
Tab(text: "Playlist"),
|
|
Tab(text: "Downloads"),
|
|
Tab(text: "Local"),
|
|
Tab(text: "Artists"),
|
|
Tab(text: "Album"),
|
|
],
|
|
),
|
|
),
|
|
body: const TabBarView(children: [
|
|
AnonymousFallback(child: UserPlaylists()),
|
|
UserDownloads(),
|
|
UserLocalTracks(),
|
|
AnonymousFallback(child: UserArtists()),
|
|
AnonymousFallback(child: UserAlbums()),
|
|
]),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|