adding from main NEW button on left pane always creates at root

This commit is contained in:
Gamosoft 2025-11-27 14:13:39 +01:00
parent c8bac63cfb
commit e0b0426300
1 changed files with 30 additions and 7 deletions

View File

@ -99,7 +99,7 @@ function noteApp() {
// Dropdown state // Dropdown state
showNewDropdown: false, showNewDropdown: false,
dropdownTargetFolder: '', // Folder context for "New" dropdown (empty = root) dropdownTargetFolder: null, // Folder context for "New" dropdown ('' = root, null = not set)
dropdownPosition: { top: 0, left: 0 }, // Position for contextual dropdown dropdownPosition: { top: 0, left: 0 }, // Position for contextual dropdown
// Template state // Template state
@ -628,9 +628,16 @@ function noteApp() {
notePath += '.md'; notePath += '.md';
} }
// If we have a target folder context, create in that folder // Determine target folder: use dropdown context if set, otherwise homepage folder
if (this.dropdownTargetFolder || this.selectedHomepageFolder) { let targetFolder;
const targetFolder = this.dropdownTargetFolder || this.selectedHomepageFolder; if (this.dropdownTargetFolder !== null && this.dropdownTargetFolder !== undefined) {
targetFolder = this.dropdownTargetFolder; // Can be '' for root or a folder path
} else {
targetFolder = this.selectedHomepageFolder || '';
}
// If we have a target folder, create note in that folder
if (targetFolder) {
notePath = `${targetFolder}/${notePath}`; notePath = `${targetFolder}/${notePath}`;
} }
@ -1998,7 +2005,7 @@ function noteApp() {
closeDropdown() { closeDropdown() {
this.showNewDropdown = false; this.showNewDropdown = false;
this.dropdownTargetFolder = ''; // Reset folder context this.dropdownTargetFolder = null; // Reset folder context
}, },
// ===================================================== // =====================================================
@ -2007,7 +2014,15 @@ function noteApp() {
async createNote(folderPath = null) { async createNote(folderPath = null) {
// Use provided folder path, or dropdown target folder context, or homepage folder // Use provided folder path, or dropdown target folder context, or homepage folder
const targetFolder = folderPath !== null ? folderPath : (this.dropdownTargetFolder || this.selectedHomepageFolder); // Note: Check dropdownTargetFolder !== null to distinguish between '' (root) and not set
let targetFolder;
if (folderPath !== null) {
targetFolder = folderPath;
} else if (this.dropdownTargetFolder !== null && this.dropdownTargetFolder !== undefined) {
targetFolder = this.dropdownTargetFolder; // Can be '' for root or a folder path
} else {
targetFolder = this.selectedHomepageFolder || '';
}
this.closeDropdown(); this.closeDropdown();
const promptText = targetFolder const promptText = targetFolder
@ -2060,7 +2075,15 @@ function noteApp() {
async createFolder(parentPath = null) { async createFolder(parentPath = null) {
// Use provided parent path, or dropdown target folder context, or homepage folder // Use provided parent path, or dropdown target folder context, or homepage folder
const targetFolder = parentPath !== null ? parentPath : (this.dropdownTargetFolder || this.selectedHomepageFolder); // Note: Check dropdownTargetFolder !== null to distinguish between '' (root) and not set
let targetFolder;
if (parentPath !== null) {
targetFolder = parentPath;
} else if (this.dropdownTargetFolder !== null && this.dropdownTargetFolder !== undefined) {
targetFolder = this.dropdownTargetFolder; // Can be '' for root or a folder path
} else {
targetFolder = this.selectedHomepageFolder || '';
}
this.closeDropdown(); this.closeDropdown();
const promptText = targetFolder const promptText = targetFolder