diff --git a/frontend/src/components/ui/DesignSystemStyles.astro b/frontend/src/components/ui/DesignSystemStyles.astro
index 9e9acd8..a92d06d 100644
--- a/frontend/src/components/ui/DesignSystemStyles.astro
+++ b/frontend/src/components/ui/DesignSystemStyles.astro
@@ -200,6 +200,71 @@
margin-bottom: 1.5rem;
}
+ :where(.panels, .proposal-panels) {
+ display: grid;
+ gap: 1rem;
+ }
+
+ .panel {
+ padding: 0;
+ overflow: hidden;
+ }
+
+ :where(.panel > summary, .panel-summary) {
+ list-style: none;
+ cursor: pointer;
+ display: flex;
+ justify-content: space-between;
+ gap: 1rem;
+ user-select: none;
+ }
+
+ .panel > summary {
+ padding: 1rem 1.25rem;
+ align-items: baseline;
+ border-bottom: 1px solid var(--color-border);
+ }
+
+ .panel > summary.panel-summary {
+ padding: 1rem 1.1rem;
+ align-items: center;
+ border-bottom: none;
+ }
+
+ :where(.panel > summary, .panel-summary)::-webkit-details-marker {
+ display: none;
+ }
+
+ .panel[open] > summary {
+ background: rgba(255, 255, 255, 0.03);
+ }
+
+ .panel-title {
+ font-weight: 700;
+ letter-spacing: -0.01em;
+ }
+
+ .panel-meta {
+ color: var(--color-text-muted);
+ font-size: 0.875rem;
+ }
+
+ .panel-hint {
+ color: var(--color-text-muted);
+ font-size: 0.8125rem;
+ }
+
+ .panel-body {
+ border-top: 1px solid var(--color-border);
+ padding: 1rem 1.1rem 1.1rem;
+ }
+
+ .panel-actions {
+ margin-top: 0.75rem;
+ display: flex;
+ justify-content: flex-end;
+ }
+
.ui-page-title h1 {
font-size: 2rem;
font-weight: 700;
@@ -423,5 +488,14 @@
.ui-actions {
justify-content: flex-start;
}
+
+ :where(.panel > summary, .panel-summary) {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ .panel-actions {
+ justify-content: flex-start;
+ }
}
diff --git a/frontend/src/pages/communities/[slug]/index.astro b/frontend/src/pages/communities/[slug]/index.astro
index f17b1c0..ab2787d 100644
--- a/frontend/src/pages/communities/[slug]/index.astro
+++ b/frontend/src/pages/communities/[slug]/index.astro
@@ -457,62 +457,10 @@ const { slug } = Astro.params;
text-transform: uppercase;
}
- .panels {
- display: grid;
- gap: 1rem;
- }
-
- .panel {
- overflow: hidden;
- }
-
- .panel summary {
- cursor: pointer;
- list-style: none;
- padding: 1rem 1.25rem;
- display: flex;
- align-items: baseline;
- justify-content: space-between;
- gap: 1rem;
- border-bottom: 1px solid var(--color-border);
- }
-
- .panel summary::-webkit-details-marker {
- display: none;
- }
-
- .panel[open] summary {
- background: rgba(255, 255, 255, 0.03);
- }
-
- .panel-hint {
- color: var(--color-text-muted);
- font-size: 0.8125rem;
- }
-
- .panel-body {
- padding: 1rem 1.25rem 1.25rem;
- }
-
- .panel-actions {
- margin-top: 0.75rem;
- display: flex;
- justify-content: flex-end;
- }
-
@media (max-width: 640px) {
.hero-title h1 {
font-size: 1.75rem;
}
-
- .panel summary {
- flex-direction: column;
- align-items: flex-start;
- }
-
- .panel-actions {
- justify-content: flex-start;
- }
}
.edit-modal {
diff --git a/frontend/src/pages/dashboard.astro b/frontend/src/pages/dashboard.astro
index 07e6f87..2ed5b7e 100644
--- a/frontend/src/pages/dashboard.astro
+++ b/frontend/src/pages/dashboard.astro
@@ -311,41 +311,6 @@ import { API_BASE as apiBase } from '../lib/api';
text-transform: uppercase;
}
- .panels {
- display: grid;
- gap: 1rem;
- }
-
- .panel {
- padding: 0;
- overflow: hidden;
- }
-
- .panel-summary {
- list-style: none;
- cursor: pointer;
- padding: 1rem 1.1rem;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 1rem;
- user-select: none;
- }
-
- .panel-summary::-webkit-details-marker {
- display: none;
- }
-
- .panel-title {
- font-weight: 700;
- letter-spacing: -0.01em;
- }
-
- .panel-body {
- border-top: 1px solid var(--color-border);
- padding: 0.9rem 1.1rem 1.1rem;
- }
-
.panel-content {
min-height: 72px;
}
diff --git a/frontend/src/pages/delegations.astro b/frontend/src/pages/delegations.astro
index 412106f..f27f809 100644
--- a/frontend/src/pages/delegations.astro
+++ b/frontend/src/pages/delegations.astro
@@ -400,41 +400,6 @@ import DelegationGraph from '../components/voting/DelegationGraph.astro';
color: var(--color-text-muted);
}
- .panel {
- padding: 0;
- overflow: hidden;
- }
-
- .panel-summary {
- list-style: none;
- cursor: pointer;
- padding: 1rem 1.1rem;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 1rem;
- user-select: none;
- }
-
- .panel-summary::-webkit-details-marker {
- display: none;
- }
-
- .panel-title {
- font-weight: 700;
- letter-spacing: -0.01em;
- }
-
- .panel-meta {
- color: var(--color-text-muted);
- font-size: 0.875rem;
- }
-
- .panel-body {
- border-top: 1px solid var(--color-border);
- padding: 1rem 1.1rem 1.1rem;
- }
-
@media (max-width: 640px) {
.delegate-card {
flex-direction: column;
diff --git a/frontend/src/pages/proposals/[id].astro b/frontend/src/pages/proposals/[id].astro
index 5a61e5a..a85ae0b 100644
--- a/frontend/src/pages/proposals/[id].astro
+++ b/frontend/src/pages/proposals/[id].astro
@@ -4,6 +4,7 @@ import Layout from '../../layouts/Layout.astro';
import { API_BASE as apiBase } from '../../lib/api';
import VotingResultsChart from '../../components/voting/VotingResultsChart.astro';
const { id } = Astro.params;
+const proposalId = id ?? '';
---
@@ -13,13 +14,13 @@ const { id } = Astro.params;
-
+
-