Skip to content

Commit 5bc4bd7

Browse files
committed
Redesign homepage editions section with informative cards
Replace the minimal timeline (year + one-liner) with full edition cards showing ISO reference, status badge, description, and key feature bullets. Current edition gets a green badge, withdrawn editions get gray badges.
1 parent d51feb3 commit 5bc4bd7

1 file changed

Lines changed: 44 additions & 22 deletions

File tree

src/pages/index.vue

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,30 @@ const sections = [
3838
]
3939
4040
const editions = [
41-
{ n: 1, year: '2001', desc: 'First publication' },
42-
{ n: 2, year: '2006', desc: 'Expanded scope' },
43-
{ n: 3, year: '2014', desc: 'Major revision' },
44-
{ n: 4, year: '2021', desc: 'Current edition' },
41+
{
42+
n: 1, year: '2004', status: 'Withdrawn',
43+
iso: 'ISO 10303-210:2004',
44+
desc: 'Established the foundational information model for PCA design data exchange.',
45+
features: ['Product structure & classification', 'Physical design representation', 'Basic connectivity', 'Component library definitions'],
46+
},
47+
{
48+
n: 2, year: '2011', status: 'Withdrawn',
49+
iso: 'ISO 10303-210:2011',
50+
desc: 'Expanded scope for advanced packaging and interconnect modeling.',
51+
features: ['Advanced packaging (BGA, CSP)', 'Layer stacks & via structures', 'Thermal & electrical properties', 'Design-to-usage view mapping'],
52+
},
53+
{
54+
n: 3, year: '2016', status: 'Withdrawn',
55+
iso: 'ISO 10303-210:2016',
56+
desc: 'Major revision introducing design rules, constraints, and functional decomposition.',
57+
features: ['Design rules & constraints', 'Layer stack with stratum technology', 'Physical requirements capture', 'Interfacial connectivity'],
58+
},
59+
{
60+
n: 4, year: '2021', status: 'Current',
61+
iso: 'ISO 10303-210:2021',
62+
desc: 'The current edition — comprehensive coverage of electronic design data exchange.',
63+
features: ['Full modular architecture', 'Design-through-manufacturing exchange', 'Material properties', 'Complex multi-layer PCA support'],
64+
},
4565
]
4666
4767
const heroCode = `SCHEMA AP210_Electronic_Assembly;
@@ -153,7 +173,7 @@ END_SCHEMA;`
153173

154174
<!-- Standards editions -->
155175
<section class="py-20 bg-gray-50 dark:bg-navy-light/30">
156-
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
176+
<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
157177
<AnimatedSection>
158178
<div class="text-center mb-14">
159179
<p class="font-mono text-xs tracking-[0.2em] uppercase text-elf-blue dark:text-elf-blue mb-3">Evolution</p>
@@ -164,23 +184,25 @@ END_SCHEMA;`
164184
</div>
165185
</AnimatedSection>
166186

167-
<div class="relative">
168-
<div class="absolute left-4 sm:left-8 top-0 bottom-0 w-px bg-gradient-to-b from-elf-blue/30 via-elf-blue/10 to-transparent dark:from-elf-blue/30 dark:via-elf-blue/10" />
169-
<div class="space-y-8">
170-
<AnimatedSection v-for="(ed, i) in editions" :key="ed.n" :style="{ transitionDelay: `${i * 80}ms` }">
171-
<RouterLink :to="`/standard/ed${ed.n}`" class="relative flex items-start gap-6 sm:gap-8 group">
172-
<div class="relative z-10 shrink-0">
173-
<div class="w-8 sm:w-16 h-8 sm:h-16 rounded-full bg-white dark:bg-navy-light border-2 border-elf-blue/30 dark:border-elf-blue/30 flex items-center justify-center group-hover:border-elf-blue dark:group-hover:border-elf-blue transition-colors">
174-
<span class="font-mono text-xs sm:text-sm font-bold text-elf-blue dark:text-elf-blue">{{ ed.year }}</span>
175-
</div>
176-
</div>
177-
<div class="pt-1 sm:pt-4">
178-
<p class="font-serif font-bold text-gray-900 dark:text-white group-hover:text-elf-blue transition-colors">Edition {{ ed.n }}</p>
179-
<p class="text-sm text-gray-500 dark:text-gray-400 mt-0.5">{{ ed.desc }}</p>
180-
</div>
181-
</RouterLink>
182-
</AnimatedSection>
183-
</div>
187+
<div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-5">
188+
<AnimatedSection v-for="(ed, i) in editions" :key="ed.n" :style="{ transitionDelay: `${i * 80}ms` }">
189+
<RouterLink :to="`/standard/ed${ed.n}`" class="block rounded-xl border border-gray-200/80 dark:border-gray-700/60 bg-white dark:bg-navy-light p-5 hover:border-elf-blue/30 dark:hover:border-elf-blue/30 hover:shadow-lg hover:shadow-elf-blue/5 dark:hover:shadow-elf-blue/5 hover:-translate-y-0.5 transition-all duration-200 group h-full">
190+
<div class="flex items-center justify-between mb-3">
191+
<span class="font-mono text-xs font-bold px-2 py-0.5 rounded-full bg-elf-blue/10 dark:bg-elf-blue/15 text-elf-blue dark:text-elf-blue">{{ ed.year }}</span>
192+
<span v-if="ed.status === 'Current'" class="text-[0.6rem] font-mono font-semibold tracking-wider uppercase px-2 py-0.5 rounded-full border border-emerald-400/40 text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20">Current</span>
193+
<span v-else class="text-[0.6rem] font-mono tracking-wider uppercase px-2 py-0.5 rounded-full text-gray-400 dark:text-gray-500 bg-gray-50 dark:bg-gray-800/60">Withdrawn</span>
194+
</div>
195+
<h3 class="font-serif font-bold text-lg text-gray-900 dark:text-white group-hover:text-elf-blue transition-colors mb-1">Edition {{ ed.n }}</h3>
196+
<p class="text-xs text-gray-400 dark:text-gray-500 font-mono mb-3">{{ ed.iso }}</p>
197+
<p class="text-sm text-gray-600 dark:text-gray-300 leading-snug mb-4">{{ ed.desc }}</p>
198+
<ul class="space-y-1.5">
199+
<li v-for="f in ed.features" :key="f" class="text-xs text-gray-500 dark:text-gray-400 flex items-start gap-1.5">
200+
<span class="w-1 h-1 rounded-full bg-elf-blue/40 dark:bg-elf-blue/30 shrink-0 mt-1.5" />
201+
{{ f }}
202+
</li>
203+
</ul>
204+
</RouterLink>
205+
</AnimatedSection>
184206
</div>
185207
</div>
186208
</section>

0 commit comments

Comments
 (0)