file support in progress

This commit is contained in:
2025-01-24 09:20:07 -07:00
parent b2514bb356
commit a60008c6d7
5 changed files with 69 additions and 43 deletions

View File

@@ -23,6 +23,8 @@ export const useAssignmentQuery = (
});
};
const enable_images = process.env.NEXT_PUBLIC_ENABLE_FILE_SYNC === "true";
export const useUpdateImageSettingsForAssignment = ({
moduleName,
assignmentName,
@@ -37,50 +39,56 @@ export const useUpdateImageSettingsForAssignment = ({
const createCanvasUrlMutation =
trpc.canvasFile.getCanvasFileUrl.useMutation();
// useEffect(() => {
// if (isUpdatingSettings) {
// console.log("not updating image assets, still loading");
// return;
// }
// setIsUpdatingSettings(true);
// const assignmentMarkdown = markdownToHtmlNoImages(assignment.description);
useEffect(() => {
if (!enable_images) {
console.log("not uploading images, FILE_POLLING is not set to true");
return;
}
// const imageSources = extractImageSources(assignmentMarkdown);
// const imagesToUpdate = imageSources.filter((source) =>
// settings.assets.every((a) => a.sourceUrl !== source)
// );
// console.log("images to update", imagesToUpdate);
if (isUpdatingSettings) {
console.log("not updating image assets, still loading");
return;
}
setIsUpdatingSettings(true);
const assignmentMarkdown = markdownToHtmlNoImages(assignment.description);
// if (imagesToUpdate.length) {
// Promise.all(
// imagesToUpdate.map(async (source) => {
// // todo: get canvas url
// // const canvasUrl = "";
// const canvasUrl = await createCanvasUrlMutation.mutateAsync({
// sourceUrl: source,
// canvasCourseId: settings.canvasId,
// });
// console.log("got canvas url", source, canvasUrl);
// return { sourceUrl: source, canvasUrl };
// })
// ).then(async (newAssets) => {
// await updateSettings.mutateAsync({
// settings: {
// ...settings,
// assets: [...settings.assets, ...newAssets],
// },
// });
// setIsUpdatingSettings(false);
// });
// }
// }, [
// assignment.description,
// createCanvasUrlMutation,
// isUpdatingSettings,
// settings,
// settings.assets,
// updateSettings,
// ]);
const imageSources = extractImageSources(assignmentMarkdown);
const imagesToUpdate = imageSources.filter((source) =>
settings.assets.every((a) => a.sourceUrl !== source)
);
console.log("images to update", imagesToUpdate);
if (imagesToUpdate.length) {
Promise.all(
imagesToUpdate.map(async (source) => {
// todo: get canvas url
// const canvasUrl = "";
console.log(source);
const canvasUrl = await createCanvasUrlMutation.mutateAsync({
sourceUrl: source,
canvasCourseId: settings.canvasId,
});
console.log("got canvas url", source, canvasUrl);
return { sourceUrl: source, canvasUrl };
})
).then(async (newAssets) => {
await updateSettings.mutateAsync({
settings: {
...settings,
assets: [...settings.assets, ...newAssets],
},
});
setIsUpdatingSettings(false);
});
}
}, [
assignment.description,
createCanvasUrlMutation,
isUpdatingSettings,
settings,
settings.assets,
updateSettings,
]);
};
export const useAssignmentNamesQuery = (moduleName: string) => {