mirror of
https://github.com/johrpan/musicus_mobile.git
synced 2025-10-26 10:47:25 +01:00
mobile: Use new API on selection screens
This commit is contained in:
parent
7bf99ebd07
commit
52a2d5c3ec
3 changed files with 88 additions and 85 deletions
|
|
@ -4,6 +4,7 @@ import 'package:musicus_database/musicus_database.dart';
|
|||
import '../backend.dart';
|
||||
import '../editors/work.dart';
|
||||
import '../widgets/texts.dart';
|
||||
import '../widgets/lists.dart';
|
||||
|
||||
class WorkScreen extends StatelessWidget {
|
||||
final WorkInfo workInfo;
|
||||
|
|
@ -36,34 +37,22 @@ class WorkScreen extends StatelessWidget {
|
|||
),
|
||||
],
|
||||
),
|
||||
body: FutureBuilder<List<RecordingInfo>>(
|
||||
future: backend.db.getRecordings(workInfo.work.id),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return ListView.builder(
|
||||
itemCount: snapshot.data.length,
|
||||
itemBuilder: (context, index) {
|
||||
final recordingInfo = snapshot.data[index];
|
||||
final recording = recordingInfo.recording;
|
||||
|
||||
return ListTile(
|
||||
title: PerformancesText(
|
||||
performanceInfos: recordingInfo.performances,
|
||||
),
|
||||
onTap: () async {
|
||||
final tracks = backend.ml.tracks[recording.id];
|
||||
tracks.sort(
|
||||
(t1, t2) => t1.track.index.compareTo(t2.track.index));
|
||||
|
||||
backend.player.addTracks(backend.ml.tracks[recording.id]);
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
} else {
|
||||
return Container();
|
||||
}
|
||||
body: PagedListView<RecordingInfo>(
|
||||
fetch: (page, _) async {
|
||||
return await backend.client.getRecordings(workInfo.work.id, page);
|
||||
},
|
||||
builder: (context, recordingInfo) => ListTile(
|
||||
title: PerformancesText(
|
||||
performanceInfos: recordingInfo.performances,
|
||||
),
|
||||
onTap: () {
|
||||
final tracks = backend.ml.tracks[recordingInfo.recording.id];
|
||||
tracks.sort((t1, t2) => t1.track.index.compareTo(t2.track.index));
|
||||
|
||||
backend.player
|
||||
.addTracks(backend.ml.tracks[recordingInfo.recording.id]);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue