refa player (#1848)

* tweak

* Reapply "opt: audio uri" (#1833)

This reverts commit 8e726f49b2.

* opt: player

* opt: player

* refa: create player

* refa: player

* opt: UaType

* fix: sb seek preview

* opt: setSub

* fix: screenshot

* opt: unnecessary final player state

* opt: player track

* opt FileSource constructor [skip ci]

* fixes

* fix: dispose player

* fix: quote

* update

* fix: multi ua & remove unused loop

* remove unneeded check [skip ci]

---------

Co-authored-by: dom <githubaccount56556@proton.me>
This commit is contained in:
My-Responsitories
2026-02-27 15:51:55 +08:00
committed by GitHub
parent 6782bee11a
commit 7276cde48a
39 changed files with 1063 additions and 1112 deletions

View File

@@ -28,6 +28,8 @@ Widget content(
);
final moduleDynamic = item.modules.moduleDynamic;
final pics = moduleDynamic?.major?.opus?.pics;
final text =
moduleDynamic?.desc?.text ?? moduleDynamic?.major?.opus?.summary?.text;
return Padding(
padding: floor == 1
? const EdgeInsets.fromLTRB(12, 0, 12, 6)
@@ -78,8 +80,9 @@ Widget content(
style: isSave
? const TextStyle(fontSize: 15)
: const TextStyle(fontSize: 16),
contextMenuBuilder: (_, state) =>
_contextMenuBuilder(state, moduleDynamic),
contextMenuBuilder: text == null || text.isEmpty
? null
: (_, state) => _contextMenuBuilder(state, text),
)
: custom_text.Text.rich(
style: floor == 1
@@ -110,26 +113,17 @@ Widget content(
);
}
Widget _contextMenuBuilder(
EditableTextState state,
ModuleDynamicModel? moduleDynamic,
) {
Widget _contextMenuBuilder(EditableTextState state, String text) {
return AdaptiveTextSelectionToolbar.buttonItems(
buttonItems: state.contextMenuButtonItems
..add(
ContextMenuButtonItem(
label: '文本',
onPressed: () => _onCopyText(moduleDynamic),
),
ContextMenuButtonItem(label: '文本', onPressed: () => _onCopyText(text)),
),
anchors: state.contextMenuAnchors,
);
}
void _onCopyText(ModuleDynamicModel? moduleDynamic) {
final text =
moduleDynamic?.desc?.text ?? moduleDynamic?.major?.opus?.summary?.text;
if (text == null || text.isEmpty) return;
void _onCopyText(String text) {
showDialog(
context: Get.context!,
builder: (context) => Dialog(

View File

@@ -533,7 +533,7 @@ class PercentageChip extends StatelessWidget {
}
}
Future showVoteDialog(
Future<void> showVoteDialog(
BuildContext context,
int voteId, [
int? dynamicId,