fix: Fix 3d models

This commit is contained in:
2025-10-02 22:20:37 +03:00
parent a357994025
commit 26e4d70b95
9 changed files with 666 additions and 34 deletions

View File

@@ -1,7 +1,9 @@
import { Box } from "@mui/material";
import { useState } from "react";
import { ReactPhotoSphereViewer } from "react-photo-sphere-viewer";
import { ThreeView } from "./ThreeView";
import { ThreeViewErrorBoundary } from "./ThreeViewErrorBoundary";
export interface MediaData {
id: string | number;
@@ -25,6 +27,23 @@ export function MediaViewer({
fullHeight?: boolean;
}>) {
const token = localStorage.getItem("token");
const [resetKey, setResetKey] = useState(0);
const handleReset = () => {
console.log("🔄 MediaViewer: handleReset вызван", {
currentResetKey: resetKey,
mediaId: media?.id,
});
setResetKey((prev) => {
const newKey = prev + 1;
console.log("🔄 MediaViewer: resetKey обновлен", {
oldKey: prev,
newKey,
});
return newKey;
});
};
return (
<Box
className={className}
@@ -108,13 +127,19 @@ export function MediaViewer({
)}
{media?.media_type === 6 && (
<ThreeView
fileUrl={`${import.meta.env.VITE_KRBL_MEDIA}${
media?.id
}/download?token=${token}`}
height={height ? height : "500px"}
width={width ? width : "500px"}
/>
<ThreeViewErrorBoundary
onReset={handleReset}
resetKey={`${media?.id}-${resetKey}`}
>
<ThreeView
key={`3d-model-${media?.id}-${resetKey}`}
fileUrl={`${import.meta.env.VITE_KRBL_MEDIA}${
media?.id
}/download?token=${token}`}
height={height ? height : "500px"}
width={width ? width : "500px"}
/>
</ThreeViewErrorBoundary>
)}
</Box>
);