mirror of
https://github.com/simon-ding/polaris.git
synced 2026-05-27 04:57:42 +08:00
dart fix
This commit is contained in:
@@ -72,6 +72,6 @@ class ActivityPage extends ConsumerWidget {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
error: (err, trace) => Text("$err"),
|
error: (err, trace) => Text("$err"),
|
||||||
loading: () => MyProgressIndicator());
|
loading: () => const MyProgressIndicator());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ class LoginScreen extends ConsumerWidget {
|
|||||||
title: 'Polaris',
|
title: 'Polaris',
|
||||||
onLogin: (data) {
|
onLogin: (data) {
|
||||||
ref.read(authSettingProvider.notifier).login(data.name, data.password);
|
ref.read(authSettingProvider.notifier).login(data.name, data.password);
|
||||||
|
return null;
|
||||||
},
|
},
|
||||||
onSubmitAnimationCompleted: () {
|
onSubmitAnimationCompleted: () {
|
||||||
context.go(WelcomePage.routeTv);
|
context.go(WelcomePage.routeTv);
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class MyApp extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
// GoRouter configuration
|
// GoRouter configuration
|
||||||
final _shellRoute = ShellRoute(
|
final shellRoute = ShellRoute(
|
||||||
builder: (BuildContext context, GoRouterState state, Widget child) {
|
builder: (BuildContext context, GoRouterState state, Widget child) {
|
||||||
return SelectionArea(
|
return SelectionArea(
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
@@ -139,10 +139,10 @@ class MyApp extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
final _router = GoRouter(
|
final router = GoRouter(
|
||||||
navigatorKey: APIs.navigatorKey,
|
navigatorKey: APIs.navigatorKey,
|
||||||
routes: [
|
routes: [
|
||||||
_shellRoute,
|
shellRoute,
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: LoginScreen.route,
|
path: LoginScreen.route,
|
||||||
builder: (context, state) => const LoginScreen(),
|
builder: (context, state) => const LoginScreen(),
|
||||||
@@ -172,7 +172,7 @@ class MyApp extends StatelessWidget {
|
|||||||
seedColor: Colors.blue, brightness: Brightness.dark),
|
seedColor: Colors.blue, brightness: Brightness.dark),
|
||||||
useMaterial3: true,
|
useMaterial3: true,
|
||||||
),
|
),
|
||||||
routerConfig: _router,
|
routerConfig: router,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ class _MovieDetailsPageState extends ConsumerState<MovieDetailsPage> {
|
|||||||
icon: const Icon(Icons.download),
|
icon: const Icon(Icons.download),
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await ref
|
await ref
|
||||||
.read(movieTorrentsDataProvider(this.id)
|
.read(movieTorrentsDataProvider(id)
|
||||||
.notifier)
|
.notifier)
|
||||||
.download(torrent.link!);
|
.download(torrent.link!);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -7,18 +7,18 @@ import 'package:ui/providers/APIs.dart';
|
|||||||
import 'package:ui/providers/server_response.dart';
|
import 'package:ui/providers/server_response.dart';
|
||||||
|
|
||||||
var settingProvider =
|
var settingProvider =
|
||||||
AsyncNotifierProvider.family<EditSettingData, String, String>(
|
AsyncNotifierProvider.autoDispose.family<EditSettingData, String, String>(
|
||||||
EditSettingData.new);
|
EditSettingData.new);
|
||||||
|
|
||||||
var indexersProvider =
|
var indexersProvider =
|
||||||
AsyncNotifierProvider<IndexerSetting, List<Indexer>>(IndexerSetting.new);
|
AsyncNotifierProvider.autoDispose<IndexerSetting, List<Indexer>>(IndexerSetting.new);
|
||||||
|
|
||||||
var dwonloadClientsProvider =
|
var dwonloadClientsProvider =
|
||||||
AsyncNotifierProvider<DownloadClientSetting, List<DownloadClient>>(
|
AsyncNotifierProvider.autoDispose<DownloadClientSetting, List<DownloadClient>>(
|
||||||
DownloadClientSetting.new);
|
DownloadClientSetting.new);
|
||||||
|
|
||||||
var storageSettingProvider =
|
var storageSettingProvider =
|
||||||
AsyncNotifierProvider<StorageSettingData, List<Storage>>(
|
AsyncNotifierProvider.autoDispose<StorageSettingData, List<Storage>>(
|
||||||
StorageSettingData.new);
|
StorageSettingData.new);
|
||||||
|
|
||||||
class EditSettingData extends FamilyAsyncNotifier<String, String> {
|
class EditSettingData extends FamilyAsyncNotifier<String, String> {
|
||||||
@@ -113,10 +113,10 @@ class Indexer {
|
|||||||
id = json["id"];
|
id = json["id"];
|
||||||
}
|
}
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
data['name'] = this.name;
|
data['name'] = name;
|
||||||
data['url'] = this.url;
|
data['url'] = url;
|
||||||
data['api_key'] = this.apiKey;
|
data['api_key'] = apiKey;
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -196,14 +196,14 @@ class DownloadClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
data['id'] = this.id;
|
data['id'] = id;
|
||||||
data['enable'] = this.enable;
|
data['enable'] = enable;
|
||||||
data['name'] = this.name;
|
data['name'] = name;
|
||||||
data['implementation'] = this.implementation;
|
data['implementation'] = implementation;
|
||||||
data['url'] = this.url;
|
data['url'] = url;
|
||||||
data['remove_completed_downloads'] = this.removeCompletedDownloads;
|
data['remove_completed_downloads'] = removeCompletedDownloads;
|
||||||
data['remove_failed_downloads'] = this.removeFailedDownloads;
|
data['remove_failed_downloads'] = removeFailedDownloads;
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ class _SearchPageState extends ConsumerState<SearchPage> {
|
|||||||
return cards;
|
return cards;
|
||||||
},
|
},
|
||||||
error: (err, trace) => [Text("$err")],
|
error: (err, trace) => [Text("$err")],
|
||||||
loading: () => [MyProgressIndicator()]);
|
loading: () => [const MyProgressIndicator()]);
|
||||||
|
|
||||||
var f = FutureBuilder(
|
var f = FutureBuilder(
|
||||||
// We listen to the pending operation, to update the UI accordingly.
|
// We listen to the pending operation, to update the UI accordingly.
|
||||||
@@ -93,7 +93,7 @@ class _SearchPageState extends ConsumerState<SearchPage> {
|
|||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
if (snapshot.connectionState != ConnectionState.done &&
|
if (snapshot.connectionState != ConnectionState.done &&
|
||||||
snapshot.connectionState != ConnectionState.none) {
|
snapshot.connectionState != ConnectionState.none) {
|
||||||
return MyProgressIndicator();
|
return const MyProgressIndicator();
|
||||||
}
|
}
|
||||||
return ListView(
|
return ListView(
|
||||||
children: res,
|
children: res,
|
||||||
@@ -126,8 +126,8 @@ class _SearchPageState extends ConsumerState<SearchPage> {
|
|||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return Consumer(
|
return Consumer(
|
||||||
builder: (context, ref, _) {
|
builder: (context, ref, _) {
|
||||||
String _resSelected = "1080p";
|
String resSelected = "1080p";
|
||||||
int _storageSelected = 0;
|
int storageSelected = 0;
|
||||||
var storage = ref.watch(storageSettingProvider);
|
var storage = ref.watch(storageSettingProvider);
|
||||||
|
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
@@ -137,7 +137,7 @@ class _SearchPageState extends ConsumerState<SearchPage> {
|
|||||||
children: [
|
children: [
|
||||||
DropdownMenu(
|
DropdownMenu(
|
||||||
label: const Text("清晰度"),
|
label: const Text("清晰度"),
|
||||||
initialSelection: _resSelected,
|
initialSelection: resSelected,
|
||||||
dropdownMenuEntries: const [
|
dropdownMenuEntries: const [
|
||||||
DropdownMenuEntry(value: "720p", label: "720p"),
|
DropdownMenuEntry(value: "720p", label: "720p"),
|
||||||
DropdownMenuEntry(value: "1080p", label: "1080p"),
|
DropdownMenuEntry(value: "1080p", label: "1080p"),
|
||||||
@@ -145,7 +145,7 @@ class _SearchPageState extends ConsumerState<SearchPage> {
|
|||||||
],
|
],
|
||||||
onSelected: (value) {
|
onSelected: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_resSelected = value!;
|
resSelected = value!;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -153,14 +153,14 @@ class _SearchPageState extends ConsumerState<SearchPage> {
|
|||||||
data: (v) {
|
data: (v) {
|
||||||
return DropdownMenu(
|
return DropdownMenu(
|
||||||
label: const Text("存储位置"),
|
label: const Text("存储位置"),
|
||||||
initialSelection: _storageSelected,
|
initialSelection: storageSelected,
|
||||||
dropdownMenuEntries: v
|
dropdownMenuEntries: v
|
||||||
.map((s) => DropdownMenuEntry(
|
.map((s) => DropdownMenuEntry(
|
||||||
label: s.name!, value: s.id))
|
label: s.name!, value: s.id))
|
||||||
.toList(),
|
.toList(),
|
||||||
onSelected: (value) {
|
onSelected: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_storageSelected = value!;
|
storageSelected = value!;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@@ -185,11 +185,11 @@ class _SearchPageState extends ConsumerState<SearchPage> {
|
|||||||
),
|
),
|
||||||
child: const Text('确定'),
|
child: const Text('确定'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
print(_storageSelected);
|
print(storageSelected);
|
||||||
ref
|
ref
|
||||||
.read(searchPageDataProvider.notifier)
|
.read(searchPageDataProvider.notifier)
|
||||||
.submit2Watchlist(item.id!, _storageSelected,
|
.submit2Watchlist(item.id!, storageSelected,
|
||||||
_resSelected, item.mediaType!);
|
resSelected, item.mediaType!);
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
error: (err, trace) => Text("$err"),
|
error: (err, trace) => Text("$err"),
|
||||||
loading: () => MyProgressIndicator()),
|
loading: () => const MyProgressIndicator()),
|
||||||
dirKey.when(
|
dirKey.when(
|
||||||
data: (data) {
|
data: (data) {
|
||||||
_downloadDirController.text = data;
|
_downloadDirController.text = data;
|
||||||
@@ -80,7 +80,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
error: (err, trace) => Text("$err"),
|
error: (err, trace) => Text("$err"),
|
||||||
loading: () => MyProgressIndicator()),
|
loading: () => const MyProgressIndicator()),
|
||||||
Center(
|
Center(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.only(top: 28.0),
|
padding: const EdgeInsets.only(top: 28.0),
|
||||||
@@ -154,7 +154,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
)));
|
)));
|
||||||
}),
|
}),
|
||||||
error: (err, trace) => Text("$err"),
|
error: (err, trace) => Text("$err"),
|
||||||
loading: () => MyProgressIndicator());
|
loading: () => const MyProgressIndicator());
|
||||||
});
|
});
|
||||||
|
|
||||||
var downloadClients = ref.watch(dwonloadClientsProvider);
|
var downloadClients = ref.watch(dwonloadClientsProvider);
|
||||||
@@ -197,7 +197,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
)));
|
)));
|
||||||
}),
|
}),
|
||||||
error: (err, trace) => Text("$err"),
|
error: (err, trace) => Text("$err"),
|
||||||
loading: () => MyProgressIndicator());
|
loading: () => const MyProgressIndicator());
|
||||||
});
|
});
|
||||||
|
|
||||||
var storageSettingData = ref.watch(storageSettingProvider);
|
var storageSettingData = ref.watch(storageSettingProvider);
|
||||||
@@ -238,12 +238,12 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
)));
|
)));
|
||||||
}),
|
}),
|
||||||
error: (err, trace) => Text("$err"),
|
error: (err, trace) => Text("$err"),
|
||||||
loading: () => MyProgressIndicator());
|
loading: () => const MyProgressIndicator());
|
||||||
});
|
});
|
||||||
|
|
||||||
var authData = ref.watch(authSettingProvider);
|
var authData = ref.watch(authSettingProvider);
|
||||||
TextEditingController _userController = TextEditingController();
|
TextEditingController userController = TextEditingController();
|
||||||
TextEditingController _passController = TextEditingController();
|
TextEditingController passController = TextEditingController();
|
||||||
var authSetting = authData.when(
|
var authSetting = authData.when(
|
||||||
data: (data) {
|
data: (data) {
|
||||||
if (_enableAuth == null) {
|
if (_enableAuth == null) {
|
||||||
@@ -251,7 +251,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
_enableAuth = data.enable;
|
_enableAuth = data.enable;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
_userController.text = data.user;
|
userController.text = data.user;
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
SwitchListTile(
|
SwitchListTile(
|
||||||
@@ -266,13 +266,13 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
? Column(
|
? Column(
|
||||||
children: [
|
children: [
|
||||||
TextFormField(
|
TextFormField(
|
||||||
controller: _userController,
|
controller: userController,
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
labelText: "用户名",
|
labelText: "用户名",
|
||||||
icon: Icon(Icons.verified_user),
|
icon: Icon(Icons.verified_user),
|
||||||
)),
|
)),
|
||||||
TextFormField(
|
TextFormField(
|
||||||
controller: _passController,
|
controller: passController,
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
labelText: "密码",
|
labelText: "密码",
|
||||||
icon: Icon(Icons.verified_user),
|
icon: Icon(Icons.verified_user),
|
||||||
@@ -287,13 +287,13 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
ref
|
ref
|
||||||
.read(authSettingProvider.notifier)
|
.read(authSettingProvider.notifier)
|
||||||
.updateAuthSetting(_enableAuth!,
|
.updateAuthSetting(_enableAuth!,
|
||||||
_userController.text, _passController.text);
|
userController.text, passController.text);
|
||||||
}))
|
}))
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
error: (err, trace) => Text("$err"),
|
error: (err, trace) => Text("$err"),
|
||||||
loading: () => MyProgressIndicator());
|
loading: () => const MyProgressIndicator());
|
||||||
|
|
||||||
return ListView(
|
return ListView(
|
||||||
children: [
|
children: [
|
||||||
@@ -490,7 +490,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
passController.text = s.settings!["password"] ?? "";
|
passController.text = s.settings!["password"] ?? "";
|
||||||
}
|
}
|
||||||
|
|
||||||
String _selectImpl =
|
String selectImpl =
|
||||||
s.implementation == null ? "local" : s.implementation!;
|
s.implementation == null ? "local" : s.implementation!;
|
||||||
return StatefulBuilder(builder: (context, setState) {
|
return StatefulBuilder(builder: (context, setState) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
@@ -502,10 +502,10 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
label: const Text("实现"),
|
label: const Text("实现"),
|
||||||
onSelected: (value) {
|
onSelected: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_selectImpl = value!;
|
selectImpl = value!;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
initialSelection: _selectImpl,
|
initialSelection: selectImpl,
|
||||||
dropdownMenuEntries: const [
|
dropdownMenuEntries: const [
|
||||||
DropdownMenuEntry(value: "local", label: "本地存储"),
|
DropdownMenuEntry(value: "local", label: "本地存储"),
|
||||||
DropdownMenuEntry(value: "webdav", label: "webdav")
|
DropdownMenuEntry(value: "webdav", label: "webdav")
|
||||||
@@ -515,7 +515,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
decoration: const InputDecoration(labelText: "名称"),
|
decoration: const InputDecoration(labelText: "名称"),
|
||||||
controller: nameController,
|
controller: nameController,
|
||||||
),
|
),
|
||||||
_selectImpl != "local"
|
selectImpl != "local"
|
||||||
?
|
?
|
||||||
Column(
|
Column(
|
||||||
children: [
|
children: [
|
||||||
@@ -573,7 +573,7 @@ class _SystemSettingsPageState extends ConsumerState<SystemSettingsPage> {
|
|||||||
.read(storageSettingProvider.notifier)
|
.read(storageSettingProvider.notifier)
|
||||||
.addStorage(Storage(
|
.addStorage(Storage(
|
||||||
name: nameController.text,
|
name: nameController.text,
|
||||||
implementation: _selectImpl,
|
implementation: selectImpl,
|
||||||
settings: {
|
settings: {
|
||||||
"tv_path": tvPathController.text,
|
"tv_path": tvPathController.text,
|
||||||
"movie_path": moviePathController.text,
|
"movie_path": moviePathController.text,
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ class _TvDetailsPageState extends ConsumerState<TvDetailsPage> {
|
|||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
return seriesDetails.when(
|
return seriesDetails.when(
|
||||||
data: (details) {
|
data: (details) {
|
||||||
Map<int, List<DataRow>> m = Map();
|
Map<int, List<DataRow>> m = {};
|
||||||
for (final ep in details.episodes!) {
|
for (final ep in details.episodes!) {
|
||||||
var row = DataRow(cells: [
|
var row = DataRow(cells: [
|
||||||
DataCell(Text("${ep.episodeNumber}")),
|
DataCell(Text("${ep.episodeNumber}")),
|
||||||
|
|||||||
Reference in New Issue
Block a user