added folder column config

This commit is contained in:
Arjun 2026-03-31 16:49:25 +05:30
parent 5b8f603a92
commit 71d69516c2

View file

@ -270,6 +270,37 @@ const normalizeUsage = (usage?: Partial<LanguageModelUsage> | null): LanguageMod
// Pinned folders appear first in the sidebar (in this order) // Pinned folders appear first in the sidebar (in this order)
const PINNED_FOLDERS = ['Notes'] const PINNED_FOLDERS = ['Notes']
/**
* Per-folder base view config: which columns to show and default sort.
* Folders not listed here fall back to DEFAULT_BASE_CONFIG.
*/
const FOLDER_BASE_CONFIGS: Record<string, { visibleColumns: string[]; sort: { field: string; dir: 'asc' | 'desc' } }> = {
'Agent Notes': {
visibleColumns: ['name', 'folder', 'mtimeMs'],
sort: { field: 'mtimeMs', dir: 'desc' },
},
People: {
visibleColumns: ['name', 'relationship', 'organization', 'mtimeMs'],
sort: { field: 'name', dir: 'asc' },
},
Organizations: {
visibleColumns: ['name', 'relationship', 'mtimeMs'],
sort: { field: 'name', dir: 'asc' },
},
Projects: {
visibleColumns: ['name', 'status', 'topic', 'mtimeMs'],
sort: { field: 'name', dir: 'asc' },
},
Topics: {
visibleColumns: ['name', 'mtimeMs'],
sort: { field: 'name', dir: 'asc' },
},
Meetings: {
visibleColumns: ['name', 'topic', 'mtimeMs'],
sort: { field: 'mtimeMs', dir: 'desc' },
},
}
// Sort nodes (dirs first, pinned folders at top, then alphabetically) // Sort nodes (dirs first, pinned folders at top, then alphabetically)
function sortNodes(nodes: TreeNode[]): TreeNode[] { function sortNodes(nodes: TreeNode[]): TreeNode[] {
return nodes.sort((a, b) => { return nodes.sort((a, b) => {
@ -3155,12 +3186,17 @@ function App() {
const parts = path.split('/') const parts = path.split('/')
if (parts.length === 2 && parts[0] === 'knowledge' && parts[1] !== 'Notes') { if (parts.length === 2 && parts[0] === 'knowledge' && parts[1] !== 'Notes') {
const folderName = parts[1] const folderName = parts[1]
const folderCfg = FOLDER_BASE_CONFIGS[folderName]
setBaseConfigByPath((prev) => ({ setBaseConfigByPath((prev) => ({
...prev, ...prev,
[BASES_DEFAULT_TAB_PATH]: { [BASES_DEFAULT_TAB_PATH]: {
...DEFAULT_BASE_CONFIG, ...DEFAULT_BASE_CONFIG,
name: folderName, name: folderName,
filters: [{ category: 'folder', value: folderName }], filters: [{ category: 'folder', value: folderName }],
...(folderCfg && {
visibleColumns: folderCfg.visibleColumns,
sort: folderCfg.sort,
}),
}, },
})) }))
if (!selectedPath && !isGraphOpen && !selectedBackgroundTask) { if (!selectedPath && !isGraphOpen && !selectedBackgroundTask) {