From 597c5e5e13d9185d23329c020829df4b128a82a4 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sat, 13 Jun 2026 14:40:55 +0800
Subject: [PATCH] Fix outside blank tag removal drop

---
 src/Apptag/AppLibraryController.swift |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/Apptag/AppLibraryController.swift b/src/Apptag/AppLibraryController.swift
index aa2d4db..2a2136a 100644
--- a/src/Apptag/AppLibraryController.swift
+++ b/src/Apptag/AppLibraryController.swift
@@ -5,6 +5,8 @@
     let quickSearchDocuments: [QuickSearchDocument]
     let tagColors: [String: Int]
     let tagOrder: [String]
+    let tagDefinitions: [String: TagDatabase.TagDef]
+    let containerAppOrder: [String: [String]]
 }
 
 struct AppLibraryRefreshResult {
@@ -20,6 +22,10 @@
 struct AppLibrarySystemSchemeApplyResult {
     let snapshot: AppLibrarySnapshot
     let summary: SmartStartSummary?
+}
+
+struct AppLibraryUncategorizedResetResult {
+    let snapshot: AppLibrarySnapshot
 }
 
 enum AppLibraryController {
@@ -56,6 +62,14 @@
         )
     }
 
+    static func resetToUncategorized() -> AppLibraryUncategorizedResetResult {
+        let scannedApps = AppIndexer.scan(useCache: false)
+        let store = TagDatabase.resetAppTagAssignmentsToUncategorized()
+        return AppLibraryUncategorizedResetResult(
+            snapshot: makeSnapshot(scannedApps: scannedApps, store: store)
+        )
+    }
+
     private static func makeSnapshot(
         scannedApps: [AppInfo],
         store: TagDatabase.Store
@@ -65,7 +79,13 @@
             apps: apps,
             quickSearchDocuments: QuickSearchEngine.makeDocuments(apps: apps, store: store),
             tagColors: store.tags.mapValues { $0.color },
-            tagOrder: TagEditor.orderedTagNames()
+            tagOrder: TagEditor.orderedTagNames(in: store),
+            tagDefinitions: store.tags,
+            containerAppOrder: TagDatabase.normalizedContainerAppOrder(
+                store.containerAppOrder,
+                tags: store.tags,
+                appTags: store.appTags
+            )
         )
     }
 }

--
Gitblit v1.9.3