Restore the desktop connection manager's local server destination alongside saved remotes. - Add a Local Server card for desktop-shell switching with active state handling. - Switch remote profile selection into remote mode before activating the profile. - Cover desktop local/remote switching behavior with tests and localized labels. - Document the switch-server local option and add the published package changeset. Files changed: .changeset/fn-7478-local-server-switch-option.md | 7 +++ docs/native-shell.md | 3 +- .../components/NativeShellConnectionManager.css | 19 ++++++ .../components/NativeShellConnectionManager.tsx | 55 ++++++++++++++--- .../NativeShellConnectionManager.test.tsx | 71 ++++++++++++++++++++-- packages/i18n/locales/en/app.json | 5 +- packages/i18n/locales/es/app.json | 5 +- packages/i18n/locales/fr/app.json | 5 +- packages/i18n/locales/ko/app.json | 5 +- packages/i18n/locales/zh-CN/app.json | 5 +- packages/i18n/locales/zh-TW/app.json | 5 +- packages/i18n/src/resources.d.ts | 3 + 12 files changed, 168 insertions(+), 20 deletions(-) Fusion-Task-Id: FN-7478 Fusion-Task-Lineage: 86a94faa-4799-46cc-aaed-b7901ee9698c Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
88 lines
1.9 KiB
CSS
88 lines
1.9 KiB
CSS
.native-shell-connection-manager {
|
|
width: min(100%, 42rem);
|
|
}
|
|
|
|
.native-shell-connection-manager__mode-row {
|
|
display: flex;
|
|
gap: var(--space-sm);
|
|
padding: 0 var(--space-xl) var(--space-md);
|
|
}
|
|
|
|
.native-shell-connection-manager__profiles {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-sm);
|
|
padding: 0 var(--space-xl);
|
|
max-height: 16rem;
|
|
overflow: auto;
|
|
}
|
|
|
|
.native-shell-connection-manager__profile {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
.native-shell-connection-manager__destination {
|
|
width: 100%;
|
|
border-color: var(--border);
|
|
color: var(--text);
|
|
text-align: start;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.native-shell-connection-manager__destination:hover,
|
|
.native-shell-connection-manager__destination:focus-visible {
|
|
border-color: var(--accent-primary);
|
|
}
|
|
|
|
.native-shell-connection-manager__destination > span:first-child {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-xs);
|
|
}
|
|
|
|
.native-shell-connection-manager__profile-actions {
|
|
display: inline-flex;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.native-shell-connection-manager__editor {
|
|
padding-top: var(--space-lg);
|
|
}
|
|
|
|
.native-shell-connection-manager__empty-state {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--space-sm);
|
|
}
|
|
|
|
.native-shell-connection-manager__active-pill {
|
|
display: inline-flex;
|
|
margin-top: var(--space-xs);
|
|
padding: 0 var(--space-sm);
|
|
border-radius: var(--radius-pill);
|
|
color: var(--text);
|
|
background: var(--status-done-bg);
|
|
}
|
|
|
|
.native-shell-connection-manager__delete-confirm {
|
|
margin: 0 var(--space-xl);
|
|
padding: var(--space-md);
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-md);
|
|
background: color-mix(in srgb, var(--color-warning) 8%, transparent);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.native-shell-connection-manager__profile {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.native-shell-connection-manager__mode-row {
|
|
flex-wrap: wrap;
|
|
}
|
|
}
|