Host website assets locally
Remove runtime dependency on external image and font CDNs so deployments remain stable and self-contained. Co-authored-by: Cursor <cursoragent@cursor.com>
@@ -13,8 +13,7 @@ import {
|
||||
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";
|
||||
const assetBase = "/assets";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "درباره سامان اندیش | تجربه تخصصی صنعت سیم و کابل",
|
||||
|
||||
@@ -18,8 +18,7 @@ import {
|
||||
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 assetBase = "/assets";
|
||||
|
||||
const navItems = [
|
||||
{ label: "صفحه اصلی", href: "/" },
|
||||
|
||||
@@ -11,8 +11,7 @@ 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";
|
||||
const assetBase = "/assets";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "تماس با سامان اندیش | مشاوره ماشینآلات صنعتی",
|
||||
|
||||
@@ -1,6 +1,74 @@
|
||||
@import url("https://cdn.meshkee.com/web-builder/fonts/ravi/ravi.css");
|
||||
@import url("https://cdn.meshkee.com/web-builder/fonts/montserrat/montserrat.css");
|
||||
@import url("https://cdn.meshkee.com/web-builder/fonts/monoton/monoton.css");
|
||||
@font-face {
|
||||
font-family: "Monoton";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-01.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Montserrat";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-02.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Montserrat";
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-03.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Montserrat";
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-04.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Montserrat";
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-05.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Vazirmatn";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-06.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Vazirmatn";
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-07.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Vazirmatn";
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-08.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Vazirmatn";
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url("/fonts/webfont-09.ttf") format("truetype");
|
||||
}
|
||||
|
||||
:root {
|
||||
--navy: #082a4e;
|
||||
@@ -28,7 +96,7 @@ body {
|
||||
margin: 0;
|
||||
color: var(--ink);
|
||||
background: var(--white);
|
||||
font-family: ravi, "Tahoma", sans-serif;
|
||||
font-family: Vazirmatn, "Tahoma", sans-serif;
|
||||
line-height: 1.8;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
@@ -65,7 +133,7 @@ button {
|
||||
.topbar {
|
||||
color: rgba(255, 255, 255, 0.76);
|
||||
background: var(--navy-deep);
|
||||
font-family: montserrat, ravi, sans-serif;
|
||||
font-family: Montserrat, Vazirmatn, sans-serif;
|
||||
font-size: 11px;
|
||||
letter-spacing: 0.25px;
|
||||
}
|
||||
@@ -87,7 +155,7 @@ button {
|
||||
.topbar p {
|
||||
margin: 0;
|
||||
gap: 7px;
|
||||
font-family: ravi, sans-serif;
|
||||
font-family: Vazirmatn, sans-serif;
|
||||
}
|
||||
|
||||
.topbar p svg {
|
||||
@@ -1141,7 +1209,7 @@ button {
|
||||
color: var(--white);
|
||||
background:
|
||||
linear-gradient(rgba(3, 25, 47, 0.93), rgba(3, 25, 47, 0.93)),
|
||||
url("https://meshkee-templates.sas.amin.parminstorage.ir/sites/user_themes/SamanAndish_OcHaRXRqAo/assets/files/ZLxH2tZ4dR.jpg")
|
||||
url("/assets/ZLxH2tZ4dR.jpg")
|
||||
center/cover fixed;
|
||||
}
|
||||
|
||||
@@ -1561,7 +1629,7 @@ button {
|
||||
|
||||
.footer__contact strong {
|
||||
color: var(--white);
|
||||
font-family: montserrat, ravi, sans-serif;
|
||||
font-family: Montserrat, Vazirmatn, sans-serif;
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
}
|
||||
@@ -2287,7 +2355,7 @@ button {
|
||||
|
||||
.about-stats strong {
|
||||
color: #ff8a9a;
|
||||
font-family: montserrat, ravi, sans-serif;
|
||||
font-family: Montserrat, Vazirmatn, sans-serif;
|
||||
font-size: 38px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
@@ -2486,7 +2554,7 @@ button {
|
||||
color: var(--white);
|
||||
background:
|
||||
linear-gradient(90deg, rgba(226, 36, 61, 0.96), rgba(188, 23, 45, 0.94)),
|
||||
url("https://meshkee-templates.sas.amin.parminstorage.ir/sites/user_themes/SamanAndish_OcHaRXRqAo/assets/files/i8SsUDDMLv.jpg")
|
||||
url("/assets/i8SsUDDMLv.jpg")
|
||||
center/cover;
|
||||
}
|
||||
|
||||
@@ -2570,7 +2638,7 @@ button {
|
||||
|
||||
.contact-info__grid strong {
|
||||
color: var(--navy);
|
||||
font-family: montserrat, ravi, sans-serif;
|
||||
font-family: Montserrat, Vazirmatn, sans-serif;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,7 @@ import {
|
||||
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 assetBase = "/assets";
|
||||
|
||||
const heroSlides = [
|
||||
{
|
||||
@@ -79,8 +78,7 @@ const products = [
|
||||
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",
|
||||
image: `${assetBase}/product-quadding.jpg`,
|
||||
code: "LESMO / QUA-21",
|
||||
},
|
||||
{
|
||||
@@ -88,8 +86,7 @@ const products = [
|
||||
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",
|
||||
image: `${assetBase}/product-braider.jpg`,
|
||||
code: "SPIRKA / 16N4",
|
||||
},
|
||||
{
|
||||
@@ -97,8 +94,7 @@ const products = [
|
||||
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",
|
||||
image: `${assetBase}/product-drawing-line.jpg`,
|
||||
code: "SAMP / TRB3",
|
||||
},
|
||||
{
|
||||
@@ -106,8 +102,7 @@ const products = [
|
||||
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",
|
||||
image: `${assetBase}/product-payoff.jpg`,
|
||||
code: "KDM / TAP D-0800",
|
||||
},
|
||||
];
|
||||
@@ -116,22 +111,19 @@ const news = [
|
||||
{
|
||||
title: "شرکت مهندسی، مشاوره و بازرگانی HService",
|
||||
date: "۰۸ خرداد ۱۴۰۲",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/2f19d9aa2413f3265b58d130ca4865ea/conversions/SATV---Weblog-Cover-thumbnail.jpg",
|
||||
image: `${assetBase}/news-hservice.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",
|
||||
image: `${assetBase}/news-wire-tube.jpg`,
|
||||
tag: "رویداد",
|
||||
},
|
||||
{
|
||||
title: "انرژی پاک و بازار گواهی انرژی تجدیدپذیر",
|
||||
date: "۱۲ اردیبهشت ۱۴۰۲",
|
||||
image:
|
||||
"https://meshkee-storage.sas.amin.parminstorage.ir/saman_andish_2474/862690c612c4c41a2ddceb9bf7a5c848/conversions/SATV---Blog-Cover---Green-Energy-thumbnail.jpg",
|
||||
image: `${assetBase}/news-green-energy.jpg`,
|
||||
tag: "دانش فنی",
|
||||
},
|
||||
];
|
||||
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 247 KiB |
|
After Width: | Height: | Size: 375 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 1014 KiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 312 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 53 KiB |