From 9eae5ae7886879f4f2edcd2f7783534fb4b28ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sza=C5=82owski?= Date: Mon, 31 Mar 2025 09:36:16 +0200 Subject: [PATCH] feat: handle budget discussion route --- CHANGELOG.md | 2 ++ govtool/frontend/src/App.tsx | 36 +++++++++++++++++------ govtool/frontend/src/consts/navItems.tsx | 9 ++++++ govtool/frontend/src/consts/paths.ts | 10 +++++++ govtool/frontend/src/i18n/locales/en.json | 3 ++ 5 files changed, 51 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 980512907..d17360837 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ changes. ### Added +- Add budget discussion paths in the wrapper + ### Fixed ### Changed diff --git a/govtool/frontend/src/App.tsx b/govtool/frontend/src/App.tsx index 4e72a1346..3ef7a5c0a 100644 --- a/govtool/frontend/src/App.tsx +++ b/govtool/frontend/src/App.tsx @@ -2,7 +2,13 @@ import { useCallback, useEffect } from "react"; import { Route, Routes, useNavigate } from "react-router-dom"; import { Modal, ScrollToTop } from "@atoms"; -import { PATHS, PDF_PATHS, OUTCOMES_PATHS, USER_PATHS } from "@consts"; +import { + PATHS, + PDF_PATHS, + OUTCOMES_PATHS, + USER_PATHS, + BUDGET_DISCUSSION_PATHS, +} from "@consts"; import { useCardano, useFeatureFlag, useModal } from "@context"; import { useWalletConnectionListener } from "@hooks"; import { @@ -102,10 +108,16 @@ export default () => { element={} /> {isProposalDiscussionForumEnabled && !isEnabled && ( - } - /> + <> + } + /> + } + /> + )} {isGovernanceOutcomesPillarEnabled && !isEnabled && ( <> @@ -122,10 +134,16 @@ export default () => { }> } /> {isProposalDiscussionForumEnabled && ( - } - /> + <> + } + /> + } + /> + )} {isGovernanceOutcomesPillarEnabled && ( <> diff --git a/govtool/frontend/src/consts/navItems.tsx b/govtool/frontend/src/consts/navItems.tsx index ca6319782..ac8cc571d 100644 --- a/govtool/frontend/src/consts/navItems.tsx +++ b/govtool/frontend/src/consts/navItems.tsx @@ -8,6 +8,7 @@ import { PATHS, PDF_PATHS, OUTCOMES_PATHS, + BUDGET_DISCUSSION_PATHS, // TODO: This will be uncommented when the page has been bootstrapped in the outcomes Pillar // USER_PATHS } from "./paths"; @@ -73,6 +74,14 @@ export const CONNECTED_NAV_ITEMS = [ icon: ICONS.dRepDirectoryIcon, newTabLink: null, }, + { + dataTestId: "budget-discussion-link", + label: i18n.t("budgetDiscussion.title"), + navTo: BUDGET_DISCUSSION_PATHS.budgetDiscussion, + activeIcon: ICONS.dRepDirectoryActiveIcon, + icon: ICONS.dRepDirectoryIcon, + newTabLink: null, + }, { dataTestId: "governance-actions-link", label: i18n.t("govActions.title"), diff --git a/govtool/frontend/src/consts/paths.ts b/govtool/frontend/src/consts/paths.ts index 9862acefa..94e16e0a4 100644 --- a/govtool/frontend/src/consts/paths.ts +++ b/govtool/frontend/src/consts/paths.ts @@ -32,6 +32,16 @@ export const PDF_PATHS = { proposalDiscussionPropose: "/proposal_discussion/propose", }; +export const BUDGET_DISCUSSION_PATHS = { + budgetDiscussion: "/budget_discussion", + budgetDiscussionProposal: "/budget_discussion/:id", + budgetDiscussionPropose: "/budget_discussion/propose", + budgetDiscussionAction: "/budget_discussion/:proposalId", + budgetDiscussionCategory: "/budget_discussion/category/:category", + budgetDiscussionCategoryAction: + "/budget_discussion/category/:category/:proposalId", +}; + export const USER_PATHS = { governanceActionsVotedByMe: "/my/votes_and_favorites", }; diff --git a/govtool/frontend/src/i18n/locales/en.json b/govtool/frontend/src/i18n/locales/en.json index d861b7cca..a30ef20f0 100644 --- a/govtool/frontend/src/i18n/locales/en.json +++ b/govtool/frontend/src/i18n/locales/en.json @@ -395,6 +395,9 @@ "title": "Proposals", "proposeAGovernanceAction": "Propose a Governance Action" }, + "budgetDiscussion": { + "title": "Budget Discussion" + }, "govActions": { "about": "About", "abstract": "Abstract",