import React from "react"; import _ from "lodash"; import {Grid, Header as SHeader, Image,} from "semantic-ui-react"; import {TagsSelector} from "../Tags"; import {Media} from "../contexts/contexts"; import {encodeMediaPath} from "./Common"; import {getFile, tagFileGroup, untagFileGroup} from "../api"; import {StlViewer} from "react-stl-viewer"; import {Button, Modal} from "./Theme"; import {toast} from "react-semantic-toasts-2"; import {useOneQuery} from "../hooks/customHooks"; import {ShareButton} from "./Share"; import {pathDirectory} from "./FileBrowser"; function getMediaPathURL(previewFile) { if (previewFile['primary_path']) { return `/media/${encodeMediaPath(previewFile['primary_path'])}`; } else { return `/media/${encodeMediaPath(previewFile['path'])}`; } } function getDownloadPathURL(previewFile) { if (previewFile['primary_path']) { return `/download/${encodeMediaPath(previewFile['primary_path'])}`; } else { return `/download/${encodeMediaPath(previewFile['path'])}`; } } function getEpubViewerURL(previewFile) { let url = previewFile['primary_path'] ?? previewFile['path']; return `/epub/epub.html?url=/media/${encodeMediaPath(url)}` } function getIframePreviewModal(previewFile, url) { url = url || getMediaPathURL(previewFile); return