Create Saman Andish industrial website
Build a responsive Persian Next.js experience with product discovery and dedicated company contact pages. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
# dependencies
|
||||
/node_modules
|
||||
|
||||
# Next.js build output
|
||||
/.next
|
||||
/out
|
||||
|
||||
# local files
|
||||
.DS_Store
|
||||
*.log
|
||||
.env*
|
||||
|
||||
# TypeScript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
@@ -0,0 +1,9 @@
|
||||
<!-- BEGIN:nextjs-agent-rules -->
|
||||
|
||||
# This is NOT the Next.js you know
|
||||
|
||||
This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` (resolved from this file's directory; in monorepos the `next` package may not be visible from the repo root) before writing any code. Heed deprecation notices.
|
||||
|
||||
This block is written and re-added by `next dev` — verify at `node_modules/next/dist/server/lib/generate-agent-files.js`. Removing it from a diff only re-creates the uncommitted change; committing it with your work keeps the tree clean.
|
||||
|
||||
<!-- END:nextjs-agent-rules -->
|
||||
@@ -0,0 +1,16 @@
|
||||
Create a website from this website
|
||||
https://www.samanandish.co/
|
||||
Website is about heavy machinery seller and company, mainly in wire and cable industry
|
||||
Website is not ssl but its ok to pass it
|
||||
|
||||
You can use content and images
|
||||
Lang:fa
|
||||
Directions: rtl
|
||||
Use next js
|
||||
Design only homepage
|
||||
|
||||
Use the same font for Persian font and cool industrial en font
|
||||
Sections are the same
|
||||
search is very important for this website
|
||||
|
||||
I will connect product to backend later
|
||||
@@ -0,0 +1,211 @@
|
||||
import type { Metadata } from "next";
|
||||
import {
|
||||
ArrowLeft,
|
||||
Award,
|
||||
CheckCircle2,
|
||||
Factory,
|
||||
Gauge,
|
||||
Globe2,
|
||||
Handshake,
|
||||
Target,
|
||||
Users,
|
||||
} from "lucide-react";
|
||||
import Link from "next/link";
|
||||
import { InteriorFooter, InteriorHeader } from "../components/InteriorShell";
|
||||
|
||||
const assetBase =
|
||||
"https://meshkee-templates.sas.amin.parminstorage.ir/sites/user_themes/SamanAndish_OcHaRXRqAo/assets/files";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "درباره سامان اندیش | تجربه تخصصی صنعت سیم و کابل",
|
||||
description:
|
||||
"با تاریخچه، ارزشها و توانمندیهای تخصصی شرکت سامان اندیش در تأمین ماشینآلات صنعت سیم و کابل آشنا شوید.",
|
||||
};
|
||||
|
||||
export default function AboutUsPage() {
|
||||
return (
|
||||
<main>
|
||||
<InteriorHeader active="about" />
|
||||
|
||||
<section
|
||||
className="inner-hero"
|
||||
style={{ backgroundImage: `url("${assetBase}/s9zJRbKrhE.jpg")` }}
|
||||
>
|
||||
<div className="inner-hero__shade" />
|
||||
<div className="container inner-hero__content">
|
||||
<span>ABOUT SAMAN ANDISH</span>
|
||||
<h1>درباره سامان اندیش</h1>
|
||||
<p>
|
||||
بیش از دو دهه تجربه در پیوند فناوری جهانی با صنعت سیم و کابل ایران
|
||||
</p>
|
||||
<div>
|
||||
<Link href="/">صفحه اصلی</Link>
|
||||
<i>/</i>
|
||||
<strong>درباره ما</strong>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="about-intro">
|
||||
<div className="container about-intro__grid">
|
||||
<div className="about-intro__visual">
|
||||
<img
|
||||
src={`${assetBase}/trEfzlNgmz.jpg`}
|
||||
alt="ماشینآلات صنعت سیم و کابل"
|
||||
/>
|
||||
<div>
|
||||
<strong dir="ltr">25+</strong>
|
||||
<span>سال تجربه تخصصی</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="about-intro__copy">
|
||||
<span className="inner-eyebrow">WHO WE ARE</span>
|
||||
<h2>همراه صنعت، از انتخاب تا بهرهبرداری</h2>
|
||||
<p className="lead">
|
||||
سامان اندیش یک مجموعه مهندسی و بازرگانی تخصصی در حوزه ماشینآلات،
|
||||
مواد اولیه و خدمات فنی صنعت سیم و کابل است.
|
||||
</p>
|
||||
<p>
|
||||
ما با شناخت عمیق از فرآیندهای تولید و همکاری با سازندگان معتبر
|
||||
بینالمللی، به کارخانهها کمک میکنیم مناسبترین راهکار را بر اساس
|
||||
ظرفیت تولید، بودجه و برنامه توسعه خود انتخاب کنند. همکاری ما با
|
||||
فروش دستگاه پایان نمییابد؛ ارزیابی فنی، حمل، نصب، راهاندازی و
|
||||
پشتیبانی، بخش جداییناپذیر تعهد ماست.
|
||||
</p>
|
||||
<div className="about-checks">
|
||||
{[
|
||||
"ارزیابی فنی پیش از خرید",
|
||||
"شبکه تأمین بینالمللی",
|
||||
"نصب و راهاندازی تخصصی",
|
||||
"پشتیبانی بلندمدت",
|
||||
].map((item) => (
|
||||
<span key={item}>
|
||||
<CheckCircle2 />
|
||||
{item}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="about-stats">
|
||||
<div className="container about-stats__grid">
|
||||
{[
|
||||
["۲۵+", "سال تجربه"],
|
||||
["۱۲۰+", "ماشینآلات تأمینشده"],
|
||||
["۴۰+", "برند بینالمللی"],
|
||||
["۸۰+", "مشتری صنعتی"],
|
||||
].map(([number, label]) => (
|
||||
<div key={label}>
|
||||
<strong>{number}</strong>
|
||||
<span>{label}</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="mission">
|
||||
<div className="container">
|
||||
<div className="inner-section-title">
|
||||
<span>OUR PURPOSE</span>
|
||||
<h2>آنچه مسیر ما را میسازد</h2>
|
||||
</div>
|
||||
<div className="mission__grid">
|
||||
<article>
|
||||
<span>
|
||||
<Target />
|
||||
</span>
|
||||
<small>01</small>
|
||||
<h3>ماموریت ما</h3>
|
||||
<p>
|
||||
ارائه راهکارهای صنعتی قابل اتکا که بهرهوری، کیفیت و پایداری
|
||||
خطوط تولید مشتریان را افزایش دهد.
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<span>
|
||||
<Globe2 />
|
||||
</span>
|
||||
<small>02</small>
|
||||
<h3>چشمانداز ما</h3>
|
||||
<p>
|
||||
تبدیل شدن به مرجع نخست تأمین و مهندسی ماشینآلات سیم و کابل در
|
||||
بازار ایران و منطقه.
|
||||
</p>
|
||||
</article>
|
||||
<article>
|
||||
<span>
|
||||
<Handshake />
|
||||
</span>
|
||||
<small>03</small>
|
||||
<h3>تعهد ما</h3>
|
||||
<p>
|
||||
ساختن همکاری شفاف و بلندمدت؛ از نخستین مشاوره تا سالها پس از
|
||||
بهرهبرداری تجهیزات.
|
||||
</p>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="why-us">
|
||||
<div className="container why-us__grid">
|
||||
<div className="why-us__copy">
|
||||
<span className="inner-eyebrow">WHY SAMAN ANDISH</span>
|
||||
<h2>تخصصی که به تصمیم بهتر تبدیل میشود</h2>
|
||||
<p>
|
||||
هر پروژه را با شناخت دقیق نیاز تولید آغاز میکنیم و با ترکیب دانش
|
||||
فنی، تجربه بازار و دسترسی به تأمینکنندگان جهانی، ریسک انتخاب و
|
||||
خرید را کاهش میدهیم.
|
||||
</p>
|
||||
<div>
|
||||
{[
|
||||
[Factory, "شناخت فرآیند تولید", "تحلیل دقیق نیاز هر خط"],
|
||||
[Gauge, "تمرکز بر بهرهوری", "انتخاب اقتصادی و پایدار"],
|
||||
[Award, "کیفیت قابل ارزیابی", "بازرسی و مستندسازی فنی"],
|
||||
[Users, "تیم همراه", "پاسخگویی در تمام مراحل"],
|
||||
].map(([Icon, title, text]) => {
|
||||
const FeatureIcon = Icon as typeof Factory;
|
||||
return (
|
||||
<article key={title as string}>
|
||||
<FeatureIcon />
|
||||
<span>
|
||||
<strong>{title as string}</strong>
|
||||
<small>{text as string}</small>
|
||||
</span>
|
||||
</article>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
<div className="why-us__image">
|
||||
<img
|
||||
src={`${assetBase}/rhipZeVqzD.jpg`}
|
||||
alt="خدمات مهندسی سامان اندیش"
|
||||
/>
|
||||
<div>
|
||||
<strong>راهکار مناسب،</strong>
|
||||
<span>برای خط تولید شما</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="inner-cta">
|
||||
<div className="container">
|
||||
<div>
|
||||
<span>شروع یک همکاری مطمئن</span>
|
||||
<h2>برای توسعه خط تولید خود با ما گفتگو کنید.</h2>
|
||||
</div>
|
||||
<Link className="button button--white" href="/contact-us">
|
||||
تماس با کارشناسان
|
||||
<ArrowLeft size={18} />
|
||||
</Link>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<InteriorFooter />
|
||||
</main>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
"use client";
|
||||
|
||||
import {
|
||||
ArrowUpLeft,
|
||||
Camera,
|
||||
ChevronLeft,
|
||||
CircleUserRound,
|
||||
Link as LinkIcon,
|
||||
Mail,
|
||||
MapPin,
|
||||
Menu,
|
||||
MessageCircle,
|
||||
Phone,
|
||||
Search,
|
||||
Sparkles,
|
||||
X,
|
||||
} from "lucide-react";
|
||||
import Link from "next/link";
|
||||
import { useState } from "react";
|
||||
|
||||
const assetBase =
|
||||
"https://meshkee-templates.sas.amin.parminstorage.ir/sites/user_themes/SamanAndish_OcHaRXRqAo/assets/files";
|
||||
|
||||
const navItems = [
|
||||
{ label: "صفحه اصلی", href: "/" },
|
||||
{ label: "محصولات", href: "/#products" },
|
||||
{ label: "خدمات", href: "/#services" },
|
||||
{ label: "اخبار", href: "/#news" },
|
||||
{ label: "درباره ما", href: "/about-us", key: "about" },
|
||||
{ label: "تماس با ما", href: "/contact-us", key: "contact" },
|
||||
];
|
||||
|
||||
export function InteriorHeader({
|
||||
active,
|
||||
}: {
|
||||
active?: "about" | "contact";
|
||||
}) {
|
||||
const [mobileOpen, setMobileOpen] = useState(false);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="topbar">
|
||||
<div className="container topbar__inner">
|
||||
<p>
|
||||
<Sparkles size={14} />
|
||||
شریک تخصصی صنعت سیم و کابل ایران
|
||||
</p>
|
||||
<div>
|
||||
<a href="mailto:info@samanandish.com">
|
||||
<Mail size={14} />
|
||||
info@samanandish.com
|
||||
</a>
|
||||
<span />
|
||||
<a href="tel:+982188530256" dir="ltr">
|
||||
<Phone size={14} />
|
||||
+98 21 8853 0256
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<header className="header">
|
||||
<div className="container header__inner">
|
||||
<Link className="logo" href="/" aria-label="سامان اندیش">
|
||||
<img src={`${assetBase}/KN83Drb6oI.png`} alt="سامان اندیش" />
|
||||
</Link>
|
||||
<nav className="desktop-nav" aria-label="ناوبری اصلی">
|
||||
{navItems.map((item) => (
|
||||
<Link
|
||||
className={item.key === active ? "active" : ""}
|
||||
href={item.href}
|
||||
key={item.label}
|
||||
>
|
||||
{item.label}
|
||||
</Link>
|
||||
))}
|
||||
</nav>
|
||||
<div className="header__actions">
|
||||
<Link className="icon-button" href="/#smart-search" aria-label="جستجو">
|
||||
<Search size={22} />
|
||||
</Link>
|
||||
<button className="icon-button user-button" aria-label="حساب کاربری">
|
||||
<CircleUserRound size={22} />
|
||||
</button>
|
||||
<Link className="header__cta" href="/contact-us">
|
||||
درخواست مشاوره
|
||||
<ArrowUpLeft size={17} />
|
||||
</Link>
|
||||
<button
|
||||
className="mobile-toggle"
|
||||
onClick={() => setMobileOpen((open) => !open)}
|
||||
aria-label="منو"
|
||||
>
|
||||
{mobileOpen ? <X /> : <Menu />}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{mobileOpen && (
|
||||
<nav className="mobile-nav">
|
||||
{navItems.map((item) => (
|
||||
<Link
|
||||
href={item.href}
|
||||
key={item.label}
|
||||
onClick={() => setMobileOpen(false)}
|
||||
>
|
||||
{item.label}
|
||||
<ChevronLeft size={17} />
|
||||
</Link>
|
||||
))}
|
||||
</nav>
|
||||
)}
|
||||
</header>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export function InteriorFooter() {
|
||||
return (
|
||||
<footer className="footer">
|
||||
<div className="footer__pattern" />
|
||||
<div className="container footer__grid">
|
||||
<div className="footer__brand">
|
||||
<img src={`${assetBase}/4eEq8S7FxV.png`} alt="سامان اندیش" />
|
||||
<p>
|
||||
تأمینکننده تخصصی ماشینآلات و راهکارهای فنی صنعت سیم و کابل، با
|
||||
تمرکز بر کیفیت، بهرهوری و همکاری بلندمدت.
|
||||
</p>
|
||||
<div>
|
||||
<a href="#" aria-label="اینستاگرام">
|
||||
<Camera />
|
||||
</a>
|
||||
<a href="#" aria-label="لینکدین">
|
||||
<LinkIcon />
|
||||
</a>
|
||||
<a href="#" aria-label="تلگرام">
|
||||
<MessageCircle />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="footer__links">
|
||||
<h3>دسترسی سریع</h3>
|
||||
<Link href="/">صفحه اصلی</Link>
|
||||
<Link href="/#products">ماشینآلات</Link>
|
||||
<Link href="/about-us">درباره ما</Link>
|
||||
<Link href="/contact-us">تماس با ما</Link>
|
||||
</div>
|
||||
<div className="footer__links">
|
||||
<h3>خدمات ما</h3>
|
||||
<Link href="/#services">تأمین ماشینآلات</Link>
|
||||
<Link href="/#services">خدمات فنی و مهندسی</Link>
|
||||
<Link href="/#services">مواد اولیه</Link>
|
||||
<Link href="/contact-us">مشاوره خرید</Link>
|
||||
</div>
|
||||
<div className="footer__contact">
|
||||
<h3>با ما در ارتباط باشید</h3>
|
||||
<a href="tel:+982188530256">
|
||||
<span>
|
||||
<Phone />
|
||||
</span>
|
||||
<div>
|
||||
<small>شماره تماس</small>
|
||||
<strong dir="ltr">021 8853 0256</strong>
|
||||
</div>
|
||||
</a>
|
||||
<a href="mailto:info@samanandish.com">
|
||||
<span>
|
||||
<Mail />
|
||||
</span>
|
||||
<div>
|
||||
<small>ایمیل</small>
|
||||
<strong>info@samanandish.com</strong>
|
||||
</div>
|
||||
</a>
|
||||
<div className="address">
|
||||
<span>
|
||||
<MapPin />
|
||||
</span>
|
||||
<p>تهران، خیابان مطهری، خیابان ترکمنستان</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="container footer__bottom">
|
||||
<p>© ۱۴۰۵ سامان اندیش — تمامی حقوق محفوظ است.</p>
|
||||
<span dir="ltr">ENGINEERED FOR INDUSTRY</span>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
"use client";
|
||||
|
||||
import { ArrowLeft, CheckCircle2 } from "lucide-react";
|
||||
import type { FormEvent } from "react";
|
||||
import { useState } from "react";
|
||||
|
||||
export default function ContactForm() {
|
||||
const [submitted, setSubmitted] = useState(false);
|
||||
|
||||
const submit = (event: FormEvent<HTMLFormElement>) => {
|
||||
event.preventDefault();
|
||||
setSubmitted(true);
|
||||
};
|
||||
|
||||
if (submitted) {
|
||||
return (
|
||||
<div className="contact-success">
|
||||
<CheckCircle2 />
|
||||
<h3>پیام شما ثبت شد</h3>
|
||||
<p>کارشناسان سامان اندیش در اولین فرصت با شما تماس خواهند گرفت.</p>
|
||||
<button onClick={() => setSubmitted(false)}>ارسال پیام دیگر</button>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<form className="contact-form" onSubmit={submit}>
|
||||
<div className="form-row">
|
||||
<label>
|
||||
نام و نام خانوادگی
|
||||
<input name="name" placeholder="نام شما" required />
|
||||
</label>
|
||||
<label>
|
||||
شماره تماس
|
||||
<input
|
||||
name="phone"
|
||||
inputMode="tel"
|
||||
placeholder="09xx xxx xxxx"
|
||||
dir="ltr"
|
||||
required
|
||||
/>
|
||||
</label>
|
||||
</div>
|
||||
<div className="form-row">
|
||||
<label>
|
||||
ایمیل
|
||||
<input
|
||||
name="email"
|
||||
type="email"
|
||||
placeholder="name@company.com"
|
||||
dir="ltr"
|
||||
/>
|
||||
</label>
|
||||
<label>
|
||||
موضوع درخواست
|
||||
<select name="subject" defaultValue="">
|
||||
<option value="" disabled>
|
||||
انتخاب کنید
|
||||
</option>
|
||||
<option>خرید ماشینآلات</option>
|
||||
<option>خدمات فنی و مهندسی</option>
|
||||
<option>تأمین مواد اولیه</option>
|
||||
<option>همکاری تجاری</option>
|
||||
<option>سایر موارد</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
<label>
|
||||
پیام شما
|
||||
<textarea
|
||||
name="message"
|
||||
rows={6}
|
||||
placeholder="درباره دستگاه، برند، ظرفیت تولید یا خدمات مورد نیاز توضیح دهید..."
|
||||
required
|
||||
/>
|
||||
</label>
|
||||
<button type="submit">
|
||||
ارسال درخواست
|
||||
<ArrowLeft size={18} />
|
||||
</button>
|
||||
<small>
|
||||
با ارسال فرم، کارشناسان ما برای تکمیل اطلاعات با شما تماس میگیرند.
|
||||
</small>
|
||||
</form>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
import type { Metadata } from "next";
|
||||
import {
|
||||
Clock3,
|
||||
ExternalLink,
|
||||
Mail,
|
||||
MapPin,
|
||||
MessageCircle,
|
||||
Phone,
|
||||
} from "lucide-react";
|
||||
import Link from "next/link";
|
||||
import { InteriorFooter, InteriorHeader } from "../components/InteriorShell";
|
||||
import ContactForm from "./ContactForm";
|
||||
|
||||
const assetBase =
|
||||
"https://meshkee-templates.sas.amin.parminstorage.ir/sites/user_themes/SamanAndish_OcHaRXRqAo/assets/files";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "تماس با سامان اندیش | مشاوره ماشینآلات صنعتی",
|
||||
description:
|
||||
"برای مشاوره خرید ماشینآلات، خدمات فنی و تأمین مواد اولیه صنعت سیم و کابل با کارشناسان سامان اندیش تماس بگیرید.",
|
||||
};
|
||||
|
||||
export default function ContactUsPage() {
|
||||
return (
|
||||
<main>
|
||||
<InteriorHeader active="contact" />
|
||||
|
||||
<section
|
||||
className="inner-hero inner-hero--contact"
|
||||
style={{ backgroundImage: `url("${assetBase}/ZLxH2tZ4dR.jpg")` }}
|
||||
>
|
||||
<div className="inner-hero__shade" />
|
||||
<div className="container inner-hero__content">
|
||||
<span>GET IN TOUCH</span>
|
||||
<h1>تماس با ما</h1>
|
||||
<p>برای انتخاب بهترین راهکار صنعتی، کنار شما هستیم</p>
|
||||
<div>
|
||||
<Link href="/">صفحه اصلی</Link>
|
||||
<i>/</i>
|
||||
<strong>تماس با ما</strong>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="contact-info">
|
||||
<div className="container contact-info__grid">
|
||||
<a href="tel:+982188530256">
|
||||
<span>
|
||||
<Phone />
|
||||
</span>
|
||||
<div>
|
||||
<small>تماس مستقیم</small>
|
||||
<strong dir="ltr">021 8853 0256</strong>
|
||||
<p>پاسخگویی شنبه تا چهارشنبه</p>
|
||||
</div>
|
||||
</a>
|
||||
<a href="mailto:info@samanandish.com">
|
||||
<span>
|
||||
<Mail />
|
||||
</span>
|
||||
<div>
|
||||
<small>ایمیل سازمانی</small>
|
||||
<strong>info@samanandish.com</strong>
|
||||
<p>برای ارسال مشخصات فنی و پیشنهادات</p>
|
||||
</div>
|
||||
</a>
|
||||
<div>
|
||||
<span>
|
||||
<MapPin />
|
||||
</span>
|
||||
<div>
|
||||
<small>دفتر مرکزی</small>
|
||||
<strong>تهران، خیابان مطهری</strong>
|
||||
<p>خیابان ترکمنستان، دفتر سامان اندیش</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="contact-main">
|
||||
<div className="container contact-main__grid">
|
||||
<div className="contact-main__copy">
|
||||
<span className="inner-eyebrow">SEND A MESSAGE</span>
|
||||
<h2>درخواست خود را با ما در میان بگذارید</h2>
|
||||
<p>
|
||||
برای استعلام ماشینآلات، دریافت مشاوره فنی یا شروع همکاری، فرم را
|
||||
تکمیل کنید. اطلاعات شما مستقیماً به تیم مرتبط ارجاع میشود.
|
||||
</p>
|
||||
<ContactForm />
|
||||
</div>
|
||||
|
||||
<aside className="contact-aside">
|
||||
<div className="contact-aside__image">
|
||||
<img src={`${assetBase}/rf3fNjazCx.png`} alt="موقعیت سامان اندیش" />
|
||||
<a
|
||||
href="https://www.google.com/maps/place/Saman+Andish/@35.7424283,51.4396725,17z"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
مشاهده در نقشه
|
||||
<ExternalLink size={16} />
|
||||
</a>
|
||||
</div>
|
||||
<div className="office-hours">
|
||||
<h3>
|
||||
<Clock3 />
|
||||
ساعت کاری
|
||||
</h3>
|
||||
<div>
|
||||
<span>شنبه تا چهارشنبه</span>
|
||||
<strong>۸:۳۰ تا ۱۷:۰۰</strong>
|
||||
</div>
|
||||
<div>
|
||||
<span>پنجشنبه</span>
|
||||
<strong>با هماهنگی قبلی</strong>
|
||||
</div>
|
||||
<div>
|
||||
<span>جمعه</span>
|
||||
<strong>تعطیل</strong>
|
||||
</div>
|
||||
</div>
|
||||
<a className="quick-contact" href="tel:+982188530256">
|
||||
<MessageCircle />
|
||||
<span>
|
||||
<small>نیاز به پاسخ سریع دارید؟</small>
|
||||
<strong>همین حالا تماس بگیرید</strong>
|
||||
</span>
|
||||
</a>
|
||||
</aside>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="contact-departments">
|
||||
<div className="container">
|
||||
<div className="inner-section-title">
|
||||
<span>DIRECT CONTACT</span>
|
||||
<h2>ارتباط با واحدهای تخصصی</h2>
|
||||
</div>
|
||||
<div>
|
||||
{[
|
||||
["فروش ماشینآلات", "machinery@samanandish.com", "داخلی ۱۰۱"],
|
||||
["خدمات فنی", "service@samanandish.com", "داخلی ۱۰۲"],
|
||||
["همکاری تجاری", "commerce@samanandish.com", "داخلی ۱۰۳"],
|
||||
].map(([title, email, extension]) => (
|
||||
<article key={title}>
|
||||
<small>{extension}</small>
|
||||
<h3>{title}</h3>
|
||||
<a href={`mailto:${email}`}>{email}</a>
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<InteriorFooter />
|
||||
</main>
|
||||
);
|
||||
}
|
||||
+3038
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,20 @@
|
||||
import type { Metadata } from "next";
|
||||
import "./globals.css";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "سامان اندیش | ماشینآلات صنعت سیم و کابل",
|
||||
description:
|
||||
"تامین ماشینآلات، مواد اولیه و خدمات فنی مهندسی صنعت سیم و کابل",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
return (
|
||||
<html lang="fa" dir="rtl">
|
||||
<body>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
+701
@@ -0,0 +1,701 @@
|
||||
"use client";
|
||||
|
||||
import {
|
||||
ArrowLeft,
|
||||
ArrowUpLeft,
|
||||
BriefcaseBusiness,
|
||||
Camera,
|
||||
ChevronDown,
|
||||
ChevronLeft,
|
||||
ChevronRight,
|
||||
CircleUserRound,
|
||||
FlaskConical,
|
||||
Gauge,
|
||||
Globe2,
|
||||
Link,
|
||||
Mail,
|
||||
MapPin,
|
||||
Menu,
|
||||
MessageCircle,
|
||||
Phone,
|
||||
Search,
|
||||
Settings,
|
||||
ShieldCheck,
|
||||
SlidersHorizontal,
|
||||
Sparkles,
|
||||
X,
|
||||
} from "lucide-react";
|
||||
import type { FormEvent } from "react";
|
||||
import { useEffect, useMemo, useRef, useState } from "react";
|
||||
|
||||
const assetBase =
|
||||
"https://meshkee-templates.sas.amin.parminstorage.ir/sites/user_themes/SamanAndish_OcHaRXRqAo/assets/files";
|
||||
|
||||
const heroSlides = [
|
||||
{
|
||||
image: `${assetBase}/i8SsUDDMLv.jpg`,
|
||||
eyebrow: "WIRE & CABLE MACHINERY",
|
||||
title: "تجربهای مطمئن در تأمین ماشینآلات صنعتی",
|
||||
text: "راهکارهای تخصصی برای خطوط تولید سیم و کابل؛ از انتخاب و خرید تا نصب و راهاندازی.",
|
||||
},
|
||||
{
|
||||
image: `${assetBase}/s9zJRbKrhE.jpg`,
|
||||
eyebrow: "ENGINEERING THE FUTURE",
|
||||
title: "مهندسی دقیق، عملکرد ماندگار",
|
||||
text: "دسترسی به برندهای معتبر جهانی و مشاوره فنی متناسب با نیاز خط تولید شما.",
|
||||
},
|
||||
{
|
||||
image: `${assetBase}/ZLxH2tZ4dR.jpg`,
|
||||
eyebrow: "SAMAN ANDISH CO.",
|
||||
title: "یک مسیر کوتاهتر تا خط تولید بهتر",
|
||||
text: "ماشینآلات نو و کارکرده، مواد اولیه و خدمات مهندسی در یک مجموعه تخصصی.",
|
||||
},
|
||||
];
|
||||
|
||||
const categories = [
|
||||
{
|
||||
title: "ماشینآلات",
|
||||
en: "MACHINERY",
|
||||
image: `${assetBase}/MDJVsqMgHe.jpg`,
|
||||
count: "+۱۲۰ دستگاه",
|
||||
},
|
||||
{
|
||||
title: "خدمات فنی و مهندسی",
|
||||
en: "TECHNICAL SERVICES",
|
||||
image: `${assetBase}/68atRerNly.jpg`,
|
||||
count: "از طراحی تا اجرا",
|
||||
},
|
||||
{
|
||||
title: "مواد اولیه",
|
||||
en: "RAW MATERIALS",
|
||||
image: `${assetBase}/yxEFuyUDrT.jpg`,
|
||||
count: "تأمین تخصصی",
|
||||
},
|
||||
];
|
||||
|
||||
const products = [
|
||||
{
|
||||
id: 1,
|
||||
title: "دستگاه کوادینگ ۶۰۰ میلیمتر",
|
||||
en: "600mm Quadding Machine | QUA-21 | LESMO",
|
||||
category: "دستگاه تابنده",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/b597976c3ce6012f3a07e9f5c71a3c8c/conversions/WhatsApp-Image-2021-11-13-at-16.48.24-thumbnail.jpg",
|
||||
code: "LESMO / QUA-21",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "بریدر ۱۶ کریر",
|
||||
en: "16 Carriers Braider | 16N4 | SPIRKA",
|
||||
category: "دستگاه بافنده",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/24128c84241513596a1be1534a791c3b/conversions/IMG_20210911_125416-thumbnail.jpg",
|
||||
code: "SPIRKA / 16N4",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "خط کشش ۰.۵–۰.۱۵ میلیمتر",
|
||||
en: "0.15–0.5 SQmm Drawing Line | TRB3 | SAMP",
|
||||
category: "دستگاه کشش",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/74e48c1a38cb4022d50c45dbd3be1f9a/conversions/WhatsApp-Image-2021-11-13-at-13.48.57-thumbnail.jpg",
|
||||
code: "SAMP / TRB3",
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: "پیآف ۶۰۰ میلیمتر",
|
||||
en: "600mm Pay Off | TAP D-0800 | KDM",
|
||||
category: "دستگاه پیآف",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/86a2ebc1d9ebc0d693437b61502e03ce/conversions/Picture1-thumbnail.jpg",
|
||||
code: "KDM / TAP D-0800",
|
||||
},
|
||||
];
|
||||
|
||||
const news = [
|
||||
{
|
||||
title: "شرکت مهندسی، مشاوره و بازرگانی HService",
|
||||
date: "۰۸ خرداد ۱۴۰۲",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/2f19d9aa2413f3265b58d130ca4865ea/conversions/SATV---Weblog-Cover-thumbnail.jpg",
|
||||
tag: "همکاری تجاری",
|
||||
},
|
||||
{
|
||||
title: "نمایشگاههای تجاری پیشرو Wire و Tube",
|
||||
date: "۲۴ اردیبهشت ۱۴۰۲",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/2434bffa9a1ba2b3f857680a8fbb5b4f/conversions/SATV---Blog-Cover---Wire-&-Tube-2022-thumbnail.jpg",
|
||||
tag: "رویداد",
|
||||
},
|
||||
{
|
||||
title: "انرژی پاک و بازار گواهی انرژی تجدیدپذیر",
|
||||
date: "۱۲ اردیبهشت ۱۴۰۲",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/862690c612c4c41a2ddceb9bf7a5c848/conversions/SATV---Blog-Cover---Green-Energy-thumbnail.jpg",
|
||||
tag: "دانش فنی",
|
||||
},
|
||||
];
|
||||
|
||||
const customerLogos = [
|
||||
"JkHpH80NQA.png",
|
||||
"StBGKS3FHm.png",
|
||||
"GAQiN0WIK5.png",
|
||||
"lRkE9W3Pi0.png",
|
||||
"mTdHxPHztj.png",
|
||||
"JcGMFJ8Tv5.png",
|
||||
"WIvmqxoUPv.png",
|
||||
"XhaGH9MU5o.png",
|
||||
"PypItIBoI0.png",
|
||||
"0Y6asKSTsI.png",
|
||||
];
|
||||
|
||||
function SectionTitle({
|
||||
eyebrow,
|
||||
title,
|
||||
light = false,
|
||||
}: {
|
||||
eyebrow: string;
|
||||
title: string;
|
||||
light?: boolean;
|
||||
}) {
|
||||
return (
|
||||
<div className={`section-title ${light ? "section-title--light" : ""}`}>
|
||||
<span>{eyebrow}</span>
|
||||
<h2>{title}</h2>
|
||||
<i />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function Home() {
|
||||
const [mobileOpen, setMobileOpen] = useState(false);
|
||||
const [activeSlide, setActiveSlide] = useState(0);
|
||||
const [query, setQuery] = useState("");
|
||||
const [searchOpen, setSearchOpen] = useState(false);
|
||||
const searchInput = useRef<HTMLInputElement>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const timer = window.setInterval(
|
||||
() => setActiveSlide((current) => (current + 1) % heroSlides.length),
|
||||
6500,
|
||||
);
|
||||
return () => window.clearInterval(timer);
|
||||
}, []);
|
||||
|
||||
const results = useMemo(() => {
|
||||
const normalized = query.trim().toLowerCase();
|
||||
if (!normalized) return products.slice(0, 3);
|
||||
return products.filter((product) =>
|
||||
[product.title, product.en, product.category, product.code]
|
||||
.join(" ")
|
||||
.toLowerCase()
|
||||
.includes(normalized),
|
||||
);
|
||||
}, [query]);
|
||||
|
||||
const focusSearch = () => {
|
||||
document.getElementById("smart-search")?.scrollIntoView({
|
||||
behavior: "smooth",
|
||||
block: "center",
|
||||
});
|
||||
window.setTimeout(() => {
|
||||
searchInput.current?.focus();
|
||||
setSearchOpen(true);
|
||||
}, 500);
|
||||
};
|
||||
|
||||
const submitSearch = (event: FormEvent<HTMLFormElement>) => {
|
||||
event.preventDefault();
|
||||
setSearchOpen(true);
|
||||
};
|
||||
|
||||
return (
|
||||
<main>
|
||||
<div className="topbar">
|
||||
<div className="container topbar__inner">
|
||||
<p>
|
||||
<Sparkles size={14} />
|
||||
شریک تخصصی صنعت سیم و کابل ایران
|
||||
</p>
|
||||
<div>
|
||||
<a href="mailto:info@samanandish.com">
|
||||
<Mail size={14} />
|
||||
info@samanandish.com
|
||||
</a>
|
||||
<span />
|
||||
<a href="tel:+982188530256" dir="ltr">
|
||||
<Phone size={14} />
|
||||
+98 21 8853 0256
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<header className="header">
|
||||
<div className="container header__inner">
|
||||
<a className="logo" href="#" aria-label="سامان اندیش">
|
||||
<img src={`${assetBase}/KN83Drb6oI.png`} alt="سامان اندیش" />
|
||||
</a>
|
||||
<nav className="desktop-nav" aria-label="ناوبری اصلی">
|
||||
<a className="active" href="#">
|
||||
صفحه اصلی
|
||||
</a>
|
||||
<a href="#products">
|
||||
محصولات
|
||||
<ChevronDown size={14} />
|
||||
</a>
|
||||
<a href="#services">خدمات</a>
|
||||
<a href="#news">اخبار</a>
|
||||
<a href="/about-us">درباره ما</a>
|
||||
<a href="/contact-us">تماس با ما</a>
|
||||
</nav>
|
||||
<div className="header__actions">
|
||||
<button className="icon-button" onClick={focusSearch} aria-label="جستجو">
|
||||
<Search size={22} />
|
||||
</button>
|
||||
<button className="icon-button user-button" aria-label="حساب کاربری">
|
||||
<CircleUserRound size={22} />
|
||||
</button>
|
||||
<a className="header__cta" href="/contact-us">
|
||||
درخواست مشاوره
|
||||
<ArrowUpLeft size={17} />
|
||||
</a>
|
||||
<button
|
||||
className="mobile-toggle"
|
||||
onClick={() => setMobileOpen((open) => !open)}
|
||||
aria-label="منو"
|
||||
>
|
||||
{mobileOpen ? <X /> : <Menu />}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{mobileOpen && (
|
||||
<nav className="mobile-nav">
|
||||
{[
|
||||
["صفحه اصلی", "#"],
|
||||
["محصولات", "#products"],
|
||||
["خدمات", "#services"],
|
||||
["اخبار", "#news"],
|
||||
["درباره ما", "/about-us"],
|
||||
["تماس با ما", "/contact-us"],
|
||||
].map(([label, href]) => (
|
||||
<a key={label} href={href} onClick={() => setMobileOpen(false)}>
|
||||
{label}
|
||||
<ChevronLeft size={17} />
|
||||
</a>
|
||||
))}
|
||||
</nav>
|
||||
)}
|
||||
</header>
|
||||
|
||||
<section className="hero">
|
||||
{heroSlides.map((slide, index) => (
|
||||
<div
|
||||
className={`hero__slide ${index === activeSlide ? "is-active" : ""}`}
|
||||
key={slide.image}
|
||||
style={{ backgroundImage: `url("${slide.image}")` }}
|
||||
/>
|
||||
))}
|
||||
<div className="hero__overlay" />
|
||||
<div className="hero__pattern" />
|
||||
<div className="container hero__content">
|
||||
<div className="hero__copy">
|
||||
<p className="eyebrow">{heroSlides[activeSlide].eyebrow}</p>
|
||||
<h1>{heroSlides[activeSlide].title}</h1>
|
||||
<p className="hero__description">{heroSlides[activeSlide].text}</p>
|
||||
<div className="hero__buttons">
|
||||
<a className="button button--red" href="#products">
|
||||
مشاهده محصولات
|
||||
<ArrowLeft size={19} />
|
||||
</a>
|
||||
<a className="button button--glass" href="/about-us">
|
||||
درباره سامان اندیش
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="hero__stats" dir="ltr">
|
||||
<div>
|
||||
<strong>25+</strong>
|
||||
<span>YEARS EXPERIENCE</span>
|
||||
</div>
|
||||
<i />
|
||||
<div>
|
||||
<strong>120+</strong>
|
||||
<span>INDUSTRIAL MACHINES</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="hero__controls">
|
||||
<button
|
||||
onClick={() =>
|
||||
setActiveSlide(
|
||||
(activeSlide - 1 + heroSlides.length) % heroSlides.length,
|
||||
)
|
||||
}
|
||||
aria-label="اسلاید قبلی"
|
||||
>
|
||||
<ChevronRight />
|
||||
</button>
|
||||
<div>
|
||||
{heroSlides.map((slide, index) => (
|
||||
<button
|
||||
className={index === activeSlide ? "active" : ""}
|
||||
key={slide.image}
|
||||
onClick={() => setActiveSlide(index)}
|
||||
aria-label={`اسلاید ${index + 1}`}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
<button
|
||||
onClick={() => setActiveSlide((activeSlide + 1) % heroSlides.length)}
|
||||
aria-label="اسلاید بعدی"
|
||||
>
|
||||
<ChevronLeft />
|
||||
</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="search-panel" id="smart-search">
|
||||
<div className="container">
|
||||
<div className="search-card">
|
||||
<div className="search-card__title">
|
||||
<span>
|
||||
<Search size={26} />
|
||||
</span>
|
||||
<div>
|
||||
<strong>دنبال چه دستگاهی هستید؟</strong>
|
||||
<small>نام، مدل، برند یا دستهبندی را وارد کنید</small>
|
||||
</div>
|
||||
</div>
|
||||
<form onSubmit={submitSearch}>
|
||||
<input
|
||||
ref={searchInput}
|
||||
type="search"
|
||||
value={query}
|
||||
onChange={(event) => {
|
||||
setQuery(event.target.value);
|
||||
setSearchOpen(true);
|
||||
}}
|
||||
onFocus={() => setSearchOpen(true)}
|
||||
placeholder="مثلاً اکسترودر، دستگاه کشش یا Maillefer..."
|
||||
/>
|
||||
<button type="submit">
|
||||
جستجوی محصولات
|
||||
<Search size={18} />
|
||||
</button>
|
||||
</form>
|
||||
<div className="quick-search">
|
||||
<span>جستجوی سریع:</span>
|
||||
{["اکسترودر", "دستگاه کشش", "تیکآپ", "پیآف"].map((item) => (
|
||||
<button
|
||||
key={item}
|
||||
onClick={() => {
|
||||
setQuery(item);
|
||||
setSearchOpen(true);
|
||||
}}
|
||||
>
|
||||
{item}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
{searchOpen && (
|
||||
<div className="search-results">
|
||||
<div className="search-results__head">
|
||||
<span>{results.length} نتیجه پیشنهادی</span>
|
||||
<button onClick={() => setSearchOpen(false)} aria-label="بستن">
|
||||
<X size={17} />
|
||||
</button>
|
||||
</div>
|
||||
{results.length ? (
|
||||
results.map((product) => (
|
||||
<a href="#products" key={product.id}>
|
||||
<img src={product.image} alt="" />
|
||||
<div>
|
||||
<strong>{product.title}</strong>
|
||||
<small dir="ltr">{product.en}</small>
|
||||
</div>
|
||||
<span>{product.category}</span>
|
||||
<ChevronLeft size={18} />
|
||||
</a>
|
||||
))
|
||||
) : (
|
||||
<div className="empty-result">
|
||||
دستگاهی با این مشخصات پیدا نشد؛ برای راهنمایی با ما تماس بگیرید.
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="categories" id="services">
|
||||
<div className="container">
|
||||
<SectionTitle
|
||||
eyebrow="OUR EXPERTISE"
|
||||
title="سه مسیر، یک راهکار کامل صنعتی"
|
||||
/>
|
||||
<div className="category-grid">
|
||||
{categories.map((category, index) => (
|
||||
<a className="category-card" href="#" key={category.title}>
|
||||
<img src={category.image} alt={category.title} />
|
||||
<div className="category-card__shade" />
|
||||
<span className="category-card__number">0{index + 1}</span>
|
||||
<div className="category-card__content">
|
||||
<small>{category.en}</small>
|
||||
<h3>{category.title}</h3>
|
||||
<p>{category.count}</p>
|
||||
</div>
|
||||
<i>
|
||||
<ArrowUpLeft />
|
||||
</i>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="products section-gray" id="products">
|
||||
<div className="container">
|
||||
<div className="section-heading-row">
|
||||
<SectionTitle eyebrow="SPECIAL MACHINERY" title="ماشینآلات منتخب" />
|
||||
<a className="text-link" href="#">
|
||||
مشاهده همه محصولات
|
||||
<ArrowLeft size={18} />
|
||||
</a>
|
||||
</div>
|
||||
<div className="product-grid">
|
||||
{products.map((product) => (
|
||||
<article className="product-card" key={product.id}>
|
||||
<a className="product-card__image" href="#">
|
||||
<img src={product.image} alt={product.title} />
|
||||
<span>فروش ویژه</span>
|
||||
<i>
|
||||
<ArrowUpLeft />
|
||||
</i>
|
||||
</a>
|
||||
<div className="product-card__body">
|
||||
<small>{product.category}</small>
|
||||
<h3>{product.title}</h3>
|
||||
<p dir="ltr">{product.en}</p>
|
||||
<div>
|
||||
<code>{product.code}</code>
|
||||
<a href="tel:+982188530256">
|
||||
استعلام قیمت
|
||||
<Phone size={15} />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="about" id="about">
|
||||
<div className="container about__grid">
|
||||
<div className="about__visual">
|
||||
<img src={`${assetBase}/trEfzlNgmz.jpg`} alt="تجهیزات صنعتی سامان اندیش" />
|
||||
<div className="about__small-image">
|
||||
<img src={`${assetBase}/rhipZeVqzD.jpg`} alt="ماشینآلات صنعت کابل" />
|
||||
</div>
|
||||
<div className="experience-badge">
|
||||
<strong>۲۵</strong>
|
||||
<span>سال تجربه تخصصی</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="about__content">
|
||||
<SectionTitle eyebrow="ABOUT SAMAN ANDISH" title="فراتر از تأمینکننده ماشینآلات" />
|
||||
<p className="about__lead">
|
||||
سامان اندیش، همراه فنی و تجاری تولیدکنندگان سیم و کابل در انتخاب
|
||||
هوشمندانه تجهیزات و توسعه خطوط تولید است.
|
||||
</p>
|
||||
<p>
|
||||
با تکیه بر تجربه اجرایی، شبکه بینالمللی و شناخت دقیق فرآیندهای
|
||||
تولید، راهکاری متناسب با ظرفیت، بودجه و اهداف هر کارخانه ارائه
|
||||
میکنیم.
|
||||
</p>
|
||||
<div className="about__features">
|
||||
<div>
|
||||
<ShieldCheck />
|
||||
<span>
|
||||
<strong>تضمین اصالت</strong>
|
||||
ارزیابی فنی پیش از خرید
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<Settings />
|
||||
<span>
|
||||
<strong>پشتیبانی اجرایی</strong>
|
||||
نصب، راهاندازی و آموزش
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<a className="button button--navy" href="/about-us">
|
||||
بیشتر درباره ما
|
||||
<ArrowLeft size={18} />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="values">
|
||||
<div className="container values__grid">
|
||||
{[
|
||||
[Globe2, "رقابت در بازار جهانی", "GLOBAL COMPETITION"],
|
||||
[Gauge, "کیفیت استاندارد", "STANDARD QUALITY"],
|
||||
[BriefcaseBusiness, "مهندسی نوآورانه", "SMART ENGINEERING"],
|
||||
[FlaskConical, "تکنولوژی پیشرفته", "ADVANCED TECHNOLOGY"],
|
||||
].map(([Icon, title, en], index) => {
|
||||
const ValueIcon = Icon as typeof Globe2;
|
||||
return (
|
||||
<div className="value-card" key={title as string}>
|
||||
<span>0{index + 1}</span>
|
||||
<ValueIcon />
|
||||
<h3>{title as string}</h3>
|
||||
<p>{en as string}</p>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="news" id="news">
|
||||
<div className="container">
|
||||
<div className="section-heading-row">
|
||||
<SectionTitle eyebrow="INSIGHTS & NEWS" title="دانش روز صنعت" />
|
||||
<a className="text-link" href="#">
|
||||
مشاهده همه اخبار
|
||||
<ArrowLeft size={18} />
|
||||
</a>
|
||||
</div>
|
||||
<div className="news-grid">
|
||||
{news.map((item, index) => (
|
||||
<article className={`news-card ${index === 0 ? "news-card--featured" : ""}`} key={item.title}>
|
||||
<a className="news-card__image" href="#">
|
||||
<img src={item.image} alt={item.title} />
|
||||
</a>
|
||||
<div className="news-card__body">
|
||||
<div>
|
||||
<span>{item.tag}</span>
|
||||
<time>{item.date}</time>
|
||||
</div>
|
||||
<h3>{item.title}</h3>
|
||||
<p>
|
||||
تازهترین تحولات، فناوریها و رویدادهای تخصصی صنعت سیم و
|
||||
کابل را با تحلیل کارشناسان سامان اندیش دنبال کنید.
|
||||
</p>
|
||||
<a href="#">
|
||||
ادامه مطلب
|
||||
<ArrowLeft size={17} />
|
||||
</a>
|
||||
</div>
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="customers">
|
||||
<div className="container">
|
||||
<SectionTitle eyebrow="TRUSTED BY INDUSTRY" title="مشتریان ما" />
|
||||
<div className="logo-marquee">
|
||||
<div>
|
||||
{[...customerLogos, ...customerLogos].map((logo, index) => (
|
||||
<span key={`${logo}-${index}`}>
|
||||
<img src={`${assetBase}/${logo}`} alt="نشان مشتری سامان اندیش" />
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="cta-strip">
|
||||
<div className="container cta-strip__inner">
|
||||
<div>
|
||||
<SlidersHorizontal />
|
||||
<span>
|
||||
<small>برای ارتقای خط تولید آمادهاید؟</small>
|
||||
<strong>ماشین مناسب را با کمک متخصصان ما پیدا کنید.</strong>
|
||||
</span>
|
||||
</div>
|
||||
<a className="button button--white" href="/contact-us">
|
||||
شروع گفتگو
|
||||
<ArrowLeft size={18} />
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer className="footer" id="contact">
|
||||
<div className="footer__pattern" />
|
||||
<div className="container footer__grid">
|
||||
<div className="footer__brand">
|
||||
<img src={`${assetBase}/4eEq8S7FxV.png`} alt="سامان اندیش" />
|
||||
<p>
|
||||
تأمینکننده تخصصی ماشینآلات و راهکارهای فنی صنعت سیم و کابل، با
|
||||
تمرکز بر کیفیت، بهرهوری و همکاری بلندمدت.
|
||||
</p>
|
||||
<div>
|
||||
<a href="#" aria-label="اینستاگرام">
|
||||
<Camera />
|
||||
</a>
|
||||
<a href="#" aria-label="لینکدین">
|
||||
<Link />
|
||||
</a>
|
||||
<a href="#" aria-label="تلگرام">
|
||||
<MessageCircle />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="footer__links">
|
||||
<h3>دسترسی سریع</h3>
|
||||
<a href="#">صفحه اصلی</a>
|
||||
<a href="#products">ماشینآلات</a>
|
||||
<a href="#news">اخبار و مقالات</a>
|
||||
<a href="/about-us">درباره ما</a>
|
||||
<a href="/contact-us">تماس با ما</a>
|
||||
</div>
|
||||
<div className="footer__links">
|
||||
<h3>خدمات ما</h3>
|
||||
<a href="#">تأمین ماشینآلات</a>
|
||||
<a href="#">خدمات فنی و مهندسی</a>
|
||||
<a href="#">مواد اولیه</a>
|
||||
<a href="/contact-us">مشاوره خرید</a>
|
||||
</div>
|
||||
<div className="footer__contact">
|
||||
<h3>با ما در ارتباط باشید</h3>
|
||||
<a href="tel:+982188530256">
|
||||
<span>
|
||||
<Phone />
|
||||
</span>
|
||||
<div>
|
||||
<small>شماره تماس</small>
|
||||
<strong dir="ltr">021 8853 0256</strong>
|
||||
</div>
|
||||
</a>
|
||||
<a href="mailto:info@samanandish.com">
|
||||
<span>
|
||||
<Mail />
|
||||
</span>
|
||||
<div>
|
||||
<small>ایمیل</small>
|
||||
<strong>info@samanandish.com</strong>
|
||||
</div>
|
||||
</a>
|
||||
<div className="address">
|
||||
<span>
|
||||
<MapPin />
|
||||
</span>
|
||||
<p>تهران، خیابان مطهری، خیابان ترکمنستان</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="container footer__bottom">
|
||||
<p>© ۱۴۰۵ سامان اندیش — تمامی حقوق محفوظ است.</p>
|
||||
<span dir="ltr">ENGINEERED FOR INDUSTRY</span>
|
||||
</div>
|
||||
</footer>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { defineConfig, globalIgnores } from "eslint/config";
|
||||
import nextVitals from "eslint-config-next/core-web-vitals";
|
||||
import nextTypescript from "eslint-config-next/typescript";
|
||||
|
||||
export default defineConfig([
|
||||
...nextVitals,
|
||||
...nextTypescript,
|
||||
{
|
||||
rules: {
|
||||
"@next/next/no-img-element": "off",
|
||||
},
|
||||
},
|
||||
globalIgnores([".next/**", "node_modules/**"]),
|
||||
]);
|
||||
Generated
+6259
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "saman-andish",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"description": "Saman Andish industrial machinery homepage",
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"keywords": [
|
||||
"nextjs",
|
||||
"industrial-machinery"
|
||||
],
|
||||
"dependencies": {
|
||||
"lucide-react": "^1.33.0",
|
||||
"next": "^16.3.2",
|
||||
"react": "^19.2.8",
|
||||
"react-dom": "^19.2.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^26.2.0",
|
||||
"@types/react": "^19.2.18",
|
||||
"@types/react-dom": "^19.2.5",
|
||||
"eslint": "^9.39.5",
|
||||
"eslint-config-next": "^16.3.2",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2017",
|
||||
"lib": ["dom", "dom.iterable", "esnext"],
|
||||
"allowJs": false,
|
||||
"skipLibCheck": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"esModuleInterop": true,
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "react-jsx",
|
||||
"incremental": true,
|
||||
"plugins": [{ "name": "next" }],
|
||||
"paths": {
|
||||
"@/*": ["./*"]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"next-env.d.ts",
|
||||
"**/*.ts",
|
||||
"**/*.tsx",
|
||||
".next/types/**/*.ts",
|
||||
".next/dev/types/**/*.ts"
|
||||
],
|
||||
"exclude": ["node_modules"]
|
||||
}
|
||||
Reference in New Issue
Block a user