37 lines
926 B
JavaScript
37 lines
926 B
JavaScript
|
|
import { defineStore } from "pinia";
|
||
|
|
import { ref } from "vue";
|
||
|
|
import { usePageStore } from "./page";
|
||
|
|
|
||
|
|
export const useBriefStore = defineStore("brief", () => {
|
||
|
|
async function addPdf(event, briefUri, redirectToParent = false) {
|
||
|
|
const file = event.target.files[0];
|
||
|
|
const { page } = usePageStore();
|
||
|
|
|
||
|
|
if (file) {
|
||
|
|
const formData = new FormData();
|
||
|
|
formData.append("file", file);
|
||
|
|
|
||
|
|
try {
|
||
|
|
const response = await fetch("/upload-pdf.json?pageUri=" + briefUri, {
|
||
|
|
method: "POST",
|
||
|
|
body: formData,
|
||
|
|
});
|
||
|
|
|
||
|
|
const result = await response.json();
|
||
|
|
|
||
|
|
if (response.ok) {
|
||
|
|
page.value = result;
|
||
|
|
} else {
|
||
|
|
console.error("Error uploading file:", result.error);
|
||
|
|
}
|
||
|
|
} catch (error) {
|
||
|
|
console.error("Request failed:", error);
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
console.error("No file selected.");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
return { addPdf };
|
||
|
|
});
|