diff --git a/src/lib/files/FileManager.svelte b/src/lib/files/FileManager.svelte
index 75b1a144eb..c9186f05b3 100644
--- a/src/lib/files/FileManager.svelte
+++ b/src/lib/files/FileManager.svelte
@@ -42,53 +42,42 @@
openFile(chosenFile);
}
- function renameChosenFile() {
- if (!chosenFile) {
- return;
- }
- let isCurrent = chosenFile == $currentFile;
+ function renameFile() {
// TODO Handle overwriting
let newName = window.prompt(
- `Rename file ${chosenFile} to what?`,
- chosenFile,
+ `Rename file ${$currentFile} to what?`,
+ $currentFile,
);
if (newName) {
- let oldKey = files.key(chosenFile);
+ let oldKey = files.key($currentFile);
let contents = window.localStorage.getItem(oldKey)!;
window.localStorage.setItem(files.key(newName), contents);
window.localStorage.removeItem(oldKey);
- if (isCurrent) {
- $currentFile = newName;
- }
- chosenFile = newName;
+ $currentFile = newName;
+ chosenFile = $currentFile;
fileList = files.getFileList();
}
}
- function deleteChosenFile() {
- if (!chosenFile) {
- return;
- }
+ function deleteFile() {
// TODO Use a full Modal
if (
!window.confirm(
- `Really delete file ${chosenFile}? You can't undo this. (If you delete, a copy will still be downloaded to your browser's download folder, in case you make a mistake.)`,
+ `Really delete file ${$currentFile}? You can't undo this. (If you delete, a copy will still be downloaded to your browser's download folder, in case you make a mistake.)`,
)
) {
return;
}
- let key = files.key(chosenFile);
+ let key = files.key($currentFile);
downloadGeneratedFile(
- `${chosenFile}.json`,
+ `${$currentFile}.json`,
window.localStorage.getItem(key)!,
);
window.localStorage.removeItem(key);
- if (chosenFile == $currentFile) {
- $currentFile = "";
- $state = files.emptyState();
- }
+ $currentFile = "";
chosenFile = "";
+ $state = files.emptyState();
fileList = files.getFileList();
}
@@ -115,6 +104,7 @@
return;
}
$currentFile = name;
+ chosenFile = name;
$state = files.emptyState();
fileList = files.saveAndGetFileList($currentFile, $state);
}
@@ -144,6 +134,7 @@
function openFile(file: string) {
try {
let x = files.loadFile(file);
+ chosenFile = file;
$currentFile = file;
$state = x;
} catch (error) {
@@ -183,6 +174,15 @@
No saved files