diff --git a/src/renderer/src/pages/settings/add-download-source-modal.scss b/src/renderer/src/pages/settings/add-download-source-modal.scss
new file mode 100644
index 00000000..f6b5d151
--- /dev/null
+++ b/src/renderer/src/pages/settings/add-download-source-modal.scss
@@ -0,0 +1,27 @@
+@use "../../scss/globals.scss";
+
+.add-download-source-modal {
+ &__container {
+ display: flex;
+ flex-direction: column;
+ gap: globals.$spacing-unit;
+ min-width: 500px;
+ }
+
+ &__validation-result {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: calc(globals.$spacing-unit * 3);
+ }
+
+ &__validation-info {
+ display: flex;
+ flex-direction: column;
+ gap: calc(globals.$spacing-unit / 2);
+ }
+
+ &__validate-button {
+ align-self: flex-end;
+ }
+}
diff --git a/src/renderer/src/pages/settings/add-download-source-modal.tsx b/src/renderer/src/pages/settings/add-download-source-modal.tsx
index e3d43f4b..2a9b5dd6 100644
--- a/src/renderer/src/pages/settings/add-download-source-modal.tsx
+++ b/src/renderer/src/pages/settings/add-download-source-modal.tsx
@@ -2,7 +2,6 @@ import { useCallback, useContext, useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { Button, Modal, TextField } from "@renderer/components";
-import { SPACING_UNIT } from "@renderer/theme.css";
import { settingsContext } from "@renderer/context";
import { useForm } from "react-hook-form";
@@ -11,6 +10,7 @@ import { yupResolver } from "@hookform/resolvers/yup";
import { downloadSourcesTable } from "@renderer/dexie";
import type { DownloadSourceValidationResult } from "@types";
import { downloadSourcesWorker } from "@renderer/workers";
+import "./add-download-source-modal.scss";
interface AddDownloadSourceModalProps {
visible: boolean;
@@ -138,14 +138,7 @@ export function AddDownloadSourceModal({
description={t("add_download_source_description")}
onClose={onClose}
>
-
+
@@ -165,21 +158,8 @@ export function AddDownloadSourceModal({
/>
{validationResult && (
-
-
+
+
{validationResult?.name}
{t("found_download_option", {
diff --git a/src/renderer/src/pages/settings/settings-account.scss b/src/renderer/src/pages/settings/settings-account.scss
new file mode 100644
index 00000000..129a854a
--- /dev/null
+++ b/src/renderer/src/pages/settings/settings-account.scss
@@ -0,0 +1,67 @@
+@use "../../scss/globals.scss";
+
+.settings-account {
+ &__form {
+ display: flex;
+ flex-direction: column;
+ gap: calc(globals.$spacing-unit * 2);
+ }
+
+ &__section {
+ display: flex;
+ flex-direction: column;
+ gap: globals.$spacing-unit;
+ }
+
+ &__actions {
+ display: flex;
+ gap: globals.$spacing-unit;
+ margin-top: globals.$spacing-unit;
+ }
+
+ &__subscription-info {
+ display: flex;
+ flex-direction: column;
+ gap: calc(globals.$spacing-unit * 2);
+ }
+
+ &__subscription-button {
+ place-self: flex-start;
+ }
+
+ &__blocked-users {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ flex-direction: column;
+ gap: globals.$spacing-unit;
+ }
+
+ &__blocked-user {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: globals.$spacing-unit;
+ }
+
+ &__user-info {
+ display: flex;
+ gap: globals.$spacing-unit;
+ align-items: center;
+ }
+
+ &__user-avatar {
+ filter: grayscale(100%);
+ }
+
+ &__unblock-button {
+ color: globals.$danger-color;
+ cursor: pointer;
+ background: none;
+ border: none;
+ padding: 0;
+ display: flex;
+ align-items: center;
+ }
+}
diff --git a/src/renderer/src/pages/settings/settings-account.tsx b/src/renderer/src/pages/settings/settings-account.tsx
index d43e5b2d..5ee0a2fb 100644
--- a/src/renderer/src/pages/settings/settings-account.tsx
+++ b/src/renderer/src/pages/settings/settings-account.tsx
@@ -1,9 +1,6 @@
import { Avatar, Button, SelectField } from "@renderer/components";
-import { SPACING_UNIT } from "@renderer/theme.css";
import { Controller, useForm } from "react-hook-form";
import { useTranslation } from "react-i18next";
-
-import * as styles from "./settings-account.css";
import { useDate, useToast, useUserDetails } from "@renderer/hooks";
import { useCallback, useContext, useEffect, useState } from "react";
import {
@@ -14,6 +11,7 @@ import {
} from "@primer/octicons-react";
import { settingsContext } from "@renderer/context";
import { AuthPage } from "@shared";
+import "./settings-account.scss";
interface FormValues {
profileVisibility: "PUBLIC" | "FRIENDS" | "PRIVATE";
@@ -145,7 +143,7 @@ export function SettingsAccount() {
if (!userDetails) return null;
return (
-