Skip to content

Commit d55b5dc

Browse files
christosporiosVasiaKoum
authored andcommitted
feat(about): refresh Awards & Mentions section
Replace the ERTnews mention with three new recognitions (Innovation in Politics Awards 2026, EPSA 2025-26, WIRED Greece) and rebuild the layout as a single cohesive panel. The previous card grid rendered logos at inconsistent visual weights with misaligned text and a floating link icon. The section is now a bordered panel with hairline dividers, per-logo optical sizing, baseline-aligned titles/subtitles, and the external-link icon pinned to each cell's corner. Also stops the global a:hover underline from applying to the cards.
1 parent b5da67a commit d55b5dc

7 files changed

Lines changed: 62 additions & 30 deletions

File tree

messages/el/about.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,21 @@
142142
"title": "OECD",
143143
"subtitle": "Αναφορά σε έκθεση του ΟΟΣΑ για AI & Civic Engagement"
144144
},
145-
"ert": {
146-
"title": "ERTnews",
147-
"subtitle": "Ρεπορτάζ για την τεχνητή νοημοσύνη στα Χανιά"
145+
"innovationInPolitics": {
146+
"title": "Innovation in Politics Awards 2026",
147+
"subtitle": "Φιναλίστ"
148+
},
149+
"epsa": {
150+
"title": "EPSA 2025-26",
151+
"subtitle": "Πιστοποιητικό Καλής Πρακτικής"
148152
},
149153
"kede": {
150154
"title": "ΚΕΔΕ",
151155
"subtitle": "Άρθρο στο kede.gr για την τεχνητή νοημοσύνη στην τοπική δημοκρατία"
156+
},
157+
"wired": {
158+
"title": "WIRED Greece",
159+
"subtitle": "Άρθρο"
152160
}
153161
}
154162
},

messages/en/about.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,21 @@
142142
"title": "OECD",
143143
"subtitle": "Referenced in OECD report on AI & Civic Engagement"
144144
},
145-
"ert": {
146-
"title": "ERTnews",
147-
"subtitle": "Report on artificial intelligence in Chania"
145+
"innovationInPolitics": {
146+
"title": "Innovation in Politics Awards 2026",
147+
"subtitle": "Finalists"
148+
},
149+
"epsa": {
150+
"title": "EPSA 2025-26",
151+
"subtitle": "Good Practice Certificate"
148152
},
149153
"kede": {
150154
"title": "KEDE",
151155
"subtitle": "Article on AI in local democracy on kede.gr"
156+
},
157+
"wired": {
158+
"title": "WIRED Greece",
159+
"subtitle": "Article"
152160
}
153161
}
154162
},

public/about/eipa.png

53.4 KB
Loading
22.3 KB
Loading

public/about/wired.svg

Lines changed: 1 addition & 0 deletions
Loading

src/components/about/Recognition.tsx

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40,61 +40,58 @@ export default function Recognition() {
4040
</figcaption>
4141
</motion.figure>
4242

43-
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 md:gap-6">
43+
<div className="mx-auto grid max-w-4xl grid-cols-2 gap-px overflow-hidden rounded-2xl border border-border/50 bg-border/50 lg:grid-cols-3">
4444
{RECOGNITION_ITEMS.map((item, index) => {
4545
const hasLink = !!item.linkUrl
4646
const cardClass = cn(
47-
'flex flex-col rounded-xl border border-border/50 bg-white p-6 h-full transition-shadow duration-200',
48-
hasLink && 'hover:shadow-md'
47+
'group relative flex h-full flex-col items-center bg-white px-5 py-7 text-center transition-colors duration-200',
48+
hasLink && 'hover:bg-muted/30'
4949
)
5050

5151
const cardContent = (
5252
<>
53-
<div className="h-10 mb-4 flex items-center">
53+
{hasLink && (
54+
<ExternalLink className="absolute right-3.5 top-3.5 h-3.5 w-3.5 text-muted-foreground/30 transition-colors group-hover:text-foreground" />
55+
)}
56+
57+
<div className="flex h-12 items-center justify-center">
5458
{item.logoUrl ? (
5559
<Image
5660
src={item.logoUrl}
5761
alt={t(`recognition.items.${item.id}.title`)}
58-
width={120}
59-
height={40}
60-
className="h-8 w-auto max-w-[120px] object-contain object-left"
62+
width={160}
63+
height={48}
64+
className={cn('w-auto object-contain', item.logoClassName ?? 'max-h-8 max-w-[120px]')}
6165
/>
6266
) : (
63-
<div className="h-10 w-10 rounded-xl flex items-center justify-center bg-primary/10">
64-
<Trophy className="h-5 w-5 text-primary" />
65-
</div>
67+
<Trophy className="h-9 w-9 text-primary/80" strokeWidth={1.5} />
6668
)}
6769
</div>
6870

69-
<h3 className="text-sm font-semibold text-foreground leading-snug">
71+
<h3 className="mt-5 flex min-h-[2.5rem] items-center justify-center text-sm font-semibold leading-snug text-foreground">
7072
{t(`recognition.items.${item.id}.title`)}
7173
</h3>
72-
<p className="mt-1.5 text-sm text-muted-foreground leading-relaxed flex-1">
74+
<p className="mt-1 text-xs leading-relaxed text-muted-foreground">
7375
{t(`recognition.items.${item.id}.subtitle`)}
7476
</p>
75-
76-
{hasLink && (
77-
<div className="mt-4 flex items-center gap-1 text-xs text-muted-foreground/60">
78-
<ExternalLink className="h-3 w-3" />
79-
</div>
80-
)}
8177
</>
8278
)
8379

8480
return (
8581
<motion.div
8682
key={item.id}
87-
initial={{ opacity: 0, y: 20 }}
83+
className="h-full"
84+
initial={{ opacity: 0, y: 16 }}
8885
whileInView={{ opacity: 1, y: 0 }}
89-
transition={{ duration: 0.5, delay: index * 0.08 }}
86+
transition={{ duration: 0.45, delay: index * 0.06 }}
9087
viewport={{ once: true }}
9188
>
9289
{hasLink ? (
9390
<a
9491
href={item.linkUrl}
9592
target="_blank"
9693
rel="noopener noreferrer"
97-
className={cn(cardClass, 'no-underline [&_*]:no-underline')}
94+
className={cn(cardClass, 'no-underline hover:no-underline [&_*]:no-underline')}
9895
>
9996
{cardContent}
10097
</a>

src/components/about/config.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ export interface RecognitionItem {
1616
id: string
1717
logoUrl?: string
1818
linkUrl: string
19+
/** Per-logo optical sizing within the fixed logo lockup (logos have very different
20+
* aspect ratios, so each is tuned by eye to sit at a balanced visual weight). */
21+
logoClassName?: string
1922
}
2023

2124
export interface TeamMember {
@@ -88,16 +91,31 @@ export const RECOGNITION_ITEMS: RecognitionItem[] = [
8891
id: 'oecd',
8992
linkUrl: 'https://oecd.ai/en/gov/issues/civic-engagement-open-government',
9093
logoUrl: '/about/oecd.png',
94+
logoClassName: 'max-h-7 max-w-[116px]',
9195
},
9296
{
93-
id: 'ert',
94-
linkUrl: 'https://www.ertnews.gr/video/xania-i-texniti-noimosyni-sti-diathesi-tou-dimoti/',
95-
logoUrl: '/about/ert-news.svg',
97+
id: 'innovationInPolitics',
98+
linkUrl: 'https://event.innovationinpolitics.eu/InnovationinPoliticsAwards2026#/Finalists?lang=en',
99+
logoUrl: '/about/innovation-politics-figure.png',
100+
logoClassName: 'max-h-11 max-w-[64px]',
101+
},
102+
{
103+
id: 'epsa',
104+
linkUrl: 'https://www.eipa.eu/epsa-2025-26/',
105+
logoUrl: '/about/eipa.png',
106+
logoClassName: 'max-h-8 max-w-[128px]',
96107
},
97108
{
98109
id: 'kede',
99110
linkUrl: 'https://kede.gr/opencouncil-chania-gr-i-protoporiaki-platforma-ai-pou-allazei-ta-dedomena-sto-dimotiko-symvoulio-chanion/',
100111
logoUrl: '/about/kede.png',
112+
logoClassName: 'max-h-10 max-w-[56px]',
113+
},
114+
{
115+
id: 'wired',
116+
linkUrl: 'https://wired.com.gr/article/ai-kai-dimotika-symvoulia-stin-akri-tis-elladas/',
117+
logoUrl: '/about/wired.svg',
118+
logoClassName: 'max-h-6 max-w-[112px]',
101119
},
102120
]
103121

0 commit comments

Comments
 (0)