diff --git a/package-lock.json b/package-lock.json
index d596824..9b73a2e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,14 +8,14 @@
"name": "triggerfrontend",
"version": "1.2.0",
"dependencies": {
- "@gfazioli/mantine-text-animate": "^2.4.0",
+ "@gfazioli/mantine-text-animate": "^2.4.1",
"@hello-pangea/dnd": "^18.0.1",
"@mantine/core": "^8.3.14",
"@mantine/dates": "^8.3.14",
"@mantine/form": "^8.3.14",
"@mantine/hooks": "^8.3.14",
"@mantine/notifications": "^8.3.14",
- "@tanstack/react-query": "^5.90.20",
+ "@tanstack/react-query": "^5.90.21",
"@tanstack/react-query-devtools": "^5.91.3",
"@tanstack/react-query-persist-client": "^5.90.22",
"@tanstack/react-table": "^8.21.3",
@@ -30,7 +30,7 @@
},
"devDependencies": {
"@types/node": "^25.2.3",
- "@types/react": "^19.2.13",
+ "@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.4",
"@vitest/coverage-v8": "^4.0.18",
@@ -38,7 +38,7 @@
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-plugin-dts": "~4.5.4",
- "vite-tsconfig-paths": "^6.1.0",
+ "vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.0.18"
}
},
@@ -820,9 +820,9 @@
"license": "MIT"
},
"node_modules/@gfazioli/mantine-text-animate": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@gfazioli/mantine-text-animate/-/mantine-text-animate-2.4.0.tgz",
- "integrity": "sha512-m6zZf6MB8Xm40fEGjSAmcs4gYx0ovWzgIQKhTlsaPDF0w1oD4n1Lj1SX4+vdefSGrGef7Xaazt7mrW2HE2ACdA==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@gfazioli/mantine-text-animate/-/mantine-text-animate-2.4.1.tgz",
+ "integrity": "sha512-juAdQpivTXiVPEzk7V8Nwys9d5GyrLbj6X+0qnSvcmPcUvj8fDasHwk2URr2Hv3O71AP3VqOrO1a1otxCoz3hg==",
"peerDependencies": {
"@mantine/core": ">=7.0.0",
"@mantine/hooks": ">=7.0.0",
@@ -1624,9 +1624,9 @@
}
},
"node_modules/@tanstack/react-query": {
- "version": "5.90.20",
- "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.20.tgz",
- "integrity": "sha512-vXBxa+qeyveVO7OA0jX1z+DeyCA4JKnThKv411jd5SORpBKgkcVnYKCiBgECvADvniBX7tobwBmg01qq9JmMJw==",
+ "version": "5.90.21",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.21.tgz",
+ "integrity": "sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg==",
"dependencies": {
"@tanstack/query-core": "5.90.20"
},
@@ -1846,9 +1846,9 @@
}
},
"node_modules/@types/react": {
- "version": "19.2.13",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.13.tgz",
- "integrity": "sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ==",
+ "version": "19.2.14",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
+ "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
"devOptional": true,
"dependencies": {
"csstype": "^3.2.2"
@@ -4189,9 +4189,9 @@
}
},
"node_modules/vite-tsconfig-paths": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.0.tgz",
- "integrity": "sha512-kpd3sY9glHIDaq4V/Tlc1Y8WaKtutoc3B525GHxEVKWX42FKfQsXvjFOemu1I8VIN8pNbrMLWVTbW79JaRUxKg==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.1.tgz",
+ "integrity": "sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==",
"dev": true,
"dependencies": {
"debug": "^4.1.1",
diff --git a/package.json b/package.json
index 4d83448..b69585b 100644
--- a/package.json
+++ b/package.json
@@ -10,14 +10,14 @@
"preview": "vite preview"
},
"dependencies": {
- "@gfazioli/mantine-text-animate": "^2.4.0",
+ "@gfazioli/mantine-text-animate": "^2.4.1",
"@hello-pangea/dnd": "^18.0.1",
"@mantine/core": "^8.3.14",
"@mantine/dates": "^8.3.14",
"@mantine/form": "^8.3.14",
"@mantine/hooks": "^8.3.14",
"@mantine/notifications": "^8.3.14",
- "@tanstack/react-query": "^5.90.20",
+ "@tanstack/react-query": "^5.90.21",
"@tanstack/react-query-devtools": "^5.91.3",
"@tanstack/react-query-persist-client": "^5.90.22",
"@tanstack/react-table": "^8.21.3",
@@ -32,7 +32,7 @@
},
"devDependencies": {
"@types/node": "^25.2.3",
- "@types/react": "^19.2.13",
+ "@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.4",
"@vitest/coverage-v8": "^4.0.18",
@@ -40,7 +40,7 @@
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-plugin-dts": "~4.5.4",
- "vite-tsconfig-paths": "^6.1.0",
+ "vite-tsconfig-paths": "^6.1.1",
"vitest": "^4.0.18"
}
}
diff --git a/src/components/WeatherModal/ExtendedForecastCard.tsx b/src/components/WeatherModal/ExtendedForecastCard.tsx
index 14af9ff..db55233 100644
--- a/src/components/WeatherModal/ExtendedForecastCard.tsx
+++ b/src/components/WeatherModal/ExtendedForecastCard.tsx
@@ -54,7 +54,25 @@ export default function ExtendedForecastCard({
borderRadius: '8px',
}}
>
- {item.name}
+ 15 ? 'flex-start' : 'center'}
+ style={{
+ width: '100%',
+ whiteSpace: 'nowrap',
+ overflow: 'hidden',
+ boxSizing: 'border-box',
+ position: 'relative',
+ }}
+ >
+ 15 ? textClasses.autoScrollText : undefined
+ }
+ classNames={textClasses}
+ >
+ {item.name}
+
+
15 ? 'flex-start' : 'center'}
diff --git a/src/pages/settings/components/Personalization/Personalization.tsx b/src/pages/settings/components/Personalization/Personalization.tsx
index 860751f..d7b81bd 100644
--- a/src/pages/settings/components/Personalization/Personalization.tsx
+++ b/src/pages/settings/components/Personalization/Personalization.tsx
@@ -1,8 +1,11 @@
import {
+ Box,
Card,
Grid,
GridCol,
+ Group,
LoadingOverlay,
+ Overlay,
Stack,
Switch,
Text,
@@ -27,6 +30,7 @@ export function Personalization() {
personal?.enableGuacamole === 1,
);
const [defaultFont, setDefaultFont] = useState(personal?.defaultFont);
+ const [customFont, setCustomFont] = useState();
const [update, setUpdate] = useState();
const [debounced] = useDebouncedValue(update, 1000);
const { mutateAsync } = useMutationAPI();
@@ -40,12 +44,12 @@ export function Personalization() {
useEffect(() => {
if (Object.keys(personal).length > 0) {
+ setCustomFont(personal.defaultFont !== 'Jost');
setWolEnabled(personal.enableWol === 1);
setGuacamoleEnabled(personal.enableGuacamole === 1);
setDefaultFont(personal.defaultFont);
}
}, [personal]);
-
useEffect(() => {
if (
Object.keys(personal).length > 0 &&
@@ -155,34 +159,6 @@ export function Personalization() {
-
- {
- const updatedPersonal = {
- ...personal,
- email: event.currentTarget.value,
- };
- setUpdate(updatedPersonal);
- }}
- styles={
- theme.textShadowsEnabled
- ? {
- label: { boxShadow: '2px 2px var(--mantine-color-border-0)' },
- }
- : undefined
- }
- />
-
-
-
-
+
+
+ {
+ const updatedPersonal = {
+ ...personal,
+ email: event.currentTarget.value,
+ };
+ setUpdate(updatedPersonal);
+ }}
+ styles={
+ theme.textShadowsEnabled
+ ? {
+ label: { boxShadow: '2px 2px var(--mantine-color-border-0)' },
+ }
+ : undefined
+ }
+ />
+
+
+
Extras
- Font Select
- {defaultFont && (
- setDefaultFont(font)}
+
+ {
+ setCustomFont(!customFont);
+ if (!event.target.checked) {
+ setDefaultFont('Jost');
+ }
+ }}
/>
+ {
+ setWolEnabled(!wolEnabled);
+ const updatedPersonal = {
+ ...personal,
+ enableWol: event.target.checked ? 1 : 0,
+ };
+ setUpdate(updatedPersonal);
+ }}
+ />
+ {
+ setGuacamoleEnabled(!guacamoleEnabled);
+ const updatedPersonal = {
+ ...personal,
+ enableGuacamole: event.target.checked ? 1 : 0,
+ };
+ setUpdate(updatedPersonal);
+ }}
+ />
+
+ {defaultFont && (
+
+ {!customFont && (
+
+ )}
+
+ Default Font
+ setDefaultFont(font)}
+ />
+
)}
- {
- setWolEnabled(!wolEnabled);
- const updatedPersonal = {
- ...personal,
- enableWol: event.target.checked ? 1 : 0,
- };
- setUpdate(updatedPersonal);
- }}
- />
- {
- setGuacamoleEnabled(!guacamoleEnabled);
- const updatedPersonal = {
- ...personal,
- enableGuacamole: event.target.checked ? 1 : 0,
- };
- setUpdate(updatedPersonal);
- }}
- />
- {personal?.enableGuacamole === 1 && (
+
+ {!personal?.enableGuacamole && (
+
+ )}
- )}
+