DNDGamePlayer: Electron редактор сцен, презентация, упаковка electron-builder
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import path from 'node:path';
|
||||
|
||||
import { app } from 'electron';
|
||||
|
||||
export function getProjectsRootDir(): string {
|
||||
return path.join(app.getPath('userData'), 'projects');
|
||||
}
|
||||
|
||||
export function getProjectsCacheRootDir(): string {
|
||||
return path.join(app.getPath('userData'), 'projects-cache');
|
||||
}
|
||||
|
||||
/**
|
||||
* Каталоги `…/projects` из других имён приложения в `%AppData%` (родитель `userData`).
|
||||
* Если когда‑то меняли `app.setName`, проекты могли остаться в соседней папке — их подхватываем при старте.
|
||||
*/
|
||||
export function getLegacyProjectsRootDirs(): string[] {
|
||||
const cur = getProjectsRootDir();
|
||||
const parent = path.dirname(app.getPath('userData'));
|
||||
const siblingNames = ['DnD Player', 'dnd-player', 'DNDGamePlayer', 'dnd_player'];
|
||||
const out: string[] = [];
|
||||
for (const n of siblingNames) {
|
||||
const p = path.join(parent, n, 'projects');
|
||||
if (p !== cur) out.push(p);
|
||||
}
|
||||
return out;
|
||||
}
|
||||
Reference in New Issue
Block a user