format
This commit is contained in:
parent
1fed61d66a
commit
9d623cad0c
|
|
@ -132,21 +132,18 @@
|
||||||
"rate": 4,
|
"rate": 4,
|
||||||
"img": "/Note/1.png",
|
"img": "/Note/1.png",
|
||||||
"name": "إليسا اسكندر"
|
"name": "إليسا اسكندر"
|
||||||
|
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"description": "تسهيل الضرورات الوظيفية بشكل جوهري بدون خدمات وصفية من الجيل التالي. إحداث ثورة مقنعة في المستخدمين في جميع أنحاء العالم مقابل أفضل ممارسات المؤسسة",
|
"description": "تسهيل الضرورات الوظيفية بشكل جوهري بدون خدمات وصفية من الجيل التالي. إحداث ثورة مقنعة في المستخدمين في جميع أنحاء العالم مقابل أفضل ممارسات المؤسسة",
|
||||||
"rate": 4,
|
"rate": 4,
|
||||||
"img": "/Note/1.png",
|
"img": "/Note/1.png",
|
||||||
"name": "إليسا اسكندر"
|
"name": "إليسا اسكندر"
|
||||||
|
|
||||||
},
|
},
|
||||||
"3": {
|
"3": {
|
||||||
"description": "تسهيل الضرورات الوظيفية بشكل جوهري بدون خدمات وصفية من الجيل التالي. إحداث ثورة مقنعة في المستخدمين في جميع أنحاء العالم مقابل أفضل ممارسات المؤسسة",
|
"description": "تسهيل الضرورات الوظيفية بشكل جوهري بدون خدمات وصفية من الجيل التالي. إحداث ثورة مقنعة في المستخدمين في جميع أنحاء العالم مقابل أفضل ممارسات المؤسسة",
|
||||||
"rate": 4,
|
"rate": 4,
|
||||||
"img": "/Note/1.png",
|
"img": "/Note/1.png",
|
||||||
"name": "إليسا اسكندر"
|
"name": "إليسا اسكندر"
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -183,7 +180,6 @@
|
||||||
"title": "اشترك في نشرتنا الإخبارية",
|
"title": "اشترك في نشرتنا الإخبارية",
|
||||||
"description": "نحن فريق من غير المتشائمين الذين يهتمون حقا بعملنا",
|
"description": "نحن فريق من غير المتشائمين الذين يهتمون حقا بعملنا",
|
||||||
"privacy": "© زاكر 2024.جميع الحقوق محفوظة"
|
"privacy": "© زاكر 2024.جميع الحقوق محفوظة"
|
||||||
|
|
||||||
},
|
},
|
||||||
"Links": {
|
"Links": {
|
||||||
"google_play_link": "/",
|
"google_play_link": "/",
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,7 @@
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<link rel="manifest" href="/site.webmanifest" />
|
<link rel="manifest" href="/site.webmanifest" />
|
||||||
<link
|
<link rel="icon" type="image/webp" href="/ Setting/LOGO.png" />
|
||||||
rel="icon"
|
|
||||||
type="image/webp"
|
|
||||||
href="/ Setting/LOGO.png"
|
|
||||||
/>
|
|
||||||
<meta name="description" content=" description of your web app" />
|
<meta name="description" content=" description of your web app" />
|
||||||
<title>Website</title>
|
<title>Website</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
|
||||||
1748
pnpm-lock.yaml
1748
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
|
@ -9,7 +9,6 @@ import VideoPage from './pages/VideoPage';
|
||||||
import ContactPage from './pages/ContactPage';
|
import ContactPage from './pages/ContactPage';
|
||||||
import './styles/App/index.scss';
|
import './styles/App/index.scss';
|
||||||
const App = () => {
|
const App = () => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<HomePage />
|
<HomePage />
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,7 @@ import './styles/App/index.scss';
|
||||||
import HomePage from './pages/HomePage';
|
import HomePage from './pages/HomePage';
|
||||||
|
|
||||||
const Routes = () => {
|
const Routes = () => {
|
||||||
return (
|
return <HomePage />;
|
||||||
<HomePage />
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Routes;
|
export default Routes;
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,10 @@
|
||||||
import {ContactPage as ContactPageData} from '../../../data.json'
|
import { ContactPage as ContactPageData } from '../../../data.json';
|
||||||
|
|
||||||
const Left = () => {
|
const Left = () => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='Left'>
|
<div className="Left">
|
||||||
<h1> {ContactPageData.title} </h1>
|
<h1> {ContactPageData.title} </h1>
|
||||||
<p>
|
<p>{ContactPageData.description}</p>
|
||||||
{ContactPageData.description}
|
|
||||||
</p>
|
|
||||||
<div>
|
<div>
|
||||||
{Object.entries(ContactPageData.Data)?.map((item, index) => {
|
{Object.entries(ContactPageData.Data)?.map((item, index) => {
|
||||||
return (
|
return (
|
||||||
|
|
@ -18,13 +15,11 @@ const Left = () => {
|
||||||
</div>
|
</div>
|
||||||
<p> {item[1].value} </p>
|
<p> {item[1].value} </p>
|
||||||
</span>
|
</span>
|
||||||
)
|
);
|
||||||
})}
|
})}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
)
|
export default Left;
|
||||||
}
|
|
||||||
|
|
||||||
export default Left
|
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,27 @@
|
||||||
import { Form, Formik } from 'formik'
|
import { Form, Formik } from 'formik';
|
||||||
import React from 'react'
|
import React from 'react';
|
||||||
import InputField from '../Field/InputField'
|
import InputField from '../Field/InputField';
|
||||||
import TextAreaField from '../Field/TextAreaField'
|
import TextAreaField from '../Field/TextAreaField';
|
||||||
|
|
||||||
const Right = () => {
|
const Right = () => {
|
||||||
const handleSubmit = ()=>{
|
const handleSubmit = () => {};
|
||||||
|
|
||||||
}
|
|
||||||
return (
|
return (
|
||||||
<div className='Right'>
|
<div className="Right">
|
||||||
<h1>تواصل معنا بسرعة</h1>
|
<h1>تواصل معنا بسرعة</h1>
|
||||||
<Formik initialValues={handleSubmit} onSubmit={handleSubmit}>
|
<Formik initialValues={handleSubmit} onSubmit={handleSubmit}>
|
||||||
<Form>
|
<Form>
|
||||||
<div className='Forms'>
|
<div className="Forms">
|
||||||
<InputField name='name' placeholder='أدخل الاسم' />
|
<InputField name="name" placeholder="أدخل الاسم" />
|
||||||
<InputField name='email' placeholder='أدخل البريد الإلكتروني' />
|
<InputField name="email" placeholder="أدخل البريد الإلكتروني" />
|
||||||
<InputField name='number' placeholder='هاتفك' />
|
<InputField name="number" placeholder="هاتفك" />
|
||||||
<InputField name='company' placeholder='شركتك' />
|
<InputField name="company" placeholder="شركتك" />
|
||||||
<TextAreaField name='message' placeholder='رسالة' />
|
<TextAreaField name="message" placeholder="رسالة" />
|
||||||
</div>
|
</div>
|
||||||
<button className='scale' >
|
<button className="scale">ارسل رسالة</button>
|
||||||
ارسل رسالة
|
|
||||||
</button>
|
|
||||||
</Form>
|
</Form>
|
||||||
</Formik>
|
</Formik>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default Right
|
export default Right;
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,16 @@
|
||||||
import { Input, InputProps } from "antd";
|
import { Input, InputProps } from 'antd';
|
||||||
import React from "react";
|
import React from 'react';
|
||||||
import { Field } from "formik";
|
import { Field } from 'formik';
|
||||||
|
|
||||||
const InputField = ({
|
|
||||||
name,
|
|
||||||
...props
|
|
||||||
}: InputProps) => {
|
|
||||||
|
|
||||||
|
const InputField = ({ name, ...props }: InputProps) => {
|
||||||
return (
|
return (
|
||||||
<div className="ValidationField w-100">
|
<div className="ValidationField w-100">
|
||||||
|
|
||||||
<Field
|
<Field
|
||||||
as={Input}
|
as={Input}
|
||||||
name={name}
|
name={name}
|
||||||
id={name}
|
id={name}
|
||||||
size="large"
|
size="large"
|
||||||
styles={{width:"100%"}}
|
styles={{ width: '100%' }}
|
||||||
{...props}
|
{...props}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,17 @@
|
||||||
import { InputProps } from "antd";
|
import { InputProps } from 'antd';
|
||||||
import React from "react";
|
import React from 'react';
|
||||||
import { Field } from "formik";
|
import { Field } from 'formik';
|
||||||
import TextArea from "antd/es/input/TextArea";
|
import TextArea from 'antd/es/input/TextArea';
|
||||||
|
|
||||||
const TextAreaField = ({
|
|
||||||
name,
|
|
||||||
...props
|
|
||||||
}: InputProps) => {
|
|
||||||
|
|
||||||
|
const TextAreaField = ({ name, ...props }: InputProps) => {
|
||||||
return (
|
return (
|
||||||
<div className="ValidationField TextAreaField">
|
<div className="ValidationField TextAreaField">
|
||||||
|
|
||||||
<Field
|
<Field
|
||||||
as={TextArea}
|
as={TextArea}
|
||||||
name={name}
|
name={name}
|
||||||
id={name}
|
id={name}
|
||||||
size="large"
|
size="large"
|
||||||
styles={{width:"100%"}}
|
styles={{ width: '100%' }}
|
||||||
autoSize={{ minRows: 4, maxRows: 10 }}
|
autoSize={{ minRows: 4, maxRows: 10 }}
|
||||||
{...props}
|
{...props}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,15 @@ import 'swiper/css';
|
||||||
import 'swiper/css/navigation';
|
import 'swiper/css/navigation';
|
||||||
import 'swiper/css/pagination';
|
import 'swiper/css/pagination';
|
||||||
import 'swiper/css/scrollbar';
|
import 'swiper/css/scrollbar';
|
||||||
import {ScreenShoot as ScreenShootData} from '../../data.json'
|
import { ScreenShoot as ScreenShootData } from '../../data.json';
|
||||||
|
|
||||||
const SwipeScreenShoot = () => {
|
const SwipeScreenShoot = () => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='SwipeScreenShoot'>
|
<div className="SwipeScreenShoot">
|
||||||
<Swiper
|
<Swiper
|
||||||
modules={[Pagination, A11y, Autoplay]}
|
modules={[Pagination, A11y, Autoplay]}
|
||||||
spaceBetween={20}
|
spaceBetween={20}
|
||||||
autoplay={{ delay: 3000 }} // Configure autoplay options
|
autoplay={{ delay: 3000 }} // Configure autoplay options
|
||||||
|
|
||||||
pagination={{ clickable: true }}
|
pagination={{ clickable: true }}
|
||||||
// onSwiper={(swiper) => console.log(swiper)}
|
// onSwiper={(swiper) => console.log(swiper)}
|
||||||
// onSlideChange={() => console.log('slide change')}
|
// onSlideChange={() => console.log('slide change')}
|
||||||
|
|
@ -38,16 +36,15 @@ const SwipeScreenShoot = () => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{ScreenShootData.Data.map((item, index) => {
|
{ScreenShootData.Data.map((item, index) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SwiperSlide key={index}>
|
<SwiperSlide key={index}>
|
||||||
<img loading="lazy" src={item} alt={`Screenshot ${index + 1}`} />
|
<img loading="lazy" src={item} alt={`Screenshot ${index + 1}`} />
|
||||||
</SwiperSlide>
|
</SwiperSlide>
|
||||||
)
|
);
|
||||||
})}
|
})}
|
||||||
</Swiper>
|
</Swiper>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default SwipeScreenShoot;
|
export default SwipeScreenShoot;
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import { Button } from 'antd';
|
import { Button } from 'antd';
|
||||||
import { FaHandPointUp } from "react-icons/fa";
|
import { FaHandPointUp } from 'react-icons/fa';
|
||||||
import useScroll from '../../hooks/useScroll';
|
import useScroll from '../../hooks/useScroll';
|
||||||
|
|
||||||
const BackToTopButton = () => {
|
const BackToTopButton = () => {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { Input } from "antd";
|
import { Input } from 'antd';
|
||||||
import { FaFacebook, FaInstagram, FaTelegram, FaTwitter } from "react-icons/fa";
|
import { FaFacebook, FaInstagram, FaTelegram, FaTwitter } from 'react-icons/fa';
|
||||||
import {Footer as FooterData,Links,Setting} from '../../../data.json'
|
import { Footer as FooterData, Links, Setting } from '../../../data.json';
|
||||||
|
|
||||||
const Footer = () => {
|
const Footer = () => {
|
||||||
const handleClick = (href: string) => {
|
const handleClick = (href: string) => {
|
||||||
window.location.href = href
|
window.location.href = href;
|
||||||
}
|
};
|
||||||
return (
|
return (
|
||||||
<div className="Footer">
|
<div className="Footer">
|
||||||
<img loading="lazy" src={Setting.Logo} alt="logo" />
|
<img loading="lazy" src={Setting.Logo} alt="logo" />
|
||||||
|
|
@ -15,9 +15,7 @@ const Footer = () => {
|
||||||
<FaInstagram onClick={() => handleClick(Links.instagram)} />
|
<FaInstagram onClick={() => handleClick(Links.instagram)} />
|
||||||
<FaTwitter onClick={() => handleClick(Links.twitter)} />
|
<FaTwitter onClick={() => handleClick(Links.twitter)} />
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>{FooterData.privacy}</p>
|
||||||
{FooterData.privacy}
|
|
||||||
</p>
|
|
||||||
<span className="FooterHeader">
|
<span className="FooterHeader">
|
||||||
<span>
|
<span>
|
||||||
<h1>{FooterData.title}</h1>
|
<h1>{FooterData.title}</h1>
|
||||||
|
|
@ -31,7 +29,7 @@ const Footer = () => {
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Footer;
|
export default Footer;
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
// NavBar.tsx
|
// NavBar.tsx
|
||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import { RoutesEnums } from '../../enums/RoutesEnums';
|
import { RoutesEnums } from '../../enums/RoutesEnums';
|
||||||
import { MdLanguage } from "react-icons/md";
|
import { MdLanguage } from 'react-icons/md';
|
||||||
import { FaEllipsis } from 'react-icons/fa6';
|
import { FaEllipsis } from 'react-icons/fa6';
|
||||||
import { Popover } from 'antd';
|
import { Popover } from 'antd';
|
||||||
import {navBar as navBarData,Setting} from '../../../data.json'
|
import { navBar as navBarData, Setting } from '../../../data.json';
|
||||||
// Define an enum for the routes
|
// Define an enum for the routes
|
||||||
|
|
||||||
|
|
||||||
// Define a type for the link objects
|
// Define a type for the link objects
|
||||||
interface NavLink {
|
interface NavLink {
|
||||||
path: RoutesEnums;
|
path: RoutesEnums;
|
||||||
|
|
@ -24,47 +23,50 @@ const NavBar: React.FC = () => {
|
||||||
{ path: RoutesEnums.NOTE, label: navBarData.link5 },
|
{ path: RoutesEnums.NOTE, label: navBarData.link5 },
|
||||||
{ path: RoutesEnums.CONTACT, label: navBarData.link6 },
|
{ path: RoutesEnums.CONTACT, label: navBarData.link6 },
|
||||||
];
|
];
|
||||||
const [Open, setOpen] = useState(false)
|
const [Open, setOpen] = useState(false);
|
||||||
const handleToggle = () => {
|
const handleToggle = () => {
|
||||||
setOpen(!Open)
|
setOpen(!Open);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
const NavBarContent = (
|
const NavBarContent = (
|
||||||
<div className='NavBarContent'>
|
<div className="NavBarContent">
|
||||||
<ul className='NavBarLinks'>
|
<ul className="NavBarLinks">
|
||||||
{links.map((link) => {
|
{links.map((link) => {
|
||||||
return (
|
return (
|
||||||
<li onClick={handleToggle} key={link.path} className={`${"activeLink"}`}>
|
<li
|
||||||
|
onClick={handleToggle}
|
||||||
|
key={link.path}
|
||||||
|
className={`${'activeLink'}`}
|
||||||
|
>
|
||||||
<a href={link.path}>{link.label}</a>
|
<a href={link.path}>{link.label}</a>
|
||||||
</li>
|
</li>
|
||||||
)
|
);
|
||||||
|
|
||||||
})}
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const [Active, setActive] = useState(location.hash);
|
||||||
const [Active, setActive] = useState(location.hash)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<nav className='NavBar'>
|
<nav className="NavBar">
|
||||||
<img loading="lazy" src={Setting.Logo} className='scale' alt="" />
|
<img loading="lazy" src={Setting.Logo} className="scale" alt="" />
|
||||||
<ul className='NavBarLinks'>
|
<ul className="NavBarLinks">
|
||||||
{links.map((link) => {
|
{links.map((link) => {
|
||||||
|
|
||||||
const handleClick = () => {
|
const handleClick = () => {
|
||||||
setActive(link.path)
|
setActive(link.path);
|
||||||
}
|
};
|
||||||
const isActive = Active === "" && link.path === "#" ? true : Active === link.path;
|
const isActive =
|
||||||
|
Active === '' && link.path === '#' ? true : Active === link.path;
|
||||||
return (
|
return (
|
||||||
<li key={link.path} onClick={handleClick} className={`${isActive ? "activeLink" : ""}`}>
|
<li
|
||||||
|
key={link.path}
|
||||||
|
onClick={handleClick}
|
||||||
|
className={`${isActive ? 'activeLink' : ''}`}
|
||||||
|
>
|
||||||
<a href={link.path}>{link.label}</a>
|
<a href={link.path}>{link.label}</a>
|
||||||
</li>
|
</li>
|
||||||
)
|
);
|
||||||
|
|
||||||
})}
|
})}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
@ -75,7 +77,6 @@ const NavBarContent = (
|
||||||
<FaEllipsis onClick={handleToggle} />
|
<FaEllipsis onClick={handleToggle} />
|
||||||
</Popover>
|
</Popover>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,7 @@ const PageTransition: React.FC<PageTransitionProps> = ({ to, children }) => {
|
||||||
<div
|
<div
|
||||||
className={`transition-overlay ${transitioning ? (reversed ? 'enter' : 'exit') : ''}`}
|
className={`transition-overlay ${transitioning ? (reversed ? 'enter' : 'exit') : ''}`}
|
||||||
/>
|
/>
|
||||||
<div onClick={handleClick}>
|
<div onClick={handleClick}>{children}</div>
|
||||||
{children}
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,10 @@ import React from 'react';
|
||||||
|
|
||||||
const SpinContainer: React.FC = () => {
|
const SpinContainer: React.FC = () => {
|
||||||
return (
|
return (
|
||||||
<div className='full-screen-center'>
|
<div className="full-screen-center">
|
||||||
<div className="loader"></div>
|
<div className="loader"></div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export default SpinContainer;
|
export default SpinContainer;
|
||||||
|
|
@ -41,18 +41,12 @@ const FirstLoading: React.FC<FirstLoadingProps> = ({ seconds,children }) => {
|
||||||
<>
|
<>
|
||||||
<div className={`FirstLoading ${pageUp ? 'PageUp' : ''}`}>
|
<div className={`FirstLoading ${pageUp ? 'PageUp' : ''}`}>
|
||||||
<div>
|
<div>
|
||||||
<img loading="lazy" src={Logo} className='Logo' alt="" />
|
<img loading="lazy" src={Logo} className="Logo" alt="" />
|
||||||
<div className={`Info`}>
|
<div className={`Info`}>[{currentNumber} %]</div>
|
||||||
[{currentNumber} %]
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{pageUp && children}
|
||||||
{
|
|
||||||
pageUp && children
|
|
||||||
}
|
|
||||||
|
|
||||||
</>
|
</>
|
||||||
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,8 @@ interface I18nProviderProps {
|
||||||
|
|
||||||
const I18nProvider: React.FC<I18nProviderProps> = ({ children }) => {
|
const I18nProvider: React.FC<I18nProviderProps> = ({ children }) => {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const currentLanguage =(LocalStorageManager.getItem(LocalStorageEnum.LANGUAGE_KEY) as string) ===
|
const currentLanguage =
|
||||||
|
(LocalStorageManager.getItem(LocalStorageEnum.LANGUAGE_KEY) as string) ===
|
||||||
'en'
|
'en'
|
||||||
? 'en'
|
? 'en'
|
||||||
: 'ar';
|
: 'ar';
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
import React from 'react'
|
import React from 'react';
|
||||||
|
|
||||||
const AboutUs = () => {
|
const AboutUs = () => {
|
||||||
return (
|
return <div className="AboutUs">AboutUs</div>;
|
||||||
<div className='AboutUs'>AboutUs</div>
|
};
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default AboutUs
|
export default AboutUs;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,14 @@
|
||||||
import React from 'react'
|
import React from 'react';
|
||||||
import Left from '../components/Contact/Left'
|
import Left from '../components/Contact/Left';
|
||||||
import Right from '../components/Contact/Right'
|
import Right from '../components/Contact/Right';
|
||||||
|
|
||||||
const ContactPage = () => {
|
const ContactPage = () => {
|
||||||
return (
|
return (
|
||||||
<div className='ContactPage' id='contact_us'>
|
<div className="ContactPage" id="contact_us">
|
||||||
<Left />
|
<Left />
|
||||||
<Right />
|
<Right />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default ContactPage
|
export default ContactPage;
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
import { BsGooglePlay } from 'react-icons/bs'
|
import { BsGooglePlay } from 'react-icons/bs';
|
||||||
import { FaApple } from 'react-icons/fa'
|
import { FaApple } from 'react-icons/fa';
|
||||||
import {DownloadPage as DownloadPageData,Links} from '../../data.json'
|
import { DownloadPage as DownloadPageData, Links } from '../../data.json';
|
||||||
|
|
||||||
const DownloadPage = () => {
|
const DownloadPage = () => {
|
||||||
|
|
||||||
const handleClick = (href: string) => {
|
const handleClick = (href: string) => {
|
||||||
window.location.href = href
|
window.location.href = href;
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='DownloadPage' >
|
<div className="DownloadPage">
|
||||||
<main>
|
<main>
|
||||||
<h1> {DownloadPageData.title} </h1>
|
<h1> {DownloadPageData.title} </h1>
|
||||||
<p> {DownloadPageData.description} </p>
|
<p> {DownloadPageData.description} </p>
|
||||||
|
|
@ -37,14 +35,22 @@ const DownloadPage = () => {
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<img loading="lazy" className='circle' src="/Setting/circle.png" alt="" />
|
<img
|
||||||
|
loading="lazy"
|
||||||
|
className="circle"
|
||||||
|
src="/Setting/circle.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<img loading="lazy" className='main scale' src={DownloadPageData.img} alt="" />
|
<img
|
||||||
|
loading="lazy"
|
||||||
|
className="main scale"
|
||||||
|
src={DownloadPageData.img}
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
)
|
export default DownloadPage;
|
||||||
}
|
|
||||||
|
|
||||||
export default DownloadPage
|
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,37 @@
|
||||||
import {Features} from '../../data.json'
|
import { Features } from '../../data.json';
|
||||||
|
|
||||||
const FeaturesPage = () => {
|
const FeaturesPage = () => {
|
||||||
|
|
||||||
console.log();
|
console.log();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='FeaturesPage' id='features'>
|
<div className="FeaturesPage" id="features">
|
||||||
<h1> {Features.title} </h1>
|
<h1> {Features.title} </h1>
|
||||||
<p> {Features.description}</p>
|
<p> {Features.description}</p>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
{Object.entries(Features.Data).map((item, index) => {
|
{Object.entries(Features.Data).map((item, index) => {
|
||||||
console.log(item,"item");
|
console.log(item, 'item');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<article key={index}>
|
<article key={index}>
|
||||||
<img loading="lazy" className='scale' src={item[1].img} alt={`${index}`} />
|
<img
|
||||||
|
loading="lazy"
|
||||||
|
className="scale"
|
||||||
|
src={item[1].img}
|
||||||
|
alt={`${index}`}
|
||||||
|
/>
|
||||||
<div>
|
<div>
|
||||||
<h4>
|
<h4>{item[1].title}</h4>
|
||||||
{item[1].title}
|
<p>{item[1].description}</p>
|
||||||
</h4>
|
|
||||||
<p>
|
|
||||||
{item[1].description}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
)
|
);
|
||||||
})}
|
})}
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
<img loading="lazy" className='scale' src={Features.mainImage} alt="" />
|
<img loading="lazy" className="scale" src={Features.mainImage} alt="" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default FeaturesPage
|
export default FeaturesPage;
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,18 @@
|
||||||
import { BsGooglePlay } from 'react-icons/bs'
|
import { BsGooglePlay } from 'react-icons/bs';
|
||||||
import { FaApple } from 'react-icons/fa'
|
import { FaApple } from 'react-icons/fa';
|
||||||
import {Home,Links} from '../../data.json'
|
import { Home, Links } from '../../data.json';
|
||||||
|
|
||||||
const HomePage = () => {
|
const HomePage = () => {
|
||||||
|
|
||||||
const handleClick = (href: string) => {
|
const handleClick = (href: string) => {
|
||||||
window.location.href = href
|
window.location.href = href;
|
||||||
}
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='HomePage' id='#'>
|
<div className="HomePage" id="#">
|
||||||
<main>
|
<main>
|
||||||
<h1>{Home.title} <h2> {Home.ApplicationName} </h2></h1>
|
<h1>
|
||||||
|
{Home.title} <h2> {Home.ApplicationName} </h2>
|
||||||
|
</h1>
|
||||||
<p>{Home.description}</p>
|
<p>{Home.description}</p>
|
||||||
<div>
|
<div>
|
||||||
<button onClick={() => handleClick(Links.google_play_link)}>
|
<button onClick={() => handleClick(Links.google_play_link)}>
|
||||||
|
|
@ -34,11 +35,11 @@ const HomePage = () => {
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<img loading="lazy" className='circle' src="/Setting/circle.png" alt="" />
|
<img loading="lazy" className="circle" src="/Setting/circle.png" alt="" />
|
||||||
<img loading="lazy" className='shape' src="/Setting/shape.svg" alt="" />
|
<img loading="lazy" className="shape" src="/Setting/shape.svg" alt="" />
|
||||||
<img loading="lazy" className='slider' src={Home.mainImage} alt="" />
|
<img loading="lazy" className="slider" src={Home.mainImage} alt="" />
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default HomePage
|
export default HomePage;
|
||||||
|
|
|
||||||
|
|
@ -1,54 +1,60 @@
|
||||||
import React from 'react'
|
import React from 'react';
|
||||||
import {HowItWork as HowItWorkData} from '../../data.json'
|
import { HowItWork as HowItWorkData } from '../../data.json';
|
||||||
|
|
||||||
const HowItWork = () => {
|
const HowItWork = () => {
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='HowItWork' id='how_it_work'>
|
<div className="HowItWork" id="how_it_work">
|
||||||
<h1> {HowItWorkData.title}</h1>
|
<h1> {HowItWorkData.title}</h1>
|
||||||
<p>
|
<p>{HowItWorkData.description}</p>
|
||||||
{HowItWorkData.description}
|
|
||||||
</p>
|
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
{Object.entries(HowItWorkData.Data).slice(0,2).map((item, index) => {
|
{Object.entries(HowItWorkData.Data)
|
||||||
|
.slice(0, 2)
|
||||||
|
.map((item, index) => {
|
||||||
return (
|
return (
|
||||||
<article key={index}>
|
<article key={index}>
|
||||||
<img loading="lazy" className='scale' src={item[1].img} alt={`${index}`} />
|
<img
|
||||||
|
loading="lazy"
|
||||||
|
className="scale"
|
||||||
|
src={item[1].img}
|
||||||
|
alt={`${index}`}
|
||||||
|
/>
|
||||||
<div>
|
<div>
|
||||||
<h4>
|
<h4>{item[1].title}</h4>
|
||||||
{item[1].title}
|
<p>{item[1].description}</p>
|
||||||
</h4>
|
|
||||||
<p>
|
|
||||||
{item[1].description}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
)
|
);
|
||||||
})}
|
})}
|
||||||
</span>
|
</span>
|
||||||
<img loading="lazy" className='scale' src="/HowItWorks/main.png" alt="" />
|
<img
|
||||||
|
loading="lazy"
|
||||||
|
className="scale"
|
||||||
|
src="/HowItWorks/main.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
<span>
|
<span>
|
||||||
{Object.entries(HowItWorkData.Data).slice(2,4).map((item, index) => {
|
{Object.entries(HowItWorkData.Data)
|
||||||
|
.slice(2, 4)
|
||||||
|
.map((item, index) => {
|
||||||
return (
|
return (
|
||||||
<article key={index}>
|
<article key={index}>
|
||||||
<img loading="lazy" src={item[1].img} alt={`${item[1].img}`} />
|
<img
|
||||||
|
loading="lazy"
|
||||||
|
src={item[1].img}
|
||||||
|
alt={`${item[1].img}`}
|
||||||
|
/>
|
||||||
<div>
|
<div>
|
||||||
<h4>
|
<h4>{item[1].title}</h4>
|
||||||
{item[1].title}
|
<p>{item[1].description}</p>
|
||||||
</h4>
|
|
||||||
<p>
|
|
||||||
{item[1].description}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
)
|
);
|
||||||
})}
|
})}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default HowItWork
|
export default HowItWork;
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,24 @@
|
||||||
import React from 'react'
|
import React from 'react';
|
||||||
import { Rate } from 'antd';
|
import { Rate } from 'antd';
|
||||||
import {NotePage as NotePageData} from '../../data.json'
|
import { NotePage as NotePageData } from '../../data.json';
|
||||||
|
|
||||||
const NotePage = () => {
|
const NotePage = () => {
|
||||||
return (
|
return (
|
||||||
<div className='NotePage' id='note' >
|
<div className="NotePage" id="note">
|
||||||
<h1> {NotePageData.title} </h1>
|
<h1> {NotePageData.title} </h1>
|
||||||
<p>
|
<p>{NotePageData.description}</p>
|
||||||
{NotePageData.description}
|
|
||||||
</p>
|
|
||||||
<div>
|
<div>
|
||||||
{Object.entries(NotePageData.Data).map((item, index: number) => {
|
{Object.entries(NotePageData.Data).map((item, index: number) => {
|
||||||
return (
|
return (
|
||||||
<article key={index}>
|
<article key={index}>
|
||||||
<div>
|
<div>
|
||||||
<img className='message_form' src="/Note/message.png" alt="" width={20}/>
|
<img
|
||||||
<p>
|
className="message_form"
|
||||||
{item[1].description}
|
src="/Note/message.png"
|
||||||
</p>
|
alt=""
|
||||||
|
width={20}
|
||||||
|
/>
|
||||||
|
<p>{item[1].description}</p>
|
||||||
<Rate value={item[1].rate} />
|
<Rate value={item[1].rate} />
|
||||||
</div>
|
</div>
|
||||||
<span>
|
<span>
|
||||||
|
|
@ -25,12 +26,11 @@ const NotePage = () => {
|
||||||
<h5> {item[1].name} </h5>
|
<h5> {item[1].name} </h5>
|
||||||
</span>
|
</span>
|
||||||
</article>
|
</article>
|
||||||
|
);
|
||||||
)
|
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default NotePage
|
export default NotePage;
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,17 @@
|
||||||
import React from 'react'
|
import React from 'react';
|
||||||
import SwipeScreenShoot from '../components/SwiperScreenShoot'
|
import SwipeScreenShoot from '../components/SwiperScreenShoot';
|
||||||
|
|
||||||
import {ScreenShoot as ScreenShootData} from '../../data.json'
|
|
||||||
|
|
||||||
|
import { ScreenShoot as ScreenShootData } from '../../data.json';
|
||||||
|
|
||||||
const ScreenShoot = () => {
|
const ScreenShoot = () => {
|
||||||
return (
|
return (
|
||||||
<div className='ScreenShoot' id='screen_shoot'>
|
<div className="ScreenShoot" id="screen_shoot">
|
||||||
|
|
||||||
<h1> {ScreenShootData.title} </h1>
|
<h1> {ScreenShootData.title} </h1>
|
||||||
<p>
|
<p>{ScreenShootData.description}</p>
|
||||||
{ScreenShootData.description}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<SwipeScreenShoot />
|
<SwipeScreenShoot />
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default ScreenShoot
|
export default ScreenShoot;
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,37 @@
|
||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import {VideoPage as VideoPageData} from '../../data.json'
|
import { VideoPage as VideoPageData } from '../../data.json';
|
||||||
|
|
||||||
const VideoPage = () => {
|
const VideoPage = () => {
|
||||||
const [isPlaying, setIsPlaying] = useState(false);
|
const [isPlaying, setIsPlaying] = useState(false);
|
||||||
|
|
||||||
|
|
||||||
const handlePlayPause = () => {
|
const handlePlayPause = () => {
|
||||||
setIsPlaying(!isPlaying);
|
setIsPlaying(!isPlaying);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='VideoPage'>
|
<div className="VideoPage">
|
||||||
|
|
||||||
<img loading="lazy" src="/Video/video.png" alt="" />
|
<img loading="lazy" src="/Video/video.png" alt="" />
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<h1>{VideoPageData.title}</h1>
|
<h1>{VideoPageData.title}</h1>
|
||||||
<p>
|
<p>{VideoPageData.description}</p>
|
||||||
{VideoPageData.description}
|
|
||||||
</p>
|
|
||||||
<img loading="lazy" src={VideoPageData.mainImage} alt="" />
|
<img loading="lazy" src={VideoPageData.mainImage} alt="" />
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
{Object.entries(VideoPageData.Data).map((item, index) => (
|
{Object.entries(VideoPageData.Data).map((item, index) => (
|
||||||
<article key={index}>
|
<article key={index}>
|
||||||
<img loading="lazy" src={`/Video/${item[1].img}.png`} alt={`${index}`} />
|
<img
|
||||||
|
loading="lazy"
|
||||||
|
src={`/Video/${item[1].img}.png`}
|
||||||
|
alt={`${index}`}
|
||||||
|
/>
|
||||||
|
|
||||||
<h4>{item[1].number}</h4>
|
<h4>{item[1].number}</h4>
|
||||||
<p>{item[1].title}</p>
|
<p>{item[1].title}</p>
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
))}
|
))}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;700&display=swap');
|
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;700&display=swap');
|
||||||
|
|
||||||
|
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
|
|
@ -68,19 +66,18 @@ input:-webkit-autofill:active {
|
||||||
box-shadow: inset 0 0 20px 20px #23232329;
|
box-shadow: inset 0 0 20px 20px #23232329;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
button {
|
button {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
&:hover {
|
&:hover {
|
||||||
scale: 1.02;
|
scale: 1.02;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
svg,
|
||||||
svg,.scale{
|
.scale {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
&:hover {
|
&:hover {
|
||||||
scale: 1.1;
|
scale: 1.1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,7 @@
|
||||||
--placeholder: rgb(0, 0, 0, 0.3);
|
--placeholder: rgb(0, 0, 0, 0.3);
|
||||||
--bg: rgb(245 247 251);
|
--bg: rgb(245 247 251);
|
||||||
--bg2: white;
|
--bg2: white;
|
||||||
--gradient : linear-gradient(45deg, #55B9E3, #5262E3);
|
--gradient: linear-gradient(45deg, #55b9e3, #5262e3);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:root:has(.dark) {
|
:root:has(.dark) {
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,6 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.spinner {
|
.spinner {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,9 @@
|
||||||
color: white;
|
color: white;
|
||||||
z-index: 9999999999;
|
z-index: 9999999999;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
transition: transform 1s cubic-bezier(.25,1,.5,1), visibility 1ms linear 1s;
|
transition:
|
||||||
|
transform 1s cubic-bezier(0.25, 1, 0.5, 1),
|
||||||
|
visibility 1ms linear 1s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Logo {
|
.Logo {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
img {
|
img {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
|
|
||||||
}
|
}
|
||||||
> div {
|
> div {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -26,7 +25,6 @@
|
||||||
border: 1px solid var(--white);
|
border: 1px solid var(--white);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
@ -86,13 +84,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
|
|
||||||
.Footer {
|
.Footer {
|
||||||
background: var(--primary);
|
background: var(--primary);
|
||||||
height: 330px;
|
height: 330px;
|
||||||
|
|
@ -108,7 +102,6 @@
|
||||||
padding-bottom: 30px;
|
padding-bottom: 30px;
|
||||||
img {
|
img {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
|
|
||||||
}
|
}
|
||||||
> div {
|
> div {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -122,7 +115,6 @@
|
||||||
border: 1px solid var(--white);
|
border: 1px solid var(--white);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
@ -183,8 +175,5 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -11,6 +11,3 @@
|
||||||
// z-index: 1000;
|
// z-index: 1000;
|
||||||
// background: black;
|
// background: black;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,20 +9,19 @@
|
||||||
width: calc(100% - 100px);
|
width: calc(100% - 100px);
|
||||||
z-index: 999999999;
|
z-index: 999999999;
|
||||||
font-size: max(20px, 1.5vw);
|
font-size: max(20px, 1.5vw);
|
||||||
img,svg{
|
img,
|
||||||
|
svg {
|
||||||
width: 60px;
|
width: 60px;
|
||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
}
|
}
|
||||||
> ul {
|
> ul {
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
li {
|
li {
|
||||||
all: unset;
|
all: unset;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
&:hover {
|
&:hover {
|
||||||
scale: 1.1;
|
scale: 1.1;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -32,15 +31,14 @@
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: var(--white) !important;
|
color: var(--white) !important;
|
||||||
opacity: .6;
|
opacity: 0.6;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: var(--secondary) !important;
|
color: var(--secondary) !important;
|
||||||
scale: 1.1;
|
scale: 1.1;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.activeLink {
|
.activeLink {
|
||||||
|
|
@ -59,21 +57,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
.NavBar {
|
.NavBar {
|
||||||
|
|
||||||
.NavBarLinks {
|
.NavBarLinks {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
|
|
||||||
}
|
}
|
||||||
> div {
|
> div {
|
||||||
display: flex;
|
display: flex;
|
||||||
article {
|
article {
|
||||||
&:nth-child(2) {
|
&:nth-child(2) {
|
||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -101,11 +94,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.ant-popover,.ant-popover-inner{
|
.ant-popover,
|
||||||
|
.ant-popover-inner {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
margin-inline: 30px;
|
margin-inline: 30px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -21,5 +21,3 @@
|
||||||
transition: top 1s ease-in-out;
|
transition: top 1s ease-in-out;
|
||||||
top: 100%;
|
top: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@import './FirstLoading.scss';
|
@import './FirstLoading.scss';
|
||||||
@import './Layout.scss';
|
@import './Layout.scss';
|
||||||
@import "./PageTransition.scss";
|
@import './PageTransition.scss';
|
||||||
@import './NavBar.scss';
|
@import './NavBar.scss';
|
||||||
@import './Footer.scss';
|
@import './Footer.scss';
|
||||||
@import './BackToTop.scss';
|
@import './BackToTop.scss';
|
||||||
|
|
@ -22,13 +22,11 @@
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
.ant-input {
|
.ant-input {
|
||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.TextAreaField {
|
.TextAreaField {
|
||||||
min-width: 97%;
|
min-width: 97%;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
all: unset;
|
all: unset;
|
||||||
|
|
@ -42,7 +40,7 @@
|
||||||
// background-image: linear-gradient(45deg, #55B9E3, #5262E3);
|
// background-image: linear-gradient(45deg, #55B9E3, #5262E3);
|
||||||
background: var(--thirdly);
|
background: var(--thirdly);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
&:hover {
|
&:hover {
|
||||||
scale: 1.1;
|
scale: 1.1;
|
||||||
}
|
}
|
||||||
|
|
@ -74,7 +72,6 @@
|
||||||
img {
|
img {
|
||||||
width: 18px;
|
width: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
@ -85,7 +82,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
.ContactPage {
|
.ContactPage {
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
|
|
@ -110,13 +106,11 @@
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
.ant-input {
|
.ant-input {
|
||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.TextAreaField {
|
.TextAreaField {
|
||||||
min-width: 100%;
|
min-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
all: unset;
|
all: unset;
|
||||||
|
|
@ -156,7 +150,6 @@
|
||||||
img {
|
img {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
@ -166,5 +159,4 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
color: var(--white);
|
color: var(--white);
|
||||||
font-size: max(4vw, 50px);
|
font-size: max(4vw, 50px);
|
||||||
|
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
color: var(--white);
|
color: var(--white);
|
||||||
|
|
@ -35,7 +34,7 @@
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
button {
|
button {
|
||||||
all: unset;
|
all: unset;
|
||||||
padding: max(.5vw,8px) max(1.5vw,30px);
|
padding: max(0.5vw, 8px) max(1.5vw, 30px);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
|
|
@ -43,7 +42,7 @@
|
||||||
border: 1px solid var(--white);
|
border: 1px solid var(--white);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
padding-block: 10px;
|
padding-block: 10px;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: var(--thirdly);
|
background: var(--thirdly);
|
||||||
|
|
@ -64,8 +63,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
> div {
|
> div {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -82,9 +79,7 @@
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, 0%);
|
transform: translate(-50%, 0%);
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.main {
|
.main {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -93,9 +88,7 @@
|
||||||
width: 80%;
|
width: 80%;
|
||||||
object-fit: contain;
|
object-fit: contain;
|
||||||
margin-inline: auto;
|
margin-inline: auto;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
|
|
@ -124,7 +117,6 @@
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
color: var(--white);
|
color: var(--white);
|
||||||
font-size: 6vw;
|
font-size: 6vw;
|
||||||
|
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
color: var(--white);
|
color: var(--white);
|
||||||
|
|
@ -136,7 +128,7 @@
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
button {
|
button {
|
||||||
all: unset;
|
all: unset;
|
||||||
padding: max(.5vw,8px) max(1.5vw,30px);
|
padding: max(0.5vw, 8px) max(1.5vw, 30px);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
|
|
@ -156,8 +148,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
> div {
|
> div {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -174,9 +164,7 @@
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, 0%);
|
transform: translate(-50%, 0%);
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.main {
|
.main {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -185,9 +173,6 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
object-fit: contain;
|
object-fit: contain;
|
||||||
margin-inline: auto;
|
margin-inline: auto;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -49,14 +49,12 @@
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: max(.8vw,16px);
|
font-size: max(0.8vw, 16px);
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,7 +91,9 @@
|
||||||
width: 300px;
|
width: 300px;
|
||||||
}
|
}
|
||||||
> span {
|
> span {
|
||||||
display: flex;align-items: center;justify-content: center;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
max-width: 90%;
|
max-width: 90%;
|
||||||
|
|
@ -118,13 +118,10 @@
|
||||||
p {
|
p {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: max(1vw, 14px);
|
font-size: max(1vw, 14px);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
button {
|
button {
|
||||||
all: unset;
|
all: unset;
|
||||||
padding: max(.5vw,8px) max(1.5vw,30px);
|
padding: max(0.5vw, 8px) max(1.5vw, 30px);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
border: 1px solid var(--white);
|
border: 1px solid var(--white);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
padding-block: 10px;
|
padding-block: 10px;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: var(--thirdly);
|
background: var(--thirdly);
|
||||||
|
|
@ -65,8 +65,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.shape {
|
.shape {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -76,8 +74,6 @@
|
||||||
min-height: 60vh;
|
min-height: 60vh;
|
||||||
|
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.circle {
|
.circle {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -85,8 +81,6 @@
|
||||||
top: 73%;
|
top: 73%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.slider {
|
.slider {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -95,13 +89,8 @@
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
.HomePage {
|
.HomePage {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
|
@ -145,7 +134,7 @@
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
button {
|
button {
|
||||||
all: unset;
|
all: unset;
|
||||||
padding: max(.5vw,8px) max(1.5vw,20px);
|
padding: max(0.5vw, 8px) max(1.5vw, 20px);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: max(1vw, 10px);
|
gap: max(1vw, 10px);
|
||||||
|
|
@ -153,7 +142,7 @@
|
||||||
border: 1px solid var(--white);
|
border: 1px solid var(--white);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: .5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
padding-block: 8px;
|
padding-block: 8px;
|
||||||
// width: 90% !important;
|
// width: 90% !important;
|
||||||
&:hover {
|
&:hover {
|
||||||
|
|
@ -177,33 +166,22 @@
|
||||||
}
|
}
|
||||||
svg {
|
svg {
|
||||||
font-size: max(20px, 1.3vw);
|
font-size: max(20px, 1.3vw);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.shape {
|
.shape {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
||||||
}
|
}
|
||||||
.circle {
|
.circle {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 800px;
|
width: 800px;
|
||||||
top: 500px;
|
top: 500px;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.slider {
|
.slider {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 600px;
|
width: 600px;
|
||||||
top: 600px;
|
top: 600px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -60,13 +60,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
|
|
||||||
.HowItWork {
|
.HowItWork {
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -100,7 +97,6 @@
|
||||||
> img {
|
> img {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
order: 0;
|
order: 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
> span {
|
> span {
|
||||||
order: 2;
|
order: 2;
|
||||||
|
|
@ -133,13 +129,10 @@
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: max(1vw, 14px);
|
font-size: max(1vw, 14px);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -58,7 +58,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
|
|
||||||
.NotePage {
|
.NotePage {
|
||||||
background: var(--bg2);
|
background: var(--bg2);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -117,6 +116,4 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -30,8 +30,6 @@
|
||||||
width: 250px;
|
width: 250px;
|
||||||
margin-inline: auto;
|
margin-inline: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,10 +40,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
|
|
||||||
.ScreenShoot {
|
.ScreenShoot {
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -79,8 +74,6 @@
|
||||||
width: 280px;
|
width: 280px;
|
||||||
margin-inline: auto;
|
margin-inline: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -90,6 +83,4 @@
|
||||||
.swiper-slide {
|
.swiper-slide {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -10,13 +10,10 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
> img {
|
> img {
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
main {
|
main {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 30%;
|
top: 30%;
|
||||||
|
|
@ -62,9 +59,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
|
|
||||||
.VideoPage {
|
.VideoPage {
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -77,14 +72,11 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
> img {
|
> img {
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 600px;
|
height: 600px;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
main {
|
main {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 30%;
|
top: 30%;
|
||||||
|
|
@ -141,10 +133,7 @@
|
||||||
p {
|
p {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
@import './ScreenShoot.scss';
|
@import './ScreenShoot.scss';
|
||||||
@import './NotePage.scss';
|
@import './NotePage.scss';
|
||||||
@import './DownloadPage.scss';
|
@import './DownloadPage.scss';
|
||||||
@import './ContactPage.scss'
|
@import './ContactPage.scss';
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,3 @@
|
||||||
import Logo from '../assets/core/logo.svg'
|
import Logo from '../assets/core/logo.svg';
|
||||||
|
|
||||||
|
export { Logo };
|
||||||
export {
|
|
||||||
Logo
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user