fix: pdf viewer
Deskripsi: - tampilan modal viewer No Issues
This commit is contained in:
@@ -7,7 +7,7 @@ import toast from 'react-hot-toast';
|
|||||||
import { funReadPdf } from '../fun/read_pdf';
|
import { funReadPdf } from '../fun/read_pdf';
|
||||||
const PdfToImage = dynamic(() => import('./../components/pdf_viewer').then((mod) => mod.default), { ssr: false });
|
const PdfToImage = dynamic(() => import('./../components/pdf_viewer').then((mod) => mod.default), { ssr: false });
|
||||||
|
|
||||||
export default function LayoutModal({ opened, onClose, extension, fitur, file }: { opened: boolean, onClose: () => void, extension: string, fitur: string, file: string }) {
|
export default function LayoutModal({ opened, onClose, extension, fitur, name, file }: { opened: boolean, onClose: () => void, extension: string, fitur: string, name?: string, file: string }) {
|
||||||
const [zoom, setZoom] = useState(1)
|
const [zoom, setZoom] = useState(1)
|
||||||
const [loadingPdf, setLoadingPdf] = useState(true)
|
const [loadingPdf, setLoadingPdf] = useState(true)
|
||||||
const [dataPdf, setDataPdf] = useState([])
|
const [dataPdf, setDataPdf] = useState([])
|
||||||
@@ -46,17 +46,28 @@ export default function LayoutModal({ opened, onClose, extension, fitur, file }:
|
|||||||
}, [file, extension])
|
}, [file, extension])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal styles={{
|
<>
|
||||||
|
<Modal.Root styles={{
|
||||||
content: {
|
content: {
|
||||||
maxWidth: 550,
|
maxWidth: 550,
|
||||||
}
|
}
|
||||||
}} opened={opened} onClose={onClose} withCloseButton={true} centered closeOnClickOutside={false} fullScreen>
|
}} opened={opened} onClose={onClose} centered closeOnClickOutside={false} fullScreen>
|
||||||
|
<Modal.Overlay />
|
||||||
|
<Modal.Content>
|
||||||
|
<Modal.Header py={0}>
|
||||||
|
<Modal.Title>
|
||||||
|
<Text lineClamp={1}>{name}</Text>
|
||||||
|
</Modal.Title>
|
||||||
|
<Modal.CloseButton />
|
||||||
|
</Modal.Header>
|
||||||
|
<Modal.Body pl={0} pr={0}>
|
||||||
<Box
|
<Box
|
||||||
pos="sticky"
|
pos="sticky"
|
||||||
top={60}
|
top={60}
|
||||||
right={10}
|
right={0}
|
||||||
w={"100%"}
|
w={"100%"}
|
||||||
pb={10}
|
pb={10}
|
||||||
|
px={10}
|
||||||
|
|
||||||
style={{
|
style={{
|
||||||
background: 'white',
|
background: 'white',
|
||||||
@@ -84,6 +95,8 @@ export default function LayoutModal({ opened, onClose, extension, fitur, file }:
|
|||||||
transform: `scale(${zoom})`,
|
transform: `scale(${zoom})`,
|
||||||
transformOrigin: 'center',
|
transformOrigin: 'center',
|
||||||
maxWidth: rem(550),
|
maxWidth: rem(550),
|
||||||
|
paddingLeft: 10,
|
||||||
|
paddingRight: 10
|
||||||
}}>
|
}}>
|
||||||
<div style={{ transform: `scale(${zoom})`, transformOrigin: 'center' }}>
|
<div style={{ transform: `scale(${zoom})`, transformOrigin: 'center' }}>
|
||||||
{
|
{
|
||||||
@@ -119,7 +132,10 @@ export default function LayoutModal({ opened, onClose, extension, fitur, file }:
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</Box>
|
</Box>
|
||||||
</Modal>
|
</Modal.Body>
|
||||||
|
</Modal.Content>
|
||||||
|
</Modal.Root>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ function ListBanner() {
|
|||||||
const [openDrawer, setOpenDrawer] = useState(false);
|
const [openDrawer, setOpenDrawer] = useState(false);
|
||||||
const [idDataStorage, setIdDataStorage] = useState('')
|
const [idDataStorage, setIdDataStorage] = useState('')
|
||||||
const [isExtension, setExtension] = useState('')
|
const [isExtension, setExtension] = useState('')
|
||||||
|
const [isName, setName] = useState('')
|
||||||
const [loading, setLoading] = useState(true)
|
const [loading, setLoading] = useState(true)
|
||||||
const [isData, setData] = useState<IDataBanner[]>([])
|
const [isData, setData] = useState<IDataBanner[]>([])
|
||||||
const [idData, setIdData] = useState('')
|
const [idData, setIdData] = useState('')
|
||||||
@@ -109,6 +110,7 @@ function ListBanner() {
|
|||||||
setIdDataStorage(v.image);
|
setIdDataStorage(v.image);
|
||||||
setExtension(v.extension);
|
setExtension(v.extension);
|
||||||
setOpenDrawer(true)
|
setOpenDrawer(true)
|
||||||
|
setName(v.title)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
style={{
|
style={{
|
||||||
@@ -194,7 +196,7 @@ function ListBanner() {
|
|||||||
}
|
}
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
<LayoutModalViewFile opened={isOpenModalView} onClose={() => setOpenModalView(false)} file={idDataStorage} extension={isExtension} fitur="image" />
|
<LayoutModalViewFile name={isName} opened={isOpenModalView} onClose={() => setOpenModalView(false)} file={idDataStorage} extension={isExtension} fitur="image" />
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -923,6 +923,7 @@ export default function NavbarDocumentDivision() {
|
|||||||
file={idStorage}
|
file={idStorage}
|
||||||
extension={isExtension}
|
extension={isExtension}
|
||||||
fitur="dokumen"
|
fitur="dokumen"
|
||||||
|
name={nameFileFull}
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ export default function ListFileDetailProject() {
|
|||||||
}
|
}
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
<LayoutModalViewFile opened={isOpenModalView} onClose={() => setOpenModalView(false)} file={idStorage} extension={isExtension} fitur='project' />
|
<LayoutModalViewFile opened={isOpenModalView} onClose={() => setOpenModalView(false)} name={nameData} file={idStorage} extension={isExtension} fitur='project' />
|
||||||
</Box>
|
</Box>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ export default function ListFileDetailTask() {
|
|||||||
}
|
}
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
<LayoutModalViewFile opened={isOpenModalView} onClose={() => setOpenModalView(false)} file={idDataStorage} extension={isExtension} fitur='task' />
|
<LayoutModalViewFile name={nameData} opened={isOpenModalView} onClose={() => setOpenModalView(false)} file={idDataStorage} extension={isExtension} fitur='task' />
|
||||||
</Box>
|
</Box>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user