@@ -5,6 +5,7 @@ import 'package:app/providers/providers.dart';
55import 'package:app/router.dart' ;
66import 'package:app/ui/placeholders/artists_screen_placeholder.dart' ;
77import 'package:app/ui/widgets/widgets.dart' ;
8+ import 'package:app/values/values.dart' ;
89import 'package:flutter/cupertino.dart' ;
910import 'package:flutter/material.dart' ;
1011import 'package:provider/provider.dart' ;
@@ -101,9 +102,31 @@ class _ArtistsScreenState extends State<ArtistsScreen> {
101102 child: CustomScrollView (
102103 controller: _scrollController,
103104 slivers: [
104- const CupertinoSliverNavigationBar (
105+ CupertinoSliverNavigationBar (
105106 backgroundColor: AppColors .staticScreenHeaderBackground,
106- largeTitle: LargeTitle (text: 'Artists' ),
107+ largeTitle: const LargeTitle (text: 'Artists' ),
108+ trailing: Transform .scale (
109+ scale: 0.8 ,
110+ alignment: Alignment .centerRight,
111+ child: SortButton (
112+ fields: const ['name' , 'created_at' ],
113+ currentField: _artistProvider.sortField,
114+ currentOrder: _artistProvider.sortOrder,
115+ onMenuItemSelected: (sortConfig) {
116+ setState (() {
117+ _artistProvider.sortField = sortConfig.field;
118+ _artistProvider.sortOrder = sortConfig.order;
119+ });
120+
121+ _artistProvider.artists.clear ();
122+ _artistProvider.refresh ().then ((_) {
123+ if (_scrollController.hasClients) {
124+ _scrollController.jumpTo (0 );
125+ }
126+ });
127+ },
128+ ),
129+ ),
107130 ),
108131 SliverList (
109132 delegate: SliverChildBuilderDelegate ((
0 commit comments