Commit 24c40bf
committed
Simplify codebase with NotificationObserver helper and convenience methods
Add NotificationObserver helper class to eliminate repetitive notification observer management patterns across MenuController and ModelManager. This consolidates observer lifecycle handling (registration, removal, cleanup) into a single reusable component.
Add convenience methods to ModelManager (isInstalled, isDownloading, downloadProgress) to reduce pattern matching boilerplate in view layer. These methods provide cleaner, more readable alternatives to repeatedly checking ModelStatus enums.
Remove duplicate isModelDownloaded method in favor of the new isInstalled method for consistency.
Changes:
- Add Common/NotificationObserver.swift with automatic cleanup in deinit
- Refactor MenuController to use NotificationObserver (removed deinit, simplified addObservers)
- Refactor ModelManager to use NotificationObserver and add convenience methods
- Update InstalledModelItemView to use convenience methods instead of status pattern matching
- Update Sections.swift to use convenience methods in filter logic
Net result: -27 lines, improved readability, reduced duplication.1 parent 182e916 commit 24c40bf
File tree
5 files changed
+101
-98
lines changed- LlamaBarn
- Common
- Menu
- Models
5 files changed
+101
-98
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
156 | | - | |
157 | | - | |
158 | | - | |
| 156 | + | |
159 | 157 | | |
160 | | - | |
| 158 | + | |
161 | 159 | | |
162 | 160 | | |
163 | | - | |
164 | | - | |
165 | 161 | | |
166 | 162 | | |
167 | 163 | | |
168 | 164 | | |
169 | 165 | | |
170 | | - | |
171 | 166 | | |
172 | 167 | | |
173 | 168 | | |
174 | 169 | | |
175 | 170 | | |
176 | 171 | | |
177 | 172 | | |
178 | | - | |
| 173 | + | |
179 | 174 | | |
180 | 175 | | |
181 | 176 | | |
| |||
188 | 183 | | |
189 | 184 | | |
190 | 185 | | |
191 | | - | |
| 186 | + | |
192 | 187 | | |
193 | 188 | | |
194 | 189 | | |
| |||
198 | 193 | | |
199 | 194 | | |
200 | 195 | | |
201 | | - | |
202 | | - | |
| 196 | + | |
203 | 197 | | |
204 | 198 | | |
205 | 199 | | |
| |||
212 | 206 | | |
213 | 207 | | |
214 | 208 | | |
215 | | - | |
216 | | - | |
| 209 | + | |
217 | 210 | | |
218 | 211 | | |
219 | 212 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 40 | | |
45 | 41 | | |
46 | 42 | | |
| |||
72 | 68 | | |
73 | 69 | | |
74 | 70 | | |
75 | | - | |
| 71 | + | |
76 | 72 | | |
77 | 73 | | |
78 | 74 | | |
| |||
125 | 121 | | |
126 | 122 | | |
127 | 123 | | |
128 | | - | |
129 | | - | |
| 124 | + | |
130 | 125 | | |
131 | 126 | | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
139 | 132 | | |
140 | 133 | | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
148 | 139 | | |
149 | 140 | | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
157 | 146 | | |
158 | 147 | | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
168 | 153 | | |
169 | | - | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
170 | 157 | | |
171 | 158 | | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
180 | 164 | | |
181 | | - | |
| 165 | + | |
| 166 | + | |
182 | 167 | | |
183 | 168 | | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
191 | 173 | | |
192 | | - | |
| 174 | + | |
| 175 | + | |
193 | 176 | | |
194 | 177 | | |
195 | 178 | | |
196 | 179 | | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | 180 | | |
203 | 181 | | |
204 | 182 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
| 139 | + | |
143 | 140 | | |
144 | 141 | | |
145 | 142 | | |
| |||
261 | 258 | | |
262 | 259 | | |
263 | 260 | | |
264 | | - | |
265 | | - | |
| 261 | + | |
266 | 262 | | |
267 | 263 | | |
268 | 264 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | 46 | | |
51 | 47 | | |
52 | 48 | | |
| |||
64 | 60 | | |
65 | 61 | | |
66 | 62 | | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | 63 | | |
73 | 64 | | |
74 | 65 | | |
| |||
128 | 119 | | |
129 | 120 | | |
130 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
131 | 141 | | |
132 | | - | |
133 | 142 | | |
134 | 143 | | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
141 | 147 | | |
142 | | - | |
| 148 | + | |
143 | 149 | | |
144 | 150 | | |
0 commit comments