@@ -3,7 +3,6 @@ import os
33import shared
44import SwiftUI
55
6-
76struct AppBarSettingRow : View {
87 let tab : FLTabItem
98 let store : AppBarTabSettingStore
@@ -15,7 +14,6 @@ struct AppBarSettingRow: View {
1514
1615 @Environment ( FlareTheme . self) private var theme
1716
18-
1917 init ( tab: FLTabItem , store: AppBarTabSettingStore , isPrimary: Bool , defaultToggleValue: Bool = true ) {
2018 self . tab = tab
2119 self . store = store
@@ -57,32 +55,32 @@ struct AppBarSettingRow: View {
5755
5856 if !isPrimary {
5957 Toggle (
60- " " ,
61- isOn: Binding (
62- get: {
63- let isEnabled = store. availableAppBarTabsItems. contains (
64- where: { $0. key == tab. key
65- } )
66- FlareLog
67- . debug (
68- " Toggle GET: tab= \( tab. key) , isEnabled= \( isEnabled) , defaultValue= \( defaultToggleValue) "
69- )
70- return isEnabled ? true : defaultToggleValue
71- } ,
72- set: { _ in
73- if !isProcessing {
74- isProcessing = true
75- FlareLog . debug ( " Toggle SET: tab= \( tab. key) , 开始切换状态 " )
76- store. toggleTab ( tab. key)
77- // 设置短暂延迟避免频繁操作
78- DispatchQueue . main. asyncAfter ( deadline: . now( ) + 0.5 ) {
79- isProcessing = false
80- FlareLog . debug ( " Toggle SET: tab= \( tab. key) , 切换完成 " )
58+ " " ,
59+ isOn: Binding (
60+ get: {
61+ let isEnabled = store. availableAppBarTabsItems. contains (
62+ where: { $0. key == tab. key
63+ } )
64+ FlareLog
65+ . debug (
66+ " Toggle GET: tab= \( tab. key) , isEnabled= \( isEnabled) , defaultValue= \( defaultToggleValue) "
67+ )
68+ return isEnabled ? true : defaultToggleValue
69+ } ,
70+ set: { _ in
71+ if !isProcessing {
72+ isProcessing = true
73+ FlareLog . debug ( " Toggle SET: tab= \( tab. key) , 开始切换状态 " )
74+ store. toggleTab ( tab. key)
75+ // 设置短暂延迟避免频繁操作
76+ DispatchQueue . main. asyncAfter ( deadline: . now( ) + 0.5 ) {
77+ isProcessing = false
78+ FlareLog . debug ( " Toggle SET: tab= \( tab. key) , 切换完成 " )
79+ }
8180 }
8281 }
83- }
82+ )
8483 )
85- )
8684 . disabled ( isProcessing)
8785 }
8886 }
@@ -96,13 +94,12 @@ struct ListTabItemRowRow: View {
9694 let store : AppBarTabSettingStore
9795 let onRequestEdit : ( String , String ) -> Void
9896 let isBlueskyFeed : Bool
99- let defaultToggleValue : Bool
97+ let defaultToggleValue : Bool
10098
10199 @Environment ( FlareTheme . self) private var theme
102100 @State private var isProcessing = false
103101 @State private var currentTitle : String
104102
105-
106103 init ( listId: String , title: String , store: AppBarTabSettingStore , onRequestEdit: @escaping ( String , String ) -> Void , isBlueskyFeed: Bool = false , defaultToggleValue: Bool = true ) {
107104 self . listId = listId
108105 self . title = title
0 commit comments