Files
polaris/ui/lib/init_wizard.dart
2024-11-10 15:09:16 +08:00

119 lines
3.5 KiB
Dart
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:flutter/material.dart';
import 'package:flutter_form_builder/flutter_form_builder.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:ui/settings/downloader.dart';
import 'package:ui/settings/prowlarr.dart';
import 'package:ui/settings/storage.dart';
class InitWizard extends ConsumerStatefulWidget {
const InitWizard({super.key});
static final String route = "/init_wizard";
@override
ConsumerState<ConsumerStatefulWidget> createState() {
return _InitWizardState();
}
}
class _InitWizardState extends ConsumerState<InitWizard> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SelectionArea(
child: Container(
padding: EdgeInsets.all(50),
child: ListView(
children: [
Container(
alignment: Alignment.center,
child: Text(
"Polaris 影视追踪下载",
style: TextStyle(
fontSize: 30,
color: Theme.of(context).colorScheme.primary,
fontWeight: FontWeight.bold),
),
),
Container(
padding: EdgeInsets.only(left: 10, top: 30, bottom: 30),
child: Text(
"设置向导",
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
color: Theme.of(context).colorScheme.primary),
),
),
tmdbSetting(),
downloaderSetting(),
indexerSetting(),
storageSetting(),
],
),
)),
);
}
Widget tmdbSetting() {
return ExpansionTile(
title: Text(
"第一步TMDB设置",
style: TextStyle(fontWeight: FontWeight.bold),
),
childrenPadding: EdgeInsets.only(left: 100, right: 20),
initiallyExpanded: true,
children: [
Container(
alignment: Alignment.topLeft,
child: Text("TMDB API Key 设置用来获取各种影视的信息API Key获取方式参考官网"),
),
FormBuilder(
child: Column(
children: [
FormBuilderTextField(
name: "tmdb",
decoration: InputDecoration(labelText: "TMDB API Key"),
),
Center(
child: Padding(
padding: EdgeInsets.all(10),
child: ElevatedButton(onPressed: null, child: Text("保存")),
))
],
))
],
);
}
Widget indexerSetting() {
return ExpansionTile(
initiallyExpanded: true,
childrenPadding: EdgeInsets.only(left: 100, right: 20),
title: Text(
"第三步Prowlarr设置",
style: TextStyle(fontWeight: FontWeight.bold),
),
children: [ProwlarrSettingPage()],
);
}
Widget downloaderSetting() {
return ExpansionTile(
childrenPadding: EdgeInsets.only(left: 100, right: 20),
initiallyExpanded: true,
title: Text("第二步:下载客户端", style: TextStyle(fontWeight: FontWeight.bold)),
children: [
DownloaderSettings(),
],
);
}
Widget storageSetting() {
return ExpansionTile(
childrenPadding: EdgeInsets.only(left: 100, right: 20),
title: Text("第四步:存储设置", style: TextStyle(fontWeight: FontWeight.bold)),
initiallyExpanded: true,
children: [StorageSettings()],
);
}
}