mirror of
https://github.com/stablyai/orca.git
synced 2026-10-02 16:02:15 +00:00
perf(editor): narrow markdown override subscriptions
This commit is contained in:
@@ -66,12 +66,12 @@ export function EditorMarkdownFileSurface({
|
||||
)
|
||||
return (
|
||||
<div className="flex h-full min-h-0 flex-col">
|
||||
<div className="flex items-center gap-3 border-b border-border/60 bg-blue-500/10 px-3 py-2 text-xs text-blue-950 dark:text-blue-100">
|
||||
<div className="flex items-center gap-3 border-b border-border/60 bg-muted/40 px-3 py-2 text-xs text-muted-foreground">
|
||||
<span className="min-w-0 flex-1">{richFallbackMessage}</span>
|
||||
{isSizeFallback ? (
|
||||
<Button
|
||||
type="button"
|
||||
variant="secondary"
|
||||
variant="outline"
|
||||
size="xs"
|
||||
className="shrink-0"
|
||||
onClick={() => setSizeOverride(activeFile.id, true)}
|
||||
|
||||
@@ -62,7 +62,9 @@ function EditorPanelInner({
|
||||
)
|
||||
const markdownViewMode = useAppStore((s) => s.markdownViewMode)
|
||||
const setMarkdownViewMode = useAppStore((s) => s.setMarkdownViewMode)
|
||||
const markdownRichModeSizeOverride = useAppStore((s) => s.markdownRichModeSizeOverride)
|
||||
const markdownRichModeSizeOverridden = useAppStore(
|
||||
(s) => activeFileId !== null && s.markdownRichModeSizeOverride[activeFileId] === true
|
||||
)
|
||||
const editorViewMode = useAppStore((s) => s.editorViewMode)
|
||||
const setEditorViewMode = useAppStore((s) => s.setEditorViewMode)
|
||||
const openFile = useAppStore((s) => s.openFile)
|
||||
@@ -235,7 +237,7 @@ function EditorPanelInner({
|
||||
gitStatusEntries,
|
||||
gitBranchEntries,
|
||||
markdownViewMode,
|
||||
markdownRichModeSizeOverride,
|
||||
markdownRichModeSizeOverridden,
|
||||
isChangesMode,
|
||||
canOpenWorkspaceFileBrowser
|
||||
})
|
||||
|
||||
@@ -31,7 +31,7 @@ function renderModel(args: {
|
||||
fileContents?: Record<string, FileContent>
|
||||
editorDrafts?: Record<string, string>
|
||||
markdownViewMode?: Record<string, 'source' | 'rich' | 'preview'>
|
||||
markdownRichModeSizeOverride?: Record<string, boolean>
|
||||
markdownRichModeSizeOverridden?: boolean
|
||||
isChangesMode?: boolean
|
||||
gitStatusByWorktree?: Record<string, GitStatusEntry[]>
|
||||
}) {
|
||||
@@ -43,7 +43,7 @@ function renderModel(args: {
|
||||
gitStatusEntries: args.gitStatusByWorktree?.[activeFile.worktreeId],
|
||||
gitBranchEntries: undefined,
|
||||
markdownViewMode: args.markdownViewMode ?? {},
|
||||
markdownRichModeSizeOverride: args.markdownRichModeSizeOverride ?? {},
|
||||
markdownRichModeSizeOverridden: args.markdownRichModeSizeOverridden ?? false,
|
||||
isChangesMode: args.isChangesMode ?? false,
|
||||
canOpenWorkspaceFileBrowser: true
|
||||
})
|
||||
@@ -78,7 +78,7 @@ describe('getEditorPanelRenderModel HTML preview affordance', () => {
|
||||
gitStatusEntries: undefined,
|
||||
gitBranchEntries: undefined,
|
||||
markdownViewMode: {},
|
||||
markdownRichModeSizeOverride: {},
|
||||
markdownRichModeSizeOverridden: false,
|
||||
isChangesMode: false,
|
||||
canOpenWorkspaceFileBrowser: false
|
||||
})
|
||||
@@ -184,7 +184,7 @@ describe('getEditorPanelRenderModel markdown export affordance', () => {
|
||||
const model = renderModel({
|
||||
markdownViewMode: { '/repo/README.md': 'rich' },
|
||||
editorDrafts: { '/repo/README.md': 'a'.repeat(RICH_MARKDOWN_MAX_SIZE_BYTES + 1) },
|
||||
markdownRichModeSizeOverride: { '/repo/README.md': true }
|
||||
markdownRichModeSizeOverridden: true
|
||||
})
|
||||
|
||||
expect(model.canExportMarkdownToPdf).toBe(true)
|
||||
@@ -194,7 +194,7 @@ describe('getEditorPanelRenderModel markdown export affordance', () => {
|
||||
const model = renderModel({
|
||||
markdownViewMode: { '/repo/README.md': 'rich' },
|
||||
editorDrafts: { '/repo/README.md': 'a'.repeat(RICH_MARKDOWN_MAX_SIZE_BYTES + 1) },
|
||||
markdownRichModeSizeOverride: { '/repo/OTHER.md': true }
|
||||
markdownRichModeSizeOverridden: false
|
||||
})
|
||||
|
||||
expect(model.canExportMarkdownToPdf).toBe(false)
|
||||
|
||||
@@ -24,7 +24,7 @@ type EditorPanelRenderModelParams = {
|
||||
gitStatusEntries: StoreState['gitStatusByWorktree'][string] | undefined
|
||||
gitBranchEntries: StoreState['gitBranchChangesByWorktree'][string] | undefined
|
||||
markdownViewMode: StoreState['markdownViewMode']
|
||||
markdownRichModeSizeOverride: StoreState['markdownRichModeSizeOverride']
|
||||
markdownRichModeSizeOverridden: boolean
|
||||
isChangesMode: boolean
|
||||
canOpenWorkspaceFileBrowser: boolean
|
||||
}
|
||||
@@ -36,7 +36,7 @@ export function getEditorPanelRenderModel({
|
||||
gitStatusEntries,
|
||||
gitBranchEntries,
|
||||
markdownViewMode,
|
||||
markdownRichModeSizeOverride,
|
||||
markdownRichModeSizeOverridden,
|
||||
isChangesMode,
|
||||
canOpenWorkspaceFileBrowser
|
||||
}: EditorPanelRenderModelParams) {
|
||||
@@ -145,7 +145,7 @@ export function getEditorPanelRenderModel({
|
||||
const richModeEligibility = shouldClassifyRichMode
|
||||
? getMarkdownRichModeEligibility({
|
||||
content: inlineMarkdownContent,
|
||||
sizeOverridden: markdownRichModeSizeOverride[activeFile.id] === true
|
||||
sizeOverridden: markdownRichModeSizeOverridden
|
||||
})
|
||||
: null
|
||||
const richModeUnsupportedMessage = richModeEligibility?.unsupportedMessage ?? null
|
||||
|
||||
Reference in New Issue
Block a user