Skip to content

Commit d3eefa3

Browse files
committed
fix: update GamePage to conditionally display game information based on Steam status
1 parent 32d6c80 commit d3eefa3

File tree

1 file changed

+127
-98
lines changed

1 file changed

+127
-98
lines changed

src/frontend/screens/Game/GamePage/index.tsx

Lines changed: 127 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -486,123 +486,152 @@ export default observer(function GamePage(): React.JSX.Element | null {
486486
)}
487487
</div>
488488
<div className="infoWrapper">
489-
<div className="developer menu">{developer}</div>
490-
<div className="summary">{description}</div>
489+
{!isSteam ? (
490+
<>
491+
<div className="developer menu">{developer}</div>
492+
<div className="summary">{description}</div>
493+
</>
494+
) : (
495+
<>
496+
<div className="summary">
497+
{t(
498+
'info.steam-game',
499+
'This is a Steam game, for more information check the game page on the Steam App.'
500+
)}
501+
</div>
502+
</>
503+
)}
491504
<div className="grid-container">
492-
{!is_installed && !isSideloaded && (
493-
<>
494-
{downloadSize !== 0 ? (
495-
<>
496-
<div className="hp-subtitle">
497-
{t('game.downloadSize', 'Download Size')}
498-
</div>
499-
<div className="col2-item italic">
500-
{downloadSize ?? '...'}
501-
</div>
502-
</>
503-
) : null}
504-
{installSize !== 0 ? (
505-
<>
506-
<div className="hp-subtitle">
507-
{t('game.installSize', 'Install Size')}
508-
</div>
509-
<div className="col2-item italic">
510-
{installSize ?? '...'}
511-
</div>
512-
</>
513-
) : null}
514-
</>
515-
)}
516-
<div className="hp-subtitle">
517-
{t('info.web3-supported', 'Has Web3 features')}
518-
</div>
519-
<div className="col2-item italic">
520-
{supportsWeb3 ? t('box.yes') : t('box.no')}
521-
</div>
522-
{is_installed && !isBrowserGame && (
505+
{!isSteam && (
523506
<>
524-
{showCloudSaveInfo && (
525-
<>
526-
<div className="hp-subtitle">
527-
{t('info.syncsaves')}
528-
</div>
529-
<div
530-
style={{
531-
color: autoSyncSaves ? '#07C5EF' : ''
532-
}}
533-
className="col2-item italic"
534-
>
535-
{!isCloudSaveSupported &&
536-
t('cloud_save_unsupported', 'Unsupported')}
537-
{isCloudSaveSupported &&
538-
(autoSyncSaves ? t('enabled') : t('disabled'))}
539-
</div>
540-
</>
541-
)}
542-
{!isSideloaded && installSize ? (
543-
<>
544-
<div className="hp-subtitle">{t('info.size')}</div>
545-
<div className="col2-item italic">{installSize}</div>
546-
</>
547-
) : null}
548-
<div className="hp-subtitle">
549-
{t('info.installedPlatform', 'Installed Platform')}:
550-
</div>
551-
<div
552-
style={{ textTransform: 'capitalize' }}
553-
className="col2-item"
554-
>
555-
{installPlatform === 'osx'
556-
? 'MacOS'
557-
: getPlatformName(installPlatform || '')}
558-
</div>
559-
{!isSideloaded && (
507+
{!is_installed && !isSideloaded && (
560508
<>
561-
<div className="hp-subtitle">{t('info.version')}</div>
562-
<div className="col2-item italic">{version}</div>
509+
{downloadSize !== 0 ? (
510+
<>
511+
<div className="hp-subtitle">
512+
{t('game.downloadSize', 'Download Size')}
513+
</div>
514+
<div className="col2-item italic">
515+
{downloadSize ?? '...'}
516+
</div>
517+
</>
518+
) : null}
519+
{installSize !== 0 ? (
520+
<>
521+
<div className="hp-subtitle">
522+
{t('game.installSize', 'Install Size')}
523+
</div>
524+
<div className="col2-item italic">
525+
{installSize ?? '...'}
526+
</div>
527+
</>
528+
) : null}
563529
</>
564530
)}
565531
<div className="hp-subtitle">
566-
{t('info.canRunOffline', 'Online Required')}:
532+
{t('info.web3-supported', 'Has Web3 features')}
567533
</div>
568534
<div className="col2-item italic">
569-
{t(canRunOffline ? 'box.no' : 'box.yes')}
535+
{supportsWeb3 ? t('box.yes') : t('box.no')}
570536
</div>
571-
<div className="hp-subtitle">
572-
{t('info.path', 'Install Path')}
573-
</div>
574-
{is_installed && appLocation && (
575-
<div className="col2-item italic">
537+
{is_installed && !isBrowserGame && (
538+
<>
539+
{showCloudSaveInfo && (
540+
<>
541+
<div className="hp-subtitle">
542+
{t('info.syncsaves')}
543+
</div>
544+
<div
545+
style={{
546+
color: autoSyncSaves ? '#07C5EF' : ''
547+
}}
548+
className="col2-item italic"
549+
>
550+
{!isCloudSaveSupported &&
551+
t('cloud_save_unsupported', 'Unsupported')}
552+
{isCloudSaveSupported &&
553+
(autoSyncSaves
554+
? t('enabled')
555+
: t('disabled'))}
556+
</div>
557+
</>
558+
)}
559+
{!isSideloaded && installSize ? (
560+
<>
561+
<div className="hp-subtitle">
562+
{t('info.size')}
563+
</div>
564+
<div className="col2-item italic">
565+
{installSize}
566+
</div>
567+
</>
568+
) : null}
569+
<div className="hp-subtitle">
570+
{t('info.installedPlatform', 'Installed Platform')}:
571+
</div>
576572
<div
577-
className="col2-item italic"
578-
onClick={() => window.api.openFolder(appLocation)}
573+
style={{ textTransform: 'capitalize' }}
574+
className="col2-item"
579575
>
580-
{appLocation}
576+
{installPlatform === 'osx'
577+
? 'MacOS'
578+
: getPlatformName(installPlatform || '')}
579+
</div>
580+
{!isSideloaded && (
581+
<>
582+
<div className="hp-subtitle">
583+
{t('info.version')}
584+
</div>
585+
<div className="col2-item italic">{version}</div>
586+
</>
587+
)}
588+
<div className="hp-subtitle">
589+
{t('info.canRunOffline', 'Online Required')}:
581590
</div>
582-
</div>
583-
)}
584-
{!isWin && !isNative && !isBrowserGame && (
585-
<>
586-
<div className="hp-subtitle">Wine</div>
587591
<div className="col2-item italic">
588-
{wineVersion?.name}
592+
{t(canRunOffline ? 'box.no' : 'box.yes')}
589593
</div>
590-
<div className="hp-subtitle">Prefix:</div>
591-
<div
592-
className="col2-item italic"
593-
onClick={() => window.api.openFolder(winePrefix)}
594-
>
595-
{winePrefix}
594+
<div className="hp-subtitle">
595+
{t('info.path', 'Install Path')}
596596
</div>
597+
{is_installed && appLocation && (
598+
<div className="col2-item italic">
599+
<div
600+
className="col2-item italic"
601+
onClick={() =>
602+
window.api.openFolder(appLocation)
603+
}
604+
>
605+
{appLocation}
606+
</div>
607+
</div>
608+
)}
609+
{!isWin && !isNative && !isBrowserGame && (
610+
<>
611+
<div className="hp-subtitle">Wine</div>
612+
<div className="col2-item italic">
613+
{wineVersion?.name}
614+
</div>
615+
<div className="hp-subtitle">Prefix:</div>
616+
<div
617+
className="col2-item italic"
618+
onClick={() =>
619+
window.api.openFolder(winePrefix)
620+
}
621+
>
622+
{winePrefix}
623+
</div>
624+
</>
625+
)}
597626
</>
598627
)}
628+
<TimeContainer
629+
runner={runner}
630+
game={appName}
631+
status={status}
632+
/>
599633
</>
600634
)}
601-
<TimeContainer
602-
runner={runner}
603-
game={appName}
604-
status={status}
605-
/>
606635
</div>
607636
</div>
608637
<div className="gameStatus">

0 commit comments

Comments
 (0)