Files
fusion/packages/dashboard/app/components/NativeShellConnectionManager.css
gsxdsm e8b73623d4 FN-7477: clarify desktop remote server setup
Clarifies the desktop Connection Manager so local mode is distinct from adding saved remote servers.

- Split the desktop local server card from the remote server profile flow and keep the editor closed until adding or editing a remote.
- Add desktop-specific remote server copy, accessible labels with profile URLs, and responsive styling for the revised layout.
- Update Connection Manager tests, native shell docs, localized strings, resource types, and the Fusion changeset.

Files changed:
 .changeset/fn-7477-connection-manager-clarity.md   |   7 +
 docs/native-shell.md                               |   5 +-
 .../components/NativeShellConnectionManager.css    |  65 ++++++---
 .../components/NativeShellConnectionManager.tsx    | 153 ++++++++++++--------
 .../NativeShellConnectionManager.test.tsx          | 156 +++++++++++++++------
 packages/i18n/locales/en/app.json                  |  15 +-
 packages/i18n/locales/es/app.json                  |  15 +-
 packages/i18n/locales/fr/app.json                  |  15 +-
 packages/i18n/locales/ko/app.json                  |  15 +-
 packages/i18n/locales/zh-CN/app.json               |  15 +-
 packages/i18n/locales/zh-TW/app.json               |  15 +-
 packages/i18n/src/resources.d.ts                   |  13 +-
 12 files changed, 334 insertions(+), 155 deletions(-)

Fusion-Task-Id: FN-7477

Fusion-Task-Lineage: adc2df09-d713-4ccd-8fb6-20a32c6a553e

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-03 21:47:00 -07:00

107 lines
2.5 KiB
CSS

.native-shell-connection-manager {
width: min(100%, 42rem);
}
.native-shell-connection-manager__profiles {
display: flex;
flex-direction: column;
gap: var(--space-sm);
padding: 0 var(--space-xl);
max-height: 18rem;
overflow: auto;
}
.native-shell-connection-manager__overview,
.native-shell-connection-manager__section-heading,
.native-shell-connection-manager__profile {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-md);
}
.native-shell-connection-manager__overview-copy {
display: flex;
flex-direction: column;
gap: var(--space-xs);
}
.native-shell-connection-manager__overview-copy h3,
.native-shell-connection-manager__section-heading h3,
.native-shell-connection-manager__editor h3 {
margin: 0;
}
.native-shell-connection-manager__overview-copy p,
.native-shell-connection-manager__section-heading p {
margin: var(--space-xs) 0 0;
}
.native-shell-connection-manager__section-heading {
padding: var(--space-sm) 0;
}
.native-shell-connection-manager__profile-actions,
.native-shell-connection-manager__mobile-actions {
display: inline-flex;
gap: var(--space-sm);
flex-wrap: wrap;
}
.native-shell-connection-manager__mobile-actions {
padding: var(--space-md) var(--space-xl) 0;
}
.native-shell-connection-manager__editor {
padding-top: var(--space-lg);
}
.native-shell-connection-manager__editor h3 {
padding-bottom: var(--space-sm);
}
.native-shell-connection-manager__empty-state {
display: flex;
flex-direction: column;
gap: var(--space-sm);
}
.native-shell-connection-manager__empty-state p {
margin: 0;
}
.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);
}
.native-shell-connection-manager__standalone-error {
margin: var(--space-md) var(--space-xl) 0;
}
@media (max-width: 768px) {
.native-shell-connection-manager__overview,
.native-shell-connection-manager__section-heading,
.native-shell-connection-manager__profile {
flex-direction: column;
align-items: flex-start;
}
.native-shell-connection-manager__section-heading > .btn,
.native-shell-connection-manager__overview > .btn {
width: 100%;
}
}