@@ -41,8 +41,17 @@ fun SettingsContent() {
4141 var selectedModuleType by mutableStateOf(currentSettings.preferredModuleType)
4242 var packageName by mutableStateOf(currentSettings.defaultPackageName)
4343
44- var moduleTemplates by remember { mutableStateOf(settings.getModuleTemplates()) }
45- var featureTemplates by remember { mutableStateOf(settings.getFeatureTemplates()) }
44+ // Use remember with a refreshTrigger to force UI updates
45+ var refreshTrigger by remember { mutableStateOf(0 ) }
46+ val moduleTemplates by remember(refreshTrigger) {
47+ mutableStateOf(settings.getModuleTemplates())
48+ }
49+ val featureTemplates by remember(refreshTrigger) {
50+ mutableStateOf(settings.getFeatureTemplates())
51+ }
52+
53+ // Function to trigger refresh
54+ val triggerRefresh = { refreshTrigger++ }
4655
4756 Scaffold (
4857 modifier = Modifier
@@ -111,6 +120,7 @@ fun SettingsContent() {
111120 preferredModuleType = selectedModuleType
112121 )
113122 settings.loadState(currentSettings)
123+ triggerRefresh()
114124 },
115125 onPackageNameChange = { packageName = it },
116126 onModuleTypeChange = { selectedModuleType = it }
@@ -122,24 +132,20 @@ fun SettingsContent() {
122132 onTemplateDelete = { template ->
123133 if (! template.isDefault) {
124134 settings.removeTemplate(template)
125- moduleTemplates = settings.getModuleTemplates()
126- currentSettings = settings.state.copy()
135+ triggerRefresh()
127136 }
128137 },
129138 onTemplateAdd = { newTemplate ->
130139 settings.saveTemplate(newTemplate)
131- moduleTemplates = settings.getModuleTemplates()
132- currentSettings = settings.state.copy()
140+ triggerRefresh()
133141 },
134142 onTemplateEdit = { oldTemplate, updatedTemplate ->
135143 settings.saveTemplate(updatedTemplate)
136- moduleTemplates = settings.getModuleTemplates()
137- currentSettings = settings.state.copy()
144+ triggerRefresh()
138145 },
139146 onSetDefault = { template ->
140147 settings.setDefaultModuleTemplate(template.id)
141- moduleTemplates = settings.getModuleTemplates()
142- currentSettings = settings.state.copy()
148+ triggerRefresh()
143149 }
144150 )
145151
@@ -149,24 +155,20 @@ fun SettingsContent() {
149155 onTemplateDelete = { template ->
150156 if (! template.isDefault) {
151157 settings.removeFeatureTemplate(template)
152- featureTemplates = settings.getFeatureTemplates()
153- currentSettings = settings.state.copy()
158+ triggerRefresh()
154159 }
155160 },
156161 onTemplateAdd = { newTemplate ->
157162 settings.saveFeatureTemplate(newTemplate)
158- featureTemplates = settings.getFeatureTemplates()
159- currentSettings = settings.state.copy()
163+ triggerRefresh()
160164 },
161165 onTemplateEdit = { oldTemplate, updatedTemplate ->
162166 settings.saveFeatureTemplate(updatedTemplate)
163- featureTemplates = settings.getFeatureTemplates()
164- currentSettings = settings.state.copy()
167+ triggerRefresh()
165168 },
166169 onSetDefault = { template ->
167170 settings.setDefaultFeatureTemplate(template.id)
168- featureTemplates = settings.getFeatureTemplates()
169- currentSettings = settings.state.copy()
171+ triggerRefresh()
170172 }
171173 )
172174 }
0 commit comments