This commit is contained in:
Dustin Loring
2024-12-01 07:57:42 -05:00
parent 8a6d32f9f1
commit b0b617dac7
4 changed files with 25 additions and 7 deletions

View File

@@ -14,7 +14,7 @@ import { saveAs } from 'file-saver';
import { Octokit, type RestEndpointMethodTypes } from '@octokit/rest';
import * as nodePath from 'node:path';
import { extractRelativePath } from '~/utils/diff';
import { description } from '../persistence';
import { description } from '~/persistence';
export interface ArtifactState {
id: string;
@@ -169,7 +169,6 @@ export class WorkbenchStore {
this.#editorStore.setSelectedFile(filePath);
}
async saveFile(filePath: string) {
const documents = this.#editorStore.documents.get();
const document = documents[filePath];
@@ -329,9 +328,10 @@ export class WorkbenchStore {
async downloadZip() {
const zip = new JSZip();
const files = this.files.get();
// Get the project name from the description input, or use a default name
const projectName = (description.value ?? 'project').toLocaleLowerCase().split(' ').join('_');
// Generate a simple 6-character hash based on the current timestamp
const timestampHash = Date.now().toString(36).slice(-6);
const uniqueProjectName = `${projectName}_${timestampHash}`;
@@ -357,10 +357,10 @@ export class WorkbenchStore {
}
}
}
// Generate the zip file and save it
const content = await zip.generateAsync({ type: 'blob' });
saveAs(content, `${uniqueProjectName}.zip`);
}
async syncFiles(targetHandle: FileSystemDirectoryHandle) {