diff --git a/web/features/deployments/components/create-instance-modal.tsx b/web/features/deployments/components/create-instance-modal.tsx index c7314e4de5..bf8f3ace25 100644 --- a/web/features/deployments/components/create-instance-modal.tsx +++ b/web/features/deployments/components/create-instance-modal.tsx @@ -139,7 +139,7 @@ function CreateInstanceForm() { type="text" placeholder={sourceApp?.name ?? t('createModal.namePlaceholder')} required - className="flex h-8 items-center rounded-lg border-[0.5px] border-components-input-border-active bg-components-input-bg-normal px-3 text-[13px] font-medium text-text-secondary outline-hidden placeholder:text-text-quaternary" + className="flex h-8 items-center rounded-lg border border-components-input-border-active bg-components-input-bg-normal px-3 system-sm-medium text-text-secondary outline-hidden placeholder:text-text-quaternary" /> @@ -151,7 +151,7 @@ function CreateInstanceForm() { id="instance-desc" name="description" placeholder={t('createModal.descriptionPlaceholder')} - className="min-h-[80px] rounded-lg border-[0.5px] border-components-input-border-active bg-components-input-bg-normal px-3 py-2 text-[13px] text-text-secondary outline-hidden placeholder:text-text-quaternary" + className="min-h-20 rounded-lg border border-components-input-border-active bg-components-input-bg-normal px-3 py-2 system-sm-regular text-text-secondary outline-hidden placeholder:text-text-quaternary" /> @@ -176,7 +176,7 @@ export function CreateInstanceModal() { open={open} onOpenChange={next => !next && closeModal()} > - + {open && } diff --git a/web/features/deployments/components/deploy-drawer.tsx b/web/features/deployments/components/deploy-drawer.tsx index a75c326992..934a072206 100644 --- a/web/features/deployments/components/deploy-drawer.tsx +++ b/web/features/deployments/components/deploy-drawer.tsx @@ -49,14 +49,14 @@ export function DeployDrawer() { open={open} onOpenChange={next => !next && closeDeployDrawer()} > - + {!drawerAppInstanceId ?
{t('deployDrawer.notFound')}
: (!releaseHistory || !environmentOptionsReply) ? (
- + {t('createModal.loadingApps')}
) diff --git a/web/features/deployments/components/deploy-drawer/select.tsx b/web/features/deployments/components/deploy-drawer/select.tsx index a80bc3c70f..b4c0510cfc 100644 --- a/web/features/deployments/components/deploy-drawer/select.tsx +++ b/web/features/deployments/components/deploy-drawer/select.tsx @@ -53,7 +53,7 @@ export function DeploymentSelect({ value, onChange, options, placeholder }: Sele > diff --git a/web/features/deployments/components/status-badge.tsx b/web/features/deployments/components/status-badge.tsx index c20c9b2fb4..0aa91c29e2 100644 --- a/web/features/deployments/components/status-badge.tsx +++ b/web/features/deployments/components/status-badge.tsx @@ -25,7 +25,7 @@ export function StatusBadge({ status, className }: { return ( {status === 'deploying' && ( - + )} {t(statusKey[status])} diff --git a/web/features/deployments/detail/access-tab.tsx b/web/features/deployments/detail/access-tab.tsx index 76671a8b63..fe293baed0 100644 --- a/web/features/deployments/detail/access-tab.tsx +++ b/web/features/deployments/detail/access-tab.tsx @@ -8,7 +8,7 @@ export function AccessTab({ appInstanceId }: { appInstanceId: string }) { return ( -
+
diff --git a/web/features/deployments/detail/access-tab/api-keys.tsx b/web/features/deployments/detail/access-tab/api-keys.tsx index e2a471ae7b..685593bdc7 100644 --- a/web/features/deployments/detail/access-tab/api-keys.tsx +++ b/web/features/deployments/detail/access-tab/api-keys.tsx @@ -39,23 +39,23 @@ function ApiKeyRow({ appInstanceId, apiKey }: { return (
-
+
{apiKey.name || apiKey.id} {t('access.api.envPrefix', { env: environmentLabel })}
-
-
+
+
{displayValue}
@@ -131,12 +131,12 @@ export function ApiKeyGenerateMenu({ appInstanceId, environments, apiKeys }: { disabled && 'cursor-not-allowed opacity-50', )} > - + {t('access.api.newKey')} - + {open && !disabled && ( - + {selectableEnvironments.map(env => ( - + {t('access.cli.install')} - + {t('access.cli.docs')}
diff --git a/web/features/deployments/detail/access-tab/common.tsx b/web/features/deployments/detail/access-tab/common.tsx index ca2ed269dd..a3ef5bac56 100644 --- a/web/features/deployments/detail/access-tab/common.tsx +++ b/web/features/deployments/detail/access-tab/common.tsx @@ -24,25 +24,25 @@ export function CopyPill({ label, value, prefix, className }: CopyPillProps) { return (
-
+
{label}
{prefix} -
+
{value}
-
+
) @@ -58,10 +58,10 @@ type EndpointRowProps = { export function EndpointRow({ envName, label, value, openLabel }: EndpointRowProps) { return (
- + {envName} - + {openLabel && ( - + {openLabel} )} diff --git a/web/features/deployments/detail/access-tab/developer-api-section.tsx b/web/features/deployments/detail/access-tab/developer-api-section.tsx index 51f5b58ec0..ee4409b7b8 100644 --- a/web/features/deployments/detail/access-tab/developer-api-section.tsx +++ b/web/features/deployments/detail/access-tab/developer-api-section.tsx @@ -69,9 +69,9 @@ function CreatedApiTokenCard({ appInstanceId }: { type="button" onClick={() => setCreatedApiToken(undefined)} aria-label={t('access.api.dismissToken')} - className="flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary" + className="flex size-6 shrink-0 items-center justify-center rounded-md text-text-tertiary hover:bg-state-base-hover hover:text-text-secondary" > - +
- + {label} - + - + {permissionOrder.map((kind) => { const itemIcon = permissionIcon[kind] const isSelected = kind === value @@ -68,7 +68,7 @@ function PermissionPicker({ value, disabled, onChange }: { onSelect={() => onChange(kind)} className="mx-0 h-auto items-start gap-3 rounded-lg px-2.5 py-2" > - +
@@ -80,7 +80,7 @@ function PermissionPicker({ value, disabled, onChange }: {
{isSelected && ( - + )} ) @@ -149,7 +149,7 @@ function SubjectPill({ subject, disabled, onRemove }: { return (
- + {subject.name || subject.id} {isGroup && subject.memberCount != null && ( {subject.memberCount} @@ -160,11 +160,11 @@ function SubjectPill({ subject, disabled, onRemove }: { onClick={onRemove} aria-label={t('operation.remove', { ns: 'common' })} className={cn( - 'flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-text-quaternary hover:text-text-secondary', + 'flex size-4 shrink-0 items-center justify-center rounded-full text-text-quaternary hover:text-text-secondary', disabled && 'cursor-not-allowed opacity-40', )} > - +
) @@ -226,22 +226,22 @@ function SubjectPicker({ disabled && 'cursor-not-allowed opacity-50', )} > - + {t('access.members.pickPlaceholder')} )} /> {open && ( - -
+ +
-
- +
+ setKeyword(e.target.value)} placeholder={t('access.members.searchPlaceholder')} - className="min-w-0 flex-1 bg-transparent system-sm-regular text-text-primary outline-none placeholder:text-text-quaternary" + className="min-w-0 flex-1 bg-transparent system-sm-regular text-text-primary outline-hidden placeholder:text-text-quaternary" />
@@ -249,7 +249,7 @@ function SubjectPicker({ {subjectsQuery.isLoading ? (
- +
) : subjects.length === 0 @@ -268,7 +268,7 @@ function SubjectPicker({ onClick={() => toggleSubject(subject)} className="flex w-full items-center gap-2 rounded-lg px-2 py-2 text-left hover:bg-state-base-hover" > - + {subject.name || subject.id} @@ -278,7 +278,7 @@ function SubjectPicker({ )} {isSelected && ( - + )} ) @@ -390,7 +390,7 @@ export function EnvironmentPermissionRow({ return (
- + {environmentName(environment)}
{permissionKind === 'specific' && ( -
+
- + {t('deployTab.newDeployment')} - + {open && ( - + { @@ -99,7 +99,7 @@ export function DeployTab({ appInstanceId }: { const availableEnvs = environmentOptions.filter(env => env.id && !deployedEnvIds.has(env.id)) return ( -
+
{t('deployTab.envCount')} diff --git a/web/features/deployments/detail/deploy-tab/deployment-environment-list.tsx b/web/features/deployments/detail/deploy-tab/deployment-environment-list.tsx index 8d7beb4b87..14a495189f 100644 --- a/web/features/deployments/detail/deploy-tab/deployment-environment-list.tsx +++ b/web/features/deployments/detail/deploy-tab/deployment-environment-list.tsx @@ -95,12 +95,12 @@ function DeploymentRowActions({ appInstanceId, envId, row }: { - + {menuOpen && ( - + diff --git a/web/features/deployments/detail/deploy-tab/deployment-status-summary.tsx b/web/features/deployments/detail/deploy-tab/deployment-status-summary.tsx index 8fa21adb21..b411829e00 100644 --- a/web/features/deployments/detail/deploy-tab/deployment-status-summary.tsx +++ b/web/features/deployments/detail/deploy-tab/deployment-status-summary.tsx @@ -16,7 +16,7 @@ export function DeploymentStatusSummary({ row }: { if (isUndeployedDeploymentRow(row)) { return ( - + {t('status.notDeployed')} ) @@ -27,7 +27,7 @@ export function DeploymentStatusSummary({ row }: { if (status === 'deploying') { return ( - + {t('deployTab.status.deployingRelease', { release: releaseLabel(activeRelease(row)) })} ) @@ -37,7 +37,7 @@ export function DeploymentStatusSummary({ row }: { const hasRunningRelease = !!activeRelease(row)?.id return ( - + {t(hasRunningRelease ? 'deployTab.status.runningWithFailed' : 'deployTab.status.deployFailed')} ) @@ -45,7 +45,7 @@ export function DeploymentStatusSummary({ row }: { return ( - + {t('status.ready')} ) diff --git a/web/features/deployments/detail/deployment-sidebar.tsx b/web/features/deployments/detail/deployment-sidebar.tsx index ed866a7770..ce19e896f5 100644 --- a/web/features/deployments/detail/deployment-sidebar.tsx +++ b/web/features/deployments/detail/deployment-sidebar.tsx @@ -129,7 +129,7 @@ export function DeploymentSidebar({ ref={sidebarRef} className={cn( 'flex shrink-0 flex-col border-r border-divider-burn bg-background-default-subtle transition-all', - expand ? 'w-[216px]' : 'w-14', + expand ? 'w-54' : 'w-14', )} >
@@ -178,7 +178,7 @@ export function DeploymentSidebar({ /> {!isMobile && isHoveringSidebar && ( diff --git a/web/features/deployments/detail/index.tsx b/web/features/deployments/detail/index.tsx index db57c65062..3e45d21dde 100644 --- a/web/features/deployments/detail/index.tsx +++ b/web/features/deployments/detail/index.tsx @@ -35,7 +35,7 @@ export function InstanceDetail({ appInstanceId, children }: { if (!resolvedAppInstanceId && overviewQuery.isLoading) { return (
- +
) } @@ -45,7 +45,7 @@ export function InstanceDetail({ appInstanceId, children }: {
{t('detail.notFound')}
@@ -54,7 +54,7 @@ export function InstanceDetail({ appInstanceId, children }: { return ( <> -
+
diff --git a/web/features/deployments/detail/overview-tab.tsx b/web/features/deployments/detail/overview-tab.tsx index 2abdc5bdc1..ccba8e2988 100644 --- a/web/features/deployments/detail/overview-tab.tsx +++ b/web/features/deployments/detail/overview-tab.tsx @@ -54,7 +54,7 @@ function AccessOverviewRow({ label, enabled, hint, meta }: AccessOverviewRowProp )} > @@ -147,14 +147,14 @@ function DeploymentStatusSection({ appInstanceId }: { action={( )} > {deployments.length === 0 ? (
- +
{releaseRows.length === 0 ? t(canCreateRelease ? 'overview.noReleaseYet' : 'overview.noReleaseSourceUnavailable') @@ -221,7 +221,7 @@ function AccessStatusSection({ appInstanceId }: { action={( )} > @@ -255,7 +255,7 @@ export function OverviewTab({ appInstanceId }: { appInstanceId: string }) { return ( -
+
diff --git a/web/features/deployments/detail/settings-tab.tsx b/web/features/deployments/detail/settings-tab.tsx index 6d6b63851d..064f1118cc 100644 --- a/web/features/deployments/detail/settings-tab.tsx +++ b/web/features/deployments/detail/settings-tab.tsx @@ -80,7 +80,7 @@ function DeleteInstanceButton({ !open && setShowDeleteConfirm(false)}> - +
{t('settings.deleteConfirmTitle')} @@ -183,7 +183,7 @@ function SettingsForm({ app, settings }: SettingsFormProps) { type="text" value={name} onChange={e => setName(e.target.value)} - className="flex h-8 items-center rounded-lg border-[0.5px] border-components-input-border-active bg-components-input-bg-normal px-3 text-[13px] font-medium text-text-secondary outline-hidden placeholder:text-text-quaternary" + className="flex h-8 items-center rounded-lg border border-components-input-border-active bg-components-input-bg-normal px-3 system-sm-medium text-text-secondary outline-hidden placeholder:text-text-quaternary" />
@@ -194,7 +194,7 @@ function SettingsForm({ app, settings }: SettingsFormProps) { id="settings-desc" value={description} onChange={e => setDescription(e.target.value)} - className="min-h-[96px] rounded-lg border-[0.5px] border-components-input-border-active bg-components-input-bg-normal px-3 py-2 text-[13px] text-text-secondary outline-hidden placeholder:text-text-quaternary" + className="min-h-24 rounded-lg border border-components-input-border-active bg-components-input-bg-normal px-3 py-2 system-sm-regular text-text-secondary outline-hidden placeholder:text-text-quaternary" />
@@ -276,7 +276,7 @@ export function SettingsTab({ appInstanceId }: { appInstanceId: string }) { return ( -
+
diff --git a/web/features/deployments/detail/versions-tab.tsx b/web/features/deployments/detail/versions-tab.tsx index 3046b08e7f..be50e19b5a 100644 --- a/web/features/deployments/detail/versions-tab.tsx +++ b/web/features/deployments/detail/versions-tab.tsx @@ -57,12 +57,12 @@ function CreateReleaseControl({ appInstanceId, canCreateRelease }: { disabled={!canCreateRelease} onClick={() => setIsCreating(true)} > - + {t('versions.createRelease')} - +
{ @@ -114,7 +114,7 @@ function CreateReleaseControl({ appInstanceId, canCreateRelease }: { name="description" placeholder={t('versions.releaseDescriptionPlaceholder')} maxLength={512} - className="min-h-[96px] w-full resize-none appearance-none rounded-md border border-transparent bg-components-input-bg-normal p-2 system-sm-regular text-components-input-text-filled caret-primary-600 outline-hidden placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs" + className="min-h-24 w-full resize-none appearance-none rounded-md border border-transparent bg-components-input-bg-normal p-2 system-sm-regular text-components-input-text-filled caret-primary-600 outline-hidden placeholder:text-components-input-text-placeholder hover:border-components-input-border-hover hover:bg-components-input-bg-hover focus:border-components-input-border-active focus:bg-components-input-bg-active focus:shadow-xs" />
@@ -135,7 +135,7 @@ function CreateReleaseControl({ appInstanceId, canCreateRelease }: {