Show file picker if new path.
This commit is contained in:
parent
7b1a2dc653
commit
086eee7b4a
1 changed files with 37 additions and 10 deletions
47
index.html
47
index.html
|
|
@ -935,6 +935,13 @@ chmod 755 kbtd
|
|||
<button id="grant-permission-btn">Grant Access</button>
|
||||
</div>
|
||||
|
||||
<div id="file-select-screen" class="screen center-content">
|
||||
<h1>Select File</h1>
|
||||
<p>Please select the file:</p>
|
||||
<p id="file-select-path" style="font-weight: bold; margin: 1em 0;"></p>
|
||||
<button id="select-file-btn">Select File</button>
|
||||
</div>
|
||||
|
||||
<div id="section-screen" class="screen center-content">
|
||||
<h1>Select Project</h1>
|
||||
<ul id="section-list" class="section-list"></ul>
|
||||
|
|
@ -2596,19 +2603,13 @@ chmod 755 kbtd
|
|||
showScreen('permission-screen');
|
||||
}
|
||||
} else {
|
||||
await renderRecentProjects();
|
||||
showScreen('landing-screen');
|
||||
$('#landing-error').textContent =
|
||||
`Please select the file: ${state.filePath}`;
|
||||
$('#landing-error').style.display = 'block';
|
||||
$('#file-select-path').textContent = state.filePath;
|
||||
showScreen('file-select-screen');
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
await renderRecentProjects();
|
||||
showScreen('landing-screen');
|
||||
$('#landing-error').textContent =
|
||||
`Error loading file. Please select it again.`;
|
||||
$('#landing-error').style.display = 'block';
|
||||
$('#file-select-path').textContent = state.filePath;
|
||||
showScreen('file-select-screen');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2755,6 +2756,32 @@ chmod 755 kbtd
|
|||
$('#project-select-dropdown').classList.toggle('active');
|
||||
};
|
||||
|
||||
$('#select-file-btn').onclick = async () => {
|
||||
try {
|
||||
const [handle] = await window.showOpenFilePicker({
|
||||
id: 'kbtd-todo-file',
|
||||
mode: 'readwrite',
|
||||
types: [{
|
||||
description: 'Markdown files',
|
||||
accept: { 'text/markdown': ['.md'] }
|
||||
}]
|
||||
});
|
||||
|
||||
state.fileHandle = handle;
|
||||
|
||||
await storeFileHandle(state.filePath, handle);
|
||||
|
||||
await loadFile();
|
||||
startPolling();
|
||||
|
||||
} catch (err) {
|
||||
if (err.name !== 'AbortError') {
|
||||
console.error(err);
|
||||
alert('Error opening file');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
// PWA setup
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue