@@ -163,13 +163,18 @@ export function ConfigEditorModal({ spaceId, spaceName, onClose, onSaved }: Conf
163163 < div className = "bg-[rgb(var(--surface))] w-full max-w-4xl h-[80vh] rounded-xl shadow-2xl flex flex-col border border-[rgb(var(--border))]" >
164164 { /* Header */ }
165165 < div className = "flex items-center justify-between p-4 border-b border-[rgb(var(--border))]" >
166- < div >
167- < h3 className = "text-lg font-semibold flex items-center gap-2" >
168- Add Custom Server
169- </ h3 >
170- < p className = "text-sm text-[rgb(var(--muted))]" >
171- Edit the JSON configuration for space: { spaceName }
172- </ p >
166+ < div className = "flex items-center gap-3" >
167+ < div className = "w-9 h-9 flex items-center justify-center rounded-lg bg-[rgb(var(--primary))]/10 border border-[rgb(var(--primary))]/20" >
168+ < Save className = "h-4 w-4 text-[rgb(var(--primary))]" />
169+ </ div >
170+ < div >
171+ < h3 className = "text-base font-semibold" >
172+ Custom Server Configuration
173+ </ h3 >
174+ < p className = "text-xs text-[rgb(var(--muted))]" >
175+ { spaceName } · JSON config
176+ </ p >
177+ </ div >
173178 </ div >
174179 < button
175180 onClick = { onClose }
@@ -180,36 +185,40 @@ export function ConfigEditorModal({ spaceId, spaceName, onClose, onSaved }: Conf
180185 </ div >
181186
182187 { /* Toolbar */ }
183- < div className = "flex items-center gap-2 p -2 border-b border-[rgb(var(--border))] bg-[rgb(var(--surface-dim))]" >
188+ < div className = "flex items-center gap-2 px-3 py -2 border-b border-[rgb(var(--border))] bg-[rgb(var(--surface-dim))]" >
184189 < button
185190 onClick = { handleSave }
186191 disabled = { isSaving || isLoading || ! isValidJson }
187- className = "flex items-center gap-2 px-3 py-1.5 text-sm font-medium bg-[rgb(var(--primary))] text-[rgb(var(--primary-foreground))] rounded-md hover:bg-[rgb(var(--primary-hover))] disabled:opacity-50 transition-colors"
192+ className = "flex items-center gap-2 px-3.5 py-1.5 text-sm font-medium bg-[rgb(var(--primary))] text-[rgb(var(--primary-foreground))] rounded-lg hover:bg-[rgb(var(--primary-hover))] disabled:opacity-50 shadow-sm transition-colors"
188193 >
189194 { isSaving ? < Loader2 className = "h-4 w-4 animate-spin" /> : < Save className = "h-4 w-4" /> }
190- Save Changes
195+ Save
191196 </ button >
192-
193- < div className = "h-4 w-px bg-[rgb(var(--border))]" />
197+
198+ < div className = "h-5 w-px bg-[rgb(var(--border))]" />
194199
195200 < button
196201 onClick = { handleFormat }
197202 disabled = { isLoading || ! isValidJson }
198- className = "flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-[rgb(var(--foreground))] hover:bg-[rgb(var(--surface-hover))] rounded-md transition-colors disabled:opacity-50"
203+ className = "flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-[rgb(var(--muted))] hover:text-[rgb(var(-- foreground))] hover:bg-[rgb(var(--surface-hover))] rounded-lg transition-colors disabled:opacity-50"
199204 title = "Format JSON (Ctrl+Shift+F)"
200205 >
201206 < Wand2 className = "h-4 w-4" />
202207 Format
203208 </ button >
204209
205210 < div className = "flex-1" />
206-
211+
207212 { ! isValidJson && (
208213 < span className = "flex items-center gap-1.5 text-xs text-[rgb(var(--error))] px-2 font-medium" >
209214 < AlertTriangle className = "h-3 w-3" />
210215 { validationErrors . length > 0 ? 'Schema Error' : 'Invalid JSON' }
211216 </ span >
212217 ) }
218+
219+ < span className = "text-xs text-[rgb(var(--muted))]" >
220+ Ctrl+S save · Ctrl+Shift+F format
221+ </ span >
213222 </ div >
214223
215224 { /* Editor Area */ }
0 commit comments