Files
s.esmaeiliandClaude Opus 4.6 bb7f1e3378 feat: update Dockerfile, add category pages, fonts and product images
Rebuild Docker setup with simplified nginx-only Dockerfile (build runs
on host). Add category detail pages, IRANSans font files, product
images, and update all landing sections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-07 00:45:51 +03:30

98 lines
4.1 KiB
Vue
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script setup lang="ts">
import { FileSearch, ShieldCheck } from "lucide-vue-next";
import Reveal from "~/components/ui/Reveal.vue";
import SectionHead from "~/components/ui/SectionHead.vue";
const STANDARDS = [
{ code: "EN 397", label: "کلاه ایمنی صنعتی" },
{ code: "EN 388", label: "دستکش‌های مکانیکی" },
{ code: "EN 166", label: "محافظ چشم و صورت" },
{ code: "EN 361", label: "هارنس ضدسقوط" },
{ code: "ISO 20345", label: "کفش ایمنی" },
{ code: "ISO 9001", label: "سیستم مدیریت کیفیت" },
];
</script>
<template>
<section
id="standards"
aria-labelledby="standards-title"
class="relative overflow-hidden border-t border-line py-24 md:py-32"
>
<!-- watermark -->
<div
aria-hidden="true"
class="text-outline pointer-events-none absolute -bottom-14 -start-8 select-none font-mono text-[24vw] font-bold leading-none opacity-60"
>
CE
</div>
<div class="relative mx-auto max-w-[1480px] px-5 md:px-8">
<div class="grid items-center gap-14 lg:grid-cols-12">
<div class="lg:col-span-5">
<SectionHead
heading-id="standards-title"
tag="۰۴ — استانداردها"
desc="ما فقط تجهیزاتی را عرضه می‌کنیم که تأییدیه معتبر بین‌المللی و تست آزمایشگاهی داشته باشند؛ بدون استثنا."
>
<template #title>
مهرتأیید جهانی
<br />
روی هر محصول
</template>
</SectionHead>
<Reveal :delay="0.25">
<div class="mt-8 flex items-start gap-4 rounded-xl border border-accent/25 bg-accent/5 p-5">
<FileSearch class="size-6 shrink-0 text-accent" />
<p class="text-sm leading-8 text-ink/80">
شماره سریال تمام محصولات در پایگاه داده استانداردهای اروپا
قابل استعلام است و گواهی تست هر بچ تحویل مشتری می‌شود.
</p>
</div>
</Reveal>
<Reveal :delay="0.35">
<a
href="#contact"
class="group mt-8 inline-flex items-center gap-2.5 rounded-full border border-line px-6 py-3.5 text-sm font-bold transition-colors hover:border-accent hover:text-accent"
>
<ShieldCheck class="size-4 text-accent" />
درخواست گواهی تست محصولات
</a>
</Reveal>
</div>
<div class="grid gap-4 sm:grid-cols-2 lg:col-span-7 xl:grid-cols-3">
<Reveal v-for="(s, i) in STANDARDS" :key="s.code" :delay="i * 0.06">
<div
data-hover
class="group relative h-full border border-line bg-panel/50 p-6 text-center transition-all duration-500 hover:-translate-y-1.5 hover:border-accent/50 hover:bg-panel"
>
<span class="absolute end-3 top-3 font-mono text-[9px] tracking-[0.2em] text-muted/50">
CERT
</span>
<div
class="mx-auto flex size-24 items-center justify-center rounded-full border border-dashed border-ink/20 transition-all duration-500 group-hover:rotate-12 group-hover:border-accent/60"
>
<div>
<div
class="font-mono text-base font-bold text-ink transition-colors duration-300 group-hover:text-accent"
>
{{ s.code }}
</div>
<div
class="mx-auto mt-1.5 h-px w-8 bg-line transition-colors duration-300 group-hover:bg-accent/50"
/>
<div class="mt-1.5 font-mono text-[8px] tracking-[0.25em] text-muted">
EURO NORM
</div>
</div>
</div>
<div class="mt-4 text-sm font-medium text-ink/85">{{ s.label }}</div>
</div>
</Reveal>
</div>
</div>
</div>
</section>
</template>