Merge branch 'main' of https://git.vnfco.ir/Brizco/web
commit
3b17de2f17
|
@ -78,7 +78,7 @@ const LoginStep = (props) => {
|
|||
onClick={(e) => setRoleCheckBox(e.target.checked)}
|
||||
/>
|
||||
</div>
|
||||
<p className={`mb-0 text-textMain-100 mt-1 text-right text-sm `}>
|
||||
<p className={`mb-0 text-white mt-1 text-right text-sm `}>
|
||||
با تایید شماره تلفن با همه شرایط حریم خصوص اپلیکیشن بریز موافقت می کنم
|
||||
.
|
||||
</p>
|
||||
|
|
|
@ -73,8 +73,8 @@ const SignUp = (props) => {
|
|||
};
|
||||
|
||||
return (
|
||||
<div className="px-5 mt-6">
|
||||
<p className="mb-0 text-textMain-100 mt-1 text-right text-sm ">
|
||||
<div className="px-5 pt-6">
|
||||
<p className="mb-0 text-white mt-1 text-right text-sm ">
|
||||
برای ورود یا ثبت نام به اپلیکیشن مدیریت وظایف رستوران باید شماره تلفن
|
||||
همراه خود را وارد کنید
|
||||
</p>
|
||||
|
|
|
@ -24,7 +24,7 @@ const VerifyCodeStep = () => {
|
|||
|
||||
return (
|
||||
<div className="px-5 mt-6">
|
||||
<p className="mb-0 text-textMain-100 mt-1 text-right text-sm">
|
||||
<p className="mb-0 text-white mt-1 text-right text-sm">
|
||||
{" "}
|
||||
کد تایید برای شماره
|
||||
<strong className="mx-1">
|
||||
|
|
|
@ -6,16 +6,16 @@ import Link from "next/link";
|
|||
const Footer = () => {
|
||||
return (
|
||||
<div className="bg-hero-pattern-footer ">
|
||||
<div className="w-7/12 mx-auto py-20">
|
||||
<div className="lg:w-7/12 xs:w-full mx-auto py-20">
|
||||
<div className="flex justify-center">
|
||||
<div className="flex"></div>
|
||||
|
||||
<div className="text-center w-full">
|
||||
<p className="mb-0 text-white text-center mt-10 font-bold lg:text-[70px] xs:text-[30px] lg:leading-[60px] w-fit">
|
||||
<p className="mb-0 text-white text-center xs:mt-0 lg:mt-10 font-bold lg:text-[70px] xs:text-[25px] lg:leading-[60px] lg:w-fit xs:w-full">
|
||||
<small className="text-primary-300">"</small>
|
||||
Briz, Harmonious routine
|
||||
</p>
|
||||
<p className=" text-white text-center mb-10 font-bold lg:text-[70px] xs:text-[30px] lg:leading-[60px] w-fit">
|
||||
<p className="mb-0 text-white text-center font-bold lg:text-[70px] xs:text-[25px] lg:leading-[60px] lg:w-fit xs:w-full">
|
||||
management
|
||||
<small className=" text-primary-300">"</small>
|
||||
</p>
|
||||
|
|
|
@ -29,7 +29,9 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setOneMonth(0)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 10 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 10 user
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
className={`bg-[#132420] p-4 rounded-l-3xl mt-3 cursor-pointer tr03 ${
|
||||
|
@ -37,7 +39,9 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setOneMonth(1)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 25 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 25 user
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div
|
||||
|
@ -46,16 +50,18 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setOneMonth(2)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 50 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 50 user
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-8/12 bg-[#132420] p-10 rounded-r-3xl rounded-bl-3xl">
|
||||
<h2 className="mb-0 text-center font-bold text-[25px] text-gray-400">
|
||||
<div className="w-8/12 bg-[#132420] xs:p-5 lg:p-10 rounded-r-3xl rounded-bl-3xl">
|
||||
<h2 className="mb-0 text-center font-bold xs:text-[18px] lg:text-[25px] text-gray-400">
|
||||
1 Mounth
|
||||
</h2>
|
||||
|
||||
<p className="mb-0 text-center text-white text-[33px] font-bold">
|
||||
<p className="mb-0 text-center text-white xs:text-[25px] lg:text-[33px] font-bold">
|
||||
{oneMonth == 0
|
||||
? " 15,000,000 R"
|
||||
: oneMonth == 1
|
||||
|
@ -86,7 +92,9 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setThreeMonth(0)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 10 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 10 user
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
className={`bg-[#132420] p-4 rounded-l-3xl mt-3 cursor-pointer tr03 ${
|
||||
|
@ -94,7 +102,9 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setThreeMonth(1)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 25 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 25 user
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div
|
||||
|
@ -103,16 +113,18 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setThreeMonth(2)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 50 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 50 user
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-8/12 bg-[#132420] p-10 rounded-r-3xl rounded-bl-3xl">
|
||||
<h2 className="mb-0 text-center font-bold text-[25px] text-gray-400">
|
||||
<div className="w-8/12 bg-[#132420] xs:p-5 lg:p-10 rounded-r-3xl rounded-bl-3xl">
|
||||
<h2 className="mb-0 text-center font-bold xs:text-[18px] lg:text-[25px] text-gray-400">
|
||||
3 Mounth
|
||||
</h2>
|
||||
|
||||
<p className="mb-0 text-center text-white text-[33px] font-bold">
|
||||
<p className="mb-0 text-center text-white xs:text-[25px] lg:text-[33px] font-bold">
|
||||
{threeMonth == 0
|
||||
? " 36,000,000 R"
|
||||
: threeMonth == 1
|
||||
|
@ -143,7 +155,9 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setOneYear(0)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 10 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 10 user
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
className={`bg-[#132420] p-4 rounded-l-3xl mt-3 cursor-pointer tr03 ${
|
||||
|
@ -151,7 +165,9 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setOneYear(1)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 25 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 25 user
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div
|
||||
|
@ -160,16 +176,18 @@ const PricingHero = () => {
|
|||
} `}
|
||||
onClick={() => setOneYear(2)}
|
||||
>
|
||||
<p className="mb-0 text-center text-white text-xl">up 50 user</p>
|
||||
<p className="mb-0 text-center text-white xs:text-sm lg:text-xl">
|
||||
up 50 user
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-8/12 bg-[#132420] p-10 rounded-r-3xl rounded-bl-3xl">
|
||||
<h2 className="mb-0 text-center font-bold text-[25px] text-gray-400">
|
||||
<div className="w-8/12 bg-[#132420] xs:p-5 lg:p-10 rounded-r-3xl rounded-bl-3xl">
|
||||
<h2 className="mb-0 text-center font-bold xs:text-[18px] lg:text-[25px] text-gray-400">
|
||||
12 Mounth
|
||||
</h2>
|
||||
|
||||
<p className="mb-0 text-center text-white text-[33px] font-bold">
|
||||
<p className="mb-0 text-center text-white xs:text-[25px] lg:text-[33px] font-bold">
|
||||
{oneYear == 0
|
||||
? " 108,000,000 R"
|
||||
: oneYear == 1
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
self.fallback=async e=>{let{destination:a,url:n}=e,o={document:"/offline",image:!1,audio:!1,video:!1,font:!1}[a];return o?caches.match(o,{ignoreSearch:!0}):Response.error()};
|
|
@ -0,0 +1,102 @@
|
|||
/*
|
||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||||
* This devtool is neither made for production nor for readable output files.
|
||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||||
* or disable the default devtool with "devtool: false".
|
||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||||
*/
|
||||
/******/ (function() { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
/******/ var __webpack_modules__ = ({
|
||||
|
||||
/***/ "./node_modules/@ducanh2912/next-pwa/dist/fallback.js":
|
||||
/*!************************************************************!*\
|
||||
!*** ./node_modules/@ducanh2912/next-pwa/dist/fallback.js ***!
|
||||
\************************************************************/
|
||||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\nself.fallback = async (_)=>{\n let { destination: e, url: A } = _, s = {\n document: \"/offline\",\n image: false,\n audio: false,\n video: false,\n font: false\n }[e];\n return s ? caches.match(s, {\n ignoreSearch: !0\n }) : \"\" === e && false && 0 ? 0 : Response.error();\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGR1Y2FuaDI5MTIvbmV4dC1wd2EvZGlzdC9mYWxsYmFjay5qcyIsIm1hcHBpbmdzIjoiO0FBQUE7QUFDQSxVQUFVLHlCQUF5QjtBQUNuQyxrQkFBa0IsVUFBcUM7QUFDdkQsZUFBZSxLQUFrQztBQUNqRCxlQUFlLEtBQWtDO0FBQ2pELGVBQWUsS0FBa0M7QUFDakQsY0FBYyxLQUFpQztBQUMvQyxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUssZ0JBQWdCLEtBQWlDLElBQUksQ0FBd0MsR0FBRyxDQUUvRjtBQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9AZHVjYW5oMjkxMi9uZXh0LXB3YS9kaXN0L2ZhbGxiYWNrLmpzP2NlNGIiXSwic291cmNlc0NvbnRlbnQiOlsic2VsZi5mYWxsYmFjayA9IGFzeW5jIChfKT0+e1xuICAgIGxldCB7IGRlc3RpbmF0aW9uOiBlLCB1cmw6IEEgfSA9IF8sIHMgPSB7XG4gICAgICAgIGRvY3VtZW50OiBwcm9jZXNzLmVudi5fX1BXQV9GQUxMQkFDS19ET0NVTUVOVF9fLFxuICAgICAgICBpbWFnZTogcHJvY2Vzcy5lbnYuX19QV0FfRkFMTEJBQ0tfSU1BR0VfXyxcbiAgICAgICAgYXVkaW86IHByb2Nlc3MuZW52Ll9fUFdBX0ZBTExCQUNLX0FVRElPX18sXG4gICAgICAgIHZpZGVvOiBwcm9jZXNzLmVudi5fX1BXQV9GQUxMQkFDS19WSURFT19fLFxuICAgICAgICBmb250OiBwcm9jZXNzLmVudi5fX1BXQV9GQUxMQkFDS19GT05UX19cbiAgICB9W2VdO1xuICAgIHJldHVybiBzID8gY2FjaGVzLm1hdGNoKHMsIHtcbiAgICAgICAgaWdub3JlU2VhcmNoOiAhMFxuICAgIH0pIDogXCJcIiA9PT0gZSAmJiBwcm9jZXNzLmVudi5fX1BXQV9GQUxMQkFDS19EQVRBX18gJiYgQS5tYXRjaCgvXFwvX25leHRcXC9kYXRhXFwvLitcXC8uK1xcLmpzb24kL2kpID8gY2FjaGVzLm1hdGNoKHByb2Nlc3MuZW52Ll9fUFdBX0ZBTExCQUNLX0RBVEFfXywge1xuICAgICAgICBpZ25vcmVTZWFyY2g6ICEwXG4gICAgfSkgOiBSZXNwb25zZS5lcnJvcigpO1xufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@ducanh2912/next-pwa/dist/fallback.js\n"));
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
/************************************************************************/
|
||||
/******/ // The require scope
|
||||
/******/ var __webpack_require__ = {};
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/make namespace object */
|
||||
/******/ !function() {
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/trusted types policy */
|
||||
/******/ !function() {
|
||||
/******/ var policy;
|
||||
/******/ __webpack_require__.tt = function() {
|
||||
/******/ // Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.
|
||||
/******/ if (policy === undefined) {
|
||||
/******/ policy = {
|
||||
/******/ createScript: function(script) { return script; }
|
||||
/******/ };
|
||||
/******/ if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) {
|
||||
/******/ policy = trustedTypes.createPolicy("nextjs#bundler", policy);
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ return policy;
|
||||
/******/ };
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/trusted types script */
|
||||
/******/ !function() {
|
||||
/******/ __webpack_require__.ts = function(script) { return __webpack_require__.tt().createScript(script); };
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/react refresh */
|
||||
/******/ !function() {
|
||||
/******/ if (__webpack_require__.i) {
|
||||
/******/ __webpack_require__.i.push(function(options) {
|
||||
/******/ var originalFactory = options.factory;
|
||||
/******/ options.factory = function(moduleObject, moduleExports, webpackRequire) {
|
||||
/******/ var hasRefresh = typeof self !== "undefined" && !!self.$RefreshInterceptModuleExecution$;
|
||||
/******/ var cleanup = hasRefresh ? self.$RefreshInterceptModuleExecution$(moduleObject.id) : function() {};
|
||||
/******/ try {
|
||||
/******/ originalFactory.call(this, moduleObject, moduleExports, webpackRequire);
|
||||
/******/ } finally {
|
||||
/******/ cleanup();
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ })
|
||||
/******/ }
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/compat */
|
||||
/******/
|
||||
/******/
|
||||
/******/ // noop fns to prevent runtime errors during initialization
|
||||
/******/ if (typeof self !== "undefined") {
|
||||
/******/ self.$RefreshReg$ = function () {};
|
||||
/******/ self.$RefreshSig$ = function () {
|
||||
/******/ return function (type) {
|
||||
/******/ return type;
|
||||
/******/ };
|
||||
/******/ };
|
||||
/******/ }
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/
|
||||
/******/ // startup
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ // This entry module can't be inlined because the eval-source-map devtool is used.
|
||||
/******/ var __webpack_exports__ = {};
|
||||
/******/ __webpack_modules__["./node_modules/@ducanh2912/next-pwa/dist/fallback.js"](0, __webpack_exports__, __webpack_require__);
|
||||
/******/
|
||||
/******/ })()
|
||||
;
|
116
public/sw.js
116
public/sw.js
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
self.onmessage=async e=>{switch(e.data.type){case"__START_URL_CACHE__":{let t=e.data.url,a=await fetch(t);if(!a.redirected)return(await caches.open("start-url")).put(t,a);return Promise.resolve()}case"__FRONTEND_NAV_CACHE__":{let t=e.data.url,a=await caches.open("pages");if(await a.match(t,{ignoreSearch:!0}))return;let s=await fetch(t);if(!s.ok)return;if(a.put(t,s.clone()),e.data.shouldCacheAggressively&&s.headers.get("Content-Type")?.includes("text/html"))try{let e=await s.text(),t=[],a=await caches.open("static-style-assets"),r=await caches.open("next-static-js-assets"),c=await caches.open("static-js-assets");for(let[s,r]of e.matchAll(/<link.*?href=['"](.*?)['"].*?>/g))/rel=['"]stylesheet['"]/.test(s)&&t.push(a.match(r).then(e=>e?Promise.resolve():a.add(r)));for(let[,a]of e.matchAll(/<script.*?src=['"](.*?)['"].*?>/g)){let e=/\/_next\/static.+\.js$/i.test(a)?r:c;t.push(e.match(a).then(t=>t?Promise.resolve():e.add(a)))}return await Promise.all(t)}catch{}return Promise.resolve()}default:return Promise.resolve()}};
|
|
@ -0,0 +1,102 @@
|
|||
/*
|
||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||||
* This devtool is neither made for production nor for readable output files.
|
||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||||
* or disable the default devtool with "devtool: false".
|
||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||||
*/
|
||||
/******/ (function() { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
/******/ var __webpack_modules__ = ({
|
||||
|
||||
/***/ "./node_modules/@ducanh2912/next-pwa/dist/sw-entry-worker.js":
|
||||
/*!*******************************************************************!*\
|
||||
!*** ./node_modules/@ducanh2912/next-pwa/dist/sw-entry-worker.js ***!
|
||||
\*******************************************************************/
|
||||
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\nself.onmessage = async (e)=>{\n switch(e.data.type){\n case \"__START_URL_CACHE__\":\n {\n let t = e.data.url, a = await fetch(t);\n if (!a.redirected) return (await caches.open(\"start-url\")).put(t, a);\n return Promise.resolve();\n }\n case \"__FRONTEND_NAV_CACHE__\":\n {\n let t = e.data.url, a = await caches.open(\"pages\");\n if (await a.match(t, {\n ignoreSearch: !0\n })) return;\n let s = await fetch(t);\n if (!s.ok) return;\n if (a.put(t, s.clone()), e.data.shouldCacheAggressively && s.headers.get(\"Content-Type\")?.includes(\"text/html\")) try {\n let e = await s.text(), t = [], a = await caches.open(\"static-style-assets\"), r = await caches.open(\"next-static-js-assets\"), c = await caches.open(\"static-js-assets\");\n for (let [s, r] of e.matchAll(/<link.*?href=['\"](.*?)['\"].*?>/g))/rel=['\"]stylesheet['\"]/.test(s) && t.push(a.match(r).then((e)=>e ? Promise.resolve() : a.add(r)));\n for (let [, a] of e.matchAll(/<script.*?src=['\"](.*?)['\"].*?>/g)){\n let e = /\\/_next\\/static.+\\.js$/i.test(a) ? r : c;\n t.push(e.match(a).then((t)=>t ? Promise.resolve() : e.add(a)));\n }\n return await Promise.all(t);\n } catch {}\n return Promise.resolve();\n }\n default:\n return Promise.resolve();\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGR1Y2FuaDI5MTIvbmV4dC1wd2EvZGlzdC9zdy1lbnRyeS13b3JrZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvQGR1Y2FuaDI5MTIvbmV4dC1wd2EvZGlzdC9zdy1lbnRyeS13b3JrZXIuanM/NmM4NCJdLCJzb3VyY2VzQ29udGVudCI6WyJzZWxmLm9ubWVzc2FnZSA9IGFzeW5jIChlKT0+e1xuICAgIHN3aXRjaChlLmRhdGEudHlwZSl7XG4gICAgICAgIGNhc2UgXCJfX1NUQVJUX1VSTF9DQUNIRV9fXCI6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGV0IHQgPSBlLmRhdGEudXJsLCBhID0gYXdhaXQgZmV0Y2godCk7XG4gICAgICAgICAgICAgICAgaWYgKCFhLnJlZGlyZWN0ZWQpIHJldHVybiAoYXdhaXQgY2FjaGVzLm9wZW4oXCJzdGFydC11cmxcIikpLnB1dCh0LCBhKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJfX0ZST05URU5EX05BVl9DQUNIRV9fXCI6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGV0IHQgPSBlLmRhdGEudXJsLCBhID0gYXdhaXQgY2FjaGVzLm9wZW4oXCJwYWdlc1wiKTtcbiAgICAgICAgICAgICAgICBpZiAoYXdhaXQgYS5tYXRjaCh0LCB7XG4gICAgICAgICAgICAgICAgICAgIGlnbm9yZVNlYXJjaDogITBcbiAgICAgICAgICAgICAgICB9KSkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGxldCBzID0gYXdhaXQgZmV0Y2godCk7XG4gICAgICAgICAgICAgICAgaWYgKCFzLm9rKSByZXR1cm47XG4gICAgICAgICAgICAgICAgaWYgKGEucHV0KHQsIHMuY2xvbmUoKSksIGUuZGF0YS5zaG91bGRDYWNoZUFnZ3Jlc3NpdmVseSAmJiBzLmhlYWRlcnMuZ2V0KFwiQ29udGVudC1UeXBlXCIpPy5pbmNsdWRlcyhcInRleHQvaHRtbFwiKSkgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSBhd2FpdCBzLnRleHQoKSwgdCA9IFtdLCBhID0gYXdhaXQgY2FjaGVzLm9wZW4oXCJzdGF0aWMtc3R5bGUtYXNzZXRzXCIpLCByID0gYXdhaXQgY2FjaGVzLm9wZW4oXCJuZXh0LXN0YXRpYy1qcy1hc3NldHNcIiksIGMgPSBhd2FpdCBjYWNoZXMub3BlbihcInN0YXRpYy1qcy1hc3NldHNcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IFtzLCByXSBvZiBlLm1hdGNoQWxsKC88bGluay4qP2hyZWY9WydcIl0oLio/KVsnXCJdLio/Pi9nKSkvcmVsPVsnXCJdc3R5bGVzaGVldFsnXCJdLy50ZXN0KHMpICYmIHQucHVzaChhLm1hdGNoKHIpLnRoZW4oKGUpPT5lID8gUHJvbWlzZS5yZXNvbHZlKCkgOiBhLmFkZChyKSkpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBbLCBhXSBvZiBlLm1hdGNoQWxsKC88c2NyaXB0Lio/c3JjPVsnXCJdKC4qPylbJ1wiXS4qPz4vZykpe1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSAvXFwvX25leHRcXC9zdGF0aWMuK1xcLmpzJC9pLnRlc3QoYSkgPyByIDogYztcbiAgICAgICAgICAgICAgICAgICAgICAgIHQucHVzaChlLm1hdGNoKGEpLnRoZW4oKHQpPT50ID8gUHJvbWlzZS5yZXNvbHZlKCkgOiBlLmFkZChhKSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbCh0KTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoICB7fVxuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@ducanh2912/next-pwa/dist/sw-entry-worker.js\n"));
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
/************************************************************************/
|
||||
/******/ // The require scope
|
||||
/******/ var __webpack_require__ = {};
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/make namespace object */
|
||||
/******/ !function() {
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/trusted types policy */
|
||||
/******/ !function() {
|
||||
/******/ var policy;
|
||||
/******/ __webpack_require__.tt = function() {
|
||||
/******/ // Create Trusted Type policy if Trusted Types are available and the policy doesn't exist yet.
|
||||
/******/ if (policy === undefined) {
|
||||
/******/ policy = {
|
||||
/******/ createScript: function(script) { return script; }
|
||||
/******/ };
|
||||
/******/ if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) {
|
||||
/******/ policy = trustedTypes.createPolicy("nextjs#bundler", policy);
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ return policy;
|
||||
/******/ };
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/trusted types script */
|
||||
/******/ !function() {
|
||||
/******/ __webpack_require__.ts = function(script) { return __webpack_require__.tt().createScript(script); };
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/react refresh */
|
||||
/******/ !function() {
|
||||
/******/ if (__webpack_require__.i) {
|
||||
/******/ __webpack_require__.i.push(function(options) {
|
||||
/******/ var originalFactory = options.factory;
|
||||
/******/ options.factory = function(moduleObject, moduleExports, webpackRequire) {
|
||||
/******/ var hasRefresh = typeof self !== "undefined" && !!self.$RefreshInterceptModuleExecution$;
|
||||
/******/ var cleanup = hasRefresh ? self.$RefreshInterceptModuleExecution$(moduleObject.id) : function() {};
|
||||
/******/ try {
|
||||
/******/ originalFactory.call(this, moduleObject, moduleExports, webpackRequire);
|
||||
/******/ } finally {
|
||||
/******/ cleanup();
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ })
|
||||
/******/ }
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/compat */
|
||||
/******/
|
||||
/******/
|
||||
/******/ // noop fns to prevent runtime errors during initialization
|
||||
/******/ if (typeof self !== "undefined") {
|
||||
/******/ self.$RefreshReg$ = function () {};
|
||||
/******/ self.$RefreshSig$ = function () {
|
||||
/******/ return function (type) {
|
||||
/******/ return type;
|
||||
/******/ };
|
||||
/******/ };
|
||||
/******/ }
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/
|
||||
/******/ // startup
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ // This entry module can't be inlined because the eval-source-map devtool is used.
|
||||
/******/ var __webpack_exports__ = {};
|
||||
/******/ __webpack_modules__["./node_modules/@ducanh2912/next-pwa/dist/sw-entry-worker.js"](0, __webpack_exports__, __webpack_require__);
|
||||
/******/
|
||||
/******/ })()
|
||||
;
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -11,6 +11,7 @@ import AppContext from "@ctx/AppContext";
|
|||
import Chapar from "plugins/Chapar";
|
||||
import { toast } from "react-toastify";
|
||||
import CoffeeBrewChart from "plugins/Charts/CoffeeBrewChart";
|
||||
import NothingFound from "plugins/NothingFound/page";
|
||||
|
||||
const page = () => {
|
||||
const router = useRouter();
|
||||
|
@ -192,52 +193,61 @@ const page = () => {
|
|||
buttonEvent={() => CreateBrew()}
|
||||
/>
|
||||
</div>
|
||||
<h3 className="text-right px-3 pb-1 font-medium mt-7 text-sm">
|
||||
تاریخچه ادجاست ها
|
||||
</h3>
|
||||
<div className="flex justify-between mt-4">
|
||||
<div className=" ">
|
||||
<div className=" p-3 rounded-2xl">
|
||||
<div className="w-5 p-1 rounded-full bg-[#4bc0c0]"></div>
|
||||
<div>
|
||||
<p className="mb-0 text-gray-400 text-[12px] mt-1 font-medium text-center">
|
||||
گرماژ قهوه{" "}
|
||||
</p>
|
||||
|
||||
{coffeeBrewData?.pastRecipes?.length > 0 ||
|
||||
coffeeBrewData?.currentRecipe?.logAt != "0001-01-01T00:00:00" ? (
|
||||
<>
|
||||
<h3 className="text-right px-3 pb-1 font-medium mt-7 text-sm">
|
||||
تاریخچه ادجاست ها
|
||||
</h3>
|
||||
<div className="flex justify-between mt-4">
|
||||
<div className=" ">
|
||||
<div className=" p-3 rounded-2xl">
|
||||
<div className="w-5 p-1 rounded-full bg-[#4bc0c0]"></div>
|
||||
<div>
|
||||
<p className="mb-0 text-gray-400 text-[12px] mt-1 font-medium text-center">
|
||||
گرماژ قهوه{" "}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-[2px] h-9 bg-primary-100 opacity-75 mt-4"></div>
|
||||
<div className="">
|
||||
<div className=" p-3 rounded-2xl">
|
||||
<div className="w-5 p-1 rounded-full bg-[#9966ff]"></div>
|
||||
|
||||
<div>
|
||||
<p className="mb-0 text-gray-400 text-[12px] mt-1 font-medium text-center">
|
||||
زمان عصاره گیری{" "}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-[2px] h-9 bg-primary-100 opacity-75 mt-4"></div>
|
||||
<div className=" ">
|
||||
<div className=" p-3 rounded-2xl">
|
||||
<div className="w-5 p-1 rounded-full bg-[#ff9f40]"></div>
|
||||
|
||||
<div>
|
||||
<p className="mb-0 text-gray-400 text-[12px] mt-1 font-medium text-center">
|
||||
گرماژ عصاره خروجی{" "}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-[2px] h-9 bg-primary-100 opacity-75 mt-4"></div>
|
||||
<div className="">
|
||||
<div className=" p-3 rounded-2xl">
|
||||
<div className="w-5 p-1 rounded-full bg-[#9966ff]"></div>
|
||||
|
||||
<div>
|
||||
<p className="mb-0 text-gray-400 text-[12px] mt-1 font-medium text-center">
|
||||
زمان عصاره گیری{" "}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="w-[2px] h-9 bg-primary-100 opacity-75 mt-4"></div>
|
||||
<div className=" ">
|
||||
<div className=" p-3 rounded-2xl">
|
||||
<div className="w-5 p-1 rounded-full bg-[#ff9f40]"></div>
|
||||
|
||||
<div>
|
||||
<p className="mb-0 text-gray-400 text-[12px] mt-1 font-medium text-center">
|
||||
گرماژ عصاره خروجی{" "}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<CoffeeBrewChart data={coffeeBrewData?.pastRecipes} />
|
||||
<CoffeeBrewCard data={coffeeBrewData?.currentRecipe} last />
|
||||
{coffeeBrewData?.pastRecipes?.map((e) => (
|
||||
<CoffeeBrewCard data={e} />
|
||||
))}
|
||||
<CoffeeBrewChart data={coffeeBrewData?.pastRecipes} />
|
||||
<CoffeeBrewCard data={coffeeBrewData?.currentRecipe} last />
|
||||
{coffeeBrewData?.pastRecipes?.map((e) => (
|
||||
<CoffeeBrewCard data={e} />
|
||||
))}
|
||||
</>
|
||||
) : (
|
||||
<NothingFound />
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
|
|
|
@ -14,6 +14,8 @@ const Login = (props) => {
|
|||
const stepLogin = CTX.state.stepLogin;
|
||||
const router = useRouter();
|
||||
|
||||
const [isLogoCentered, setIsLogoCentered] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
if (typeof window !== "undefined") {
|
||||
const item = localStorage.token;
|
||||
|
@ -21,10 +23,17 @@ const Login = (props) => {
|
|||
router.push("/app/home");
|
||||
}
|
||||
}
|
||||
|
||||
// Delay to move logo up after 2 seconds
|
||||
const timer = setTimeout(() => {
|
||||
setIsLogoCentered(false);
|
||||
}, 2000);
|
||||
|
||||
return () => clearTimeout(timer); // Clean up the timer on unmount
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div className="pb-5 ">
|
||||
<div className="pb-5 relative">
|
||||
<video
|
||||
autoPlay
|
||||
muted
|
||||
|
@ -32,30 +41,54 @@ const Login = (props) => {
|
|||
loop
|
||||
playsInline
|
||||
poster="/Images/video-section-1-poster.png"
|
||||
className="absolute left-0 top-0 right-0 w-screen -z-10 object-cover brightness-50 h-screen "
|
||||
className="absolute left-0 top-0 right-0 w-screen -z-10 object-cover h-screen"
|
||||
style={{ filter: "brightness(0.3)" }}
|
||||
>
|
||||
<source src={"/public/mp4/login.mp4"} type="video/mp4" />
|
||||
<source src={"/videos/login.mp4"} type="video/mp4" />
|
||||
</video>
|
||||
|
||||
<div className="flex rtl">
|
||||
<div className="w-[200px] mx-auto pt-10 ">
|
||||
<Image src={task} className="w-[100px] mx-auto rounded-2xl" />
|
||||
</div>
|
||||
<div className=" w-full text-right mt-7">
|
||||
<h2 className=" text-balck text-[50px] font-bold">بریز</h2>
|
||||
<p className="mb-0">"مدیرت هارمونیک روتین ها "</p>
|
||||
</div>
|
||||
</div>
|
||||
{/* Logo animation */}
|
||||
|
||||
{stepLogin == 0 ? (
|
||||
<LoginStep />
|
||||
) : stepLogin == 1 ? (
|
||||
<VerifyCodeStep />
|
||||
) : stepLogin == 2 ? (
|
||||
<SignUp />
|
||||
) : (
|
||||
""
|
||||
{stepLogin != 2 && (
|
||||
<div
|
||||
className={`flex flex-col items-center justify-center transition-all duration-1000 ease-in-out ${
|
||||
isLogoCentered ? "h-screen" : "h-[150px] pt-5"
|
||||
}`}
|
||||
>
|
||||
<div
|
||||
className={`transition-all duration-1000 ease-in-out ${
|
||||
isLogoCentered ? "mt-0" : "mt-[150px]"
|
||||
}`}
|
||||
>
|
||||
<Image src={task} className="w-[100px] mx-auto rounded-2xl" />
|
||||
</div>
|
||||
<div
|
||||
className={`text-center ${
|
||||
isLogoCentered ? "opacity-0" : "opacity-100"
|
||||
} transition-opacity duration-1000`}
|
||||
>
|
||||
<h2 className="text-white text-[50px] font-bold">بریز</h2>
|
||||
<p className="mb-0 text-white">"مدیرت هارمونیک روتین ها"</p>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Login steps show after the logo moves up */}
|
||||
<div
|
||||
className={`transition-opacity duration-1000 ${
|
||||
isLogoCentered ? "opacity-0" : "opacity-100"
|
||||
} ${stepLogin == 2 ? "mt-0" : "mt-[160px] "}`}
|
||||
>
|
||||
{stepLogin == 0 ? (
|
||||
<LoginStep />
|
||||
) : stepLogin == 1 ? (
|
||||
<VerifyCodeStep />
|
||||
) : stepLogin == 2 ? (
|
||||
<SignUp />
|
||||
) : (
|
||||
""
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue