From e4766f8a25f74e451c130bcf445fe3948f31c85d Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Sun, 12 Jan 2025 16:31:17 +0100 Subject: [PATCH] minor ui fixes --- .../components/nav-bar/nav-bar.component.tsx | 4 +-- .../slides/launch/launch-slide.component.tsx | 1 + .../slides/mods/mods-slide.component.tsx | 28 ++++++++++++++----- .../pages/version-viewer.component.tsx | 2 +- .../services/bs-mods-manager.service.ts | 3 +- src/renderer/services/progress-bar.service.ts | 5 +++- 6 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/renderer/components/nav-bar/nav-bar.component.tsx b/src/renderer/components/nav-bar/nav-bar.component.tsx index 3b9f74b6..b34eebc1 100644 --- a/src/renderer/components/nav-bar/nav-bar.component.tsx +++ b/src/renderer/components/nav-bar/nav-bar.component.tsx @@ -56,14 +56,14 @@ export function NavBar() { - + - + diff --git a/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx b/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx index 9bcecbf0..2e1e5e99 100644 --- a/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx +++ b/src/renderer/components/version-viewer/slides/launch/launch-slide.component.tsx @@ -183,6 +183,7 @@ export function LaunchSlide({ version }: Props) { if(launchMod?.visible === false || !launchMod?.pinned) { return undefined; } return ( void }) { +export function ModsSlide({ version, isActive, onDisclamerDecline }: { version: BSVersion; isActive?: boolean, onDisclamerDecline: () => void }) { const ACCEPTED_DISCLAIMER_KEY = "accepted-mods-disclaimer"; const { text: t } = useTranslationV2(); @@ -34,9 +34,8 @@ export function ModsSlide({ version, onDisclamerDecline }: { version: BSVersion; const linkOpener = useService(LinkOpenerService); const modals = useService(ModalService); const os = useService(OsDiagnosticService); + const progress = useService(ProgressBarService); - const ref = useRef(null); - const isVisible = useInView(ref, { amount: 0.5 }); const [modsAvailable, setModsAvailable] = useState(null as Map); const [modsInstalled, setModsInstalled] = useState(null as Map); const [modsSelected, setModsSelected] = useState([] as BbmFullMod[]); @@ -202,7 +201,7 @@ export function ModsSlide({ version, onDisclamerDecline }: { version: BSVersion; useEffect(() => { - if(!isVisible || !isOnline){ + if(!isActive || !isOnline){ return noop(); } @@ -232,7 +231,22 @@ export function ModsSlide({ version, onDisclamerDecline }: { version: BSVersion; setModsAvailable(null); setModsInstalled(null); }; - }, [isVisible, isOnline, version]); + }, [isActive, isOnline, version]); + + useEffect(() => { + // Center the progress bar between buttons + if(isActive){ + progress.setStyle({ paddingLeft: "150px", paddingRight: "190px", bottom: "24px" }); + + } else { + progress.setStyle(null); + } + + + return () => { + progress.setStyle(null); + } + }, [isActive]) useLayoutEffect(() => { if (modsAvailable) { @@ -291,7 +305,7 @@ export function ModsSlide({ version, onDisclamerDecline }: { version: BSVersion; }; return ( - + setCurrentTabIndex(() => 3)} /> - + (obs => { const install$ = this.ipcService.sendV2("bs-mods.install-mods", { mods, version }); - this.progressBar.show(install$.pipe(catchError(() => of({ current: 0, total: 0} as Progression))), { paddingLeft: "190px", paddingRight: "190px", bottom: "20px" }); + this.progressBar.show(install$.pipe(catchError(() => of({ current: 0, total: 0} as Progression)))); + const sub = install$.pipe( tap({ diff --git a/src/renderer/services/progress-bar.service.ts b/src/renderer/services/progress-bar.service.ts index 6f5376f1..c9256240 100644 --- a/src/renderer/services/progress-bar.service.ts +++ b/src/renderer/services/progress-bar.service.ts @@ -76,7 +76,10 @@ export class ProgressBarService { this.subscribreTo(obs); } this._visible$.next(true); - this._style$.next(style); + + if(style) { + this._style$.next(style); + } } public showFake(speed: number, style?: CSSProperties, label?: string): void {