feat: redesign site pages and connect contact API

This commit is contained in:
amirhosein.ashourloo
2026-09-22 02:00:26 +03:30
parent 6b3e87a09d
commit 55d0fad2c8
92 changed files with 611 additions and 224 deletions
+7 -7
View File
@@ -59,7 +59,7 @@ export function NewsCarousel({
onClick={() => step("prev")}
disabled={atStart}
aria-label="اخبار قبلی"
className="flex h-11 w-11 items-center justify-center rounded-full border border-line text-ink transition-colors duration-300 hover:border-gold hover:bg-gold hover:text-white disabled:pointer-events-none disabled:opacity-30"
className="flex h-11 w-11 items-center justify-center border-0 text-ink transition-colors duration-300 hover:text-gold disabled:pointer-events-none disabled:opacity-30"
>
<svg viewBox="0 0 24 24" fill="none" aria-hidden="true" className="h-4 w-4">
<path d="M5 12h14m0 0-6-6m6 6-6 6" stroke="currentColor" strokeWidth="1.6" />
@@ -70,7 +70,7 @@ export function NewsCarousel({
onClick={() => step("next")}
disabled={atEnd}
aria-label="اخبار بعدی"
className="flex h-11 w-11 items-center justify-center rounded-full border border-line text-ink transition-colors duration-300 hover:border-gold hover:bg-gold hover:text-white disabled:pointer-events-none disabled:opacity-30"
className="flex h-11 w-11 items-center justify-center border-0 text-ink transition-colors duration-300 hover:text-gold disabled:pointer-events-none disabled:opacity-30"
>
<svg viewBox="0 0 24 24" fill="none" aria-hidden="true" className="h-4 w-4">
<path d="M19 12H5m0 0 6-6m-6 6 6 6" stroke="currentColor" strokeWidth="1.6" />
@@ -86,18 +86,18 @@ export function NewsCarousel({
{items.map((item, i) => (
<li
key={item.slug}
className="w-[82vw] shrink-0 snap-start sm:w-[52vw] lg:w-[34vw] xl:w-[26rem]"
className="w-[86vw] shrink-0 snap-start sm:w-[62vw] lg:w-[48vw] xl:w-[42rem]"
>
<Reveal delay={(i % 4) * 80}>
<Link href={`${basePath}/${item.slug}`} className="group block h-full">
<article className="flex h-full flex-col bg-paper">
<div className="relative aspect-[16/11] overflow-hidden">
<article className="grid h-full bg-paper lg:grid-cols-2">
<div className="relative aspect-square overflow-hidden">
<Image
src={item.image}
alt={item.title}
fill
quality={80}
sizes="(max-width: 640px) 82vw, (max-width: 1024px) 52vw, 26rem"
sizes="(max-width: 640px) 86vw, (max-width: 1024px) 62vw, 22rem"
loading={i < 2 ? "eager" : "lazy"}
className="object-cover transition-transform duration-[1100ms] ease-out-soft group-hover:scale-[1.06]"
/>
@@ -117,7 +117,7 @@ export function NewsCarousel({
{item.title}
</h3>
<span className="mt-auto flex items-center gap-2 pt-7 text-sm text-muted transition-colors duration-300 group-hover:text-gold">
<span className="mt-auto flex w-max items-center gap-2 border-b border-ink/45 pt-7 pb-1 text-sm text-muted transition-colors duration-300 group-hover:border-gold group-hover:text-gold">
ادامه مطلب
<svg viewBox="0 0 24 24" fill="none" aria-hidden="true" className="h-3.5 w-3.5 transition-transform duration-300 group-hover:-translate-x-1">
<path d="M19 12H5m0 0 6-6m-6 6 6 6" stroke="currentColor" strokeWidth="1.8" />