* opt: danmaku weight

* opt: cache clean

* opt: level img

* opt: play icon

* opt: svg big-vip

* opt: webview ua

* opt: simple dialog

* feat: export vtt

* tweak

* opt: mapIndexed

* feat: more subtitle

* refa: settings page

* feat: codec list options

* drawPath

Signed-off-by: dom <githubaccount56556@proton.me>

* custom dialog option

Signed-off-by: dom <githubaccount56556@proton.me>

* update

Signed-off-by: dom <githubaccount56556@proton.me>

* Revert "drawPath"

This reverts commit e8a4b19f0f.

* opt: _initStreamIndex

* fix: avoid gap

* fix: scale [skip ci]

* fix: hide repost menu not login

* tweaks

Signed-off-by: dom <githubaccount56556@proton.me>

---------

Co-authored-by: dom <githubaccount56556@proton.me>
This commit is contained in:
My-Responsitories
2026-06-26 02:51:41 +00:00
committed by GitHub
parent 3dee6a85e5
commit 9d94c72e95
96 changed files with 2268 additions and 2143 deletions

View File

@@ -17,6 +17,7 @@ class _BarSetPageState extends State<BarSetPage> with ReorderMixin {
late final String key;
late final String title;
late final List<Pair<EnumWithLabel, bool>> list;
late EdgeInsets padding;
@override
void initState() {
@@ -29,7 +30,7 @@ class _BarSetPageState extends State<BarSetPage> with ReorderMixin {
.map((e) => Pair(first: e, second: cache?.contains(e.index) ?? true))
.toList();
if (cache != null && cache.isNotEmpty) {
final cacheIndex = {for (final (k, v) in cache.indexed) v: k};
final cacheIndex = {for (int i = 0; i < cache.length; i++) cache[i]: i};
list.sort((a, b) {
final indexA = cacheIndex[a.first.index] ?? cacheIndex.length;
final indexB = cacheIndex[b.first.index] ?? cacheIndex.length;
@@ -38,6 +39,13 @@ class _BarSetPageState extends State<BarSetPage> with ReorderMixin {
}
}
@override
void didChangeDependencies() {
super.didChangeDependencies();
final viewPad = MediaQuery.viewPaddingOf(context);
padding = .only(top: 10, right: viewPad.right + 34, bottom: viewPad.bottom);
}
void saveEdit() {
GStorage.setting.put(
key,
@@ -73,9 +81,7 @@ class _BarSetPageState extends State<BarSetPage> with ReorderMixin {
onReorderItem: onReorderItem,
proxyDecorator: proxyDecorator,
footer: Padding(
padding:
MediaQuery.viewPaddingOf(context).copyWith(top: 0, left: 0) +
const EdgeInsets.only(right: 34, top: 10),
padding: padding,
child: const Align(
alignment: Alignment.centerRight,
child: Text('*长按拖动排序'),

View File

@@ -15,6 +15,7 @@ import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/storage_key.dart';
import 'package:PiliPlus/utils/storage_pref.dart';
import 'package:PiliPlus/utils/theme_utils.dart';
import 'package:collection/collection.dart';
import 'package:flex_seed_scheme/flex_seed_scheme.dart';
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -148,10 +149,8 @@ class _ColorSelectPageState extends State<ColorSelectPage> {
alignment: WrapAlignment.center,
spacing: 22,
runSpacing: 18,
children: colorThemeTypes.indexed.map(
(e) {
final index = e.$1;
final item = e.$2;
children: colorThemeTypes.mapIndexed(
(index, item) {
return GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {