upload project
|
@ -0,0 +1,5 @@
|
|||
CLOUDFLARE_API_TOKEN="E6IAIaNx5Ugw5crHmEEqFzO01zeBfqlfqCSBFVhp"
|
||||
|
||||
NEXT_PUBLIC_GA_ID = "GTM-PT95KXQ"
|
||||
|
||||
ANALYZE=true yarn build
|
|
@ -0,0 +1,43 @@
|
|||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true,
|
||||
},
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
'plugin:react/recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:react/recommended',
|
||||
'prettier',
|
||||
],
|
||||
overrides: [
|
||||
{
|
||||
env: {
|
||||
node: true,
|
||||
},
|
||||
files: ['.eslintrc.{js,cjs}'],
|
||||
},
|
||||
],
|
||||
parser: '@typescript-eslint/parser',
|
||||
parserOptions: {
|
||||
ecmaVersion: 'latest',
|
||||
sourceType: 'module',
|
||||
},
|
||||
plugins: ['react-refresh'],
|
||||
rules: {
|
||||
'react/react-in-jsx-scope': 'off',
|
||||
'prefer-const': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'react/prop-types': 'off',
|
||||
quotes: ['warn', 'single', { allowTemplateLiterals: true }],
|
||||
'no-duplicate-imports': 'error',
|
||||
'@typescript-eslint/no-unused-vars': 'off',
|
||||
'no-unused-vars': 'off',
|
||||
'no-multi-spaces': 'warn',
|
||||
'no-multiple-empty-lines': ['warn', { max: 1 }],
|
||||
'react/no-unknown-property': 'off',
|
||||
'react/display-name': 'off',
|
||||
'no-case-declarations': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
},
|
||||
};
|
|
@ -0,0 +1,35 @@
|
|||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# next.js
|
||||
/.next/
|
||||
/out/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"semi": true,
|
||||
"tabWidth": 2,
|
||||
"printWidth": 120,
|
||||
"singleQuote": true,
|
||||
"bracketSpacing": true,
|
||||
"importOrderSeparation": true,
|
||||
"importOrderSortSpecifiers": true,
|
||||
"requirePaddingNewLinesBetweenLines": true,
|
||||
"importOrder": [
|
||||
"^react(.*)",
|
||||
"^(.*)/(components)|assets|image|utils|services/(.*)$",
|
||||
"^(@mui/(.*)|(.*)\\.css)$",
|
||||
"<THIRD_PARTY_MODULES>",
|
||||
"^[./]"
|
||||
],
|
||||
"plugins": [
|
||||
"@trivago/prettier-plugin-sort-imports"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"jsx": "react-jsx",
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"./src/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"disks": [
|
||||
{
|
||||
"name": "impo",
|
||||
"mountTo": "public/app"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
pageExtensions: ['mdx', 'md', 'jsx', 'js', 'tsx', 'ts'],
|
||||
reactStrictMode: false,
|
||||
compress: true,
|
||||
images: {
|
||||
domains: ['https://newadmin.impo.app'],
|
||||
remotePatterns: [
|
||||
{
|
||||
protocol: 'https',
|
||||
hostname: 'newadmin.impo.app',
|
||||
},
|
||||
],
|
||||
},
|
||||
typescript: {
|
||||
ignoreBuildErrors: true,
|
||||
},
|
||||
experimental: {
|
||||
typedRoutes: true,
|
||||
},
|
||||
}
|
||||
|
||||
module.exports = nextConfig
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"name": "impo-x",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build ",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"analyze": "cross-env ANALYZE=true next build",
|
||||
"analyze:server": "cross-env BUNDLE_ANALYZE=server next build",
|
||||
"analyze:browser": "cross-env BUNDLE_ANALYZE=browser next build"
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.11.3",
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"@loadable/component": "^5.16.3",
|
||||
"@mui/icons-material": "^5.11.16",
|
||||
"@mui/material": "^5.15.10",
|
||||
"@next/bundle-analyzer": "^13.5.6",
|
||||
"@prismicio/client": "^7.3.1",
|
||||
"@tanstack/react-query": "^5.18.1",
|
||||
"autoprefixer": "^10.4.18",
|
||||
"axios": "^1.4.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"dotenv": "^16.3.1",
|
||||
"feed": "^4.2.2",
|
||||
"fs": "^0.0.1-security",
|
||||
"jalali-moment": "^3.3.11",
|
||||
"lottie-react": "^2.4.0",
|
||||
"next": "^13.5.6",
|
||||
"notistack": "^3.0.1",
|
||||
"nprogress": "^0.2.0",
|
||||
"react": "^18.2.0",
|
||||
"react-beforeunload": "^2.6.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-gtm-module": "^2.0.11",
|
||||
"react-toastify": "^9.1.3",
|
||||
"react-xml-parser": "^1.1.8",
|
||||
"reading-time": "^1.5.0",
|
||||
"rss": "^1.2.2",
|
||||
"sharp": "^0.32.1",
|
||||
"swiper": "^9.2.2",
|
||||
"typed.js": "^2.1.0",
|
||||
"uuid": "^9.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "20.8.0",
|
||||
"encoding": "^0.1.13",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"prettier": "^3.2.5",
|
||||
"terser-webpack-plugin": "^5.3.10",
|
||||
"typescript": "5.2.2"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 4.2 KiB |
|
@ -0,0 +1,12 @@
|
|||
@font-face {
|
||||
font-family: "YekanBakh";
|
||||
src: url("../fonts/YekanBakh/ttf/YekanBakh-VF.ttf"),
|
||||
url("../fonts/YekanBakh/ttf/YekanBakhFaNum-Black.ttf"),
|
||||
url("../fonts/YekanBakh/ttf/YekanBakhFaNum-Bold.ttf"),
|
||||
url("../fonts/YekanBakh/ttf/YekanBakhFaNum-ExtraBlack.ttf"),
|
||||
url("../fonts/YekanBakh/ttf/YekanBakhFaNum-ExtraBold.ttf"),
|
||||
url("../fonts/YekanBakh/ttf/YekanBakhFaNum-Light.ttf"),
|
||||
url("../fonts/YekanBakh/ttf/YekanBakhFaNum-Regular.ttf"),
|
||||
url("../fonts/YekanBakh/ttf/YekanBakhFaNum-SemiBold.ttf");
|
||||
font-display: swap;
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
google-site-verification: google6394b6002bc6a226.html
|
After Width: | Height: | Size: 45 KiB |
|
@ -0,0 +1,10 @@
|
|||
<svg width="33" height="32" viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M32.2464 10.4683C31.7551 10.1291 30.8017 9.66709 28.9696 9.25035C28.4217 9.12562 27.7934 9.00595 27.0771 8.89877C26.1749 8.75834 25.1281 8.63361 23.919 8.5298L23.7491 8.51546C23.5044 7.95829 23.2503 7.38897 22.982 6.78944C22.8395 6.46791 22.7025 6.14468 22.5582 5.80187C22.5417 5.76136 22.5233 5.71917 22.5051 5.67866C21.9773 4.41867 21.4092 3.12475 20.4519 1.97548C19.3815 0.70114 17.9751 0 16.4938 0C15.0122 0 13.6075 0.702828 12.5354 1.97548C11.571 3.12306 11.0121 4.41664 10.4843 5.67511L10.4293 5.80187C10.2871 6.14468 10.1499 6.46791 10.0058 6.78944C9.73703 7.38897 9.48506 7.95829 9.23857 8.51546L9.07041 8.5298C7.85757 8.63344 6.81077 8.75834 5.90685 8.90063C5.19071 9.0095 4.56599 9.13068 4.01978 9.25221C2.19319 9.66861 1.23233 10.1309 0.74271 10.4702C0.656243 10.5306 0.588695 10.6128 0.546964 10.7073C0.505228 10.8021 0.490936 10.9059 0.505586 11.0078L0.664551 12.1449C0.905561 13.8464 1.16302 15.8447 1.58687 17.9047C1.89931 19.4905 2.33695 21.0512 2.8966 22.5729C3.12116 23.172 3.37137 23.7609 3.65111 24.3304C4.84644 26.6496 6.69566 28.5987 8.98748 29.9546C11.2791 31.3108 13.9212 32.0195 16.6112 31.9996C19.3018 31.9798 21.932 31.2325 24.2019 29.8427C26.4716 28.4529 28.2899 26.4771 29.4481 24.1405C29.6638 23.6835 29.8628 23.2159 30.0456 22.7344C31.3497 19.3597 31.852 15.6354 32.2667 12.6776L32.4967 10.9921C32.5078 10.8912 32.4904 10.7893 32.4463 10.697C32.4026 10.6049 32.3335 10.5259 32.2465 10.4682L32.2464 10.4683ZM16.4825 8.25029C14.9958 8.25029 13.6424 8.27662 12.4129 8.32388C12.4785 8.17468 12.5462 8.02513 12.6155 7.87069C12.7708 7.51911 12.9206 7.16753 13.065 6.81594C13.3655 6.05016 13.7173 5.30378 14.1191 4.58205C14.3014 4.26874 14.5103 3.97018 14.7436 3.68934C15.0432 3.33776 15.6698 2.73131 16.4823 2.73131C17.2954 2.73131 17.9219 3.33084 18.2233 3.68934C18.4564 3.97003 18.6654 4.26878 18.8479 4.58205C19.2486 5.30412 19.6006 6.0505 19.9019 6.81594C20.0462 7.16753 20.1942 7.51911 20.3511 7.87069C20.4207 8.02513 20.4865 8.17468 20.5541 8.32388C19.3244 8.27662 17.971 8.25029 16.4822 8.25029H16.4825Z" fill="url(#paint0_linear_31_7902)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_31_7902" x1="16.5005" y1="0.000168787" x2="16.5005" y2="31.9809" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#97D700"/>
|
||||
<stop offset="0.631" stop-color="#50BC25"/>
|
||||
<stop offset="1" stop-color="#009F64"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 47 KiB |
|
@ -0,0 +1,5 @@
|
|||
<svg width="33" height="32" viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16.5 31.3006C24.9503 31.3006 31.8006 24.4503 31.8006 16C31.8006 7.54973 24.9503 0.699429 16.5 0.699429C8.04976 0.699429 1.19946 7.54973 1.19946 16C1.19946 24.4503 8.04976 31.3006 16.5 31.3006Z" fill="#0091EA"/>
|
||||
<path d="M25.8853 14.1897C25.7573 11.2914 23.3756 8.992 20.4499 8.992C18.827 8.992 17.3641 9.70971 16.3676 10.8343C15.371 9.70971 13.9081 8.992 12.2853 8.992C9.419 8.992 7.06928 11.2 6.859 14.0297C6.84985 14.0891 6.84985 14.1669 6.84985 14.24V20.3794C6.84985 21.1337 7.45785 21.7417 8.21214 21.7417H8.24414C8.99842 21.7417 9.60643 21.1337 9.60643 20.3794V14.4366H9.61557C9.61557 12.9417 10.8316 11.7303 12.3219 11.7303C13.8167 11.7303 15.0281 12.9463 15.0281 14.4366H15.0373V19.4514C15.0373 20.2057 15.6453 20.8137 16.3996 20.8137H16.4316C17.1859 20.8137 17.7939 20.2057 17.7939 19.4514V14.4229C17.803 12.928 19.0099 11.7349 20.5001 11.7349C21.9904 11.7349 23.2201 12.9554 23.2201 14.4457H23.2293V20.3977C23.2293 21.1429 23.8373 21.7417 24.5733 21.7417H24.6053C25.3504 21.7417 25.9493 21.1337 25.9493 20.3977V14.3269C25.8853 14.2583 25.8853 14.2263 25.8853 14.1897Z" fill="white"/>
|
||||
<path d="M20.7424 22.272C20.6829 22.1714 20.4818 22.3726 20.4818 22.3726C19.7275 23.1909 18.1641 23.7166 16.5412 23.7166C14.9184 23.7166 13.3641 23.1909 12.6007 22.3726C12.6007 22.3726 12.3995 22.1623 12.3401 22.272C12.2624 22.3909 12.3812 22.5829 12.3812 22.5829C13.3458 23.9771 14.8178 24.6034 16.5412 24.6034C18.2647 24.6034 19.7367 23.9771 20.7012 22.5829C20.7104 22.5783 20.8201 22.3909 20.7424 22.272Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,2 @@
|
|||
User-Agent: *
|
||||
Allow: /
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="64" height="64" rx="32" fill="url(#paint0_radial_31_7602)"/>
|
||||
<g filter="url(#filter0_i_31_7602)">
|
||||
<path d="M45.9955 20.4829C42.5763 20.4829 39.6155 22.1288 38.1745 24.5282C37.4435 23.3643 36.3531 22.3856 35.0287 21.6982C34.586 21.4699 32.8741 20.6239 30.4732 20.6139C29.5475 20.6099 27.8877 20.6227 26.0631 21.5764C25.6942 21.769 23.8728 22.7557 22.589 24.9272C21.1393 27.275 21.2574 30.0422 21.2574 30.0422V45.4794L22.4529 44.8268L22.4543 44.8294L29.3548 41.0725C25.2938 40.118 22.2761 36.5381 22.2761 32.2674C22.2751 31.1571 22.4825 30.0565 22.8875 29.0224V29.0224C22.8973 28.9982 23.3191 27.8548 24.3649 26.9434C26.2962 25.3423 29.6319 25.1055 31.2474 26.9149C32.3164 28.1116 32.1697 31.1485 32.1697 31.5945V45.48H40.2316V30.4503C40.2316 28.4814 41.8248 26.8835 43.7903 26.8835C45.7556 26.8835 47.3488 28.48 47.3488 30.4503V35.0948H47.3554V45.4814H54.75V27.8325C54.7498 23.7735 50.8304 20.4829 45.9955 20.4829Z" fill="#EC407A"/>
|
||||
<path d="M16.8013 26.9189H9.25366V45.4801H16.8013V26.9189Z" fill="#EC407A"/>
|
||||
<path d="M13.0362 25.4137C15.1179 25.4137 16.8017 23.7261 16.7971 21.6443C16.7924 19.5626 15.1011 17.875 13.0193 17.875C10.9376 17.875 9.25377 19.5626 9.25842 21.6443C9.26307 23.7261 10.9544 25.4137 13.0362 25.4137Z" fill="#EC407A"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_i_31_7602" x="8.25366" y="17.875" width="46.4963" height="30.6064" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="-1" dy="3"/>
|
||||
<feGaussianBlur stdDeviation="1.5"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_31_7602"/>
|
||||
</filter>
|
||||
<radialGradient id="paint0_radial_31_7602" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.375 6.375) rotate(51.717) scale(62.344)">
|
||||
<stop stop-color="white"/>
|
||||
<stop offset="0.569924" stop-color="#EEEEEE"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1,24 @@
|
|||
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="64" height="64" rx="32" fill="url(#paint0_radial_1316_13720)"/>
|
||||
<g filter="url(#filter0_i_1316_13720)">
|
||||
<path d="M45.9953 20.4829C42.5761 20.4829 39.6153 22.1288 38.1742 24.5282C37.4433 23.3643 36.3528 22.3856 35.0284 21.6982C34.5857 21.4699 32.8738 20.6239 30.473 20.6139C29.5473 20.6099 27.8874 20.6227 26.0629 21.5764C25.6939 21.769 23.8725 22.7557 22.5887 24.9272C21.1391 27.275 21.2572 30.0422 21.2572 30.0422V45.4794L22.4526 44.8268L22.454 44.8294L29.3545 41.0725C25.2936 40.118 22.2759 36.5381 22.2759 32.2674C22.2749 31.1571 22.4823 30.0565 22.8873 29.0224C22.897 28.9982 23.3189 27.8548 24.3647 26.9434C26.2959 25.3423 29.6316 25.1055 31.2472 26.9149C32.3162 28.1116 32.1695 31.1485 32.1695 31.5945V45.48H40.2313V30.4503C40.2313 28.4814 41.8245 26.8835 43.7901 26.8835C45.7554 26.8835 47.3486 28.48 47.3486 30.4503V35.0948H47.3551V45.4814H54.7498V27.8325C54.7495 23.7735 50.8301 20.4829 45.9953 20.4829Z" fill="#EC407A"/>
|
||||
<path d="M16.8011 26.9189H9.25342V45.4801H16.8011V26.9189Z" fill="#EC407A"/>
|
||||
<path d="M13.0362 25.4137C15.1179 25.4137 16.8017 23.7261 16.7971 21.6443C16.7924 19.5626 15.1011 17.875 13.0193 17.875C10.9376 17.875 9.25377 19.5626 9.25842 21.6443C9.26307 23.7261 10.9544 25.4137 13.0362 25.4137Z" fill="#EC407A"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_i_1316_13720" x="8.25342" y="17.875" width="46.4966" height="30.6064" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dx="-1" dy="3"/>
|
||||
<feGaussianBlur stdDeviation="1.5"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_1316_13720"/>
|
||||
</filter>
|
||||
<radialGradient id="paint0_radial_1316_13720" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.375 6.375) rotate(51.717) scale(62.344)">
|
||||
<stop stop-color="white"/>
|
||||
<stop offset="0.569924" stop-color="#EEEEEE"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 93 KiB |
|
@ -0,0 +1,57 @@
|
|||
import { Typography as MuiTypography } from "@mui/material";
|
||||
import { toFarsiNumber } from "@/utils/index";
|
||||
import { checkType } from "./types";
|
||||
import { CheckColor } from "@/themes/color";
|
||||
import { useMemo } from "react";
|
||||
|
||||
const Typography = ({
|
||||
children,
|
||||
color,
|
||||
colorType = "primary" ||
|
||||
"secondary" ||
|
||||
"error" ||
|
||||
"neutral" ||
|
||||
"neutral_variants",
|
||||
type = "body" || "headline" || "display" || "label" || "title",
|
||||
size = "large" || "medium" || "small",
|
||||
farsi = true,
|
||||
MobileType = "body" || "headline" || "display" || "label" || "title",
|
||||
mobileSize = "large" || "medium" || "small",
|
||||
style = Function,
|
||||
...rest
|
||||
}) => {
|
||||
const isColorValid = (color) => {
|
||||
return (
|
||||
color === "main" ||
|
||||
color === "OnPrimary" ||
|
||||
color === "PrimaryContainer" ||
|
||||
color === "OnSecondary" ||
|
||||
color === "SecondaryContainer" ||
|
||||
color === "OnSecondaryContainer" ||
|
||||
color === "OnError" ||
|
||||
color === "ErrorContainer" ||
|
||||
color === "OnErrorContainer" ||
|
||||
color === "OnBackground" ||
|
||||
color === "Surface" ||
|
||||
color === "OnSurface" ||
|
||||
color === "SurfaceVariant" ||
|
||||
color === "OnSurfaceVariant" ||
|
||||
color === "Outline"
|
||||
);
|
||||
};
|
||||
const TextColor = useMemo(
|
||||
() => (isColorValid(color) ? CheckColor(colorType, color) : color),
|
||||
[color]
|
||||
);
|
||||
return (
|
||||
<MuiTypography
|
||||
style={checkType(type, size, mobileSize, MobileType)}
|
||||
color={TextColor}
|
||||
{...rest}
|
||||
>
|
||||
{farsi == true ? toFarsiNumber(children) : children}
|
||||
</MuiTypography>
|
||||
);
|
||||
};
|
||||
|
||||
export default Typography;
|
|
@ -0,0 +1,117 @@
|
|||
export const types = {
|
||||
display: {
|
||||
large: {
|
||||
fontVariationSettings: "'wght' 600",
|
||||
fontSize: "64px",
|
||||
lineHeight: "80px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
medium: {
|
||||
fontVariationSettings: "'wght' 500",
|
||||
fontSize: "48px",
|
||||
lineHeight: "56px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
small: {
|
||||
fontVariationSettings: "'wght' 600",
|
||||
fontSize: "40px",
|
||||
lineHeight: "44px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
},
|
||||
headline: {
|
||||
large: {
|
||||
fontVariationSettings: "'wght' 400",
|
||||
fontSize: "40px",
|
||||
lineHeight: "48px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
medium: {
|
||||
fontVariationSettings: "'wght' 600",
|
||||
fontSize: "36px",
|
||||
lineHeight: "48px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
small: {
|
||||
fontVariationSettings: "'wght' 500",
|
||||
fontSize: "28px",
|
||||
lineHeight: "40px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
},
|
||||
title: {
|
||||
large: {
|
||||
fontVariationSettings: "'wght' 700",
|
||||
fontSize: "24px",
|
||||
lineHeight: "32px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
medium: {
|
||||
fontVariationSettings: "'wght' 600",
|
||||
fontSize: "19px",
|
||||
lineHeight: "28px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
small: {
|
||||
fontVariationSettings: "'wght' 500",
|
||||
fontSize: "16px",
|
||||
lineHeight: "32px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
},
|
||||
body: {
|
||||
large: {
|
||||
fontVariationSettings: "'wght' 400",
|
||||
fontSize: "16px",
|
||||
lineHeight: "32px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
medium: {
|
||||
fontVariationSettings: "'wght' 400",
|
||||
fontSize: "14px",
|
||||
lineHeight: "24px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
small: {
|
||||
fontVariationSettings: "'wght' 300",
|
||||
fontSize: "13px",
|
||||
lineHeight: "26px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
},
|
||||
label: {
|
||||
large: {
|
||||
fontVariationSettings: "'wght' 600",
|
||||
fontSize: "15px",
|
||||
lineHeight: "24px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
medium: {
|
||||
fontVariationSettings: "'wght' 400",
|
||||
fontSize: "13px",
|
||||
lineHeight: "22px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
small: {
|
||||
fontVariationSettings: "'wght' 600",
|
||||
fontSize: "12px",
|
||||
lineHeight: "16px",
|
||||
letterSpacing: "-0.04em",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export const checkType = (type, size, mobileSize, MobileType) => {
|
||||
let TextStyle = types[type][size];
|
||||
let MobileStyle = types[MobileType][mobileSize];
|
||||
if (typeof window !== "undefined") {
|
||||
let w = window.innerWidth;
|
||||
if (w > 768) {
|
||||
return TextStyle;
|
||||
} else {
|
||||
return MobileStyle;
|
||||
}
|
||||
} else {
|
||||
return TextStyle;
|
||||
}
|
||||
};
|
|
@ -0,0 +1,12 @@
|
|||
import localFont from 'next/font/local';
|
||||
const YekanBakh = localFont({
|
||||
src: [
|
||||
{
|
||||
path: '../../../public/fonts/YekanBakh-VF.ttf',
|
||||
display: 'swap',
|
||||
}
|
||||
], preload: true
|
||||
})
|
||||
|
||||
export default YekanBakh;
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
import { useState, useEffect } from "react";
|
||||
import styles from "./input.module.css";
|
||||
import { InputAdornment, TextField } from "@mui/material";
|
||||
import { toFarsiNumber } from "../../../utils";
|
||||
import Typography from "@/components/Typographys/Typography";
|
||||
|
||||
interface inputProps {
|
||||
className?: string;
|
||||
value?:String | any;
|
||||
defaultValue?: string;
|
||||
onChange?: (value: any , event: any) => void;
|
||||
icon?: string;
|
||||
align?: string;
|
||||
iconFun?: (event: any) => void;
|
||||
labelInput?: string;
|
||||
maxLength?: string;
|
||||
placeholder?: string;
|
||||
multiline?: boolean;
|
||||
rows?: string ;
|
||||
type?: string;
|
||||
data?: string;
|
||||
}
|
||||
function Input({
|
||||
className,
|
||||
value,
|
||||
defaultValue,
|
||||
maxLength,
|
||||
onChange = () => {},
|
||||
icon,
|
||||
align,
|
||||
iconFun,
|
||||
labelInput,
|
||||
placeholder,
|
||||
multiline = false,
|
||||
rows = undefined,
|
||||
type = "text",
|
||||
data,
|
||||
...rest
|
||||
}: inputProps) {
|
||||
const [_value, setValue] = useState("");
|
||||
const onTextFieldChange = (event :any) => {
|
||||
if (data === "all") {
|
||||
const innerValue = event.target.value;
|
||||
setValue(innerValue);
|
||||
onChange(innerValue , event);
|
||||
} else {
|
||||
const innerValue = event.target.value ?? "";
|
||||
setValue(innerValue);
|
||||
onChange(innerValue , innerValue);
|
||||
}
|
||||
};
|
||||
useEffect(() => {
|
||||
setValue(value);
|
||||
}, [value]);
|
||||
return (
|
||||
<>
|
||||
{labelInput ? (
|
||||
<Typography color={""} size="large" type="label" className={styles.labelInput}>
|
||||
{labelInput}
|
||||
</Typography>
|
||||
) : undefined}
|
||||
<TextField
|
||||
value={toFarsiNumber(_value)}
|
||||
type={type}
|
||||
className={styles.inputImpo + " " + className}
|
||||
fullWidth
|
||||
placeholder={placeholder}
|
||||
multiline={multiline}
|
||||
rows={rows}
|
||||
variant="filled"
|
||||
InputProps={{
|
||||
startAdornment: icon ? (
|
||||
<InputAdornment
|
||||
position={align === "left" ? "start" : "end"}
|
||||
onClick={iconFun}
|
||||
>
|
||||
{icon}
|
||||
</InputAdornment>
|
||||
) : null,
|
||||
}}
|
||||
inputProps={{
|
||||
sx: {
|
||||
"&::placeholder": {
|
||||
color: "#1D1A22",
|
||||
fontSize: "16px",
|
||||
opacity: 1,
|
||||
letterSpacing: "-0.04em",
|
||||
fontVariationSettings: "'wght' 350",
|
||||
},
|
||||
},
|
||||
maxLength,
|
||||
}}
|
||||
onChange={onTextFieldChange}
|
||||
{...rest}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default Input;
|
|
@ -0,0 +1,39 @@
|
|||
.Label {
|
||||
font-variation-settings: "wght" 300 !important;
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
text-align: right;
|
||||
letter-spacing: -0.03em;
|
||||
color: #1c1b1e;
|
||||
}
|
||||
|
||||
.labelInput {
|
||||
text-align: right;
|
||||
margin-bottom: 8px !important;
|
||||
margin-right: 3px;
|
||||
font-variation-settings: "wght" 400 !important;
|
||||
}
|
||||
|
||||
.inputImpo input,
|
||||
.inputImpo textarea {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #efefef;
|
||||
border-radius: 10px;
|
||||
background-color: #f9f9f9;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
.inputImpo input::placeholder,
|
||||
.inputImpo textarea::placeholder {
|
||||
color: #8d8d8d;
|
||||
}
|
||||
|
||||
.inputImpo textarea {
|
||||
padding: 8px 16px !important;
|
||||
}
|
||||
|
||||
.inputImpo input:focus,
|
||||
.inputImpo textarea:focus {
|
||||
border-color: #ec407a !important;
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
const NoScriptContent = () => {
|
||||
return (
|
||||
<noscript>
|
||||
<iframe
|
||||
src="https://www.googletagmanager.com/ns.html?id=GTM-PT95KXQ"
|
||||
height="0"
|
||||
width="0"
|
||||
style={{ display: "none", visibility: "hidden" }}
|
||||
></iframe>
|
||||
</noscript>
|
||||
);
|
||||
};
|
||||
|
||||
export default NoScriptContent;
|
|
@ -0,0 +1,10 @@
|
|||
const WithJavaScript = () => {
|
||||
return (
|
||||
<div>
|
||||
{/* Content for when JavaScript is enabled */}
|
||||
<p>This content is rendered when JavaScript is enabled.</p>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default WithJavaScript;
|
|
@ -0,0 +1,308 @@
|
|||
.mainDark {
|
||||
background-color: transparent;
|
||||
width: 100%;
|
||||
padding: 1rem;
|
||||
position: absolute;
|
||||
direction: rtl;
|
||||
z-index: 10;
|
||||
padding: 8px 10rem 8px 10rem;
|
||||
transition: 500ms;
|
||||
}
|
||||
|
||||
.mainDarkSticky {
|
||||
z-index: 10;
|
||||
position: sticky;
|
||||
top: 0.1px;
|
||||
background-color: #fff;
|
||||
padding: 8px 7rem 8px 7rem;
|
||||
/* border-bottom: 0.75px solid #efefef; */
|
||||
transition: 500ms;
|
||||
}
|
||||
|
||||
|
||||
.darkmodeColor {
|
||||
color: #fff;
|
||||
margin: "0px 32px";
|
||||
}
|
||||
|
||||
.LightmodeColor {
|
||||
color: #000;
|
||||
margin: "0px 32px";
|
||||
}
|
||||
|
||||
.DesktopSize {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
flex-grow: 1;
|
||||
align-items: center;
|
||||
background: #fff;
|
||||
border-radius: 50px;
|
||||
padding: 8px 18px;
|
||||
margin-top: 1.5rem;
|
||||
box-shadow: 0px 4px 40px 0px rgba(176, 176, 176, 0.25);
|
||||
}
|
||||
|
||||
.mobileSize {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mainDark .MenuWrapper .MenuItem {
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-variation-settings: "wght" 450;
|
||||
}
|
||||
|
||||
.main .MenuWrapper .MenuItem {
|
||||
color: #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.MenuWrapper {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.darkmode {
|
||||
color: #fff !important;
|
||||
background-color: #ec407a !important;
|
||||
left: 0;
|
||||
padding: 4px 49px !important;
|
||||
}
|
||||
|
||||
.darkmodeAndClientWindow {
|
||||
color: #fff !important;
|
||||
background-color: #ec407a !important;
|
||||
left: 0;
|
||||
padding: 4px 49px !important;
|
||||
}
|
||||
|
||||
.darkmode:hover,
|
||||
.darkmodeAndClientWindow:hover {
|
||||
background-color: #B80F55 !important;
|
||||
}
|
||||
|
||||
.notDarkmode {
|
||||
left: 0;
|
||||
padding: 4px 49px !important;
|
||||
}
|
||||
|
||||
.notDarkmodeAndClientWindow {
|
||||
color: #fff !important;
|
||||
background-color: #303388 !important;
|
||||
left: 0;
|
||||
padding: 4px 49px !important;
|
||||
}
|
||||
|
||||
.notDarkmodeAndClientWindow:hover {
|
||||
background-color: #212360 !important;
|
||||
}
|
||||
|
||||
.justForIndex {
|
||||
left: 0;
|
||||
padding: 4px 49px !important;
|
||||
}
|
||||
|
||||
.justForIndexClientWindow {
|
||||
color: #fff !important;
|
||||
background-color: #ec407a !important;
|
||||
left: 0;
|
||||
padding: 4px 49px !important;
|
||||
}
|
||||
|
||||
.justForIndexClientWindow:hover {
|
||||
background-color: #B80F55 !important;
|
||||
}
|
||||
|
||||
.justForIndexClientWindow:focus {
|
||||
background-color: #8F003F !important;
|
||||
}
|
||||
|
||||
/* ****** */
|
||||
|
||||
.justindexColorText {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.justindexColorTextClientwindow {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.MenuWrapper a:hover .justindexColorTextClientwindow {
|
||||
color: #EC407A;
|
||||
}
|
||||
|
||||
.MenuWrapper a:hover .justindexColorText {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.darkmodeColorText {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.darkmodeColorText:hover {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.darkmodeColorTextClientWindow {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.darkmodeColorTextClientWindow:hover {
|
||||
color: #EC407A;
|
||||
}
|
||||
|
||||
/* ********* */
|
||||
.jsutIndexIconMobileSize {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.notDarkmodeColorMobileSize {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.notDarkmodeColorClientWindowMobileSize {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.jsutIndexIconClientwindowMobileSize {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.darkmodeColorTextMobileSize {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.darkmodeColorTextMobileSizeClientWindow {
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
|
||||
.jsutIndexIconMobileSizeBtn {
|
||||
background-color: #fff !important;
|
||||
color: #000 !important
|
||||
}
|
||||
|
||||
.jsutIndexIconClientwindowMobileSizeBtn {
|
||||
background-color: #ec407a !important;
|
||||
color: #fff !important
|
||||
}
|
||||
|
||||
.notDarkmodeColorMobileSizeBtn {
|
||||
background-color: #fff !important;
|
||||
color: #000 !important
|
||||
}
|
||||
|
||||
.notDarkmodeColorClientWindowMobileSizeBtn {
|
||||
background-color: #303388 !important;
|
||||
color: #fff !important
|
||||
}
|
||||
|
||||
.darkmodeColorTextMobileSizeBtn {
|
||||
background-color: #ec407a !important;
|
||||
color: #fff !important
|
||||
}
|
||||
|
||||
.darkmodeColorTextMobileSizeClientWindowBtn {
|
||||
background-color: #ec407a !important;
|
||||
color: #fff !important
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.main,
|
||||
.mainDark {
|
||||
margin-bottom: -10%;
|
||||
}
|
||||
|
||||
.main,
|
||||
.mainDark .MenuItem {
|
||||
padding: 0px 24px;
|
||||
}
|
||||
|
||||
.qq {
|
||||
width: '80%'
|
||||
}
|
||||
|
||||
.NavBarMobileSize button {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.mobileSize {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mainDark {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.DesktopSize {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.FlexmobileSizeBoxBtn {
|
||||
position: relative;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.NavBarMobileSize {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.styleEachTab {
|
||||
padding: 10px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.styleEachTab:hover {
|
||||
background-color: #ec407a;
|
||||
color: #fff;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mainDarkSticky {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.jsutIndexIconMobileSizeBtn,
|
||||
.jsutIndexIconClientwindowMobileSizeBtn {
|
||||
font-variation-settings: 'wght' 400;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 3668px) {
|
||||
.downloadHeader {
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 18px;
|
||||
}
|
||||
|
||||
.FlexmobileSizeBoxBtn {
|
||||
padding: 15px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1440px) {
|
||||
.mainDark {
|
||||
padding: 8px 2rem 8px 2rem;
|
||||
}
|
||||
|
||||
.mainDarkSticky {
|
||||
z-index: 10;
|
||||
position: sticky;
|
||||
top: 0.1px;
|
||||
background-color: #fff;
|
||||
padding: 8px 2rem 8px 2rem;
|
||||
border-bottom: 0.75px solid #efefef;
|
||||
transition: 500ms;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,310 @@
|
|||
import { useState, useEffect } from "react";
|
||||
import Link from "next/link";
|
||||
import styles from "./appbar.module.css";
|
||||
import logo from "@/assets/images/logo.svg";
|
||||
import darklogo from "@/assets/images/darklogo.webp";
|
||||
import Image from "next/image";
|
||||
import { Button, Drawer } from "@mui/material";
|
||||
import Typography from "@/components/Typographys/Typography";
|
||||
import MenuIcon from "@mui/icons-material/Menu";
|
||||
import ClearIcon from "@mui/icons-material/Clear";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import Script from "next/script";
|
||||
export default function Appbar({ darkmode = true, index = false }) {
|
||||
const [hamburger, setHamburger] = useState(false);
|
||||
const [ClientWindowHeight, setClientWindowHeight] = useState();
|
||||
let menulist = [
|
||||
{
|
||||
id: "1",
|
||||
link: "https://impo.app",
|
||||
value: "صفحه اصلی",
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
link: "https://impo.app/blogs",
|
||||
value: "مجله سلامت",
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
link: "https://impo.app/men",
|
||||
value: "ایمپو آقایان ",
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
link: "https://impo.app/sympathy",
|
||||
value: "همدلی",
|
||||
},
|
||||
{
|
||||
id: "5",
|
||||
link: "https://impo.app/calendar",
|
||||
value: "تقویم قاعدگی",
|
||||
},
|
||||
{
|
||||
id: "6",
|
||||
link: "https://impo.app/careers",
|
||||
value: "فرصت های شغلی",
|
||||
},
|
||||
];
|
||||
|
||||
useEffect(() => {
|
||||
var lastScrollTop = 0;
|
||||
window.addEventListener(
|
||||
"scroll",
|
||||
function () {
|
||||
var st = window.pageYOffset || document?.documentElement.scrollTop;
|
||||
if (st > lastScrollTop) {
|
||||
setClientWindowHeight(10);
|
||||
document?.getElementById("headerMain")?.classList.add("mainDark");
|
||||
document
|
||||
?.getElementById("headerMain")
|
||||
?.classList.remove("mainDarkStickyMain");
|
||||
document
|
||||
?.getElementById("tableOfContents")
|
||||
?.classList.remove("stickyTableOfContents");
|
||||
} else if (st < lastScrollTop) {
|
||||
document
|
||||
?.getElementById("headerMain")
|
||||
?.classList.add("mainDarkStickyMain");
|
||||
document?.getElementById("headerMain")?.classList.remove("mainDark");
|
||||
document
|
||||
?.getElementById("tableOfContents")
|
||||
?.classList.add("stickyTableOfContents");
|
||||
if (document?.documentElement.scrollTop === 0) {
|
||||
setClientWindowHeight(0);
|
||||
document?.getElementById("headerMain")?.classList.add("mainDark");
|
||||
document
|
||||
?.getElementById("headerMain")
|
||||
?.classList.remove("mainDarkStickyMain");
|
||||
}
|
||||
}
|
||||
lastScrollTop = st <= 0 ? 0 : st;
|
||||
},
|
||||
false
|
||||
);
|
||||
}),
|
||||
[];
|
||||
|
||||
const handel = () => {
|
||||
if (darkmode) {
|
||||
if (index) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.justForIndexClientWindow;
|
||||
} else {
|
||||
return styles.justForIndex;
|
||||
}
|
||||
} else if (ClientWindowHeight > 5) {
|
||||
return styles.darkmodeAndClientWindow;
|
||||
} else {
|
||||
return styles.darkmode;
|
||||
}
|
||||
} else if (!darkmode) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.notDarkmodeAndClientWindow;
|
||||
} else {
|
||||
return styles.notDarkmode;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const handelIndex = () => {
|
||||
if (darkmode) {
|
||||
if (index) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.justindexColorTextClientwindow;
|
||||
} else {
|
||||
return styles.justindexColorText;
|
||||
}
|
||||
} else if (ClientWindowHeight > 5) {
|
||||
return styles.darkmodeColorTextClientWindow;
|
||||
} else {
|
||||
return styles.darkmodeColorTextClientWindow;
|
||||
}
|
||||
} else if (!darkmode) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.darkmodeColorTextClientWindow;
|
||||
} else {
|
||||
return styles.darkmodeColorText;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const handelMobileSize = () => {
|
||||
if (darkmode) {
|
||||
if (index) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.jsutIndexIconClientwindowMobileSize;
|
||||
} else {
|
||||
return styles.jsutIndexIconMobileSize;
|
||||
}
|
||||
} else if (ClientWindowHeight > 5) {
|
||||
return styles.darkmodeColorTextMobileSizeClientWindow;
|
||||
} else {
|
||||
return styles.darkmodeColorTextMobileSize;
|
||||
}
|
||||
} else if (!darkmode) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.notDarkmodeColorClientWindowMobileSize;
|
||||
} else {
|
||||
return styles.notDarkmodeColorMobileSize;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const handelBtnMobileSize = () => {
|
||||
if (darkmode) {
|
||||
if (index) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.jsutIndexIconClientwindowMobileSizeBtn;
|
||||
} else {
|
||||
return styles.jsutIndexIconMobileSizeBtn;
|
||||
}
|
||||
} else if (ClientWindowHeight > 5) {
|
||||
return styles.darkmodeColorTextMobileSizeClientWindowBtn;
|
||||
} else {
|
||||
return styles.darkmodeColorTextMobileSizeBtn;
|
||||
}
|
||||
} else if (!darkmode) {
|
||||
if (ClientWindowHeight > 5) {
|
||||
return styles.notDarkmodeColorClientWindowMobileSizeBtn;
|
||||
} else {
|
||||
return styles.notDarkmodeColorMobileSizeBtn;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<Script
|
||||
async
|
||||
src="https://www.googletagmanager.com/gtag/js?id=UA-216376616-1"
|
||||
/>
|
||||
<Script>
|
||||
{`!function(e,t,a,r,g){e[r]=e[r]||[],e[r].push({"gtm.start":new Date().getTime(),event:"gtm.js"});var n=t.getElementsByTagName(a)[0],s=t.createElement(a);s.async=!0,s.src="https://www.googletagmanager.com/gtm.js?id="+g+("dataLayer"!=r?"&l="+r:""),n.parentNode.insertBefore(s,n)}(window,document,"script","dataLayer","GTM-PT95KXQ");`}
|
||||
</Script>
|
||||
<Script
|
||||
type="text/javascript"
|
||||
src="https://s1.mediaad.org/serve/80760/retargeting.js"
|
||||
async
|
||||
></Script>
|
||||
<Script>
|
||||
{`!function(t,e,a){t.yektanetAnalyticsObject=a,t[a]=t[a]||function(){t[a].q.push(arguments)},t[a].q=t[a].q||[];var n=new Date,c=n.getFullYear().toString()+"0"+n.getMonth()+"0"+n.getDate()+"0"+n.getHours(),s=e.getElementsByTagName("script")[0],r=e.createElement("script");r.id="ua-script-ASatuT3o",r.dataset.analyticsobject=a,r.async=1,r.type="text/javascript",r.src="https://cdn.yektanet.com/rg_woebegone/scripts_v3/ASatuT3o/rg.complete.js?v="+c,s.parentNode.insertBefore(r,s)}(window,document,"yektanet");`}
|
||||
</Script>
|
||||
<header id="headerMain" className="mainDark">
|
||||
{/* desktop size */}
|
||||
<div className={styles.DesktopSize}>
|
||||
<Link
|
||||
href={"/"}
|
||||
aria-label="link"
|
||||
style={{
|
||||
display: "grid",
|
||||
}}
|
||||
>
|
||||
<Image
|
||||
width="48"
|
||||
height="48"
|
||||
className={styles.logo}
|
||||
src={darkmode ? logo : darklogo}
|
||||
alt="لوگو"
|
||||
priority
|
||||
/>
|
||||
</Link>
|
||||
<div style={{ flexGrow: "3" }}>
|
||||
<ul className={styles.MenuWrapper}>
|
||||
{menulist.map((Item) => {
|
||||
return (
|
||||
<li key={uuidv4()}>
|
||||
<Link href={Item.link} aria-label="link">
|
||||
<Typography
|
||||
size="small"
|
||||
type="title"
|
||||
sx={{ margin: "0px 32px" }}
|
||||
component="span"
|
||||
className={handelIndex()}
|
||||
>
|
||||
{Item.value}
|
||||
</Typography>
|
||||
</Link>
|
||||
</li>
|
||||
);
|
||||
})}
|
||||
</ul>
|
||||
</div>
|
||||
<div style={{ position: "relative", top: "0" }}>
|
||||
<Link href="https://impo.app/#download" aria-label="link">
|
||||
<Button
|
||||
variant="surface"
|
||||
size="large"
|
||||
className={handel()}
|
||||
aria-label="btnName"
|
||||
>
|
||||
<Typography size="small" type="title">
|
||||
دانلود ایمپو
|
||||
</Typography>
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
{/* mobile Size */}
|
||||
<div className={styles.mobileSize}>
|
||||
<div className={styles.FlexmobileSizeBoxBtn}>
|
||||
<Button
|
||||
variant="text"
|
||||
onClick={() => setHamburger(!hamburger)}
|
||||
className={handelMobileSize()}
|
||||
aria-label="menu"
|
||||
>
|
||||
<MenuIcon style={{ fontSize: "30px" }} />
|
||||
</Button>
|
||||
<div className={styles.downloadHeader}>
|
||||
<Link href="https://impo.app/#download" aria-label="link">
|
||||
<Button className={handelBtnMobileSize()} aria-label="download">
|
||||
دانلود ایمپو
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
<Drawer
|
||||
anchor={"right"}
|
||||
open={hamburger}
|
||||
variant={"temporary"}
|
||||
PaperProps={{ style: { width: "45%" } }}
|
||||
>
|
||||
<div
|
||||
className={styles.NavBarMobileSize}
|
||||
style={hamburger ? { display: "block" } : { display: "none" }}
|
||||
>
|
||||
<Button
|
||||
aria-label="btnName"
|
||||
variant="text"
|
||||
onClick={() => setHamburger(!hamburger)}
|
||||
sx={{ color: "#000" }}
|
||||
style={hamburger ? { display: "block" } : { display: "none" }}
|
||||
>
|
||||
<ClearIcon />
|
||||
</Button>
|
||||
<Image
|
||||
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
|
||||
priority
|
||||
src={logo}
|
||||
alt="لوگو"
|
||||
/>
|
||||
{menulist.map((Item) => {
|
||||
return (
|
||||
<Link href={Item.link} key={uuidv4()} aria-label="link">
|
||||
<Typography
|
||||
size="large"
|
||||
type="title"
|
||||
className={styles.styleEachTab}
|
||||
>
|
||||
{Item.value}
|
||||
</Typography>
|
||||
</Link>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</Drawer>
|
||||
</div>
|
||||
</header>
|
||||
</>
|
||||
);
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
import { Fragment } from 'react';
|
||||
const Layout = ({ children }) => {
|
||||
return (
|
||||
<Fragment >
|
||||
{children}
|
||||
</Fragment >
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
export default Layout
|
|
@ -0,0 +1,21 @@
|
|||
import style from "@/styles/notFound.module.css"
|
||||
import Image from "next/image";
|
||||
import vector404 from "@/assets/images/vector404.webp"
|
||||
import Link from "next/link";
|
||||
const NotFound = () => {
|
||||
return (
|
||||
<>
|
||||
<div className={style.NotFound}>
|
||||
<Image src={vector404} alt="vector404" width={591} height={423} />
|
||||
<div className={style.action}>
|
||||
<h3>صفحه مورد نظرت پیدا نشد</h3>
|
||||
<p>اما میتونی برای خوندن مقالههای بیشتر، به مجله سلامت ایمپو یه سر بزنی</p>
|
||||
<Link href={"/blogs"}>
|
||||
خوندن مقالههای ایمپو
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
export default NotFound;
|
|
@ -0,0 +1,12 @@
|
|||
import { useEffect } from "react";
|
||||
import { useRouter } from "next/router";
|
||||
|
||||
const ServerError = () => {
|
||||
const router = useRouter();
|
||||
|
||||
useEffect(() => {
|
||||
router.push("/");
|
||||
}, []);
|
||||
return <></>;
|
||||
};
|
||||
export default ServerError;
|
|
@ -0,0 +1,59 @@
|
|||
import { ThemeProvider as MuiThemeProvider } from "@mui/material/styles";
|
||||
import { SnackbarProvider } from "notistack";
|
||||
import Layout from "@/layout";
|
||||
import { lightTheme } from "@/themes/index";
|
||||
import "../styles/globals.css";
|
||||
import YekanBakh from "@/components/fonts/index.jsx";
|
||||
import { useEffect } from "react";
|
||||
import { useRouter } from "next/router";
|
||||
import NProgress from "nprogress";
|
||||
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
||||
|
||||
export default function App({ Component, pageProps }) {
|
||||
const queryClient = new QueryClient();
|
||||
const router = useRouter();
|
||||
|
||||
useEffect(() => {
|
||||
const handleStart = () => NProgress.start();
|
||||
const handleComplete = () => NProgress.done();
|
||||
|
||||
router.events.on("routeChangeStart", handleStart);
|
||||
router.events.on("routeChangeComplete", handleComplete);
|
||||
router.events.on("routeChangeError", handleComplete);
|
||||
|
||||
return () => {
|
||||
router.events.off("routeChangeStart", handleStart);
|
||||
router.events.off("routeChangeComplete", handleComplete);
|
||||
router.events.off("routeChangeError", handleComplete);
|
||||
};
|
||||
}, [router]);
|
||||
|
||||
return (
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<main className={YekanBakh.className}>
|
||||
<MuiThemeProvider theme={lightTheme}>
|
||||
<SnackbarProvider
|
||||
maxSnack={3}
|
||||
dense
|
||||
anchorOrigin={{
|
||||
vertical: "bottom",
|
||||
horizontal: "right",
|
||||
}}
|
||||
>
|
||||
<Layout>
|
||||
<Component {...pageProps} />
|
||||
</Layout>
|
||||
</SnackbarProvider>
|
||||
</MuiThemeProvider>
|
||||
</main>
|
||||
</QueryClientProvider>
|
||||
);
|
||||
}
|
||||
|
||||
export async function getServerSideProps({ res }) {
|
||||
res.setHeader("Cache-Control", "s-maxage=60, stale-while-revalidate");
|
||||
|
||||
return {
|
||||
props: {},
|
||||
};
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
import { Html, Head, Main, NextScript } from "next/document?";
|
||||
import dynamic from "next/dynamic";
|
||||
import NoScriptContent from "../components/scripts/NoScriptContent";
|
||||
|
||||
const WithJavaScript = dynamic(
|
||||
() => import("../components/scripts/WithJavaScript"),
|
||||
{
|
||||
ssr: false,
|
||||
}
|
||||
);
|
||||
|
||||
export default function Document() {
|
||||
return (
|
||||
<Html lang="fa">
|
||||
<Head>
|
||||
<link
|
||||
rel="alternate"
|
||||
type="application/rss+xml"
|
||||
href="https://impo.app/feed"
|
||||
/>
|
||||
</Head>
|
||||
<body>
|
||||
<Main />
|
||||
<WithJavaScript />
|
||||
{/* Render the noscript content */}
|
||||
<NoScriptContent />
|
||||
<NextScript />
|
||||
</body>
|
||||
</Html>
|
||||
);
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
import Head from "next/head";
|
||||
|
||||
const HeadPayment = () => {
|
||||
return (
|
||||
<Head>
|
||||
<title>پرداخت</title>
|
||||
<meta name="description" content="پرداخت بین المللی اشتراک ایمپو" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
||||
/>
|
||||
<meta name="robots" content="noindex,nofollow" />
|
||||
</Head>
|
||||
);
|
||||
};
|
||||
export default HeadPayment;
|
|
@ -0,0 +1,7 @@
|
|||
import Payment from "./payment"
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<Payment/>
|
||||
);
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
import { Divider, Button } from "@mui/material";
|
||||
import style from "./style.module.css";
|
||||
import Link from "next/link";
|
||||
import WhatsAppIcon from "@mui/icons-material/WhatsApp";
|
||||
|
||||
const ContactUs = () => {
|
||||
return (
|
||||
<div className={style.contactUs}>
|
||||
<Divider className={style.divider} />
|
||||
<div className={style.content}>
|
||||
<div className={style.text}>
|
||||
<h4>ارتباط با ما</h4>
|
||||
<p>
|
||||
در صورتی که مشکل یا سوالی برات پیش اومد، از طریق واتساپ باهامون در
|
||||
ارتباط باش:
|
||||
</p>
|
||||
</div>
|
||||
<div className={style.buttonContact}>
|
||||
<Link href="https://wa.me/989157097500">
|
||||
<Button
|
||||
aria-label="btnName"
|
||||
size="medium"
|
||||
variant="outlined"
|
||||
classes={{ startIcon: style.startIcon }}
|
||||
startIcon={<WhatsAppIcon />}
|
||||
>
|
||||
ارتباط از طریق واتساپ
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
export default ContactUs;
|
|
@ -0,0 +1,70 @@
|
|||
.contactUs {
|
||||
padding: 0 255px;
|
||||
margin: 40px 0 0 0;
|
||||
}
|
||||
|
||||
.divider {
|
||||
border-color: #efefef;
|
||||
}
|
||||
|
||||
.content {
|
||||
border-radius: 24px 24px 0px 0px;
|
||||
background: #f9f9f9;
|
||||
padding: 22px 50px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.startIcon {
|
||||
margin: 0 0 0 8px !important;
|
||||
}
|
||||
|
||||
.content h4 {
|
||||
color: #1f1f1f;
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
line-height: 40px;
|
||||
letter-spacing: -1.12px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.content p {
|
||||
color: #1f1f1f;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
line-height: 28px;
|
||||
letter-spacing: -0.72px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
|
||||
.buttonContact {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.contactUs {
|
||||
padding: 0 16px;
|
||||
margin: 40px 0 0 0;
|
||||
}
|
||||
.content {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.content h4 {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
line-height: 25px;
|
||||
letter-spacing: -0.64px;
|
||||
}
|
||||
|
||||
.content p {
|
||||
font-size: 13px;
|
||||
line-height: 28px;
|
||||
letter-spacing: -0.72px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
|
||||
.buttonContact {
|
||||
text-align: center;
|
||||
margin-top: 12px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
import style from "./style.module.css";
|
||||
import Dialog from "@mui/material/Dialog";
|
||||
import { Button } from "@mui/material";
|
||||
|
||||
const DialogBox = ({ open, dialogHandler = () => {} }) => {
|
||||
return (
|
||||
<Dialog open={open} className={style.modalBox}>
|
||||
<div className={style.modalFrame}>
|
||||
<h5>اطلاعاتت ثبت شد</h5>
|
||||
<p>
|
||||
بعد از بررسی در صورت صحت اطلاعات، اشتراکت فعال و از طریق واتساپ بهت
|
||||
اطلاعرسانی میشه
|
||||
</p>
|
||||
</div>
|
||||
<div className={style.buttonDialog}>
|
||||
<Button variant="contained" onClick={() => dialogHandler(false)}>
|
||||
فهمیدم
|
||||
</Button>
|
||||
</div>
|
||||
</Dialog>
|
||||
);
|
||||
};
|
||||
|
||||
export default DialogBox;
|
|
@ -0,0 +1,124 @@
|
|||
import Input from "@/components/forms/input";
|
||||
import style from "./style.module.css";
|
||||
import { Button } from "@mui/material";
|
||||
import DialogBox from "./dialog";
|
||||
import axios from "../../../utils/axiosPayment";
|
||||
import { useState } from "react";
|
||||
import { convertNumbers2English } from "../../../utils/index";
|
||||
import { enqueueSnackbar } from "notistack";
|
||||
|
||||
const Form = () => {
|
||||
const initialState = {
|
||||
username: "",
|
||||
paypalUsername: "",
|
||||
whatupUsername: "",
|
||||
};
|
||||
|
||||
const validateEmail = (value) => {
|
||||
var allowed =
|
||||
/^([a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$)/ || /^[0-9]+$/;
|
||||
var numberallowed = /^[0-9]+$/;
|
||||
if (allowed.test(value) || numberallowed.test(value)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const [state, setState] = useState(initialState);
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
|
||||
const inputHandler = (value, name) => {
|
||||
setState({ ...state, [name]: convertNumbers2English(value) });
|
||||
};
|
||||
|
||||
const disableHanlder = () => {
|
||||
if (!state.username || !state.paypalUsername) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const errorTextHandler = (error) => {
|
||||
for (const property in error) {
|
||||
if (error[property][0] !== null) {
|
||||
return error[property][0];
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const submit = async () => {
|
||||
const data = {
|
||||
username: state.username,
|
||||
paypalUsername: state.paypalUsername,
|
||||
whatupUsername: state.whatupUsername,
|
||||
};
|
||||
const request = await axios.post("paypal/create", data);
|
||||
if (request?.data?.valid) {
|
||||
setIsOpen(true);
|
||||
} else {
|
||||
enqueueSnackbar(
|
||||
request?.data?.statusCode == 400
|
||||
? errorTextHandler(request?.data.errors)
|
||||
: "عملیات با خطا مواجه شد",
|
||||
{ variant: "error" }
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div className={style.form}>
|
||||
<div className={style.item}>
|
||||
<Input
|
||||
value={state.username}
|
||||
type="text"
|
||||
labelInput="شماره یا ایمیلی که در ایمپو باهاش ثبت نام کردی (اجباری)"
|
||||
name="username"
|
||||
onChange={(value) => inputHandler(value, "username")}
|
||||
placeholder="شماره یا ایمیلی که در ایمپو ثبت نام کردی"
|
||||
/>
|
||||
</div>
|
||||
<div className={style.item}>
|
||||
<Input
|
||||
value={state.paypalUsername}
|
||||
type="text"
|
||||
labelInput="نام کاربری در pay pal (اجباری)"
|
||||
name="paypalUsername"
|
||||
onChange={(value) => inputHandler(value, "paypalUsername")}
|
||||
placeholder="شماره یا ایمیلی که در pay pal ثبت نام کردی"
|
||||
/>
|
||||
</div>
|
||||
<div className={style.item}>
|
||||
<Input
|
||||
value={state.whatupUsername}
|
||||
type="text"
|
||||
labelInput="شماره واتساپ"
|
||||
name="whatupUsername"
|
||||
onChange={(value) => inputHandler(value, "whatupUsername")}
|
||||
placeholder="شماره واتساپی که بتونیم باهات در ارتباط باشیم"
|
||||
/>
|
||||
</div>
|
||||
<div className={style.item}>
|
||||
<Button
|
||||
aria-label="btnName"
|
||||
size="medium"
|
||||
onClick={submit}
|
||||
variant="outlined"
|
||||
disabled={disableHanlder()}
|
||||
>
|
||||
ارسال
|
||||
</Button>
|
||||
</div>
|
||||
<DialogBox
|
||||
open={isOpen}
|
||||
dialogHandler={(e) => {
|
||||
setIsOpen(e);
|
||||
setState(initialState);
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Form;
|
|
@ -0,0 +1,59 @@
|
|||
.form {
|
||||
padding: 62px 255px 0 255px;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 40px;
|
||||
align-items: center;
|
||||
margin-bottom: 95px;
|
||||
}
|
||||
|
||||
.form .item {
|
||||
text-align: center;
|
||||
align-self: end;
|
||||
}
|
||||
|
||||
.form button {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.modalFrame {
|
||||
padding: 25px 8px 0 8px;
|
||||
font-family: "__YekanBakh_d453b8", "__YekanBakh_Fallback_d453b8" !important;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.modalFrame h5 {
|
||||
color: #1f1f1f;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 32px;
|
||||
letter-spacing: -0.8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.modalFrame p {
|
||||
margin: 0;
|
||||
color: #1f1f1f;
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
letter-spacing: -0.6px;
|
||||
}
|
||||
|
||||
.buttonDialog {
|
||||
text-align: center;
|
||||
padding: 16px 0 25px;
|
||||
}
|
||||
|
||||
.buttonDialog button {
|
||||
width: 157px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.form {
|
||||
grid-template-columns: 1fr;
|
||||
padding: 28px 16px 0 16px;
|
||||
gap: 16px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
import style from "./style.module.css";
|
||||
import Link from "next/link";
|
||||
import paypal from "../../../assets/images/paypal.webp";
|
||||
import Image from "next/image";
|
||||
import { Button } from "@mui/material";
|
||||
|
||||
const Hero = () => {
|
||||
return (
|
||||
<div className={style.hero}>
|
||||
<div className={style.content}>
|
||||
<h1>پرداخت یورویی اشتراک ایمپو</h1>
|
||||
<p>
|
||||
<span>
|
||||
اگه خارج از ایران زندگی میکنی و میخوای اشتراک ایمپو رو تهیه کنی:
|
||||
</span>
|
||||
<br />
|
||||
۱. مبلغ طرح اشتراکی که میخوای رو با استفاده از لینک pay pal پرداخت
|
||||
کن
|
||||
<br />
|
||||
۲. بعد از پرداخت به همین صفحه برگرد
|
||||
<br />
|
||||
۳. اطلاعات خواسته شده رو وارد کن و دکمه ارسال رو بزن
|
||||
<br />
|
||||
<span>در اولین فرصت، اشتراک مورد نظرت برات فعال میشه</span>
|
||||
</p>
|
||||
<Link href="https://paypal.me/AmirSajjadi?country.x=EE&locale.x=en_US" target="_blank">
|
||||
<Button aria-label="btnName" size="medium" variant="contained">
|
||||
از اینجا پرداخت کن
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
<div className={style.image}>
|
||||
<Image src={paypal} alt="paypal" />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Hero;
|
|
@ -0,0 +1,87 @@
|
|||
.hero {
|
||||
padding: 120px 255px 0 255px;
|
||||
background: #f9f9f9;
|
||||
display: grid;
|
||||
grid-template-columns: 65% 1fr;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.hero .image {
|
||||
text-align: left;
|
||||
margin-bottom: -8px;
|
||||
}
|
||||
|
||||
.hero img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.hero h1 {
|
||||
color: #1f1f1f;
|
||||
font-size: 32px;
|
||||
font-weight: 600;
|
||||
line-height: 56px;
|
||||
letter-spacing: -1.28px;
|
||||
}
|
||||
|
||||
.hero p {
|
||||
color: #1f1f1f;
|
||||
font-size: 22px;
|
||||
font-weight: 400;
|
||||
line-height: 40px;
|
||||
letter-spacing: -0.88px;
|
||||
}
|
||||
|
||||
.hero p span {
|
||||
font-variation-settings: "wght" 550 !important;
|
||||
display: inline-block;
|
||||
margin: 8px 0;
|
||||
}
|
||||
|
||||
.hero button {
|
||||
font-size: 18px;
|
||||
font-variation-settings: "wght" 450 !important;
|
||||
line-height: 23px;
|
||||
letter-spacing: -0.72px;
|
||||
margin-bottom: 53px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.hero {
|
||||
padding: 64px 25px 0 25px;
|
||||
text-align: center;
|
||||
background: #f9f9f9;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.hero h1 {
|
||||
color: #1f1f1f;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
line-height: 32px;
|
||||
letter-spacing: -0.96px;
|
||||
}
|
||||
|
||||
.hero p {
|
||||
color: #1f1f1f;
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
letter-spacing: -0.6px;
|
||||
margin: 8px 0 12px 0;
|
||||
}
|
||||
|
||||
.hero button {
|
||||
font-size: 15px;
|
||||
font-variation-settings: "wght" 450 !important;
|
||||
line-height: 23px;
|
||||
letter-spacing: -0.6px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.hero .image {
|
||||
margin-top: 0px;
|
||||
margin-bottom: -8px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import HeadPayment from "../heads/headPayment";
|
||||
import AppbarMain from "@/layout/appbarMain";
|
||||
import Hero from "./hero";
|
||||
import Form from "./form";
|
||||
import ContactUs from "./contactUs";
|
||||
|
||||
const Payment = () => {
|
||||
return (
|
||||
<>
|
||||
<HeadPayment />
|
||||
<AppbarMain />
|
||||
<Hero />
|
||||
<Form />
|
||||
<ContactUs />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Payment;
|
|
@ -0,0 +1,127 @@
|
|||
:root {
|
||||
|
||||
|
||||
--primary-0: #000000;
|
||||
--primary-10: #3F0018;
|
||||
--primary-20: #66002B;
|
||||
--primary-30: #8F003F;
|
||||
--primary-40: #B80F55;
|
||||
--primary-50: #DB326E;
|
||||
--primary-60: #FD4E87;
|
||||
--primary-70: #FF85A4;
|
||||
--primary-80: #FFB1C2;
|
||||
--primary-90: #FFD9DF;
|
||||
--primary-95: #FFECEE;
|
||||
--primary-99: #FFFBFF;
|
||||
--primary-100: #FFFFFF;
|
||||
/* primary end */
|
||||
|
||||
/* secondary start */
|
||||
--secondary-0: #000000;
|
||||
--secondary-10: #261A00;
|
||||
--secondary-20: #3F2E00;
|
||||
--secondary-30: #5B4300;
|
||||
--secondary-40: #795900;
|
||||
--secondary-50: #977100;
|
||||
--secondary-60: #B78A00;
|
||||
--secondary-70: #D8A300;
|
||||
--secondary-80: #F9BD10;
|
||||
--secondary-90: #FFEFD4;
|
||||
--secondary-95: #FFEEDE;
|
||||
--secondary-99: #FFFBFF;
|
||||
--secondary-100: #FFFFFF;
|
||||
/* secondary end */
|
||||
|
||||
|
||||
/* error start */
|
||||
--error-0: #000000;
|
||||
--error-10: #410002;
|
||||
--error-20: #690005;
|
||||
--error-30: #93000A;
|
||||
--error-40: #BA1A1A;
|
||||
--error-50: #DE3730;
|
||||
--error-60: #FF5449;
|
||||
--error-70: #FF897D;
|
||||
--error-80: #FFB4AB;
|
||||
--error-90: #FFDAD6;
|
||||
--error-95: #FFEDEA;
|
||||
--error-99: #FFFBFF;
|
||||
--error-100: #FFFFFF;
|
||||
/* error end */
|
||||
|
||||
|
||||
/* neutral start */
|
||||
--neutral-0: #000000;
|
||||
--neutral-10: #1C1B1E;
|
||||
--neutral-20: #313033;
|
||||
--neutral-30: #48464A;
|
||||
--neutral-40: #605D62;
|
||||
--neutral-50: #79767A;
|
||||
--neutral-60: #938F94;
|
||||
--neutral-70: #AEAAAE;
|
||||
--neutral-80: #CAC5CA;
|
||||
--neutral-90: #E6E1E6;
|
||||
--neutral-95: #F4EFF4;
|
||||
--neutral-99: #FFFBFF;
|
||||
--neutral-100: #FFFFFF;
|
||||
/* neutral end */
|
||||
|
||||
|
||||
/* neutral_variants start */
|
||||
--neutral_variants-0: #000000;
|
||||
--neutral_variants-10: #1D1A22;
|
||||
--neutral_variants-20: #322F38;
|
||||
--neutral_variants-30: #49454E;
|
||||
--neutral_variants-40: #615D66;
|
||||
--neutral_variants-50: #7A757F;
|
||||
--neutral_variants-60: #948F99;
|
||||
--neutral_variants-70: #AFA9B4;
|
||||
--neutral_variants-80: #CAC4CF;
|
||||
--neutral_variants-90: #E7E0EB;
|
||||
--neutral_variants-95: #F5EEFA;
|
||||
--neutral_variants-99: #FFFBFF;
|
||||
--neutral_variants-100: #FFFFFF;
|
||||
/* neutral_variants end */
|
||||
|
||||
|
||||
/* start light colors */
|
||||
|
||||
/* primary light start */
|
||||
--primary: var(--primary-40);
|
||||
--onPrimary: var(--primary-80);
|
||||
--primaryContainer: var(--primary-90);
|
||||
--onPrimaryContainer: var(--primary-10);
|
||||
/* primary light end */
|
||||
|
||||
/* secondary light start */
|
||||
--secondary: var(--secondary-40);
|
||||
--onSecondary: var(--secondary-100);
|
||||
--secondaryContainer: var(--secondary-90);
|
||||
--onSecondaryContainer: var(--secondary-10);
|
||||
/* secondary light end */
|
||||
|
||||
|
||||
/* error light start */
|
||||
--error: var(--error-40);
|
||||
--onError: var(--error-100);
|
||||
--errorContainer: var(--error-90);
|
||||
--onErorContainer: var(--error-10);
|
||||
/* error light end */
|
||||
|
||||
/* neutral light start */
|
||||
--neutral: var(--neutral-99);
|
||||
--onBackground: var(--neutral-10);
|
||||
--surface: var(--neutral-99);
|
||||
--onSurface: var(--neutral-10);
|
||||
/* neutral light end */
|
||||
|
||||
|
||||
/* neutral_variants light start */
|
||||
--neutral_variants: var(--neutral_variants-90);
|
||||
--onSurfaceVariant: var(--neutral_variants-30);
|
||||
--outline: var(--neutral_variants-50);
|
||||
/* neutral_variants light end */
|
||||
|
||||
/* end light colors */
|
||||
|
||||
}
|
|
@ -0,0 +1,692 @@
|
|||
@import url("color.css");
|
||||
|
||||
html,
|
||||
body {
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
direction: rtl;
|
||||
letter-spacing: -0.04em;
|
||||
margin: 0 !important;
|
||||
/* scroll-behavior: smooth !important; */
|
||||
scrollbar-width: 0px !important;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
letter-spacing: -0.04em !important;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 0 10rem;
|
||||
letter-spacing: -0.04em !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
img {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
input {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-radius: 90px;
|
||||
outline: none !important;
|
||||
border: 1px solid #9f97d9;
|
||||
padding: 12px 24px;
|
||||
margin: 2px;
|
||||
font-variation-settings: "wght" 400;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: break-spaces;
|
||||
}
|
||||
|
||||
select {
|
||||
border-radius: 18px;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-radius: 90px;
|
||||
outline: none !important;
|
||||
border: 1px solid #9f97d9;
|
||||
padding: 12px 24px;
|
||||
margin: 2px 5px;
|
||||
font-variation-settings: "wght" 400;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
span {
|
||||
caret-color: transparent;
|
||||
letter-spacing: -0.04em;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.notShowIframe {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.showIframe {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.swiperWhyMen {
|
||||
padding-bottom: 2rem !important;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.swiperWhyMen .swiper-pagination-bullet-active,
|
||||
.swiperWhyImpo .swiper-pagination-bullet-active {
|
||||
background-color: var(--neutral-60);
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
position: relative;
|
||||
bottom: 1px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.swiperWhyImpo {
|
||||
padding-bottom: 40px !important;
|
||||
}
|
||||
|
||||
.swiperBlog {
|
||||
padding-right: 17px !important;
|
||||
}
|
||||
|
||||
.swiperBlog .swiper-slide {
|
||||
width: 70% !important;
|
||||
}
|
||||
|
||||
.commentsSwiper .swiper-button-prev {
|
||||
right: 94% !important;
|
||||
position: absolute;
|
||||
top: 30px !important;
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.commentsSwiper .swiper-button-next {
|
||||
right: 97.8% !important;
|
||||
position: absolute;
|
||||
top: 30px !important;
|
||||
}
|
||||
|
||||
.commentsSwiper {
|
||||
padding-top: 4rem !important;
|
||||
margin-top: -50px;
|
||||
}
|
||||
|
||||
.commentsSwiper .swiper-button-prev::after,
|
||||
.commentsSwiper .swiper-button-next::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.commentsSwiper .swiper-button-prev::before,
|
||||
.commentsSwiper .swiper-button-next::before {
|
||||
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M14.9998 19.9201L8.47984 13.4001C7.70984 12.6301 7.70984 11.3701 8.47984 10.6001L14.9998 4.08008' stroke='%231C1B1E' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
||||
border-radius: 50px;
|
||||
border: 1px solid #efefef;
|
||||
width: 40px;
|
||||
height: 25px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.swiperComments .swiper-slide-prev,
|
||||
.swiperComments .swiper-slide-next {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.MuiTextField-root fieldset {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.MuiInputBase-root {
|
||||
padding: 0 !important;
|
||||
border-radius: 10px !important;
|
||||
}
|
||||
|
||||
.mainDarkNew {
|
||||
padding: 8px 0 8px 0 !important;
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
background-color: #fff;
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-thumb {
|
||||
background-color: #ec407a;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
/* simgle blog */
|
||||
|
||||
#bodyContent .image {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#bodyContent ol,
|
||||
#bodyContent ul {
|
||||
line-height: 36px;
|
||||
}
|
||||
|
||||
#bodyContent li {
|
||||
list-style: unset !important;
|
||||
}
|
||||
|
||||
.MuiInputBase-root::before,
|
||||
.MuiInputBase-root::after {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.mainDark {
|
||||
background-color: transparent;
|
||||
width: 100%;
|
||||
padding: 1rem;
|
||||
position: absolute;
|
||||
direction: rtl;
|
||||
z-index: 10;
|
||||
padding: 8px 255px 8px 255px;
|
||||
}
|
||||
|
||||
.mainDarkSticky {
|
||||
z-index: 10;
|
||||
position: sticky;
|
||||
top: 0.1px;
|
||||
background-color: #fff;
|
||||
padding: 8px 10rem 8px 10rem;
|
||||
border-bottom: 0.75px solid #efefef;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.mainDarkStickyMain {
|
||||
z-index: 10;
|
||||
position: sticky;
|
||||
top: 10px;
|
||||
background-color: #fff;
|
||||
margin: 8px 255px 8px 255px;
|
||||
/* border-bottom: 0.75px solid #efefef; */
|
||||
opacity: 1;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
.mainDarkStickyMain > div {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.swiper-pagination-bullet-active {
|
||||
background-color: #938f94 !important;
|
||||
}
|
||||
|
||||
.MuiSvgIcon-fontSize35px {
|
||||
font-size: 35px !important;
|
||||
}
|
||||
|
||||
.frameTabs .MuiTabs-flexContainer {
|
||||
padding: 0;
|
||||
display: grid;
|
||||
row-gap: 24px;
|
||||
}
|
||||
|
||||
.frameTabs .MuiTabs-indicator {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.frameTabs button.Mui-selected {
|
||||
background-color: #ec407a;
|
||||
color: #fff;
|
||||
border-color: #ec407a;
|
||||
transition: 0.5s;
|
||||
}
|
||||
|
||||
.frameTabs button.Mui-selected:hover {
|
||||
background-color: #ec407a;
|
||||
}
|
||||
|
||||
.frameTabs button.Mui-selected + button .facet-pill-border {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.next {
|
||||
height: 52px;
|
||||
stroke: #ec407a;
|
||||
stroke-width: 4px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.facet-pill-border {
|
||||
border-radius: 500px;
|
||||
fill: none;
|
||||
height: 52px;
|
||||
left: 0px;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
width: 100%;
|
||||
visibility: hidden;
|
||||
transition: 0.5s;
|
||||
}
|
||||
|
||||
.MuiTab-iconWrapper {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
.MuiTouchRipple-root {
|
||||
border-radius: 40px;
|
||||
}
|
||||
|
||||
table tr {
|
||||
border-bottom: 1px solid;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-variation-settings: "wght" 600;
|
||||
}
|
||||
|
||||
@media (max-width: 450px) {
|
||||
.MuiSvgIcon-fontSize35px {
|
||||
font-size: 22px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.commentsSwiper .swiper-button-prev::before,
|
||||
.commentsSwiper .swiper-button-next::before {
|
||||
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M14.9998 19.9201L8.47984 13.4001C7.70984 12.6301 7.70984 11.3701 8.47984 10.6001L14.9998 4.08008' stroke='%231C1B1E' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
||||
border-radius: 50px;
|
||||
border: 1px solid #d6d6d6;
|
||||
width: 40px;
|
||||
height: 25px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.commentsSwiper {
|
||||
padding-top: 2rem !important;
|
||||
}
|
||||
|
||||
.commentsSwiper .swiper-button-prev {
|
||||
right: 35% !important;
|
||||
position: absolute;
|
||||
bottom: 10px !important;
|
||||
transform: rotate(180deg);
|
||||
top: unset !important;
|
||||
}
|
||||
|
||||
.commentsSwiper .swiper-button-next {
|
||||
left: 35% !important;
|
||||
position: absolute;
|
||||
bottom: 10px !important;
|
||||
top: unset !important;
|
||||
right: unset !important;
|
||||
}
|
||||
|
||||
.frameTabs {
|
||||
overflow: unset !important;
|
||||
}
|
||||
|
||||
.frameTabs .MuiTabs-scroller {
|
||||
overflow: scroll !important;
|
||||
}
|
||||
|
||||
.frameTabs .MuiTabs-scroller::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.frameTabs .MuiTabs-flexContainer {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
padding-bottom: 32px;
|
||||
column-gap: 10px;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 0 1rem !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.mainDarkSticky,
|
||||
.mainDarkStickyMain,
|
||||
.mainDark {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.customSpace {
|
||||
margin-top: 96px;
|
||||
}
|
||||
|
||||
.customSpace2 {
|
||||
padding-bottom: 72px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1440px) {
|
||||
.containerSingle {
|
||||
margin: 0 auto;
|
||||
max-width: 1200px;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1440px) {
|
||||
.container,
|
||||
.mainDark,
|
||||
.mainDarkSticky,
|
||||
.mainDarkStickyMain {
|
||||
padding: 0 2rem;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.ImpoAppTutorial {
|
||||
padding: 0 55px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 800px) {
|
||||
.swiperBlogs .swiper-slide {
|
||||
width: 80% !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* between banner blogs style */
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.bannerBetweenArticles.bannerBetweenMobile .firstText {
|
||||
width: 100% !important;
|
||||
display: block !important;
|
||||
font-size: 18px !important;
|
||||
text-align: center;
|
||||
line-height: 28px;
|
||||
margin: 16px 0 !important;
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile .bannerContent {
|
||||
position: relative !important;
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile a {
|
||||
position: relative !important;
|
||||
bottom: unset !important;
|
||||
right: 40px !important;
|
||||
padding: 10px 24px;
|
||||
font-variation-settings: "wght" 500;
|
||||
top: 8px;
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile .singleElement {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.bardari {
|
||||
background: linear-gradient(
|
||||
267deg,
|
||||
#ffd0e7 -8.55%,
|
||||
#c9e5bb -8.54%,
|
||||
#fee5ae 92.65%
|
||||
);
|
||||
}
|
||||
.bannerBetweenArticles.bannerBetweenMobile.woman1 {
|
||||
background: linear-gradient(270deg, #fbd5d0 0%, #f2a2bf 100%);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.ravan {
|
||||
background: linear-gradient(270deg, #e7e6fe 0%, #ddc0f2 100%);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.man1 {
|
||||
background: linear-gradient(90deg, #d4d7ff 0%, #e7e8ff 100%);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.man2 {
|
||||
background: linear-gradient(90deg, #d4d7ff 0%, #e7e8ff 100%);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.pishgiri {
|
||||
background: linear-gradient(90deg, #d8cded 28.04%, #ddf2f2 99.93%);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.period {
|
||||
background: linear-gradient(270deg, #fbd5d0 0%, #f2a2bf 100%);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.sex {
|
||||
background: var(
|
||||
--Linear,
|
||||
linear-gradient(270deg, #e7e6fe 0%, #ddc0f2 100%)
|
||||
);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile.life {
|
||||
background: var(--Linear, linear-gradient(90deg, #ffdac7 0%, #ffede3 100%));
|
||||
}
|
||||
|
||||
.bannerBetweenArticles.bannerBetweenMobile {
|
||||
border-radius: 16px;
|
||||
bottom: unset !important;
|
||||
right: unset !important;
|
||||
display: flex;
|
||||
flex-direction: column-reverse;
|
||||
text-align: center;
|
||||
padding: 32px 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.bannerBetweenArticles {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.bannerBetweenArticles .bannerContent {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 20px 16px 16px;
|
||||
}
|
||||
|
||||
.bannerContent .logo {
|
||||
color: #ec407a;
|
||||
font-size: 30px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
letter-spacing: -0.72px;
|
||||
}
|
||||
|
||||
.bannerContent .firstText {
|
||||
display: inline-block;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.bannerContent div {
|
||||
font-size: 18px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 180%;
|
||||
letter-spacing: -0.72px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.bannerContent a {
|
||||
padding: 10px 20px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
color: #1c1b1e !important;
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
right: 26px;
|
||||
font-size: 18px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
box-shadow: 0px 4px 24px 0px rgba(15, 15, 15, 0.1);
|
||||
}
|
||||
|
||||
.bannerBetweenArticles img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.bannerMobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.notShow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stickyTableOfContents {
|
||||
display: none !important;
|
||||
position: fixed !important;
|
||||
top: 76px !important;
|
||||
right: 0;
|
||||
max-height: 40vh;
|
||||
overflow: scroll;
|
||||
border-radius: 0 !important;
|
||||
padding: 5px 1rem !important;
|
||||
width: 100%;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
#tableOfContents .selectedTableOfContent {
|
||||
color: #ec407a;
|
||||
}
|
||||
|
||||
.section {
|
||||
margin-top: 120px;
|
||||
}
|
||||
|
||||
.mdDown {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mdUp {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.stickyTableOfContents {
|
||||
display: block !important;
|
||||
}
|
||||
.mdDown {
|
||||
display: none;
|
||||
}
|
||||
.mdUp {
|
||||
display: block;
|
||||
}
|
||||
.bannerMobile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.bannerDesktop {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bannerContent a {
|
||||
padding: 5px 10px;
|
||||
bottom: 19px;
|
||||
right: 8px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.bannerContent div {
|
||||
font-size: 15px !important;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 25px;
|
||||
letter-spacing: -0.72px;
|
||||
margin: 0;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.bannerBetweenArticles .bannerContent {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.bannerContent .logo {
|
||||
color: #ec407a;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
letter-spacing: -0.72px;
|
||||
}
|
||||
|
||||
.bannerContent .firstText {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
margin-bottom: 0;
|
||||
font-size: 12px !important;
|
||||
margin-top: 15px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.singleElement .firstText {
|
||||
width: 80% !important;
|
||||
}
|
||||
|
||||
.bannerValentine {
|
||||
display: flex !important;
|
||||
}
|
||||
|
||||
.bannerValentine img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.swiper {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
input {
|
||||
/* Set the font size as needed */
|
||||
-webkit-text-size-adjust: none;
|
||||
}
|
||||
|
||||
@media (max-width: 450px) {
|
||||
/* .selectNone {
|
||||
user-select: none !important;
|
||||
overflow: hidden;
|
||||
} */
|
||||
}
|
||||
|
||||
.Mui-expanded {
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
#nprogress {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#nprogress .bar {
|
||||
background: #ec407a;
|
||||
position: fixed;
|
||||
z-index: 1031;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
#nprogress .peg {
|
||||
display: block;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
opacity: 1;
|
||||
transform: rotate(3deg) translate(0px, -4px);
|
||||
}
|
||||
|
||||
.bannerValentine {
|
||||
display: none;
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
.NotFound {
|
||||
display: grid;
|
||||
justify-content: center;
|
||||
margin: 50px 0;
|
||||
justify-items: center;
|
||||
}
|
||||
|
||||
.NotFound img {
|
||||
margin-top: 64px;
|
||||
}
|
||||
|
||||
.action {
|
||||
text-align: center;
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
}
|
||||
|
||||
.action h3 {
|
||||
color: #FF007C;
|
||||
font-size: 48px;
|
||||
font-weight: 700;
|
||||
line-height: 7.543px;
|
||||
letter-spacing: -2.4px;
|
||||
margin-bottom: 35px;
|
||||
}
|
||||
|
||||
.action p {
|
||||
color: #131313;
|
||||
font-size: 24px;
|
||||
font-weight: 400;
|
||||
line-height: 7.543px;
|
||||
letter-spacing: -1.2px;
|
||||
}
|
||||
|
||||
.action a {
|
||||
margin-top: 40px;
|
||||
display: block;
|
||||
padding: 12px 20px;
|
||||
border-radius: 36px;
|
||||
background-color: #EC407A;
|
||||
color: #fff;
|
||||
width: 239px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.NotFound {
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.NotFound img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.action h3 {
|
||||
color: #FF007C;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.action p {
|
||||
color: #131313;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
export const colors = {
|
||||
"Primary": "#EC407A",
|
||||
"On_Primary": "#FFFFFF",
|
||||
"Primary_Container": "#EC407A",
|
||||
"On_Primary_Container": "#FFFFFF",
|
||||
"Secondary": "#D8A300",
|
||||
"On_Secondary": "#FFFFFF",
|
||||
"Secondary_Container": "#F9BD10",
|
||||
"On_Secondary_Container": '#FFFBFF',
|
||||
"Error": "#BA1A1A",
|
||||
"OnError": "#FFFFFF",
|
||||
"Error_Container": "#FFDAD6",
|
||||
"On_Error_Container": "#410002",
|
||||
"Background": "#FFFFFF",
|
||||
"OnBackground": "#1C1B1E",
|
||||
"Surface": "#EFEFEF",
|
||||
"On_Surface": "#1D1A22",
|
||||
"Surface_Variant": "#F9F9F9",
|
||||
"On_Surface_Variant": "#48464A",
|
||||
"Outline": "#938F94",
|
||||
}
|
|
@ -0,0 +1,261 @@
|
|||
export const TonalPalletes = {
|
||||
primary: {
|
||||
0: "#000000",
|
||||
10: "#3F0018",
|
||||
20: "#66002B",
|
||||
30: "#8F003F",
|
||||
40: "#B80F55",
|
||||
50: "#DB326E",
|
||||
60: "#FD4E87",
|
||||
70: "#FF85A4",
|
||||
80: "#FFB1C2",
|
||||
90: "#FFD9DF",
|
||||
95: "#FFECEE",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
secondary: {
|
||||
0: "#000000",
|
||||
10: "#261A00",
|
||||
20: "#3F2E00",
|
||||
30: "#5B4300",
|
||||
40: "#795900",
|
||||
50: "#977100",
|
||||
60: "#B78A00",
|
||||
70: "#D8A300",
|
||||
80: "#F9BD10",
|
||||
90: "#FFEFD4",
|
||||
95: "#FFEEDE",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
error: {
|
||||
0: "#000000",
|
||||
10: "#410002",
|
||||
20: "#690005",
|
||||
30: "#93000A",
|
||||
40: "#BA1A1A",
|
||||
50: "#DE3730",
|
||||
60: "#FF5449",
|
||||
70: "#FF897D",
|
||||
80: "#FFB4AB",
|
||||
90: "#FFDAD6",
|
||||
95: "#FFEDEA",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
neutral: {
|
||||
0: "#000000",
|
||||
10: "#1C1B1E",
|
||||
20: "#313033",
|
||||
30: "#48464A",
|
||||
40: "#605D62",
|
||||
50: "#79767A",
|
||||
60: "#938F94",
|
||||
70: "#AEAAAE",
|
||||
80: "#CAC5CA",
|
||||
90: "#E6E1E6",
|
||||
95: "#F4EFF4",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
neutral_variants: {
|
||||
0: "#000000",
|
||||
10: "#1D1A22",
|
||||
20: "#322F38",
|
||||
30: "#49454E",
|
||||
40: "#615D66",
|
||||
50: "#7A757F",
|
||||
60: "#948F99",
|
||||
70: "#AFA9B4",
|
||||
80: "#CAC4CF",
|
||||
90: "#E7E0EB",
|
||||
95: "#F5EEFA",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
}
|
||||
|
||||
};
|
||||
export const Light = {
|
||||
primary: {
|
||||
main: {
|
||||
backgroundColor: TonalPalletes.primary[40],
|
||||
color: TonalPalletes.primary[60]
|
||||
},
|
||||
OnPrimary: {
|
||||
backgroundColor: TonalPalletes.primary[80],
|
||||
color: TonalPalletes.primary[0]
|
||||
},
|
||||
PrimaryContainer: {
|
||||
backgroundColor: TonalPalletes.primary[90],
|
||||
color: TonalPalletes.primary[10]
|
||||
},
|
||||
OnPrimaryContainer: {
|
||||
backgroundColor: TonalPalletes.primary[10],
|
||||
color: TonalPalletes.primary[90]
|
||||
}
|
||||
},
|
||||
secondary: {
|
||||
main: {
|
||||
backgroundColor: TonalPalletes.secondary[40],
|
||||
color: TonalPalletes.secondary[60]
|
||||
},
|
||||
OnSecondary: {
|
||||
backgroundColor: TonalPalletes.secondary[100],
|
||||
color: TonalPalletes.secondary[0]
|
||||
},
|
||||
SecondaryContainer: {
|
||||
backgroundColor: TonalPalletes.secondary[90],
|
||||
color: TonalPalletes.secondary[10]
|
||||
},
|
||||
OnSecondaryContainer: {
|
||||
backgroundColor: TonalPalletes.secondary[10],
|
||||
color: TonalPalletes.secondary[90]
|
||||
}
|
||||
},
|
||||
error: {
|
||||
main: {
|
||||
backgroundColor: TonalPalletes.error[40],
|
||||
color: TonalPalletes.error[60]
|
||||
},
|
||||
OnError: {
|
||||
backgroundColor: TonalPalletes.error[100],
|
||||
color: TonalPalletes.error[0]
|
||||
},
|
||||
ErrorContainer: {
|
||||
backgroundColor: TonalPalletes.error[90],
|
||||
color: TonalPalletes.error[10]
|
||||
},
|
||||
OnErrorContainer: {
|
||||
backgroundColor: TonalPalletes.error[10],
|
||||
color: TonalPalletes.error[90]
|
||||
}
|
||||
},
|
||||
neutral: {
|
||||
main: {
|
||||
backgroundColor: TonalPalletes.neutral[99],
|
||||
color: TonalPalletes.neutral[10]
|
||||
},
|
||||
OnBackground: {
|
||||
backgroundColor: TonalPalletes.neutral[10],
|
||||
color: TonalPalletes.neutral[90]
|
||||
},
|
||||
Surface: {
|
||||
backgroundColor: TonalPalletes.neutral[99],
|
||||
color: TonalPalletes.neutral[10]
|
||||
},
|
||||
OnSurface: {
|
||||
backgroundColor: TonalPalletes.neutral[10],
|
||||
color: TonalPalletes.neutral[90]
|
||||
}
|
||||
},
|
||||
neutral_variants: {
|
||||
SurfaceVariant: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[90],
|
||||
color: TonalPalletes.neutral_variants[10]
|
||||
},
|
||||
OnSurfaceVariant: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[30],
|
||||
color: TonalPalletes.neutral_variants[70]
|
||||
},
|
||||
Outline: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[50],
|
||||
color: TonalPalletes.neutral_variants[50]
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
export const Dark = {
|
||||
primary: {
|
||||
main: {
|
||||
backgroundColor: TonalPalletes.primary[80],
|
||||
color: TonalPalletes.primary[20]
|
||||
},
|
||||
OnPrimary: {
|
||||
backgroundColor: TonalPalletes.primary[20],
|
||||
color: TonalPalletes.primary[80]
|
||||
},
|
||||
PrimaryContainer: {
|
||||
backgroundColor: TonalPalletes.primary[30],
|
||||
color: TonalPalletes.primary[70]
|
||||
},
|
||||
OnPrimaryContainer: {
|
||||
backgroundColor: TonalPalletes.primary[90],
|
||||
color: TonalPalletes.primary[10]
|
||||
}
|
||||
},
|
||||
secondary: {
|
||||
main: {
|
||||
backgroundColor: TonalPalletes.secondary[80],
|
||||
color: TonalPalletes.secondary[20]
|
||||
},
|
||||
OnSecondary: {
|
||||
backgroundColor: TonalPalletes.secondary[20],
|
||||
color: TonalPalletes.secondary[80]
|
||||
},
|
||||
SecondaryContainer: {
|
||||
backgroundColor: TonalPalletes.secondary[30],
|
||||
color: TonalPalletes.secondary[70]
|
||||
},
|
||||
OnSecondaryContainer: {
|
||||
backgroundColor: TonalPalletes.secondary[90],
|
||||
color: TonalPalletes.secondary[10]
|
||||
}
|
||||
},
|
||||
error: {
|
||||
main: {
|
||||
backgroundColor: TonalPalletes.error[80],
|
||||
color: TonalPalletes.error[20]
|
||||
},
|
||||
OnError: {
|
||||
backgroundColor: TonalPalletes.error[20],
|
||||
color: TonalPalletes.error[80]
|
||||
},
|
||||
ErrorContainer: {
|
||||
backgroundColor: TonalPalletes.error[30],
|
||||
color: TonalPalletes.error[70]
|
||||
},
|
||||
OnErrorContainer: {
|
||||
backgroundColor: TonalPalletes.error[90],
|
||||
color: TonalPalletes.error[10]
|
||||
}
|
||||
},
|
||||
neutral: {
|
||||
Background: {
|
||||
backgroundColor: TonalPalletes.neutral[10],
|
||||
color: TonalPalletes.neutral[90]
|
||||
},
|
||||
OnBackground: {
|
||||
backgroundColor: TonalPalletes.neutral[90],
|
||||
color: TonalPalletes.neutral[10]
|
||||
},
|
||||
Surface: {
|
||||
backgroundColor: TonalPalletes.neutral[10],
|
||||
color: TonalPalletes.neutral[90]
|
||||
},
|
||||
OnSurface: {
|
||||
backgroundColor: TonalPalletes.neutral[80],
|
||||
color: TonalPalletes.neutral[20]
|
||||
}
|
||||
},
|
||||
neutral_variants: {
|
||||
SurfaceVariant: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[30],
|
||||
color: TonalPalletes.neutral_variants[70]
|
||||
},
|
||||
OnSurfaceVariant: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[80],
|
||||
color: TonalPalletes.neutral_variants[20]
|
||||
},
|
||||
Outline: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[60],
|
||||
color: TonalPalletes.neutral_variants[40]
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export const CheckColor = (type, color) => {
|
||||
let TextColor = Light[type]?.[color]
|
||||
return TextColor?.backgroundColor
|
||||
}
|
|
@ -0,0 +1,296 @@
|
|||
import { createTheme } from '@mui/material/styles';
|
||||
import { faIR } from '@mui/material/locale';
|
||||
import palette from './palette';
|
||||
import darkpallete from './palette-dark';
|
||||
import typography from './typography';
|
||||
import shadows from './shadows';
|
||||
import shape from './shape';
|
||||
import overrides from './overrides';
|
||||
|
||||
export const lightTheme = createTheme(
|
||||
{
|
||||
direction: 'rtl',
|
||||
shape,
|
||||
overrides,
|
||||
palette,
|
||||
shadows,
|
||||
typography,
|
||||
props: {
|
||||
MuiTextField: {
|
||||
InputLabelProps: {
|
||||
shrink: true,
|
||||
},
|
||||
},
|
||||
MuiAutocomplete: {
|
||||
disablePortal: true,
|
||||
},
|
||||
},
|
||||
components: {
|
||||
MuiButton: {
|
||||
defaultProps: {
|
||||
variant: "contained"
|
||||
},
|
||||
styleOverrides: {
|
||||
sizeSmall: {
|
||||
fontSize: 14,
|
||||
padding: "8px 16px",
|
||||
fontVariationSettings: "'wght' 400",
|
||||
letterSpacing: '-0.04em'
|
||||
},
|
||||
sizeMedium: {
|
||||
padding: "8px 24px",
|
||||
fontSize: 16,
|
||||
fontVariationSettings: "'wght' 600",
|
||||
letterSpacing: '-0.04em'
|
||||
},
|
||||
sizeLarge: {
|
||||
padding: "8px 24px",
|
||||
fontSize: 24,
|
||||
fontVariationSettings: "'wght' 700",
|
||||
letterSpacing: '-0.04em'
|
||||
},
|
||||
},
|
||||
variants: [
|
||||
{
|
||||
props: { variant: "primary" },
|
||||
style: {
|
||||
background: palette.colors.Primary_Container,
|
||||
color: palette.colors.On_Primary,
|
||||
"&:hover": {
|
||||
background: '#B80F55',
|
||||
color: palette.colors.On_Primary,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#8F003F',
|
||||
color: palette.colors.On_Primary,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#66002B',
|
||||
color: palette.colors.On_Primary,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#D9D9D9',
|
||||
color: palette.colors.Background,
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
props: { variant: "surface" },
|
||||
style: {
|
||||
background: palette.colors.Surface,
|
||||
color: palette.colors.On_Surface,
|
||||
"&:hover": {
|
||||
background: '#E7E0EB',
|
||||
color: palette.colors.On_Surface,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#CAC4CF',
|
||||
color: palette.colors.OnBackground,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#AFA9B4',
|
||||
color: palette.colors.Background,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#D9D9D9',
|
||||
color: palette.colors.Background,
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
props: { variant: "error" },
|
||||
style: {
|
||||
background: palette.colors.Error,
|
||||
color: palette.colors.OnError,
|
||||
"&:hover": {
|
||||
background: '#DE3730',
|
||||
color: palette.colors.OnError,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#93000A',
|
||||
color: palette.colors.OnError,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#690005',
|
||||
color: palette.colors.OnError,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#FFDAD6',
|
||||
color: palette.colors.OnError,
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
props: { variant: "base" },
|
||||
style: {
|
||||
background: palette.colors.OnBackground,
|
||||
color: palette.colors.Background,
|
||||
"&:hover": {
|
||||
background: '#313033',
|
||||
color: palette.colors.Background,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#48464A',
|
||||
color: palette.colors.Background,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#79767A',
|
||||
color: palette.colors.Background,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#D9D9D9',
|
||||
color: palette.colors.Background,
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
faIR
|
||||
);
|
||||
export const DarkTheme = createTheme(
|
||||
{
|
||||
direction: 'rtl',
|
||||
shape,
|
||||
overrides,
|
||||
palette: darkpallete,
|
||||
shadows,
|
||||
typography,
|
||||
props: {
|
||||
MuiTextField: {
|
||||
InputLabelProps: {
|
||||
shrink: true,
|
||||
},
|
||||
},
|
||||
MuiAutocomplete: {
|
||||
disablePortal: true,
|
||||
|
||||
},
|
||||
},
|
||||
components: {
|
||||
MuiButton: {
|
||||
defaultProps: {
|
||||
variant: "contained"
|
||||
},
|
||||
styleOverrides: {
|
||||
sizeSmall: {
|
||||
fontSize: 14,
|
||||
padding: "8px 16px",
|
||||
fontVariationSettings: "'wght' 400",
|
||||
letterSpacing: '-0.04em'
|
||||
|
||||
},
|
||||
sizeMedium: {
|
||||
padding: "8px 24px",
|
||||
fontSize: 16,
|
||||
fontVariationSettings: "'wght' 600",
|
||||
letterSpacing: '-0.04em'
|
||||
},
|
||||
sizeLarge: {
|
||||
padding: "8px 24px",
|
||||
fontSize: 24,
|
||||
fontVariationSettings: "'wght' 700",
|
||||
letterSpacing: '-0.04em'
|
||||
},
|
||||
},
|
||||
variants: [
|
||||
{
|
||||
props: { variant: "primary" },
|
||||
style: {
|
||||
background: palette.colors.Primary_Container,
|
||||
color: palette.colors.On_Primary,
|
||||
"&:hover": {
|
||||
background: '#FD4E87',
|
||||
color: palette.colors.On_Primary,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#FF85A4',
|
||||
color: palette.colors.On_Primary_Container,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#FFB1C2',
|
||||
color: palette.colors.Surface,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#313033',
|
||||
color: '#48464A',
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
props: { variant: "surface" },
|
||||
style: {
|
||||
background: palette.colors.Surface,
|
||||
color: palette.colors.OnBackground,
|
||||
"&:hover": {
|
||||
background: '#313033',
|
||||
color: palette.colors.OnBackground,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#48464A',
|
||||
color: palette.colors.OnBackground,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#605D62',
|
||||
color: palette.colors.OnBackground,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#313033',
|
||||
color: palette.colors.Background,
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
props: { variant: "error" },
|
||||
style: {
|
||||
background: palette.colors.Error,
|
||||
color: palette.colors.OnError,
|
||||
"&:hover": {
|
||||
background: '#FF897D',
|
||||
color: palette.colors.OnError,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#DE3730',
|
||||
color: palette.colors.OnError,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#BA1A1A',
|
||||
color: palette.colors.On_Error_Container,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#410002',
|
||||
color: palette.colors.Background,
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
props: { variant: "base" },
|
||||
style: {
|
||||
background: palette.colors.OnBackground,
|
||||
color: palette.colors.Background,
|
||||
"&:hover": {
|
||||
background: '#E6E1E6',
|
||||
color: palette.colors.Background,
|
||||
},
|
||||
"&:focus": {
|
||||
background: '#AEAAAE',
|
||||
color: palette.colors.Background,
|
||||
},
|
||||
"&:active": {
|
||||
background: '#48464A',
|
||||
color: palette.colors.OnBackground,
|
||||
},
|
||||
"&:disabled": {
|
||||
background: '#313033',
|
||||
color: palette.colors.Background,
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
faIR
|
||||
);
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
import palette from './palette';
|
||||
|
||||
const overrides = {
|
||||
MuiCssBaseline: {
|
||||
'@global': {
|
||||
a: {
|
||||
textDecoration: 'none',
|
||||
color: palette.primary.main.color,
|
||||
},
|
||||
code: {
|
||||
color: palette.primary.main.color,
|
||||
},
|
||||
'::-webkit-scrollbar': {
|
||||
width: '8px',
|
||||
height: '8px',
|
||||
},
|
||||
|
||||
},
|
||||
},
|
||||
MuiTextField: {
|
||||
root: {
|
||||
'& .MuiOutlinedInput-root': {
|
||||
|
||||
'& fieldset': {
|
||||
borderRadius: 100,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
MuiButton: {
|
||||
contained: {
|
||||
backgroundColor: palette.primary.main,
|
||||
color: palette.primary.contrastText,
|
||||
"&:hover": {
|
||||
backgroundColor: palette.primary.hover,
|
||||
},
|
||||
"&:focused": {
|
||||
backgroundColor: palette.primary.focused
|
||||
},
|
||||
"&:selected": {
|
||||
backgroundColor: palette.primary.press
|
||||
},
|
||||
},
|
||||
outlined: {
|
||||
color: palette.primary.main.color,
|
||||
"&:hover": {
|
||||
backgroundColor: palette.primary.main.backgroundColor,
|
||||
},
|
||||
},
|
||||
},
|
||||
MuiSlider:{
|
||||
backgroundColor:'green'
|
||||
}
|
||||
};
|
||||
|
||||
export default overrides;
|
|
@ -0,0 +1,163 @@
|
|||
export const TonalPalletes = {
|
||||
primary: {
|
||||
0: "#000000",
|
||||
10: "#00026C",
|
||||
20: "#0004AA",
|
||||
30: "#0D16E3",
|
||||
40: "#3540F9",
|
||||
50: "#5964FF",
|
||||
60: "#7B85FF",
|
||||
70: "#9DA4FF",
|
||||
80: "#BEC2FF",
|
||||
90: "#E0E0FF",
|
||||
95: "#F1EFFF",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
secondary: {
|
||||
0: "#000000",
|
||||
10: "#2A1700",
|
||||
20: "#462A00",
|
||||
30: "#653E00",
|
||||
40: "#855400",
|
||||
50: "#A66A00",
|
||||
60: "#C98100",
|
||||
70: "#ED9900",
|
||||
80: "#FFB95D",
|
||||
90: "#FFDDB7",
|
||||
95: "#FFEEDE",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
error: {
|
||||
0: "#000000",
|
||||
10: "#410002",
|
||||
20: "#690005",
|
||||
30: "#93000A",
|
||||
40: "#BA1A1A",
|
||||
50: "#DE3730",
|
||||
60: "#FF5449",
|
||||
70: "#FF897D",
|
||||
80: "#FFB4AB",
|
||||
90: "#FFDAD6",
|
||||
95: "#FFEDEA",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
neutral: {
|
||||
0: "#000000",
|
||||
10: "#1B1B1F",
|
||||
20: "#303034",
|
||||
30: "#47464A",
|
||||
40: "#5F5E62",
|
||||
50: "#78767A",
|
||||
60: "#929094",
|
||||
70: "#ADAAAF",
|
||||
80: "#C8C5CA",
|
||||
90: "#E5E1E6",
|
||||
95: "#F3EFF4",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
},
|
||||
neutral_variants: {
|
||||
0: "#000000",
|
||||
10: "#1B1B23",
|
||||
20: "#303038",
|
||||
30: "#46464F",
|
||||
40: "#5E5D67",
|
||||
50: "#777680",
|
||||
60: "#91909A",
|
||||
70: "#ACAAB4",
|
||||
80: "#C7C5D0",
|
||||
90: "#E3E1EC",
|
||||
95: "#F2EFFA",
|
||||
99: "#FFFBFF",
|
||||
100: "#FFFFFF"
|
||||
}
|
||||
|
||||
};
|
||||
const pallete = {
|
||||
mode: 'dark',
|
||||
Background: '#1B1B23',
|
||||
|
||||
primary: {
|
||||
main: TonalPalletes.primary[80],
|
||||
OnPrimary: {
|
||||
backgroundColor: TonalPalletes.primary[20],
|
||||
color: TonalPalletes.primary[80]
|
||||
},
|
||||
PrimaryContainer: {
|
||||
backgroundColor: TonalPalletes.primary[30],
|
||||
color: TonalPalletes.primary[70]
|
||||
},
|
||||
OnPrimaryContainer: {
|
||||
backgroundColor: TonalPalletes.primary[90],
|
||||
color: TonalPalletes.primary[10]
|
||||
}
|
||||
},
|
||||
secondary: {
|
||||
main: TonalPalletes.secondary[80],
|
||||
OnSecondary: {
|
||||
backgroundColor: TonalPalletes.secondary[20],
|
||||
color: TonalPalletes.secondary[80]
|
||||
},
|
||||
SecondaryContainer: {
|
||||
backgroundColor: TonalPalletes.secondary[30],
|
||||
color: TonalPalletes.secondary[70]
|
||||
},
|
||||
OnSecondaryContainer: {
|
||||
backgroundColor: TonalPalletes.secondary[90],
|
||||
color: TonalPalletes.secondary[10]
|
||||
}
|
||||
},
|
||||
error: {
|
||||
main: TonalPalletes.error[80],
|
||||
OnError: {
|
||||
backgroundColor: TonalPalletes.error[20],
|
||||
color: TonalPalletes.error[80]
|
||||
},
|
||||
ErrorContainer: {
|
||||
backgroundColor: TonalPalletes.error[30],
|
||||
color: TonalPalletes.error[70]
|
||||
},
|
||||
OnErrorContainer: {
|
||||
backgroundColor: TonalPalletes.error[90],
|
||||
color: TonalPalletes.error[10]
|
||||
}
|
||||
},
|
||||
neutral: {
|
||||
Background: {
|
||||
backgroundColor: TonalPalletes.neutral[10],
|
||||
color: TonalPalletes.neutral[90]
|
||||
},
|
||||
OnBackground: {
|
||||
backgroundColor: TonalPalletes.neutral[90],
|
||||
color: TonalPalletes.neutral[10]
|
||||
},
|
||||
Surface: {
|
||||
backgroundColor: TonalPalletes.neutral[10],
|
||||
color: TonalPalletes.neutral[90]
|
||||
},
|
||||
OnSurface: {
|
||||
backgroundColor: TonalPalletes.neutral[80],
|
||||
color: TonalPalletes.neutral[20]
|
||||
}
|
||||
},
|
||||
neutral_variants: {
|
||||
SurfaceVariant: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[30],
|
||||
color: TonalPalletes.neutral_variants[70]
|
||||
},
|
||||
OnSurfaceVariant: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[80],
|
||||
color: TonalPalletes.neutral_variants[20]
|
||||
},
|
||||
Outline: {
|
||||
backgroundColor: TonalPalletes.neutral_variants[60],
|
||||
color: TonalPalletes.neutral_variants[40]
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export default pallete;
|
|
@ -0,0 +1,20 @@
|
|||
import { colors } from './LightColors'
|
||||
const palette = {
|
||||
mode: 'light',
|
||||
primary: {
|
||||
main: '#ec407a',
|
||||
},
|
||||
secondary: {
|
||||
main: '#efefef',
|
||||
},
|
||||
info: {
|
||||
main: '#1c1b1e',
|
||||
},
|
||||
error: {
|
||||
main: '#ba1a1a',
|
||||
},
|
||||
colors
|
||||
}
|
||||
|
||||
export default palette;
|
||||
|