fix schema and social and image

master
حسین معصومی پور 2024-05-01 10:54:18 +03:30
parent 029ed1b70f
commit 92dd046adc
13 changed files with 257 additions and 147 deletions

View File

@ -142,6 +142,8 @@ const ProductData = ({ params, data }) => {
className=" mx-auto !object-cover"
onClick={() => CTX.setIsOpenLightBox(true)}
alt={`${product.persianName} - ${product.englishName}`}
property
loading="eager"
/>
) : (
<div className="xs:!w-[85px] lg:!w-[85px] my-10 ">

View File

@ -1,6 +1,7 @@
import Image from "next/image";
import Link from "next/link";
import logo from "../../public/images/logo.png";
import bale from "@img/bale.png";
const Footer = () => {
return (
@ -35,7 +36,7 @@ const Footer = () => {
</div>
<div className="bg-gray-200">
<div className=" xs:px-10 lg:px-20 py-5 ">
<div className=" xs:px-5 lg:px-20 xs:py-3 lg:py-5 ">
<div className="grid xs:grid-cols-1 lg:grid-cols-2 gap-10 rtl">
<div className="grid xs:grid-cols-1 lg:grid-cols-3 gap-10 rtl">
<div className="col-span-2">
@ -52,7 +53,7 @@ const Footer = () => {
<Link
href={`/categories/bdf6b13c-4be5-4a93-bcdb-612440bdbd6e/کرم مرطوب کننده دست و پا`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
کرم مرطوب کننده دست و پا{" "}
</li>
</Link>
@ -60,28 +61,28 @@ const Footer = () => {
<Link
href={`/categories/20dce1e7-1dfe-4b2a-9764-6f3ddf46fdb2/مرطوب کننده و آبرسان صورت`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
مرطوب کننده و آبرسان صورت{" "}
</li>
</Link>
<Link
href={`/categories/16bcdc90-6842-4201-9d5c-54cd8f565148/شوینده سطوح`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
شوینده سطوح
</li>
</Link>
<Link
href={`/categories/b7549222-87f7-4b0b-8938-210539b3a395/بهداشت دهان و دندان`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
بهداشت دهان و دندان
</li>
</Link>
<Link
href={`/categories/f3e79ed0-d608-470d-8656-7a98ff933c1e/نرم کننده مو`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
نرم کننده مو
</li>
</Link>
@ -92,34 +93,34 @@ const Footer = () => {
<Link
href={`/categories/b909db09-2188-4a4d-8578-e1f7102947bc/کیت رنگ مو`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
کیت رنگ مو{" "}
</li>
</Link>
<Link
href={`/categories/effe5d98-d4b7-47e1-9bfb-4d3c77ab3347/بهداشت خانه و آشپرخانه`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
بهداشت خانه و آشپرخانه{" "}
</li>
</Link>
<Link
href={`/categories/debf7aad-4f08-4d03-ba70-6663ae1aa90d/سرم مو`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
سرم مو{" "}
</li>
</Link>
<Link
href={`/categories/8bf20569-c3e3-457f-b9ad-140ef449741b/ژل بهداشتی بانوان`}
>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
ژل بهداشتی بانوان{" "}
</li>
</Link>
<Link href={`/blogs?page=0`}>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
مجله زیبایی وسمه{" "}
</li>
</Link>
@ -136,20 +137,24 @@ const Footer = () => {
<div>
<ul>
<Link href={`/faq`}>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
سوالات متداول{" "}
</li>
</Link>
<Link href={`/contact-us`}>
<li className="text-sm text-gray-600 mt-2">تماس باما </li>
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
تماس باما{" "}
</li>
</Link>
<Link href={`/terms-and-conditions`}>
<li className="text-sm text-gray-600 mt-2">
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
قوانین سایت
</li>
</Link>
<Link href={`/about-us`}>
<li className="text-sm text-gray-600 mt-2">درباره ما </li>
<li className="text-sm text-gray-600 mt-2 xs:py-2 lg:py-0">
درباره ما{" "}
</li>
</Link>
</ul>
</div>
@ -194,84 +199,87 @@ const Footer = () => {
</div>
<div className="flex xs:justify-center lg:justify-normal rtl xs:mt-5 lg:mt-0">
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<svg
width="25"
height="25"
viewBox="0 0 226 227"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="opacity-60"
>
<path
d="M112.987 55.2129C97.658 55.2129 82.9563 61.3025 72.1167 72.1421C61.2771 82.9817 55.1875 97.6834 55.1875 113.013C55.1875 128.342 61.2771 143.044 72.1167 153.884C82.9563 164.723 97.658 170.813 112.987 170.813C128.317 170.813 143.019 164.723 153.858 153.884C164.698 143.044 170.787 128.342 170.787 113.013C170.787 97.6834 164.698 82.9817 153.858 72.1421C143.019 61.3025 128.317 55.2129 112.987 55.2129ZM112.987 150.55C108.056 150.55 103.174 149.579 98.6177 147.692C94.062 145.805 89.9225 143.039 86.4356 139.552C82.9488 136.065 80.1829 131.926 78.2958 127.37C76.4088 122.814 75.4375 117.932 75.4375 113C75.4375 108.069 76.4088 103.186 78.2958 98.6306C80.1829 94.0749 82.9488 89.9354 86.4356 86.4485C89.9225 82.9617 94.062 80.1958 98.6177 78.3087C103.174 76.4216 108.056 75.4504 112.987 75.4504C122.946 75.4504 132.497 79.4065 139.539 86.4485C146.581 93.4905 150.538 103.042 150.538 113C150.538 122.959 146.581 132.51 139.539 139.552C132.497 146.594 122.946 150.55 112.987 150.55Z"
fill="black"
/>
<path
d="M173.075 66.5623C180.517 66.5623 186.55 60.5293 186.55 53.0873C186.55 45.6453 180.517 39.6123 173.075 39.6123C165.633 39.6123 159.6 45.6453 159.6 53.0873C159.6 60.5293 165.633 66.5623 173.075 66.5623Z"
fill="black"
/>
<path
d="M219.663 39.3875C216.769 31.9148 212.347 25.1285 206.68 19.4632C201.012 13.7979 194.224 9.37839 186.75 6.4875C178.005 3.20446 168.765 1.42926 159.425 1.2375C147.388 0.712499 143.575 0.5625 113.05 0.5625C82.5254 0.5625 78.6129 0.562499 66.6754 1.2375C57.3428 1.41946 48.1099 3.19502 39.3754 6.4875C31.8996 9.37502 25.1099 13.7934 19.4421 19.4591C13.7742 25.1248 9.35325 31.9128 6.46289 39.3875C3.1792 48.1327 1.40807 57.373 1.22539 66.7125C0.687891 78.7375 0.525391 82.55 0.525391 113.087C0.525391 143.612 0.525391 147.5 1.22539 159.462C1.41289 168.812 3.17539 178.037 6.46289 186.8C9.36136 194.272 13.7866 201.057 19.4558 206.722C25.1251 212.387 31.9137 216.807 39.3879 219.7C48.1058 223.115 57.3425 225.017 66.7004 225.325C78.7379 225.85 82.5504 226.012 113.075 226.012C143.6 226.012 147.513 226.012 159.45 225.325C168.789 225.135 178.028 223.364 186.775 220.088C194.247 217.19 201.033 212.766 206.7 207.1C212.367 201.433 216.79 194.647 219.688 187.175C222.975 178.425 224.738 169.2 224.925 159.85C225.463 147.825 225.625 144.013 225.625 113.475C225.625 82.9375 225.625 79.0625 224.925 67.1C224.78 57.6284 223 48.2531 219.663 39.3875ZM204.438 158.537C204.357 165.741 203.042 172.878 200.55 179.637C198.673 184.498 195.799 188.913 192.114 192.596C188.428 196.279 184.012 199.151 179.15 201.025C172.466 203.506 165.405 204.821 158.275 204.912C146.4 205.462 143.05 205.6 112.6 205.6C82.1254 205.6 79.0129 205.6 66.9129 204.912C59.787 204.825 52.7295 203.51 46.0504 201.025C41.1715 199.162 36.7379 196.296 33.0365 192.612C29.3351 188.928 26.4483 184.508 24.5629 179.637C22.106 172.951 20.7918 165.898 20.6754 158.775C20.1379 146.9 20.0129 143.55 20.0129 113.1C20.0129 82.6375 20.0129 79.525 20.6754 67.4125C20.7562 60.2128 22.0711 53.0802 24.5629 46.325C28.3754 36.4625 36.1879 28.7 46.0504 24.925C52.7328 22.4517 59.7882 21.137 66.9129 21.0375C78.8004 20.5 82.1379 20.35 112.6 20.35C143.063 20.35 146.188 20.35 158.275 21.0375C165.406 21.1233 172.467 22.4384 179.15 24.925C184.012 26.8034 188.427 29.6775 192.113 33.3629C195.798 37.0482 198.672 41.4634 200.55 46.325C203.007 53.0119 204.321 60.0645 204.438 67.1875C204.975 79.075 205.113 82.4125 205.113 112.875C205.113 143.325 205.113 146.6 204.575 158.55L204.438 158.537Z"
fill="black"
/>
</svg>
</div>
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<svg
width="25"
height="25"
viewBox="0 0 300 300"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="opacity-60"
>
<g clip-path="url(#clip0_633_2)">
<a href={`https://www.instagram.com/vesmehcom`}>
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<svg
width="25"
height="25"
viewBox="0 0 226 227"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="opacity-60"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M247.213 55.3746C250.302 54.0745 253.683 53.6261 257.004 54.076C260.325 54.526 263.465 55.8579 266.097 57.9331C268.728 60.0083 270.756 62.751 271.968 65.8756C273.18 69.0002 273.532 72.3926 272.988 75.6996L244.638 247.662C241.888 264.25 223.688 273.762 208.476 265.5C195.751 258.587 176.851 247.937 159.851 236.825C151.351 231.262 125.313 213.45 128.513 200.775C131.263 189.937 175.013 149.212 200.013 125C209.826 115.487 205.351 110 193.763 118.75C164.988 140.475 118.788 173.512 103.513 182.812C90.0381 191.012 83.013 192.412 74.613 191.012C59.288 188.462 45.0756 184.512 33.4756 179.7C17.8006 173.2 18.5631 151.65 33.4631 145.375L247.213 55.3746Z"
d="M112.987 55.2129C97.658 55.2129 82.9563 61.3025 72.1167 72.1421C61.2771 82.9817 55.1875 97.6834 55.1875 113.013C55.1875 128.342 61.2771 143.044 72.1167 153.884C82.9563 164.723 97.658 170.813 112.987 170.813C128.317 170.813 143.019 164.723 153.858 153.884C164.698 143.044 170.787 128.342 170.787 113.013C170.787 97.6834 164.698 82.9817 153.858 72.1421C143.019 61.3025 128.317 55.2129 112.987 55.2129ZM112.987 150.55C108.056 150.55 103.174 149.579 98.6177 147.692C94.062 145.805 89.9225 143.039 86.4356 139.552C82.9488 136.065 80.1829 131.926 78.2958 127.37C76.4088 122.814 75.4375 117.932 75.4375 113C75.4375 108.069 76.4088 103.186 78.2958 98.6306C80.1829 94.0749 82.9488 89.9354 86.4356 86.4485C89.9225 82.9617 94.062 80.1958 98.6177 78.3087C103.174 76.4216 108.056 75.4504 112.987 75.4504C122.946 75.4504 132.497 79.4065 139.539 86.4485C146.581 93.4905 150.538 103.042 150.538 113C150.538 122.959 146.581 132.51 139.539 139.552C132.497 146.594 122.946 150.55 112.987 150.55Z"
fill="black"
/>
</g>
<defs>
<clipPath id="clip0_633_2">
<rect width="300" height="300" fill="white" />
</clipPath>
</defs>
</svg>
</div>
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<svg
width="25"
height="25"
viewBox="0 0 226 226"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="opacity-60"
>
<path
d="M200.5 0.5C207.13 0.5 213.489 3.13392 218.178 7.82233C222.866 12.5107 225.5 18.8696 225.5 25.5V200.5C225.5 207.13 222.866 213.489 218.178 218.178C213.489 222.866 207.13 225.5 200.5 225.5H25.5C18.8696 225.5 12.5107 222.866 7.82233 218.178C3.13392 213.489 0.5 207.13 0.5 200.5V25.5C0.5 18.8696 3.13392 12.5107 7.82233 7.82233C12.5107 3.13392 18.8696 0.5 25.5 0.5H200.5ZM194.25 194.25V128C194.25 117.192 189.957 106.828 182.315 99.1854C174.672 91.5433 164.308 87.25 153.5 87.25C142.875 87.25 130.5 93.75 124.5 103.5V89.625H89.625V194.25H124.5V132.625C124.5 123 132.25 115.125 141.875 115.125C146.516 115.125 150.967 116.969 154.249 120.251C157.531 123.533 159.375 127.984 159.375 132.625V194.25H194.25ZM49 70C54.5695 70 59.911 67.7875 63.8492 63.8492C67.7875 59.911 70 54.5695 70 49C70 37.375 60.625 27.875 49 27.875C43.3973 27.875 38.0241 30.1007 34.0624 34.0624C30.1007 38.0241 27.875 43.3973 27.875 49C27.875 60.625 37.375 70 49 70ZM66.375 194.25V89.625H31.75V194.25H66.375Z"
fill="black"
/>
</svg>
</div>
<path
d="M173.075 66.5623C180.517 66.5623 186.55 60.5293 186.55 53.0873C186.55 45.6453 180.517 39.6123 173.075 39.6123C165.633 39.6123 159.6 45.6453 159.6 53.0873C159.6 60.5293 165.633 66.5623 173.075 66.5623Z"
fill="black"
/>
<path
d="M219.663 39.3875C216.769 31.9148 212.347 25.1285 206.68 19.4632C201.012 13.7979 194.224 9.37839 186.75 6.4875C178.005 3.20446 168.765 1.42926 159.425 1.2375C147.388 0.712499 143.575 0.5625 113.05 0.5625C82.5254 0.5625 78.6129 0.562499 66.6754 1.2375C57.3428 1.41946 48.1099 3.19502 39.3754 6.4875C31.8996 9.37502 25.1099 13.7934 19.4421 19.4591C13.7742 25.1248 9.35325 31.9128 6.46289 39.3875C3.1792 48.1327 1.40807 57.373 1.22539 66.7125C0.687891 78.7375 0.525391 82.55 0.525391 113.087C0.525391 143.612 0.525391 147.5 1.22539 159.462C1.41289 168.812 3.17539 178.037 6.46289 186.8C9.36136 194.272 13.7866 201.057 19.4558 206.722C25.1251 212.387 31.9137 216.807 39.3879 219.7C48.1058 223.115 57.3425 225.017 66.7004 225.325C78.7379 225.85 82.5504 226.012 113.075 226.012C143.6 226.012 147.513 226.012 159.45 225.325C168.789 225.135 178.028 223.364 186.775 220.088C194.247 217.19 201.033 212.766 206.7 207.1C212.367 201.433 216.79 194.647 219.688 187.175C222.975 178.425 224.738 169.2 224.925 159.85C225.463 147.825 225.625 144.013 225.625 113.475C225.625 82.9375 225.625 79.0625 224.925 67.1C224.78 57.6284 223 48.2531 219.663 39.3875ZM204.438 158.537C204.357 165.741 203.042 172.878 200.55 179.637C198.673 184.498 195.799 188.913 192.114 192.596C188.428 196.279 184.012 199.151 179.15 201.025C172.466 203.506 165.405 204.821 158.275 204.912C146.4 205.462 143.05 205.6 112.6 205.6C82.1254 205.6 79.0129 205.6 66.9129 204.912C59.787 204.825 52.7295 203.51 46.0504 201.025C41.1715 199.162 36.7379 196.296 33.0365 192.612C29.3351 188.928 26.4483 184.508 24.5629 179.637C22.106 172.951 20.7918 165.898 20.6754 158.775C20.1379 146.9 20.0129 143.55 20.0129 113.1C20.0129 82.6375 20.0129 79.525 20.6754 67.4125C20.7562 60.2128 22.0711 53.0802 24.5629 46.325C28.3754 36.4625 36.1879 28.7 46.0504 24.925C52.7328 22.4517 59.7882 21.137 66.9129 21.0375C78.8004 20.5 82.1379 20.35 112.6 20.35C143.063 20.35 146.188 20.35 158.275 21.0375C165.406 21.1233 172.467 22.4384 179.15 24.925C184.012 26.8034 188.427 29.6775 192.113 33.3629C195.798 37.0482 198.672 41.4634 200.55 46.325C203.007 53.0119 204.321 60.0645 204.438 67.1875C204.975 79.075 205.113 82.4125 205.113 112.875C205.113 143.325 205.113 146.6 204.575 158.55L204.438 158.537Z"
fill="black"
/>
</svg>
</div>
</a>
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<svg
width="25"
height="25"
viewBox="0 0 300 244"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="opacity-60"
>
<path
d="M94.2375 243.763C207.45 243.763 269.381 149.957 269.381 68.7505C269.406 66.113 269.369 63.4755 269.269 60.838C281.322 52.1051 291.728 41.2996 300 28.9255C288.733 33.8806 276.8 37.1531 264.581 38.638C277.455 30.945 287.096 18.8382 291.712 4.56925C279.624 11.7453 266.385 16.7757 252.581 19.438C243.303 9.55719 231.026 3.01145 217.652 0.814699C204.277 -1.38206 190.551 0.892774 178.6 7.28682C166.649 13.6809 157.14 23.8373 151.546 36.1829C145.952 48.5285 144.585 62.3742 147.656 75.5755C123.181 74.3541 99.2371 67.9989 77.378 56.9223C55.519 45.8458 36.2339 30.2957 20.775 11.2817C12.9296 24.8407 10.5366 40.8765 14.0814 56.1352C17.6262 71.3939 26.8433 84.7325 39.8625 93.4442C30.1014 93.1288 20.5536 90.5074 12 85.7942V86.638C12.0239 100.839 16.9466 114.597 25.9373 125.589C34.928 136.582 47.436 144.135 61.35 146.976C56.0676 148.431 50.6106 149.157 45.1313 149.132C41.2672 149.172 37.4094 148.814 33.6187 148.063C37.5449 160.294 45.2021 170.988 55.5157 178.645C65.8293 186.302 78.2816 190.537 91.125 190.757C69.3019 207.875 42.3609 217.166 14.625 217.138C9.73685 217.175 4.85149 216.893 0 216.294C28.1517 234.247 60.8487 243.777 94.2375 243.763Z"
fill="black"
/>
</svg>
</div>
<a href={`https://t.me/vesmehhcom`}>
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<svg
width="25"
height="25"
viewBox="0 0 300 300"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="opacity-60"
>
<g clip-path="url(#clip0_633_2)">
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M247.213 55.3746C250.302 54.0745 253.683 53.6261 257.004 54.076C260.325 54.526 263.465 55.8579 266.097 57.9331C268.728 60.0083 270.756 62.751 271.968 65.8756C273.18 69.0002 273.532 72.3926 272.988 75.6996L244.638 247.662C241.888 264.25 223.688 273.762 208.476 265.5C195.751 258.587 176.851 247.937 159.851 236.825C151.351 231.262 125.313 213.45 128.513 200.775C131.263 189.937 175.013 149.212 200.013 125C209.826 115.487 205.351 110 193.763 118.75C164.988 140.475 118.788 173.512 103.513 182.812C90.0381 191.012 83.013 192.412 74.613 191.012C59.288 188.462 45.0756 184.512 33.4756 179.7C17.8006 173.2 18.5631 151.65 33.4631 145.375L247.213 55.3746Z"
fill="black"
/>
</g>
<defs>
<clipPath id="clip0_633_2">
<rect width="300" height="300" fill="white" />
</clipPath>
</defs>
</svg>
</div>
</a>
<a href={`https://web.bale.ai/flow/search?uid=5560485550`}>
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<div className="w-[25px]">
<Image
src={bale}
className="opacity-60"
alt="پیام رسان بله وسمه"
/>
</div>
</div>
</a>
<a href={`https://twitter.com/vesmehcom`}>
<div className="bg-white p-2 h-fit rounded-2xl mx-1">
<svg
width="25"
height="25"
viewBox="0 0 300 244"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="opacity-60"
>
<path
d="M94.2375 243.763C207.45 243.763 269.381 149.957 269.381 68.7505C269.406 66.113 269.369 63.4755 269.269 60.838C281.322 52.1051 291.728 41.2996 300 28.9255C288.733 33.8806 276.8 37.1531 264.581 38.638C277.455 30.945 287.096 18.8382 291.712 4.56925C279.624 11.7453 266.385 16.7757 252.581 19.438C243.303 9.55719 231.026 3.01145 217.652 0.814699C204.277 -1.38206 190.551 0.892774 178.6 7.28682C166.649 13.6809 157.14 23.8373 151.546 36.1829C145.952 48.5285 144.585 62.3742 147.656 75.5755C123.181 74.3541 99.2371 67.9989 77.378 56.9223C55.519 45.8458 36.2339 30.2957 20.775 11.2817C12.9296 24.8407 10.5366 40.8765 14.0814 56.1352C17.6262 71.3939 26.8433 84.7325 39.8625 93.4442C30.1014 93.1288 20.5536 90.5074 12 85.7942V86.638C12.0239 100.839 16.9466 114.597 25.9373 125.589C34.928 136.582 47.436 144.135 61.35 146.976C56.0676 148.431 50.6106 149.157 45.1313 149.132C41.2672 149.172 37.4094 148.814 33.6187 148.063C37.5449 160.294 45.2021 170.988 55.5157 178.645C65.8293 186.302 78.2816 190.537 91.125 190.757C69.3019 207.875 42.3609 217.166 14.625 217.138C9.73685 217.175 4.85149 216.893 0 216.294C28.1517 234.247 60.8487 243.777 94.2375 243.763Z"
fill="black"
/>
</svg>
</div>
</a>
</div>
</div>
</div>

View File

@ -1,4 +1,5 @@
import CardNormal from "@comp/Cards/CardNormal/page";
import Link from "next/link";
import { Swiper, SwiperSlide } from "swiper/react";
const BeautySection = ({ data }) => {
@ -61,11 +62,16 @@ const BeautySection = ({ data }) => {
))}
</Swiper>
<div className="mx-5 mt-8">
<p className="mb-0 text-sm text-gray-600 xs:text-white md:text-black">
مشاهده بیشتر{" "}
</p>
</div>
<Link
href={"/categories/7e92af7d-0370-451f-9770-5e26b5c8dc63/آرایش-صورت"}
className="z-90 relative"
>
<div className="mx-5 mt-8">
<p className="mb-0 text-sm text-gray-600 xs:text-white md:text-black">
مشاهده بیشتر{" "}
</p>
</div>
</Link>
</div>
</section>
);

View File

@ -15,7 +15,7 @@ const HeroSection = () => {
وسمه ، بُن مضـــــــــــارع زیبایی
</h1>
<h2 className="text-gray-300 mt-4 xs:text-sm lg:text-lg xl:text-xl font-light ">
پلتفرم زیبایی ایرانی راهی برای زیبایی بهتر
زیبایی شما در اولویت ماست{" "}
</h2>
</div>
<div className="flex xs:flex-wrap justify-center xs:mt-[50px] lg:mt-[100px] xl:mt-[180px] ">
@ -28,7 +28,12 @@ const HeroSection = () => {
<div className="flex justify-center relative">
<div className="absolute w-full">
<div className=" xs:w-[110px] lg:w-[170px] lg:ml-[-20px] xs:ml-[-15px] mt-[-10px] ">
<Image src={yek} alt="مراقبت پوست فروشگاه اینترنتی وسمه" />
<Image
src={yek}
alt="مراقبت پوست فروشگاه اینترنتی وسمه"
property
loading="eager"
/>
</div>
</div>
</div>
@ -48,7 +53,12 @@ const HeroSection = () => {
<div className="flex justify-center relative">
<div className="absolute w-full">
<div className=" xs:w-[110px] lg:w-[170px] lg:ml-[-20px] xs:ml-[-15px] mt-[-10px] ">
<Image src={doo} alt="آرایش لب فروشگاه اینترنتی وسمه" />
<Image
src={doo}
alt="آرایش لب فروشگاه اینترنتی وسمه"
property
loading="eager"
/>
</div>
</div>
</div>
@ -68,7 +78,12 @@ const HeroSection = () => {
<div className="flex justify-center relative">
<div className="absolute w-full">
<div className=" xs:w-[110px] lg:w-[170px] lg:ml-[-20px] xs:ml-[-15px] mt-[-10px] ">
<Image src={see} alt="آرایش ناخن فروشگاه اینترنتی وسمه" />{" "}
<Image
src={see}
alt="آرایش ناخن فروشگاه اینترنتی وسمه"
property
loading="eager"
/>{" "}
</div>
</div>
</div>
@ -88,7 +103,12 @@ const HeroSection = () => {
<div className="flex justify-center relative">
<div className="absolute w-full">
<div className=" xs:w-[110px] lg:w-[170px] lg:ml-[-20px] xs:ml-[-15px] mt-[-10px] ">
<Image src={chr} alt="بهداشت جنسی فروشگاه اینترنتی وسمه" />
<Image
src={chr}
alt="بهداشت جنسی فروشگاه اینترنتی وسمه"
property
loading="eager"
/>
</div>
</div>
</div>
@ -108,7 +128,12 @@ const HeroSection = () => {
<div className="flex justify-center relative">
<div className="absolute w-full">
<div className=" xs:w-[110px] lg:w-[170px] lg:ml-[-20px] xs:ml-[-15px] mt-[-10px] ">
<Image src={png} alt="آرایش چشم فروشگاه اینترنتی وسمه" />
<Image
src={png}
alt="آرایش چشم فروشگاه اینترنتی وسمه"
property
loading="eager"
/>
</div>
</div>
</div>
@ -128,7 +153,12 @@ const HeroSection = () => {
<div className="flex justify-center relative">
<div className="absolute w-full">
<div className=" xs:w-[110px] lg:w-[170px] lg:ml-[-20px] xs:ml-[-15px] mt-[-10px] ">
<Image src={shs} alt="کرم پودر فروشگاه اینترنتی وسمه" />{" "}
<Image
src={shs}
alt="کرم پودر فروشگاه اینترنتی وسمه"
property
loading="eager"
/>{" "}
</div>
</div>
</div>

View File

@ -3,6 +3,7 @@ import Image from "next/image";
import { Swiper, SwiperSlide } from "swiper/react";
import khane from "../../../public/images/khane.jpg";
import CardSurprise from "@comp/Cards/CardSurprise/page";
import Link from "next/link";
const HomeSection = ({ data }) => {
return (
@ -62,6 +63,16 @@ const HomeSection = ({ data }) => {
</Swiper>
</div>
</div>
<Link
href={"/categories/89631880-a1a3-4759-8fcd-d9284a8f97ed/شوینده-ظروف"}
className="z-90 relative"
>
<div className="mx-5">
<p className="mb-0 text-sm text-gray-600 xs:text-white md:text-black">
مشاهده بیشتر{" "}
</p>
</div>
</Link>
</div>
</section>
);

View File

@ -66,11 +66,11 @@ const SurpriseSection = ({ data }) => {
))}
</Swiper>
<div className="mx-5 mt-8">
{/* <div className="mx-5 mt-8">
<p className="mb-0 text-sm text-gray-600 xs:text-white md:text-black">
مشاهده بیشتر{" "}
</p>
</div>
</div> */}
</div>
</section>
);

View File

@ -4,8 +4,6 @@ import PersianNumber from "plugins/PersianNumber";
import { useEffect, useState } from "react";
const TimerDown = () => {
const targetTimestamp = 1710654443 * 1000; // Convert to milliseconds
const [timeRemaining, setTimeRemaining] = useState({
days: 0,
hours: 0,
@ -15,34 +13,44 @@ const TimerDown = () => {
});
useEffect(() => {
const interval = setInterval(() => {
const calculateTimeRemaining = () => {
// Get current date and time
const now = new Date();
const timeDifference = targetTimestamp - now.getTime();
if (timeDifference > 0) {
const days = Math.floor(timeDifference / (1000 * 60 * 60 * 24));
const hours = Math.floor(
(timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
);
const minutes = Math.floor(
(timeDifference % (1000 * 60 * 60)) / (1000 * 60)
);
const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);
const milliseconds = timeDifference % 1000;
// Calculate yesterday's date
const yesterday = new Date(now);
yesterday.setDate(now.getDate() - 1);
yesterday.setHours(23, 59, 0, 0); // Set time to 23:59:00
setTimeRemaining({
days,
hours,
minutes,
seconds,
milliseconds,
});
} else {
clearInterval(interval);
}
}, 1000);
// Calculate tomorrow's date
const tomorrow = new Date(now);
tomorrow.setDate(now.getDate() + 1);
tomorrow.setHours(23, 59, 0, 0); // Set time to 23:59:00
return () => clearInterval(interval);
// Calculate time difference
const difference = tomorrow - now;
// Convert time difference to days, hours, minutes, seconds, and milliseconds
const days = Math.floor(difference / (1000 * 60 * 60 * 24));
const hours = Math.floor(
(difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
);
const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((difference % (1000 * 60)) / 1000);
const milliseconds = difference % 1000;
// Update state
setTimeRemaining({ days, hours, minutes, seconds, milliseconds });
};
// Call calculateTimeRemaining once to set initial state
calculateTimeRemaining();
// Update time remaining every second
const intervalId = setInterval(calculateTimeRemaining, 1000);
// Clean up interval on component unmount
return () => clearInterval(intervalId);
}, []);
return (

View File

@ -2,6 +2,7 @@
const nextConfig = {
reactStrictMode: false, // React Strict Mode is off
images: {
minimumCacheTTL: 2592000,
domains: ["storage.vesmeh.com"],
remotePatterns: [
{

View File

@ -25,6 +25,8 @@ const GalleryBox = ({ file }) => {
className=" mx-auto !object-cover"
onClick={() => CTX.setIsOpenLightBox(true)}
alt={file[0].fileName}
priority
loading="eager"
/>
) : (
<div className="xs:!w-[85px] lg:!w-[85px] ">
@ -51,6 +53,8 @@ const GalleryBox = ({ file }) => {
alt={e.fileName}
width={50}
height={50}
priority
loading="eager"
/>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -10,6 +10,28 @@ async function getData(id) {
const page = async ({ params }) => {
const data = await getData(params.id[0]);
console.log(data);
// const structuredData = {
// "@context": "https://schema.org",
// "@type": "BlogPosting",
// headline: "This is a cool blog post",
// image: ["small.webp", "large.webp"],
// datePublished: "2024-02-15T00:00:00",
// dateModified: "2025-02-15T00:00:00",
// author: [
// {
// "@type": "Person",
// name: "Firstname LastName",
// jobTitle: "Blog post writer",
// worksFor: "Blog post company",
// url: `${process.env.NEXT_PUBLIC_SITE_URL}/people/firstname-lastname`,
// image: `${process.env.NEXT_PUBLIC_SITE_URL}/people/f_lastname.webp`,
// },
// ],
// description: "There are things in this post. Don't be vague like me",
// };
return <BlogData data={data} />;
};

View File

@ -58,26 +58,25 @@ export const metadata = {
other: { enamad: "735422" },
};
// const structuredData = {
// "@context": "https://schema.org",
// "@type": "Organization",
// url: process.env.NEXT_PUBLIC_APP_URL,
// logo: "",
// name: "فروشگاه اینترنتی وسمه",
// legalName: "وسمه",
// telephone: "+982188196154",
// sameAs: ["https://t.me/vesmehhcom"],
// };
const structuredData = {
"@context": "https://schema.org",
"@type": "Organization",
url: process.env.NEXT_PUBLIC_APP_URL,
logo: "https://storage.vesmeh.com/Logo/Med/Main.png",
name: "فروشگاه اینترنتی وسمه",
legalName: "وسمه",
telephone: "+982188196154",
sameAs: [
"https://t.me/vesmehhcom",
"https://twitter.com/vesmehcom",
"https://www.instagram.com/vesmehcom",
],
};
export default function RootLayout({ children }) {
// if (process.env.NEXT_PUBLIC_IS_DEV === "false") {
//
//
// }
return (
<html lang="en">
{/* <head>
<head>
<script
key="structured-data"
type="application/ld+json"
@ -85,7 +84,7 @@ export default function RootLayout({ children }) {
__html: JSON.stringify(structuredData),
}}
/>
</head> */}
</head>
<body>
<RootData>{children}</RootData>
</body>

View File

@ -20,7 +20,7 @@ export async function generateMetadata({ params }) {
process.env.NEXT_PUBLIC_APP_URL
);
return {
title: decodedName,
title: data?.product?.persianName,
description: `خرید ${data?.product?.persianName}| برندهای متنوع با پایین ترین قیمت | فروشگاه اینترنتی وسمه`,
metadataBase: metadataUrl,
product_id_meta: data?.product?.id,
@ -60,10 +60,29 @@ export async function generateMetadata({ params }) {
const Page = async ({ params }) => {
const data = await getData(params.id[0]);
const imageUrl = new URL(
data?.product?.files && data?.product?.files[0]?.fileLocation,
process.env.STORAGE_URL
);
const structuredData = {
"@context": "https://schema.org",
"@type": "Product",
name: data?.product?.persianName,
image: imageUrl,
description: ` خرید ${data?.product?.persianName}| برندهای متنوع با پایین ترین قیمت | فروشگاه اینترنتی وسمه`,
};
return (
<>
<ProductData params={params} data={data} />
<script
key="structured-data"
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(structuredData),
}}
/>
</>
);
};