diff --git a/.cursor/mcp.json b/.cursor/mcp.json index 0d33fb7e4..cf1de173f 100644 --- a/.cursor/mcp.json +++ b/.cursor/mcp.json @@ -6,16 +6,15 @@ }, "playwright": { "command": "npx", - "args": [ - "@playwright/mcp@latest" - ] + "args": ["@playwright/mcp@latest"] + }, + "figma": { + "url": "https://mcp.figma.com/mcp", + "type": "http" }, "sequential-thinking": { "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-sequential-thinking" - ] + "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"] } } } diff --git a/apps/dashboard/app/[daoId]/(main)/attack-profitability/page.tsx b/apps/dashboard/app/[daoId]/(main)/attack-profitability/page.tsx index ab37244b5..cc34eaea5 100644 --- a/apps/dashboard/app/[daoId]/(main)/attack-profitability/page.tsx +++ b/apps/dashboard/app/[daoId]/(main)/attack-profitability/page.tsx @@ -73,20 +73,22 @@ export default async function AttackProfitabilityPage({ } return ( - } - description={PAGES_CONSTANTS.attackProfitability.description} - riskLevel={ - - } - > - - - - +
+ } + description={PAGES_CONSTANTS.attackProfitability.description} + riskLevel={ + + } + > + + + + +
); } diff --git a/apps/dashboard/app/[daoId]/(main)/layout.tsx b/apps/dashboard/app/[daoId]/(main)/layout.tsx index 8bb96d426..441d48237 100644 --- a/apps/dashboard/app/[daoId]/(main)/layout.tsx +++ b/apps/dashboard/app/[daoId]/(main)/layout.tsx @@ -1,10 +1,10 @@ import { ReactNode } from "react"; import { ALL_DAOS, DaoIdEnum } from "@/shared/types/daos"; import NotFound from "@/app/not-found"; -import { BaseHeaderLayoutSidebar } from "@/shared/components/"; import { HeaderMobile } from "@/widgets/HeaderMobile"; import { HeaderDAOSidebar, HeaderSidebar, StickyPageHeader } from "@/widgets"; import { Footer } from "@/shared/components/design-system/footer/Footer"; +// import { BaseHeaderLayoutSidebar } from "@/shared/components"; type DaoParams = { daoId: string; @@ -26,17 +26,21 @@ export default async function DaoLayout({ children, params }: DaoLayoutProps) { // For FULL, IN_ANALYSIS and ELECTION stages, render the layout with appropriate providers return ( -
- - - - -
-
- +
+
+
+ +
+
+ +
+
+
+
+
-
+
{children}
diff --git a/apps/dashboard/app/[daoId]/(main)/risk-analysis/page.tsx b/apps/dashboard/app/[daoId]/(main)/risk-analysis/page.tsx index 948d7b8bc..14684914e 100644 --- a/apps/dashboard/app/[daoId]/(main)/risk-analysis/page.tsx +++ b/apps/dashboard/app/[daoId]/(main)/risk-analysis/page.tsx @@ -99,31 +99,33 @@ export default async function RiskAnalysisPage({ }; return ( - } - description={PAGES_CONSTANTS.riskAnalysis.description} - riskLevel={} - > - - - - - - - - - - +
+ } + description={PAGES_CONSTANTS.riskAnalysis.description} + riskLevel={} + > + + + + + + + + + + +
); } diff --git a/apps/dashboard/app/[daoId]/(main)/token-distribution/page.tsx b/apps/dashboard/app/[daoId]/(main)/token-distribution/page.tsx index 63ff83ad6..795516508 100644 --- a/apps/dashboard/app/[daoId]/(main)/token-distribution/page.tsx +++ b/apps/dashboard/app/[daoId]/(main)/token-distribution/page.tsx @@ -73,14 +73,16 @@ export default async function TokenDistributionPage({ } return ( - } - description={PAGES_CONSTANTS.tokenDistribution.description} - > - - - - +
+ } + description={PAGES_CONSTANTS.tokenDistribution.description} + > + + + + +
); } diff --git a/apps/dashboard/app/[daoId]/(secondary)/governance/page.tsx b/apps/dashboard/app/[daoId]/(secondary)/governance/page.tsx index 15f4bb714..659c41ebe 100644 --- a/apps/dashboard/app/[daoId]/(secondary)/governance/page.tsx +++ b/apps/dashboard/app/[daoId]/(secondary)/governance/page.tsx @@ -1,6 +1,5 @@ import type { Metadata } from "next"; import { DaoIdEnum } from "@/shared/types/daos"; -import { BaseHeaderLayoutSidebar } from "@/shared/components/"; import { HeaderMobile } from "@/widgets/HeaderMobile"; import { HeaderDAOSidebar, HeaderSidebar, StickyPageHeader } from "@/widgets"; @@ -65,14 +64,18 @@ export async function generateMetadata(props: Props): Promise { export default function DaoPage() { return (
- - - - -
-
- +
+
+ +
+
+ +
+
+
+
+
diff --git a/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/loading.tsx b/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/loading.tsx index ac92a05f1..7db6a93c5 100644 --- a/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/loading.tsx +++ b/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/loading.tsx @@ -3,9 +3,9 @@ import { ProposalSectionSkeleton } from "@/features/governance/components/propos export default function Loading() { return (
-
+
-
+
diff --git a/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/page.tsx b/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/page.tsx index 8ed158ee1..c07325bf0 100644 --- a/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/page.tsx +++ b/apps/dashboard/app/[daoId]/(secondary)/governance/proposal/[proposalId]/page.tsx @@ -61,12 +61,12 @@ export async function generateMetadata(props: Props): Promise { export default function ProposalPage() { return ( -
+
-
-
+
+
diff --git a/apps/dashboard/app/alerts/page.tsx b/apps/dashboard/app/alerts/page.tsx index c4802d392..f10a7a9d9 100644 --- a/apps/dashboard/app/alerts/page.tsx +++ b/apps/dashboard/app/alerts/page.tsx @@ -7,8 +7,8 @@ export default function DonatePage() { return (
-
-
+
+
diff --git a/apps/dashboard/app/contact/page.tsx b/apps/dashboard/app/contact/page.tsx index 5cd99accb..3a831e53d 100644 --- a/apps/dashboard/app/contact/page.tsx +++ b/apps/dashboard/app/contact/page.tsx @@ -74,9 +74,9 @@ export default function ContactPage() { return (
-
-
-
+
+
+
diff --git a/apps/dashboard/app/donate/page.tsx b/apps/dashboard/app/donate/page.tsx index a58f88793..2404f612c 100644 --- a/apps/dashboard/app/donate/page.tsx +++ b/apps/dashboard/app/donate/page.tsx @@ -7,8 +7,8 @@ export default function DonatePage() { return (
-
-
+
+
diff --git a/apps/dashboard/app/faq/page.tsx b/apps/dashboard/app/faq/page.tsx index 6d3c5e292..30da2f2ff 100644 --- a/apps/dashboard/app/faq/page.tsx +++ b/apps/dashboard/app/faq/page.tsx @@ -7,9 +7,9 @@ export default function FAQPage() { return (
-
-
-
+
+
+
diff --git a/apps/dashboard/app/glossary/page.tsx b/apps/dashboard/app/glossary/page.tsx index 05e1478e1..0dbe38db2 100644 --- a/apps/dashboard/app/glossary/page.tsx +++ b/apps/dashboard/app/glossary/page.tsx @@ -39,9 +39,9 @@ export default function GlossaryPage() {
-
-
-
+
+
+
@@ -51,7 +51,7 @@ export default function GlossaryPage() { title={PAGES_CONSTANTS.glossary.title} icon={} description={PAGES_CONSTANTS.glossary.description} - className="bg-surface-background! sm:mt-0! gap-4! lg:gap-6!" + className="bg-surface-background! lg:mt-0! gap-4! lg:gap-6!" >
{/* Sticky Sidebar - Left Side */} diff --git a/apps/dashboard/app/layout.tsx b/apps/dashboard/app/layout.tsx index 85a77da9d..e3e461235 100644 --- a/apps/dashboard/app/layout.tsx +++ b/apps/dashboard/app/layout.tsx @@ -67,7 +67,7 @@ export default function RootLayout({ children }: { children: ReactNode }) { /> {children} diff --git a/apps/dashboard/app/not-found.tsx b/apps/dashboard/app/not-found.tsx index 41a47dae0..d2481f714 100644 --- a/apps/dashboard/app/not-found.tsx +++ b/apps/dashboard/app/not-found.tsx @@ -15,8 +15,8 @@ const NotFound = () => { return (
-
-
+
+
@@ -42,11 +42,11 @@ const NotFound = () => {

-
+
diff --git a/apps/dashboard/features/dao-overview/DaoOverviewSection.tsx b/apps/dashboard/features/dao-overview/DaoOverviewSection.tsx index eced6c4cf..b36466b7a 100644 --- a/apps/dashboard/features/dao-overview/DaoOverviewSection.tsx +++ b/apps/dashboard/features/dao-overview/DaoOverviewSection.tsx @@ -52,26 +52,26 @@ export const DaoOverviewSection = ({ daoId }: { daoId: DaoIdEnum }) => { return ( }> -
+
-
+
-
+
-
-
+
+
{ context="overview" />
-
+
{ router.push(`/${daoId.toLowerCase()}/risk-analysis`); }} variant={RiskAreaCardEnum.DAO_OVERVIEW} - className="grid h-full grid-cols-2 gap-2 px-5 md:px-0" + className="grid h-full grid-cols-2 gap-2 px-5 lg:px-0" /> -
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/apps/dashboard/features/dao-overview/components/AccountBalanceChartCard.tsx b/apps/dashboard/features/dao-overview/components/AccountBalanceChartCard.tsx index 93756ce7f..948889193 100644 --- a/apps/dashboard/features/dao-overview/components/AccountBalanceChartCard.tsx +++ b/apps/dashboard/features/dao-overview/components/AccountBalanceChartCard.tsx @@ -54,7 +54,7 @@ export const AccountBalanceChartCard = ({ daoId }: { daoId: DaoIdEnum }) => { }, [accountBalanceVariations.data, daoId]); return ( -
+
{ const metrics = useMemo(() => Object.values(METRICS_SCHEMA), []); return ( -
+
{featureNotIncluded ? ( diff --git a/apps/dashboard/features/dao-overview/components/DaoOverviewHeader.tsx b/apps/dashboard/features/dao-overview/components/DaoOverviewHeader.tsx index cde5e201a..65ab08e9d 100644 --- a/apps/dashboard/features/dao-overview/components/DaoOverviewHeader.tsx +++ b/apps/dashboard/features/dao-overview/components/DaoOverviewHeader.tsx @@ -34,7 +34,7 @@ export const DaoOverviewHeader = ({ const chainName = daoOverview.chain.name; return ( -
+

{daoConfig.name} diff --git a/apps/dashboard/features/dao-overview/components/DaoOverviewHeaderMetrics.tsx b/apps/dashboard/features/dao-overview/components/DaoOverviewHeaderMetrics.tsx index 2fef9b5fe..767542e4d 100644 --- a/apps/dashboard/features/dao-overview/components/DaoOverviewHeaderMetrics.tsx +++ b/apps/dashboard/features/dao-overview/components/DaoOverviewHeaderMetrics.tsx @@ -196,7 +196,7 @@ export const DaoOverviewHeaderMetrics = ({ lastPrice={lastPrice} isLoading={isLoading} /> -
+
(
diff --git a/apps/dashboard/features/dao-overview/components/MetricsCard.tsx b/apps/dashboard/features/dao-overview/components/MetricsCard.tsx index 1c0a9fa06..e0aaad436 100644 --- a/apps/dashboard/features/dao-overview/components/MetricsCard.tsx +++ b/apps/dashboard/features/dao-overview/components/MetricsCard.tsx @@ -15,7 +15,7 @@ interface MetricsCardProps { } const COMMON_CARD_CLASSES = - "border-border-contrast border-b border-dashed pb-4 md:border-none md:p-3"; + "border-border-contrast border-b border-dashed pb-4 lg:border-none lg:p-3"; const TEXT_CLASSES = "mb-1"; const BADGE_CLASSES = "bg-surface-opacity rounded-full px-1.5 py-0.5"; @@ -210,7 +210,7 @@ export const MetricsCard = ({ daoId, daoConfig }: MetricsCardProps) => { ); return ( -
+
-
-

+

+

SECURITY COUNCIL

-
+
- + required for transactions - required + required
-
+
@@ -96,7 +96,7 @@ export const SecurityCouncilCard = ({
-
+
diff --git a/apps/dashboard/features/dao-overview/components/StageRequirementsTooltip.tsx b/apps/dashboard/features/dao-overview/components/StageRequirementsTooltip.tsx index 2650409d2..a1b550f77 100644 --- a/apps/dashboard/features/dao-overview/components/StageRequirementsTooltip.tsx +++ b/apps/dashboard/features/dao-overview/components/StageRequirementsTooltip.tsx @@ -38,11 +38,11 @@ export const StageRequirementsTooltip = ({ ])[Number(nextStage) % 3] as "text-error" | "text-warning" | "text-success"; return (
-
+
{/* Header */}
diff --git a/apps/dashboard/features/dao-overview/components/TokenDistributionChartCard.tsx b/apps/dashboard/features/dao-overview/components/TokenDistributionChartCard.tsx index 8ff23cb77..96714ff97 100644 --- a/apps/dashboard/features/dao-overview/components/TokenDistributionChartCard.tsx +++ b/apps/dashboard/features/dao-overview/components/TokenDistributionChartCard.tsx @@ -42,7 +42,7 @@ export const TokenDistributionChartCard = ({ daoId }: { daoId: DaoIdEnum }) => { ) as Record; return ( -
+
setSelectedAddress(null), []); return ( -
+
{ }, [votingPowerVariations.data, daoId]); return ( -
+
{ return ( -
+
{/* First row - Full width card */}
{/* Second row - Two equal cards */} -
+
{/* Third row - Four equal cards */} -
+
@@ -20,13 +20,13 @@ export const DaoOverviewSkeleton = () => {
{/* Fourth row - Two equal cards */} -
+
{/* Fifth row - Two equal cards */} -
+
diff --git a/apps/dashboard/features/donation/DonationSection.tsx b/apps/dashboard/features/donation/DonationSection.tsx index e89717e90..664e0df51 100644 --- a/apps/dashboard/features/donation/DonationSection.tsx +++ b/apps/dashboard/features/donation/DonationSection.tsx @@ -15,11 +15,11 @@ export const DonationSection = () => { title={PAGES_CONSTANTS.donate.title} icon={} description={PAGES_CONSTANTS.donate.description} - className="bg-surface-background! mt-[56px]! sm:mt-0!" + className="bg-surface-background! mt-[56px]! lg:mt-0!" >
{/* Dashed line separator - Mobile only */} -
+
{/* Main donation card with integrated benefits */} { supportedChains={donation.supportedChains} chainLinks={donation.chainLinks} /> -
+
{/* Funding sources */} { return ( - - + +
{/* Title and Description */} @@ -69,7 +69,7 @@ export const DonationCard = ({

Donate Through Any EVM

-
+
{supportedChains.map((chain, index) => { const chainLink = chainLinks[chain]; return ( @@ -78,7 +78,7 @@ export const DonationCard = ({ href={chainLink} target="_blank" rel="noopener noreferrer" - className={`inline-block ${index === 0 ? "col-span-2 sm:col-span-1" : ""}`} + className={`inline-block ${index === 0 ? "col-span-2 lg:col-span-1" : ""}`} >