new pending visibility
Some checks failed
Release / meta (push) Successful in 8s
Release / release-dev (push) Has been cancelled
Release / release-master (push) Has been cancelled
Release / android-build (push) Has been cancelled
Release / linux-build (push) Has been cancelled
Release / web-build (push) Has been cancelled

This commit is contained in:
2026-01-12 16:03:47 +00:00
parent 5c0043146f
commit 45042b5001
2 changed files with 330 additions and 74 deletions

View File

@@ -34,6 +34,7 @@ class _LocoTimelinePageState extends State<LocoTimelinePage> {
bool _isSaving = false;
bool _isDeleting = false;
final Set<int> _moderatingEventIds = {};
final Set<String> _expandedPendingAttrs = {};
bool _showPending = true;
@override
@@ -613,16 +614,30 @@ class _LocoTimelinePageState extends State<LocoTimelinePage> {
padding: const EdgeInsets.all(16),
children: [
if (isElevated)
SwitchListTile.adaptive(
contentPadding: EdgeInsets.zero,
title: const Text('Show pending entries'),
value: _showPending,
onChanged: (value) {
setState(() {
_showPending = value;
});
_persistPendingVisibility(value);
},
Row(
children: [
Expanded(
child: SwitchListTile.adaptive(
contentPadding: EdgeInsets.zero,
title: const Text('Show pending entries'),
value: _showPending,
onChanged: (value) async {
setState(() {
_showPending = value;
});
await _persistPendingVisibility(value);
if (mounted) {
await _load();
}
},
),
),
IconButton(
tooltip: 'Refresh timeline',
onPressed: _load,
icon: const Icon(Icons.refresh),
),
],
),
_TimelineGrid(
entries: visibleTimeline,
@@ -633,6 +648,14 @@ class _LocoTimelinePageState extends State<LocoTimelinePage> {
onDeleteEntry: _deleteEntry,
onModeratePending: _moderatePendingEntry,
pendingActionEventIds: _moderatingEventIds,
expandedPendingAttrs: _expandedPendingAttrs,
onTogglePendingAttr: (attrCode) {
setState(() {
if (!_expandedPendingAttrs.add(attrCode)) {
_expandedPendingAttrs.remove(attrCode);
}
});
},
),
const SizedBox(height: 16),
_EventEditor(