From 138244d5aa54db6f4b5ce1c363998aab6660b50e Mon Sep 17 00:00:00 2001 From: Nate Date: Fri, 17 Jan 2025 19:58:16 -0300 Subject: [PATCH] full migration to scss --- src/renderer/src/components/toast/toast.scss | 17 +++++--- src/renderer/src/components/toast/toast.tsx | 2 +- .../pages/achievements/achievement-panel.tsx | 2 +- .../achievements/achievements-content.tsx | 24 ++++++------ .../compared-achievement-panel.tsx | 27 ++++++------- .../src/pages/catalogue/catalogue.scss | 2 +- .../src/pages/downloads/download-group.scss | 7 ++++ .../src/pages/downloads/download-group.tsx | 14 ++----- .../description-header/description-header.tsx | 4 +- .../game-details/game-details-content.tsx | 39 ++++++++----------- 10 files changed, 70 insertions(+), 68 deletions(-) diff --git a/src/renderer/src/components/toast/toast.scss b/src/renderer/src/components/toast/toast.scss index 9f0d5c0d..faef6b35 100644 --- a/src/renderer/src/components/toast/toast.scss +++ b/src/renderer/src/components/toast/toast.scss @@ -46,7 +46,7 @@ } } -.toast__content { +&__content { display: flex; gap: $spacing-unit * 2; padding: $spacing-unit * 2; @@ -54,7 +54,7 @@ align-items: center; } -.toast__progress { +&__progress { width: 100%; height: 5px; @@ -67,21 +67,26 @@ } } -.toast__close-button { +&__close-button { color: $body-color; cursor: pointer; padding: 0; margin: 0; } -.toast__success-icon { +&__icon-container { + display: flex; + gap: var(--spacing-unit); +} + +&__success-icon { color: $success-color; } -.toast__error-icon { +&__error-icon { color: $danger-color; } -.toast__warning-icon { +&__warning-icon { color: $warning-color; } diff --git a/src/renderer/src/components/toast/toast.tsx b/src/renderer/src/components/toast/toast.tsx index e757ffc6..cada7372 100644 --- a/src/renderer/src/components/toast/toast.tsx +++ b/src/renderer/src/components/toast/toast.tsx @@ -83,7 +83,7 @@ export function Toast({ visible, message, type, onClose }: ToastProps) { })} >
-
+
{type === "success" && ( )} diff --git a/src/renderer/src/pages/achievements/achievement-panel.tsx b/src/renderer/src/pages/achievements/achievement-panel.tsx index 3752591b..56623cfd 100644 --- a/src/renderer/src/pages/achievements/achievement-panel.tsx +++ b/src/renderer/src/pages/achievements/achievement-panel.tsx @@ -36,7 +36,7 @@ export function AchievementPanel({ achievements }: AchievementPanelProps) {
); -} \ No newline at end of file +} diff --git a/src/renderer/src/pages/achievements/compared-achievement-panel.tsx b/src/renderer/src/pages/achievements/compared-achievement-panel.tsx index 8eba2b60..73819a17 100644 --- a/src/renderer/src/pages/achievements/compared-achievement-panel.tsx +++ b/src/renderer/src/pages/achievements/compared-achievement-panel.tsx @@ -1,11 +1,12 @@ import { useTranslation } from "react-i18next"; -import * as styles from "./achievement-panel.css"; import HydraIcon from "@renderer/assets/icons/hydra.svg?react"; import { ComparedAchievements } from "@types"; -import { SPACING_UNIT } from "@renderer/theme.css"; import { useUserDetails } from "@renderer/hooks"; +import "./achievement-panel.scss"; +import "../../scss/_variables.scss"; + export interface ComparedAchievementPanelProps { achievements: ComparedAchievements; } @@ -18,27 +19,27 @@ export function ComparedAchievementPanel({ return (
-
- {t("available_points")} {" "} +
+ {t("available_points")} + {achievements.achievementsPointsTotal}
+ {hasActiveSubscription && ( -
+
{achievements.owner.achievementsPointsEarnedSum ?? 0}
)} -
+ +
{achievements.target.achievementsPointsEarnedSum}
); -} +} \ No newline at end of file diff --git a/src/renderer/src/pages/catalogue/catalogue.scss b/src/renderer/src/pages/catalogue/catalogue.scss index 74b55215..5b3471cb 100644 --- a/src/renderer/src/pages/catalogue/catalogue.scss +++ b/src/renderer/src/pages/catalogue/catalogue.scss @@ -20,7 +20,7 @@ align-self: flex-start; } - &__header { + &__header { display: flex; gap: calc(var(--spacing-unit) * 2); justify-content: space-between; diff --git a/src/renderer/src/pages/downloads/download-group.scss b/src/renderer/src/pages/downloads/download-group.scss index c43b181b..6eceb7f0 100644 --- a/src/renderer/src/pages/downloads/download-group.scss +++ b/src/renderer/src/pages/downloads/download-group.scss @@ -21,6 +21,13 @@ } } + &__downloads-group { + display: flex; + align-items: center; + justify-content: space-between; + gap: $spacing-unit * 2; + } + &__downloads { width: 100%; gap: #{$spacing-unit * 2}; diff --git a/src/renderer/src/pages/downloads/download-group.tsx b/src/renderer/src/pages/downloads/download-group.tsx index 851fff26..12c4d0b4 100644 --- a/src/renderer/src/pages/downloads/download-group.tsx +++ b/src/renderer/src/pages/downloads/download-group.tsx @@ -13,9 +13,9 @@ import { DOWNLOADER_NAME } from "@renderer/constants"; import { useAppSelector, useDownload } from "@renderer/hooks"; import "./download-group.scss"; +import "../../scss/_variables.scss"; import { useTranslation } from "react-i18next"; -import { SPACING_UNIT, vars } from "@renderer/theme.css"; import { useMemo } from "react"; import { DropdownMenu, @@ -240,20 +240,14 @@ export function DownloadGroup({ return (
-

{title}

@@ -272,7 +266,7 @@ export function DownloadGroup({
{game.title} diff --git a/src/renderer/src/pages/game-details/description-header/description-header.tsx b/src/renderer/src/pages/game-details/description-header/description-header.tsx index cd73c52a..0d237607 100644 --- a/src/renderer/src/pages/game-details/description-header/description-header.tsx +++ b/src/renderer/src/pages/game-details/description-header/description-header.tsx @@ -12,8 +12,8 @@ export function DescriptionHeader() { if (!shopDetails) return null; return ( -
-
+
+

{t("release_date", { date: shopDetails?.release_date.date, diff --git a/src/renderer/src/pages/game-details/game-details-content.tsx b/src/renderer/src/pages/game-details/game-details-content.tsx index 016af036..386b0e35 100644 --- a/src/renderer/src/pages/game-details/game-details-content.tsx +++ b/src/renderer/src/pages/game-details/game-details-content.tsx @@ -25,13 +25,8 @@ export function GameDetailsContent() { const { t } = useTranslation("game_details"); - const { - objectId, - shopDetails, - game, - gameColor, - setGameColor, - } = useContext(gameDetailsContext); + const { objectId, shopDetails, game, gameColor, setGameColor } = + useContext(gameDetailsContext); const { showHydraCloudModal } = useSubscription(); @@ -77,27 +72,27 @@ export function GameDetailsContent() { useEffect(() => { setBackdropOpacity(1); }, [objectId]); - const HERO_HEIGHT = 150; + const HERO_HEIGHT = 150; const onScroll: React.UIEventHandler = (event) => { - const heroHeight = heroRef.current?.clientHeight ?? HERO_HEIGHT; + const heroHeight = heroRef.current?.clientHeight ?? HERO_HEIGHT; - const scrollY = (event.target as HTMLDivElement).scrollTop; - const opacity = Math.max( - 0, - 1 - scrollY / (heroHeight - HERO_ANIMATION_THRESHOLD) - ); + const scrollY = (event.target as HTMLDivElement).scrollTop; + const opacity = Math.max( + 0, + 1 - scrollY / (heroHeight - HERO_ANIMATION_THRESHOLD) + ); - if (scrollY >= heroHeight && !isHeaderStuck) { - setIsHeaderStuck(true); - } + if (scrollY >= heroHeight && !isHeaderStuck) { + setIsHeaderStuck(true); + } - if (scrollY <= heroHeight && isHeaderStuck) { - setIsHeaderStuck(false); - } + if (scrollY <= heroHeight && isHeaderStuck) { + setIsHeaderStuck(false); + } - setBackdropOpacity(opacity); -}; + setBackdropOpacity(opacity); + }; const handleCloudSaveButtonClick = () => { if (!userDetails) {