fix: stop seeding title during property init
This commit is contained in:
@@ -71,6 +71,7 @@ import { invoke } from '@tauri-apps/api/core'
|
||||
import { isTauri, mockInvoke } from './mock-tauri'
|
||||
import type { SidebarSelection, InboxPeriod, VaultEntry, ViewDefinition } from './types'
|
||||
import type { NoteListItem } from './utils/ai-context'
|
||||
import { initializeNoteProperties } from './utils/initializeNoteProperties'
|
||||
import { filterEntries, filterInboxEntries, type NoteListFilter } from './utils/noteListHelpers'
|
||||
import { openNoteInNewWindow } from './utils/openNoteWindow'
|
||||
import { isNoteWindow, getNoteWindowParams, getNoteWindowPathCandidates, findNoteWindowEntry, type NoteWindowParams } from './utils/windowMode'
|
||||
@@ -545,9 +546,7 @@ function App() {
|
||||
})
|
||||
|
||||
const handleInitializeProperties = useCallback(async (path: string) => {
|
||||
const filename = path.split('/').pop()?.replace(/\.md$/, '') ?? 'Untitled'
|
||||
await notes.handleUpdateFrontmatter(path, 'type', 'Note', { silent: true })
|
||||
await notes.handleUpdateFrontmatter(path, 'title', filename)
|
||||
await initializeNoteProperties(notes.handleUpdateFrontmatter, path)
|
||||
}, [notes])
|
||||
|
||||
const handleRemoveNoteIcon = useCallback(async (path: string) => {
|
||||
|
||||
19
src/utils/initializeNoteProperties.test.ts
Normal file
19
src/utils/initializeNoteProperties.test.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { describe, expect, it, vi } from 'vitest'
|
||||
|
||||
import { initializeNoteProperties } from './initializeNoteProperties'
|
||||
|
||||
describe('initializeNoteProperties', () => {
|
||||
it('seeds only the Note type without creating a title field', async () => {
|
||||
const updateFrontmatter = vi.fn().mockResolvedValue(undefined)
|
||||
|
||||
await initializeNoteProperties(updateFrontmatter, '/vault/plain-note.md')
|
||||
|
||||
expect(updateFrontmatter).toHaveBeenCalledTimes(1)
|
||||
expect(updateFrontmatter).toHaveBeenCalledWith(
|
||||
'/vault/plain-note.md',
|
||||
'type',
|
||||
'Note',
|
||||
{ silent: true },
|
||||
)
|
||||
})
|
||||
})
|
||||
13
src/utils/initializeNoteProperties.ts
Normal file
13
src/utils/initializeNoteProperties.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export type UpdateFrontmatter = (
|
||||
path: string,
|
||||
key: string,
|
||||
value: string,
|
||||
options?: { silent?: boolean },
|
||||
) => Promise<void>
|
||||
|
||||
export async function initializeNoteProperties(
|
||||
updateFrontmatter: UpdateFrontmatter,
|
||||
path: string,
|
||||
): Promise<void> {
|
||||
await updateFrontmatter(path, 'type', 'Note', { silent: true })
|
||||
}
|
||||
Reference in New Issue
Block a user