mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
refactors (#539)
This commit is contained in:
@@ -3,7 +3,8 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_markdown/flutter_markdown.dart';
|
||||
import 'package:server_box/core/extension/context/locale.dart';
|
||||
import 'package:server_box/data/model/server/snippet.dart';
|
||||
import 'package:server_box/data/res/provider.dart';
|
||||
import 'package:server_box/data/provider/server.dart';
|
||||
import 'package:server_box/data/provider/snippet.dart';
|
||||
|
||||
class SnippetEditPage extends StatefulWidget {
|
||||
const SnippetEditPage({super.key, this.snippet});
|
||||
@@ -55,7 +56,7 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
)),
|
||||
actions: Btn.ok(
|
||||
onTap: () {
|
||||
Pros.snippet.del(widget.snippet!);
|
||||
SnippetProvider.del(widget.snippet!);
|
||||
context.pop();
|
||||
context.pop();
|
||||
},
|
||||
@@ -89,9 +90,9 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
autoRunOn: _autoRunOn.value.isEmpty ? null : _autoRunOn.value,
|
||||
);
|
||||
if (widget.snippet != null) {
|
||||
Pros.snippet.update(widget.snippet!, snippet);
|
||||
SnippetProvider.update(widget.snippet!, snippet);
|
||||
} else {
|
||||
Pros.snippet.add(snippet);
|
||||
SnippetProvider.add(snippet);
|
||||
}
|
||||
context.pop();
|
||||
},
|
||||
@@ -120,7 +121,7 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
icon: Icons.note,
|
||||
suggestion: true,
|
||||
),
|
||||
TagTile(tags: _tags, allTags: Pros.snippet.tags.value).cardx,
|
||||
TagTile(tags: _tags, allTags: SnippetProvider.tags.value).cardx,
|
||||
Input(
|
||||
controller: _scriptController,
|
||||
node: _scriptNode,
|
||||
@@ -145,7 +146,7 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
final subtitle = vals.isEmpty
|
||||
? null
|
||||
: vals
|
||||
.map((e) => Pros.server.pick(id: e)?.spi.name ?? e)
|
||||
.map((e) => ServerProvider.pick(id: e)?.value.spi.name ?? e)
|
||||
.join(', ');
|
||||
return ListTile(
|
||||
leading: const Padding(
|
||||
@@ -163,11 +164,12 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
onTap: () async {
|
||||
vals.removeWhere((e) => !Pros.server.serverOrder.contains(e));
|
||||
vals.removeWhere(
|
||||
(e) => !ServerProvider.serverOrder.value.contains(e));
|
||||
final serverIds = await context.showPickDialog(
|
||||
title: l10n.autoRun,
|
||||
items: Pros.server.serverOrder,
|
||||
name: (e) => Pros.server.pick(id: e)?.spi.name ?? e,
|
||||
items: ServerProvider.serverOrder.value,
|
||||
name: (e) => ServerProvider.pick(id: e)?.value.spi.name ?? e,
|
||||
initial: vals,
|
||||
clearable: true,
|
||||
);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:fl_lib/fl_lib.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:server_box/data/res/store.dart';
|
||||
|
||||
import 'package:server_box/data/model/server/snippet.dart';
|
||||
@@ -38,13 +37,13 @@ class _SnippetListPageState extends State<SnippetListPage> {
|
||||
}
|
||||
|
||||
Widget _buildBody() {
|
||||
return Consumer<SnippetProvider>(
|
||||
builder: (_, provider, __) {
|
||||
if (provider.snippets.isEmpty) {
|
||||
return SnippetProvider.snippets.listenVal(
|
||||
(snippets) {
|
||||
if (snippets.isEmpty) {
|
||||
return Center(child: Text(libL10n.empty));
|
||||
}
|
||||
|
||||
final filtered = provider.snippets
|
||||
final filtered = snippets
|
||||
.where((e) => _tag == null || (e.tags?.contains(_tag) ?? false))
|
||||
.toList();
|
||||
|
||||
@@ -52,7 +51,7 @@ class _SnippetListPageState extends State<SnippetListPage> {
|
||||
padding: const EdgeInsets.symmetric(horizontal: 11),
|
||||
itemCount: filtered.length,
|
||||
onReorder: (oldIdx, newIdx) => setState(() {
|
||||
provider.snippets.moveByItem(
|
||||
snippets.moveByItem(
|
||||
oldIdx,
|
||||
newIdx,
|
||||
filtered: filtered,
|
||||
@@ -62,7 +61,7 @@ class _SnippetListPageState extends State<SnippetListPage> {
|
||||
);
|
||||
}),
|
||||
header: TagSwitcher(
|
||||
tags: provider.tags,
|
||||
tags: SnippetProvider.tags,
|
||||
onTagChanged: (tag) => setState(() => _tag = tag),
|
||||
initTag: _tag,
|
||||
width: _media.size.width,
|
||||
|
||||
Reference in New Issue
Block a user