MediaModal: support not having a status
This commit is contained in:
parent
0c499b43ff
commit
aca4322526
|
@ -70,7 +70,7 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
const [next, setNext] = useState<string>();
|
const [next, setNext] = useState<string>();
|
||||||
const [index, setIndex] = useState<number | null>(null);
|
const [index, setIndex] = useState<number | null>(null);
|
||||||
const [navigationHidden, setNavigationHidden] = useState(false);
|
const [navigationHidden, setNavigationHidden] = useState(false);
|
||||||
const [isFullScreen, setIsFullScreen] = useState(false);
|
const [isFullScreen, setIsFullScreen] = useState(!status);
|
||||||
|
|
||||||
const hasMultipleImages = media.size > 1;
|
const hasMultipleImages = media.size > 1;
|
||||||
|
|
||||||
|
@ -219,6 +219,7 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
};
|
};
|
||||||
}, [index]);
|
}, [index]);
|
||||||
|
|
||||||
|
if (status) {
|
||||||
if (!actualStatus && isLoaded) {
|
if (!actualStatus && isLoaded) {
|
||||||
return (
|
return (
|
||||||
<MissingIndicator />
|
<MissingIndicator />
|
||||||
|
@ -226,6 +227,7 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
} else if (!actualStatus) {
|
} else if (!actualStatus) {
|
||||||
return <PlaceholderStatus />;
|
return <PlaceholderStatus />;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='media-modal pointer-events-auto fixed inset-0 z-[9999] h-full bg-gray-900/90'>
|
<div className='media-modal pointer-events-auto fixed inset-0 z-[9999] h-full bg-gray-900/90'>
|
||||||
|
@ -255,13 +257,13 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
<HStack alignItems='center' space={2}>
|
<HStack alignItems='center' space={2}>
|
||||||
<IconButton
|
<IconButton
|
||||||
src={require('@tabler/icons/download.svg')}
|
src={require('@tabler/icons/download.svg')}
|
||||||
// title={intl.formatMessage(isFullScreen ? messages.minimize : messages.expand)}
|
|
||||||
theme='dark'
|
theme='dark'
|
||||||
className='!p-1.5 hover:scale-105 hover:bg-gray-900'
|
className='!p-1.5 hover:scale-105 hover:bg-gray-900'
|
||||||
iconClassName='h-5 w-5'
|
iconClassName='h-5 w-5'
|
||||||
onClick={handleDownload}
|
onClick={handleDownload}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
{status && (
|
||||||
<IconButton
|
<IconButton
|
||||||
src={isFullScreen ? require('@tabler/icons/arrows-minimize.svg') : require('@tabler/icons/arrows-maximize.svg')}
|
src={isFullScreen ? require('@tabler/icons/arrows-minimize.svg') : require('@tabler/icons/arrows-maximize.svg')}
|
||||||
title={intl.formatMessage(isFullScreen ? messages.minimize : messages.expand)}
|
title={intl.formatMessage(isFullScreen ? messages.minimize : messages.expand)}
|
||||||
|
@ -270,6 +272,7 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
iconClassName='h-5 w-5'
|
iconClassName='h-5 w-5'
|
||||||
onClick={() => setIsFullScreen(!isFullScreen)}
|
onClick={() => setIsFullScreen(!isFullScreen)}
|
||||||
/>
|
/>
|
||||||
|
)}
|
||||||
</HStack>
|
</HStack>
|
||||||
</HStack>
|
</HStack>
|
||||||
|
|
||||||
|
@ -311,6 +314,7 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{actualStatus && (
|
||||||
<HStack justifyContent='center' className='flex-[0_0_60px]'>
|
<HStack justifyContent='center' className='flex-[0_0_60px]'>
|
||||||
<StatusActionBar
|
<StatusActionBar
|
||||||
status={actualStatus}
|
status={actualStatus}
|
||||||
|
@ -318,8 +322,10 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
statusActionButtonTheme='inverse'
|
statusActionButtonTheme='inverse'
|
||||||
/>
|
/>
|
||||||
</HStack>
|
</HStack>
|
||||||
|
)}
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|
||||||
|
{actualStatus && (
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
clsx('-right-96 hidden bg-white transition-all xl:fixed xl:inset-y-0 xl:right-0 xl:flex xl:w-96 xl:flex-col', {
|
clsx('-right-96 hidden bg-white transition-all xl:fixed xl:inset-y-0 xl:right-0 xl:flex xl:w-96 xl:flex-col', {
|
||||||
|
@ -336,6 +342,7 @@ const MediaModal: React.FC<IMediaModal> = (props) => {
|
||||||
handleLoadMore={handleLoadMore}
|
handleLoadMore={handleLoadMore}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue