fmt(js): npm run fix on merge (#119328)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
a53b42ddea
commit
f78ba6a700
@@ -415,4 +415,3 @@ function OrgNote({ count, onOpenAdmin }: { count: number; onOpenAdmin?: () => vo
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -98,7 +98,9 @@ export function HostedConnectorDialog({
|
||||
|
||||
return (
|
||||
<ConnectorDialog
|
||||
advanced={installed ? <LocalAdvanced controller={controller} name={serverName} onRemove={onRemoveServer} /> : undefined}
|
||||
advanced={
|
||||
installed ? <LocalAdvanced controller={controller} name={serverName} onRemove={onRemoveServer} /> : undefined
|
||||
}
|
||||
card={card}
|
||||
connectElement={element}
|
||||
cost={installed ? localCost(controller, serverName) : undefined}
|
||||
|
||||
@@ -5,7 +5,6 @@ import { Input } from '@/components/ui/input'
|
||||
import type { McpCatalogEntry } from '@/hermes'
|
||||
import { useI18n } from '@/i18n'
|
||||
|
||||
|
||||
export type InstallField = McpCatalogEntry['required_env'][number]
|
||||
|
||||
export function LocalInstall({
|
||||
|
||||
@@ -124,7 +124,9 @@ function HostedWay({
|
||||
return (
|
||||
<div className="flex flex-wrap items-center gap-2">
|
||||
<span className="min-w-0 flex-1 text-[0.7rem] text-(--ui-text-tertiary)">
|
||||
{way.state === 'available' ? copy.dialog.wayNotConnected(name) : (reason ?? copy.card.state[hostedStateWord(way)])}
|
||||
{way.state === 'available'
|
||||
? copy.dialog.wayNotConnected(name)
|
||||
: (reason ?? copy.card.state[hostedStateWord(way)])}
|
||||
</span>
|
||||
|
||||
{way.state === 'available' && onConnect ? (
|
||||
|
||||
@@ -514,7 +514,10 @@ export function AppearanceSettings({ subpage }: AppearanceSettingsProps = {}) {
|
||||
{ id: 'detailed', label: a.sessionDensityDetailed }
|
||||
] as const satisfies readonly { id: SessionListDensity; label: string }[]
|
||||
|
||||
const interfaceModeOptions = INTERFACE_MODES.map(id => ({ id, label: t.interfaceMode[id].label })) satisfies readonly {
|
||||
const interfaceModeOptions = INTERFACE_MODES.map(id => ({
|
||||
id,
|
||||
label: t.interfaceMode[id].label
|
||||
})) satisfies readonly {
|
||||
id: InterfaceMode
|
||||
label: string
|
||||
}[]
|
||||
|
||||
@@ -526,7 +526,19 @@ export function TreeSplit({
|
||||
},
|
||||
// trackCtx is derived state rebuilt per render; the drag captures it once.
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
[axis, editMode, revealsHidden, horizontal, node.children, node.id, node.weights, hiddenPanes, narrow, overrides, panes]
|
||||
[
|
||||
axis,
|
||||
editMode,
|
||||
revealsHidden,
|
||||
horizontal,
|
||||
node.children,
|
||||
node.id,
|
||||
node.weights,
|
||||
hiddenPanes,
|
||||
narrow,
|
||||
overrides,
|
||||
panes
|
||||
]
|
||||
)
|
||||
|
||||
// Double-click a sash: every neighbor returns to its DEFAULT size.
|
||||
@@ -603,7 +615,19 @@ export function TreeSplit({
|
||||
setTreeSplitWeights(node.id, !preset && !pinned ? weights.map(() => 1) : weights)
|
||||
},
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
[axis, editMode, revealsHidden, horizontal, node.children, node.id, node.weights, hiddenPanes, narrow, overrides, panes]
|
||||
[
|
||||
axis,
|
||||
editMode,
|
||||
revealsHidden,
|
||||
horizontal,
|
||||
node.children,
|
||||
node.id,
|
||||
node.weights,
|
||||
hiddenPanes,
|
||||
narrow,
|
||||
overrides,
|
||||
panes
|
||||
]
|
||||
)
|
||||
|
||||
// A run of ONLY fixed tracks can't fill the container (grow-0 all around
|
||||
|
||||
@@ -4,7 +4,13 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest'
|
||||
import { registry } from '@/contrib/registry'
|
||||
|
||||
import { allPaneIds, findGroupOfPane, group, split } from './model'
|
||||
import { applyLayoutPreset, deleteUserPreset, layoutPresetTier, registerBundledPresets, saveCurrentLayoutAs } from './presets'
|
||||
import {
|
||||
applyLayoutPreset,
|
||||
deleteUserPreset,
|
||||
layoutPresetTier,
|
||||
registerBundledPresets,
|
||||
saveCurrentLayoutAs
|
||||
} from './presets'
|
||||
import { $dismissedPanes, $hiddenTreePanes, $layoutTree, bindPaneVisibility, bindToolPaneCollapse } from './store'
|
||||
|
||||
// Basic used to be `sessions | workspace`, and picking it produced Focus:
|
||||
@@ -47,9 +53,24 @@ describe('resting presets', () => {
|
||||
const $files = atom(true)
|
||||
const $review = atom(true)
|
||||
|
||||
bindToolPaneCollapse('terminal', $terminal, () => $terminal.set(false), () => $terminal.set(true))
|
||||
bindPaneVisibility('files', $files, () => $files.set(false), () => $files.set(true))
|
||||
bindPaneVisibility('review', $review, () => $review.set(false), () => $review.set(true))
|
||||
bindToolPaneCollapse(
|
||||
'terminal',
|
||||
$terminal,
|
||||
() => $terminal.set(false),
|
||||
() => $terminal.set(true)
|
||||
)
|
||||
bindPaneVisibility(
|
||||
'files',
|
||||
$files,
|
||||
() => $files.set(false),
|
||||
() => $files.set(true)
|
||||
)
|
||||
bindPaneVisibility(
|
||||
'review',
|
||||
$review,
|
||||
() => $review.set(false),
|
||||
() => $review.set(true)
|
||||
)
|
||||
|
||||
disposers.push(
|
||||
registerBundledPresets([
|
||||
@@ -83,10 +104,22 @@ describe('resting presets', () => {
|
||||
const $terminal = atom(false)
|
||||
const $files = atom(true)
|
||||
|
||||
bindToolPaneCollapse('terminal', $terminal, () => $terminal.set(false), () => $terminal.set(true))
|
||||
bindPaneVisibility('files', $files, () => $files.set(false), () => $files.set(true))
|
||||
bindToolPaneCollapse(
|
||||
'terminal',
|
||||
$terminal,
|
||||
() => $terminal.set(false),
|
||||
() => $terminal.set(true)
|
||||
)
|
||||
bindPaneVisibility(
|
||||
'files',
|
||||
$files,
|
||||
() => $files.set(false),
|
||||
() => $files.set(true)
|
||||
)
|
||||
|
||||
disposers.push(registerBundledPresets([{ id: 'seed', title: 'Seed', order: 0, tree: ARRANGEMENT, resting: ['terminal'] }]))
|
||||
disposers.push(
|
||||
registerBundledPresets([{ id: 'seed', title: 'Seed', order: 0, tree: ARRANGEMENT, resting: ['terminal'] }])
|
||||
)
|
||||
applyLayoutPreset('seed', ARRANGEMENT)
|
||||
saveCurrentLayoutAs('Mine')
|
||||
|
||||
@@ -104,7 +137,12 @@ describe('resting presets', () => {
|
||||
it('a reveal on apply never steals the tab the preset put first', () => {
|
||||
const $terminal = atom(false)
|
||||
|
||||
bindToolPaneCollapse('terminal', $terminal, () => $terminal.set(false), () => $terminal.set(true))
|
||||
bindToolPaneCollapse(
|
||||
'terminal',
|
||||
$terminal,
|
||||
() => $terminal.set(false),
|
||||
() => $terminal.set(true)
|
||||
)
|
||||
|
||||
// Focus: the terminal is a tab BEHIND the chat, and opening it on apply
|
||||
// used to front it over the chat.
|
||||
|
||||
@@ -131,7 +131,8 @@ export const en: Translations = {
|
||||
writeFailed: 'That change was not saved.',
|
||||
refreshFailed: 'The tool list was not refreshed.',
|
||||
disconnectNoAccount: 'Hermes has no account to disconnect here. Refresh the page and try again.',
|
||||
disconnectRefused: 'Nous could not remove this sign-in right now. Turn the app off with the switch instead, or try again later.'
|
||||
disconnectRefused:
|
||||
'Nous could not remove this sign-in right now. Turn the app off with the switch instead, or try again later.'
|
||||
},
|
||||
|
||||
add: {
|
||||
|
||||
@@ -147,7 +147,11 @@ describe('tiers', () => {
|
||||
|
||||
it('shows untagged items everywhere and a tiered item only in its mode', async () => {
|
||||
const { shownInMode, $showsAdvancedChrome, setInterfaceMode } = await loadStore()
|
||||
const items = [{ id: 'settings' }, { id: 'hud', tier: 'advanced' as const }, { id: 'side', tier: 'simple' as const }]
|
||||
const items = [
|
||||
{ id: 'settings' },
|
||||
{ id: 'hud', tier: 'advanced' as const },
|
||||
{ id: 'side', tier: 'simple' as const }
|
||||
]
|
||||
|
||||
expect(items.filter(shownInMode('advanced')).map(item => item.id)).toEqual(['settings', 'hud'])
|
||||
expect(items.filter(shownInMode('simple')).map(item => item.id)).toEqual(['settings', 'side'])
|
||||
|
||||
Reference in New Issue
Block a user