diff --git a/frontend/src/components/home/BeforeAfter.tsx b/frontend/src/components/home/BeforeAfter.tsx index c45dd75..a27ab6d 100644 --- a/frontend/src/components/home/BeforeAfter.tsx +++ b/frontend/src/components/home/BeforeAfter.tsx @@ -48,7 +48,7 @@ export function BeforeAfter() { } return ( -
+
(0) return ( -
+
diff --git a/frontend/src/components/home/FeaturedProjects.tsx b/frontend/src/components/home/FeaturedProjects.tsx index 304f3ef..297de99 100644 --- a/frontend/src/components/home/FeaturedProjects.tsx +++ b/frontend/src/components/home/FeaturedProjects.tsx @@ -22,7 +22,7 @@ export function FeaturedProjects() { .sort((a, b) => FEATURED_TITLES.indexOf(a.title) - FEATURED_TITLES.indexOf(b.title)) return ( -
+
diff --git a/frontend/src/components/home/Services.tsx b/frontend/src/components/home/Services.tsx index 09f9397..fc4a4c9 100644 --- a/frontend/src/components/home/Services.tsx +++ b/frontend/src/components/home/Services.tsx @@ -6,7 +6,7 @@ import { useFieldSaver } from '../../admin/AdminContext' import { InlineEdit } from '../admin/InlineEdit' import { AddItemButton, EditableItem } from '../../admin/Editable' -export function Services() { +export function Services({ tone = 'black' }: { tone?: 'black' | 'gray' } = {}) { const { services } = useSite() const heading = useSectionHeading('services') const save = useFieldSaver() @@ -18,7 +18,7 @@ export function Services() { }) return ( -
+
diff --git a/frontend/src/components/home/Stats.tsx b/frontend/src/components/home/Stats.tsx index 6a64629..926c2b5 100644 --- a/frontend/src/components/home/Stats.tsx +++ b/frontend/src/components/home/Stats.tsx @@ -65,13 +65,13 @@ function Counter({ value }: { value: string | number }) { return {renderValue}; } -export function Stats() { +export function Stats({ tone = 'black' }: { tone?: 'black' | 'gray' } = {}) { const { stats } = useSite(); const { t } = useLang(); const save = useFieldSaver(); return ( -
+
{stats.map((stat) => diff --git a/frontend/src/components/home/Story.tsx b/frontend/src/components/home/Story.tsx index 8cd985d..9c70c5a 100644 --- a/frontend/src/components/home/Story.tsx +++ b/frontend/src/components/home/Story.tsx @@ -14,9 +14,11 @@ type StoryProps = { showQuote?: boolean; alignTop?: boolean; children?: React.ReactNode; + /** پس‌زمینه: black = char (تیره) و gray = ink (روشن‌تر) — ریتم تناوب بخش‌ها */ + tone?: 'black' | 'gray'; } -export function Story({ showLink = true, showLabel = true, showQuote = false, alignTop = false, children }: StoryProps) { +export function Story({ showLink = true, showLabel = true, showQuote = false, alignTop = false, tone = 'gray', children }: StoryProps) { const { story } = useSite() const { href } = useLang() const save = useFieldSaver() @@ -33,7 +35,7 @@ export function Story({ showLink = true, showLabel = true, showQuote = false, al } return ( -
+
{showLabel && ( diff --git a/frontend/src/components/home/Team.tsx b/frontend/src/components/home/Team.tsx index 8a155f9..b63dd71 100644 --- a/frontend/src/components/home/Team.tsx +++ b/frontend/src/components/home/Team.tsx @@ -5,11 +5,11 @@ import { useSite } from '../../api' import { useLang } from '../../i18n/lang' import { AddItemButton, EditableItem } from '../../admin/Editable' -export function Team() { +export function Team({ tone = 'gray' }: { tone?: 'black' | 'gray' } = {}) { const { team } = useSite() const { t } = useLang() return ( -
+
(null) @@ -85,7 +85,7 @@ export function Timeline() { }, []) return ( -
+
diff --git a/frontend/src/components/home/WhyUs.tsx b/frontend/src/components/home/WhyUs.tsx index 4ae1d81..f8ae052 100644 --- a/frontend/src/components/home/WhyUs.tsx +++ b/frontend/src/components/home/WhyUs.tsx @@ -7,7 +7,7 @@ import { InlineEdit } from '../admin/InlineEdit'; import { useFieldSaver } from '../../admin/AdminContext'; import { useLang, formatNumber } from '../../i18n/lang'; -export function WhyUs() { +export function WhyUs({ tone = 'black' }: { tone?: 'black' | 'gray' } = {}) { const { why_us } = useSite(); const { lang } = useLang(); const heading = useSectionHeading('why_us'); @@ -20,7 +20,7 @@ export function WhyUs() { }); return ( -
+
- + - - - - + + + + ) diff --git a/frontend/src/pages/ArticleDetail.tsx b/frontend/src/pages/ArticleDetail.tsx index c0d9232..39d2bb0 100644 --- a/frontend/src/pages/ArticleDetail.tsx +++ b/frontend/src/pages/ArticleDetail.tsx @@ -166,7 +166,7 @@ export function ArticleDetail() {
-
+
-
+

{t('relatedArticles')}

diff --git a/frontend/src/pages/Blog.tsx b/frontend/src/pages/Blog.tsx index fd27eea..8a8be9c 100644 --- a/frontend/src/pages/Blog.tsx +++ b/frontend/src/pages/Blog.tsx @@ -46,7 +46,7 @@ export function Blog() { return ( <> -
+

{t('blogEmpty')}

@@ -66,7 +66,7 @@ export function Blog() { <> -

+
{writeButton}
diff --git a/frontend/src/pages/FaqPage.tsx b/frontend/src/pages/FaqPage.tsx index c2849db..01da8df 100644 --- a/frontend/src/pages/FaqPage.tsx +++ b/frontend/src/pages/FaqPage.tsx @@ -8,7 +8,7 @@ export function FaqPage() { <> - + diff --git a/frontend/src/pages/Investment.tsx b/frontend/src/pages/Investment.tsx index ab34985..74292ca 100644 --- a/frontend/src/pages/Investment.tsx +++ b/frontend/src/pages/Investment.tsx @@ -15,7 +15,7 @@ export function Investment() { <> -
+
@@ -51,7 +51,7 @@ export function Investment() {
- + ) diff --git a/frontend/src/pages/ServicesPage.tsx b/frontend/src/pages/ServicesPage.tsx index fb5743f..3a536aa 100644 --- a/frontend/src/pages/ServicesPage.tsx +++ b/frontend/src/pages/ServicesPage.tsx @@ -36,11 +36,11 @@ export function ServicesPage() {
- + - + )