48 lines
1.2 KiB
Dart
48 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../data/api/report_data_source.dart';
|
|
import '../data/models/models.dart';
|
|
import '../features/detail/report_detail_page.dart';
|
|
import '../features/institutions/institution_detail_page.dart';
|
|
import '../widgets/mini_player.dart';
|
|
|
|
void openReportDetail(
|
|
BuildContext context,
|
|
ReportDataSource dataSource,
|
|
ReportCardModel report, {
|
|
PlayerStateModel player = const PlayerStateModel(),
|
|
void Function(String audioId, String reportId, String title, int durationSec)? onStartAudio,
|
|
VoidCallback? onToggleAudio,
|
|
void Function(int delta)? onSeekAudio,
|
|
VoidCallback? onSpeed,
|
|
}) {
|
|
Navigator.of(context).push(
|
|
MaterialPageRoute(
|
|
builder: (_) => ReportDetailPage(
|
|
reportId: report.id,
|
|
dataSource: dataSource,
|
|
player: player,
|
|
onStartAudio: onStartAudio,
|
|
onToggleAudio: onToggleAudio,
|
|
onSeekAudio: onSeekAudio,
|
|
onSpeed: onSpeed,
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
void openInstitutionDetail(
|
|
BuildContext context,
|
|
ReportDataSource dataSource,
|
|
String institutionId,
|
|
) {
|
|
Navigator.of(context).push(
|
|
MaterialPageRoute(
|
|
builder: (_) => InstitutionDetailPage(
|
|
institutionId: institutionId,
|
|
dataSource: dataSource,
|
|
),
|
|
),
|
|
);
|
|
}
|