aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/app/routes/settings.tsx
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-11-19 15:04:55 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-11-19 15:05:34 +0100
commitd51169f6411b68a226d76d2d39826904de484929 (patch)
tree4d8a403dfcc5b17671a92b8cc1e5d71d20ed9537 /src/frontend/app/routes/settings.tsx
parentd434204860fc0409ad6343e815d0057b97ce3573 (diff)
feat: Add About and Favourites pages, update routing and context management
- Added new routes for About and Favourites pages. - Implemented About page with version information and credits. - Created Favourites page with a placeholder message for empty favourites. - Refactored RegionConfig import paths for consistency. - Introduced PageTitleContext to manage page titles dynamically. - Updated various components to utilize the new context for setting page titles. - Enhanced AppShell layout with a responsive Drawer for navigation. - Added CSS styles for new components and pages. - Integrated commit hash display in the About page for version tracking.
Diffstat (limited to 'src/frontend/app/routes/settings.tsx')
-rw-r--r--src/frontend/app/routes/settings.tsx51
1 files changed, 6 insertions, 45 deletions
diff --git a/src/frontend/app/routes/settings.tsx b/src/frontend/app/routes/settings.tsx
index 2134b4c..351ccf0 100644
--- a/src/frontend/app/routes/settings.tsx
+++ b/src/frontend/app/routes/settings.tsx
@@ -1,12 +1,14 @@
-import { type Theme, useApp } from "../AppContext";
-import "./settings.css";
-import { useTranslation } from "react-i18next";
import { useState } from "react";
-import { getAvailableRegions, REGIONS } from "../data/RegionConfig";
+import { useTranslation } from "react-i18next";
import { useNavigate } from "react-router";
+import { usePageTitle } from "~/contexts/PageTitleContext";
+import { type Theme, useApp } from "../AppContext";
+import { getAvailableRegions } from "../config/RegionConfig";
+import "./settings.css";
export default function Settings() {
const { t, i18n } = useTranslation();
+ usePageTitle(t("navbar.settings", "Ajustes"));
const navigate = useNavigate();
const {
theme,
@@ -46,8 +48,6 @@ export default function Settings() {
return (
<div className="page-container">
- <h1 className="page-title">{t("about.title")}</h1>
- <p className="about-description">{t("about.description")}</p>
<section className="settings-section">
<h2>{t("about.settings")}</h2>
<div className="settings-content-inline">
@@ -151,45 +151,6 @@ export default function Settings() {
</dl>
</details>
</section>
- <h2>{t("about.credits")}</h2>
- <p>
- <a
- href="https://github.com/arielcostas/busurbano"
- className="about-link"
- rel="nofollow noreferrer noopener"
- >
- {t("about.github")}
- </a>{" "}
- - {t("about.developed_by")}{" "}
- <a
- href="https://www.costas.dev"
- className="about-link"
- rel="nofollow noreferrer noopener"
- >
- Ariel Costas
- </a>
- </p>
- {region === "vigo" && (
- <p>
- {t("about.data_source_prefix")}{" "}
- <a
- href="https://datos.vigo.org"
- className="about-link"
- rel="nofollow noreferrer noopener"
- >
- datos.vigo.org
- </a>{" "}
- {t("about.data_source_middle")}{" "}
- <a
- href="https://opendefinition.org/licenses/odc-by/"
- className="about-link"
- rel="nofollow noreferrer noopener"
- >
- Open Data Commons Attribution License
- </a>
- .
- </p>
- )}
{showModal && (
<div className="modal-overlay" onClick={cancelRegionChange}>