{"version":3,"sources":["redux/settings/actions.ts","components/cleanui/layout/TopBar/style.module.scss","components/cleanui/layout/TopBar/Actions/style.module.scss","shared/hooks/useInterval.ts","shared/services/config/index.ts","redux/settings/sagas.ts","components/cleanui/layout/TopBar/UserMenu/style.module.scss","shared/components/codeove/Feedback/style.module.scss","components/cleanui/layout/Menu/style.module.scss","components/cleanui/layout/Menu/MenuLeft/style.module.scss","components/cleanui/layout/Menu/MenuTop/style.module.scss","components/kit/widgets/Lists/2/style.module.scss","redux/user/actions.ts","redux/user/reducers.ts","redux/menu/actions.ts","redux/menu/reducers.ts","redux/settings/reducers.ts","redux/reducers.ts","shared/services/jwt/index.ts","constants/menu.ts","redux/user/sagas.ts","redux/sagas.ts","locales/en-US.js","locales/fr-FR.js","locales/ru-RU.js","locales/zh-CN.js","locales/tr-TR.js","localization.js","layouts/Public/index.js","layouts/Auth/index.js","components/cleanui/layout/TopBar/FavPages/index.js","components/cleanui/layout/TopBar/UserMenu/index.js","shared/components/codeove/Feedback/index.tsx","components/cleanui/layout/TopBar/index.js","components/cleanui/layout/Menu/MenuLeft/index.js","components/cleanui/layout/Menu/MenuTop/index.js","components/cleanui/layout/Menu/index.js","layouts/index.js","layouts/Main/index.js","constants/routes.ts","router.js","serviceWorker.js","index.js","shared/services/axios/fakeApi/mock.ts","shared/services/axios/fakeApi/index.js","shared/services/axios/index.ts","layouts/Auth/style.module.scss","components/cleanui/layout/TopBar/FavPages/style.module.scss"],"names":["actions","SET_STATE","CHANGE_SETTING","SET_PRIMARY_COLOR","SET_THEME","module","exports","useInterval","callback","delay","savedCallback","useRef","useEffect","current","id","setInterval","clearInterval","config","appConfig","process","REACT_APP_ENV","SETUP","rootSaga","payload","setting","value","store","set","put","type","color","addStyles","styleElement","document","querySelector","remove","body","styleEl","createElement","css","createTextNode","setAttribute","appendChild","reduxStore","dispatch","theme","nextTheme","changeSettings","search","query","qs","parse","ignoreQueryPrefix","Object","keys","forEach","key","history","location","listen","params","primaryColor","get","initTheme","isMobileView","load","currentState","global","window","innerWidth","prevState","isMenuToggled","shouldToggle","addEventListener","all","takeEvery","LOGIN","REGISTER","LOAD_CURRENT_ACCOUNT","LOGOUT","initialState","email","maazaName","commercialTitle","slug","token","logo","introImage","point","about","confirmCode","confirm","status","roles","avatar","authorized","loading","role","userReducer","state","action","GET_DATA","menuData","menuReducer","authProvider","locale","isSidebarOpen","isSupportChatOpen","isMobileMenuOpen","isMenuCollapsed","menuLayoutType","routerAnimation","menuColor","authPagesColor","leftMenuWidth","isMenuUnfixed","isMenuShadow","isTopbarFixed","isGrayTopbar","isContentMaxWidth","isAppMaxWidth","isGrayBackground","isCardShadow","isSquaredBorders","isBorderless","settingsReducer","password","a","toLowerCase","apiClient","post","then","response","data","result","catch","err","name","console","log","userId","approvedMerchantMenu","category","title","icon","children","url","appealMerchantMenu","badgeType","mapAuthProviders","jwt","login","register","currentAccount","logout","select","settings","call","push","notification","success","message","description","internalMessage","model","user","localeAntd","messages","Image","preview","likelySubtags","currencyData","weekData","numbers","caGregorian","dateFields","timeZoneNames","moment","locales","english","french","russian","chinese","turkish","connect","currentLocale","withRouter","isRegisterPage","Content","className","classNames","style","container","cui__layout__squaredBorders","cui__layout__cardsShadow","cui__layout__borderless","white","gray","backgroundImage","topbar","logoContainer","href","src","alt","to","height","marginBottom","containerInnerFull","containerInner","injectIntl","menu","formatMessage","intl","useState","searchText","setSearchText","favs","setFavs","pagesList","setPagesList","flattenItems","items","reduce","flattenedItems","item","disabled","Array","isArray","itemsProcessed","map","child","concat","JSON","stringify","setFav","e","preventDefault","stopPropagation","some","filtered","filter","length","info","Fragment","placeholder","onChange","target","allowClear","searchTextProcessed","toUpperCase","isActive","includes","link","setIcon","setIconActive","onClick","tabIndex","onFocus","onKeyPress","generatePageList","placement","overlay","trigger","count","setCount","selectable","Item","Divider","onVisibleChange","styles","dropdown","backgroundColor","border","shape","size","Feedback","props","wrapper","undefined","borderRadius","onBack","backIcon","UserMenu","pathname","selectedKeys","setSelectedKeys","openedKeys","setOpenedKeys","applySelectedKeys","selectedItem","find","onCollapse","menuSettings","width","collapsible","collapsed","breakpoint","Sider","dark","unfixed","shadow","menuOuter","openKeys","onOpenChange","mode","navigation","inlineIndent","generateItem","ItemGroup","Math","random","rel","menuItem","subMenuTitle","SubMenu","generateSubmenu","generateMenuItems","descr","touchStartPrev","touchStartLocked","unify","changedTouches","x","clientX","passive","toggleMobileMenu","closable","visible","mobileMenu","onClose","maskClosable","getContainer","Layouts","public","PublicLayout","auth","AuthLayout","main","defaultLeftMenuWidth","Header","position","zIndex","right","left","flex","display","flexDirection","previousPath","currentPath","scrollTo","NProgress","start","setTimeout","done","getLayout","test","Container","isUserAuthorized","isUserLoading","isAuthLayout","isDocsPage","Helmet","titleTemplate","commonRoutes","path","Component","lazy","exact","appealMerchantRoutes","approvedMerchantRoutes","routes","interceptors","use","error","noToastr","headers","errors","validateErrors","join","warning","statusText","Promise","reject","unreadCount","i","render","SwitchTransition","CSSTransition","appear","timeout","fallback","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","MockAdapter","delayResponse","onAny","passThrough","noop","method","createBrowserHistory","sagaMiddleware","createSagaMiddleware","middlewares","routerMiddleware","createStore","combineReducers","router","connectRouter","compose","applyMiddleware","run","sagas","ReactDOM","getElementById","URL","origin","fetch","contentType","indexOf","ready","unregister","reload","checkValidServiceWorker","axios","create","baseURL","apiUrl","request","accessToken","Authorization","AccessToken"],"mappings":"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","file":"static/js/main.f0369250.chunk.js","sourcesContent":["const actions = {\r\n SET_STATE: 'settings/SET_STATE',\r\n CHANGE_SETTING: 'settings/CHANGE_SETTING',\r\n SET_PRIMARY_COLOR: 'settings/SET_PRIMARY_COLOR',\r\n SET_THEME: 'settings/SET_THEME',\r\n}\r\n\r\nexport default actions\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topbar\":\"style_topbar__1N9ae\",\"logo\":\"style_logo__2Rvd2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"style_dropdown__1EfaK\",\"icon\":\"style_icon__1SOhe\"};","import { useRef, useEffect } from 'react'\r\n\r\nfunction useInterval(callback: () => void, delay: number | null) {\r\n const savedCallback = useRef(callback)\r\n\r\n useEffect(() => {\r\n savedCallback.current = callback\r\n }, [callback])\r\n\r\n useEffect(() => {\r\n if (delay === null) {\r\n return\r\n }\r\n\r\n const id = setInterval(() => savedCallback.current(), delay)\r\n\r\n // eslint-disable-next-line consistent-return\r\n return () => clearInterval(id)\r\n }, [delay])\r\n}\r\n\r\nexport default useInterval\r\n","import appConfig from '../../../appconfig.json'\r\n\r\nexport interface ConfigModel {\r\n apiUrl : string\r\n websiteUrl: string\r\n adminUrl: string\r\n merchantUrl: string\r\n yurticiProjectCode: string\r\n}\r\n\r\nconst config: ConfigModel = appConfig[process.env.REACT_APP_ENV || 'dev']\r\n\r\nexport default config\r\n","import { all, takeEvery, put } from 'redux-saga/effects'\r\nimport store from 'store'\r\nimport qs from 'qs'\r\nimport { history, store as reduxStore } from 'index'\r\nimport actions from './actions'\r\nimport { Action } from '../../shared/models/ReduxModel'\r\n\r\nexport function* CHANGE_SETTING({ payload: { setting, value } }: Action) {\r\n yield store.set(`app.settings.${setting}`, value)\r\n yield put({\r\n type: 'settings/SET_STATE',\r\n payload: {\r\n [setting]: value,\r\n },\r\n })\r\n}\r\n\r\nexport function* SET_PRIMARY_COLOR({ payload: { color } }: Action) {\r\n const addStyles = () => {\r\n const styleElement = document.querySelector('#primaryColor')\r\n if (styleElement) {\r\n styleElement.remove()\r\n }\r\n const body = document.querySelector('body')\r\n const styleEl = document.createElement('style')\r\n const css = document.createTextNode(`:root { --kit-color-primary: ${color};}`)\r\n styleEl.setAttribute('id', 'primaryColor')\r\n styleEl.appendChild(css)\r\n // @ts-ignore\r\n body.appendChild(styleEl)\r\n }\r\n\r\n yield addStyles()\r\n yield reduxStore.dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'primaryColor',\r\n value: color,\r\n },\r\n })\r\n}\r\n\r\nexport function* SET_THEME({ payload: { theme } }: Action) {\r\n const nextTheme = theme === 'dark' ? 'dark' : 'default'\r\n // @ts-ignore\r\n yield document.querySelector('html').setAttribute('data-kit-theme', nextTheme)\r\n yield reduxStore.dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'theme',\r\n value: nextTheme,\r\n },\r\n })\r\n}\r\n\r\nexport function* SETUP() {\r\n // load settings from url on app load\r\n const changeSettings = (search: string) => {\r\n const query = qs.parse(search, { ignoreQueryPrefix: true })\r\n Object.keys(query).forEach(key => {\r\n let value\r\n switch (query[key]) {\r\n case 'false':\r\n value = false\r\n break\r\n case 'true':\r\n value = true\r\n break\r\n default:\r\n value = query[key]\r\n break\r\n }\r\n if (key === 'theme') {\r\n reduxStore.dispatch({\r\n type: 'settings/SET_THEME',\r\n payload: {\r\n theme: value,\r\n },\r\n })\r\n return\r\n }\r\n reduxStore.dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: key,\r\n value,\r\n },\r\n })\r\n })\r\n }\r\n yield changeSettings(history.location.search)\r\n yield history.listen((params: any) => {\r\n const { search } = params\r\n changeSettings(search)\r\n })\r\n\r\n // set primary color on app load\r\n const primaryColor = () => {\r\n const color = store.get('app.settings.primaryColor')\r\n if (color) {\r\n reduxStore.dispatch({\r\n type: 'settings/SET_PRIMARY_COLOR',\r\n payload: {\r\n color,\r\n },\r\n })\r\n }\r\n }\r\n yield primaryColor()\r\n\r\n // init theme on app load\r\n const initTheme = () => {\r\n const { search } = history.location\r\n const query = qs.parse(search, { ignoreQueryPrefix: true })\r\n const theme = query.theme || store.get('app.settings.theme') || 'default'\r\n reduxStore.dispatch({\r\n type: 'settings/SET_THEME',\r\n payload: {\r\n theme,\r\n },\r\n })\r\n }\r\n yield initTheme()\r\n\r\n // detect isMobileView setting on app load and window resize\r\n const isMobileView = (load = false) => {\r\n const currentState = global.window.innerWidth < 768\r\n const prevState = store.get('app.settings.isMobileView')\r\n if (currentState !== prevState || load) {\r\n reduxStore.dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'isMobileView',\r\n value: currentState,\r\n },\r\n })\r\n }\r\n }\r\n\r\n // detect viewport width on app load and window resize\r\n const isMenuToggled = () => {\r\n const shouldToggle = global.window.innerWidth < 1024\r\n const prevState = store.get('app.settings.isMenuCollapsed')\r\n if (shouldToggle || prevState) {\r\n reduxStore.dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'isMenuCollapsed',\r\n value: true,\r\n },\r\n })\r\n }\r\n }\r\n\r\n yield isMobileView(true)\r\n yield isMenuToggled()\r\n yield window.addEventListener('resize', () => {\r\n isMobileView()\r\n isMenuToggled()\r\n })\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n takeEvery(actions.CHANGE_SETTING, CHANGE_SETTING),\r\n takeEvery(actions.SET_PRIMARY_COLOR, SET_PRIMARY_COLOR),\r\n takeEvery(actions.SET_THEME, SET_THEME),\r\n SETUP(), // run once on app load to init listeners\r\n ])\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"style_dropdown__3dHID\",\"avatar\":\"style_avatar__26jbs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"style_wrapper__1kaz-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mobileMenu\":\"style_mobileMenu__TD0zq\",\"handler\":\"style_handler__2SD2w\",\"handlerIcon\":\"style_handlerIcon__2036h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"style_menu__20ltZ\",\"menuOuter\":\"style_menuOuter__2xC48\",\"logoContainer\":\"style_logoContainer__25Cu-\",\"logo\":\"style_logo__DNWlk\",\"icon\":\"style_icon__1KMRI\",\"navigation\":\"style_navigation__1XpBl\",\"title\":\"style_title__3a-du\",\"name\":\"style_name__3Asp1\",\"line\":\"style_line__297ce\",\"descr\":\"style_descr__2jE23\",\"banner\":\"style_banner__3bhsn\",\"unfixed\":\"style_unfixed__1EjDx\",\"shadow\":\"style_shadow__6rjnI\",\"gray\":\"style_gray__8QKOO\",\"dark\":\"style_dark__23ZQU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"style_menu__3vZ8U\",\"logoContainer\":\"style_logoContainer__3djco\",\"logo\":\"style_logo__1DnzT\",\"name\":\"style_name__3yFpm\",\"descr\":\"style_descr__1yXi_\",\"navigation\":\"style_navigation__3331c\",\"title\":\"style_title__7i3wY\",\"icon\":\"style_icon__22yhv\",\"gray\":\"style_gray__1yNHT\",\"dark\":\"style_dark__3BkW3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"head\":\"style_head__2VMdr\",\"title\":\"style_title__3_xOH\",\"time\":\"style_time__2o8Ib\",\"content\":\"style_content__2svE3\",\"tabs\":\"style_tabs__2rr43\"};","const actions = {\r\n SET_STATE: 'user/SET_STATE',\r\n LOGIN: 'user/LOGIN',\r\n REGISTER: 'user/REGISTER',\r\n LOAD_CURRENT_ACCOUNT: 'user/LOAD_CURRENT_ACCOUNT',\r\n LOGOUT: 'user/LOGOUT',\r\n}\r\n\r\nexport default actions\r\n","import actions from './actions'\r\nimport { Action } from '../../shared/models/ReduxModel'\r\n\r\nconst initialState = {\r\n id: '',\r\n email: '',\r\n maazaName: '',\r\n commercialTitle: '',\r\n slug: '',\r\n token: '',\r\n logo: '',\r\n introImage: '',\r\n point: 0,\r\n about: '',\r\n confirmCode: '',\r\n confirm: false,\r\n status: '',\r\n roles: [],\r\n avatar: '',\r\n authorized: false, // false is default value\r\n loading: false,\r\n role: '',\r\n}\r\n\r\nexport default function userReducer(state = initialState, action: Action) {\r\n switch (action.type) {\r\n case actions.SET_STATE:\r\n return { ...state, ...action.payload }\r\n default:\r\n return state\r\n }\r\n}\r\n","const actions = {\r\n SET_STATE: 'menu/SET_STATE',\r\n GET_DATA: 'menu/GET_DATA',\r\n}\r\n\r\nexport default actions\r\n","import actions from './actions'\r\n\r\nconst initialState = {\r\n menuData: [],\r\n}\r\n\r\nexport default function menuReducer(state = initialState, action: any) {\r\n switch (action.type) {\r\n case actions.SET_STATE:\r\n return { ...state, ...action.payload }\r\n default:\r\n return state\r\n }\r\n}\r\n","import actions from './actions'\r\nimport { Action } from '../../shared/models/ReduxModel'\r\n\r\n\r\nconst initialState = {\r\n authProvider: 'jwt', // firebase, jwt\r\n logo: 'Codeove - Merchant',\r\n locale: 'tr-TR',\r\n isSidebarOpen: false,\r\n isSupportChatOpen: false,\r\n isMobileView: false,\r\n isMobileMenuOpen: false,\r\n isMenuCollapsed: false,\r\n menuLayoutType: 'left', // left, top, nomenu\r\n routerAnimation: 'slide-fadein-up', // none, slide-fadein-up, slide-fadein-right, fadein, zoom-fadein\r\n menuColor: 'white', // white, dark, gray\r\n theme: 'default', // default, dark\r\n authPagesColor: 'image', // white, gray, image\r\n primaryColor: '#595c97',\r\n leftMenuWidth: 256,\r\n isMenuUnfixed: false,\r\n isMenuShadow: false,\r\n isTopbarFixed: true,\r\n isGrayTopbar: false,\r\n isContentMaxWidth: false,\r\n isAppMaxWidth: false,\r\n isGrayBackground: false,\r\n isCardShadow: true,\r\n isSquaredBorders: false,\r\n isBorderless: false,\r\n}\r\n\r\nexport default function settingsReducer(state = initialState, action: Action) {\r\n switch (action.type) {\r\n case actions.SET_STATE:\r\n return { ...state, ...action.payload }\r\n default:\r\n return state\r\n }\r\n}\r\n","import { combineReducers } from 'redux'\r\nimport { connectRouter } from 'connected-react-router'\r\nimport user from './user/reducers'\r\nimport menu from './menu/reducers'\r\nimport settings from './settings/reducers'\r\n\r\nexport default (history: any) =>\r\n combineReducers({\r\n router: connectRouter(history),\r\n user,\r\n menu,\r\n settings,\r\n })\r\n","import apiClient from 'shared/services/axios'\r\nimport store from 'store'\r\n\r\nexport async function login(email: string, password: string) {\r\n email = email.toLowerCase()\r\n return apiClient\r\n .post('Merchants/Login', { email, password })\r\n .then(response => {\r\n if (response) {\r\n const { token, id } = response.data.result\r\n if (token && id) {\r\n store.set('accessToken', token)\r\n store.set('userId', id)\r\n return response.data.result\r\n }\r\n return false\r\n }\r\n return false\r\n })\r\n .catch(err => err)\r\n}\r\n\r\nexport async function register(email: string, password: string, name: string) {\r\n return apiClient\r\n .post('/auth/register', {\r\n email,\r\n password,\r\n name,\r\n })\r\n .then(response => {\r\n if (response) {\r\n const { token, id } = response.data.result\r\n if (token && id) {\r\n store.set('accessToken', token)\r\n store.set('userId', id)\r\n }\r\n return response.data\r\n }\r\n return false\r\n })\r\n .catch(err => console.log(err))\r\n}\r\n\r\nexport async function currentAccount() {\r\n const userId = store.get('userId')\r\n return userId ? apiClient\r\n .get(`Merchants/${userId}`)\r\n .then(response => {\r\n if (response) {\r\n const { token, id } = response.data.result\r\n if (token && id) {\r\n store.set('accessToken', token)\r\n store.set('userId', id)\r\n }\r\n return response.data.result\r\n }\r\n return false\r\n })\r\n .catch(err => console.log(err)) : false\r\n}\r\n\r\nexport async function logout() {\r\n store.remove('accessToken')\r\n store.remove('userId')\r\n return true\r\n}\r\n","export const approvedMerchantMenu = [\r\n /* {\r\n category: true,\r\n title: 'Anasayfa',\r\n },\r\n {\r\n title: 'Anasayfa',\r\n key: 'dashboards',\r\n icon: 'fe fe-home',\r\n url: '/',\r\n }, */\r\n\r\n {\r\n category: true,\r\n title: 'İçerik Yönetimi',\r\n },\r\n {\r\n title: 'Ürünler',\r\n key: 'productsListArea',\r\n icon: 'fe fe-inbox',\r\n children: [\r\n {\r\n title: 'Ürün Kataloğu',\r\n key: 'productCatalog ',\r\n url: '/products/add',\r\n },\r\n {\r\n title: 'Ürünlerim',\r\n key: 'myProductList',\r\n url: '/products',\r\n },\r\n {\r\n title: 'Excel ile Toplu Ürün Ekle',\r\n key: 'createWithExcel',\r\n url: '/products/create-with-excel',\r\n },\r\n {\r\n title: 'Yeni Ürün Ekle',\r\n key: 'addNewProduct',\r\n url: '/products/create-new-product',\r\n },\r\n ]\r\n },\r\n {\r\n title: 'Popüler Kategoriler',\r\n icon: 'fe fe-star',\r\n key: 'popularCategories',\r\n url: '/popular-categories',\r\n },\r\n {\r\n title: 'Onay Bekleyenler',\r\n icon: 'fe fe-check-square',\r\n key: 'commitProducts',\r\n url: '/products/commit-products',\r\n },\r\n {\r\n category: true,\r\n title: 'Ortam Kütüphanesi',\r\n },\r\n {\r\n title: 'Görsel Galerisi',\r\n icon: 'fe fe-image',\r\n key: 'gallery',\r\n url: '/image-gallery',\r\n },\r\n {\r\n category: true,\r\n title: 'Sipariş Yönetimi',\r\n },\r\n {\r\n title: 'Sipariş Yönetimi',\r\n key: 'myManagment',\r\n icon: 'fe fe-inbox',\r\n children: [\r\n {\r\n title: 'Onay Bekleyenler',\r\n key: 'pendingApprove',\r\n url: '/managment/pending-approve',\r\n },\r\n {\r\n title: 'Onaylananlar',\r\n key: 'approved',\r\n url: '/managment/approved',\r\n },\r\n {\r\n title: 'Kargolananlar',\r\n key: 'shipping',\r\n url: '/managment/shipping',\r\n },\r\n {\r\n title: 'Teslim Edilenler',\r\n key: 'deliverable',\r\n url: '/managment/deliverable',\r\n },\r\n {\r\n title: 'İptal Edilenler',\r\n key: 'canceled',\r\n url: '/managment/canceled',\r\n },\r\n {\r\n title: 'İade Edilenler',\r\n key: 'returns',\r\n url: '/managment/returns',\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Komisyon Oranları',\r\n key: 'commissionRates',\r\n icon: 'fe fe-percent',\r\n url: '/commission-rates',\r\n },\r\n {\r\n title: 'Aynı Gün Teslimat Bölgeleri',\r\n key: 'shippingAdresses',\r\n icon: 'fe fe-truck',\r\n url: '/delivery/same-day-delivery-areas'\r\n },\r\n {\r\n category: true,\r\n title: 'İletişim',\r\n },\r\n {\r\n title: 'Destek Taleplerim',\r\n key: 'myTickets',\r\n icon: 'fe fe-edit-3',\r\n url: '/my-tickets',\r\n },\r\n // {\r\n // category: true,\r\n // title: 'Entegrasyon',\r\n // },\r\n // {\r\n // title: 'API Anahtarı',\r\n // key: 'apiTokens',\r\n // icon: 'fe fe-command',\r\n // url: '/integration/api-tokens',\r\n // },\r\n // {\r\n // title: 'Web Kancası',\r\n // key: 'webHooks',\r\n // icon: 'fe fe-anchor',\r\n // url: '/integration/webhooks',\r\n // },\r\n // {\r\n // title: 'Entegrasyon Dökümanları',\r\n // key: 'integrationDocuments',\r\n // icon: 'fe fe-file',\r\n // url: '/integration/docs',\r\n // target: '_blank',\r\n // },\r\n];\r\n\r\nexport const appealMerchantMenu = [\r\n {\r\n category: true,\r\n title: 'Başvuru Süreciniz',\r\n },\r\n {\r\n title: 'Gerekli Evraklar',\r\n key: 'appeal-documents',\r\n icon: 'fe fe-file',\r\n url: '/appeal-documents',\r\n },\r\n {\r\n title: 'Başvuru Bilgileriniz',\r\n key: 'appeal-details',\r\n icon: 'fe fe-eye',\r\n url: '/appeal-details',\r\n },\r\n {\r\n title: 'Mesajlar',\r\n key: 'appeal-messages',\r\n icon: 'fe fe-message-circle',\r\n url: '/appeal-messages',\r\n badgeType: 'danger'\r\n },\r\n {\r\n title: 'Başvuru İptali',\r\n key: 'appeal-cancellation',\r\n icon: 'fe fe-x-circle',\r\n url: '/appeal-cancellation',\r\n },\r\n];\r\n","import { all, takeEvery, put, call, select } from 'redux-saga/effects'\r\nimport { notification } from 'antd'\r\nimport { history } from 'index'\r\nimport * as jwt from 'shared/services/jwt'\r\nimport actions from './actions'\r\nimport {approvedMerchantMenu, appealMerchantMenu} from '../../constants/menu'\r\nimport { Action } from '../../shared/models/ReduxModel'\r\n\r\nconst mapAuthProviders = {\r\n jwt: {\r\n login: jwt.login,\r\n register: jwt.register,\r\n currentAccount: jwt.currentAccount,\r\n logout: jwt.logout,\r\n },\r\n}\r\n\r\nexport function* LOGIN({ payload }: Action): any {\r\n const { email, password } = payload\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n loading: true,\r\n },\r\n })\r\n const { authProvider } = yield select(state => state.settings)\r\n const result = yield call(mapAuthProviders[authProvider].login, email, password)\r\n if (result.id && result.token) {\r\n yield put({\r\n type: 'user/LOAD_CURRENT_ACCOUNT',\r\n })\r\n yield history.push('/')\r\n notification.success({\r\n message: 'Giriş Yapıldı',\r\n description: 'Başarıyla giriş yaptınız!',\r\n })\r\n }\r\n else {\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n loading: false,\r\n },\r\n })\r\n if (result.data?.internalMessage === 'EmailNotConfirm') {\r\n // yield history.push({ pathname: `/auth/email-not-confirmed/${result.data.model.email}`, state: 'test'})\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n email: result.data.model.email,\r\n },\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport function* REGISTER({ payload }: Action): any {\r\n const { email, password, name } = payload\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n loading: true,\r\n },\r\n })\r\n const { authProvider } = yield select(state => state.settings)\r\n const success = yield call(mapAuthProviders[authProvider].register, email, password, name)\r\n if (success) {\r\n yield put({\r\n type: 'user/LOAD_CURRENT_ACCOUNT',\r\n })\r\n yield history.push('/')\r\n notification.success({\r\n message: 'Successful Register',\r\n description: 'You have successfully registered!',\r\n })\r\n }\r\n if (!success) {\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n loading: false,\r\n },\r\n })\r\n }\r\n}\r\n\r\nexport function* LOAD_CURRENT_ACCOUNT(): any {\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n loading: true,\r\n },\r\n })\r\n const { authProvider } = yield select(state => state.settings)\r\n const response = yield call(mapAuthProviders[authProvider].currentAccount)\r\n if (response) {\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n ...response,\r\n authorized: true,\r\n },\r\n })\r\n yield put({\r\n type: 'menu/SET_STATE',\r\n payload: {\r\n menuData: response.status === 1 ? [...approvedMerchantMenu, ...appealMerchantMenu] : appealMerchantMenu,\r\n },\r\n })\r\n }\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n loading: false,\r\n },\r\n })\r\n}\r\n\r\nexport function* LOGOUT() {\r\n const { authProvider } = yield select(state => state.settings)\r\n yield call(mapAuthProviders[authProvider].logout)\r\n yield put({\r\n type: 'user/SET_STATE',\r\n payload: {\r\n id: '',\r\n email: '',\r\n maazaName: '',\r\n commercialTitle: '',\r\n slug: '',\r\n token: '',\r\n logo: '',\r\n introImage: '',\r\n point: 0,\r\n about: '',\r\n confirmCode: '',\r\n confirm: false,\r\n status: '',\r\n roles: [],\r\n avatar: '',\r\n authorized: false, // false is default value\r\n loading: false,\r\n role: '',\r\n },\r\n })\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n takeEvery(actions.LOGIN, LOGIN),\r\n takeEvery(actions.REGISTER, REGISTER),\r\n takeEvery(actions.LOAD_CURRENT_ACCOUNT, LOAD_CURRENT_ACCOUNT),\r\n takeEvery(actions.LOGOUT, LOGOUT),\r\n LOAD_CURRENT_ACCOUNT(), // run once on app load to check user auth\r\n ])\r\n}\r\n","import { all } from 'redux-saga/effects'\r\nimport user from './user/sagas'\r\nimport settings from './settings/sagas'\r\n\r\nexport default function* rootSaga() {\r\n yield all([user(), settings()])\r\n}\r\n","import localeAntd from 'antd/es/locale/en_US'\r\n\r\nconst messages = {\r\n 'topBar.issuesHistory': 'Issues History',\r\n 'topBar.projectManagement': 'Project Management',\r\n 'topBar.typeToSearch': 'Search...',\r\n 'topBar.findPages': 'Find pages...',\r\n 'topBar.actions': 'Actions',\r\n 'topBar.status': 'Status',\r\n 'topBar.profileMenu.hello': 'Hello',\r\n 'topBar.profileMenu.billingPlan': 'Billing Plan',\r\n 'topBar.profileMenu.role': 'Role',\r\n 'topBar.profileMenu.email': 'Email',\r\n 'topBar.profileMenu.phone': 'Phone',\r\n 'topBar.profileMenu.editProfile': 'Edit Profile',\r\n 'topBar.profileMenu.logout': 'Logout',\r\n}\r\n\r\nexport default {\r\n locale: 'en-US',\r\n localeAntd,\r\n messages,\r\n}\r\n","import localeAntd from 'antd/es/locale/fr_FR'\r\n\r\nconst messages = {\r\n 'topBar.issuesHistory': 'Histoire des problèmes',\r\n 'topBar.projectManagement': 'Gestion de projet',\r\n 'topBar.typeToSearch': 'Chercher...',\r\n 'topBar.findPages': 'Trouver des pages...',\r\n 'topBar.actions': 'Actes',\r\n 'topBar.status': 'Statut',\r\n 'topBar.profileMenu.hello': 'Bonjour',\r\n 'topBar.profileMenu.billingPlan': 'Plan de facturation',\r\n 'topBar.profileMenu.role': 'Rôle',\r\n 'topBar.profileMenu.email': 'Email',\r\n 'topBar.profileMenu.phone': 'Téléphone',\r\n 'topBar.profileMenu.editProfile': 'Editer le profil',\r\n 'topBar.profileMenu.logout': 'Connectez - Out',\r\n}\r\n\r\nexport default {\r\n locale: 'fr-FR',\r\n localeAntd,\r\n messages,\r\n}\r\n","import localeAntd from 'antd/es/locale/ru_RU'\r\n\r\nconst messages = {\r\n 'topBar.issuesHistory': 'История заданий',\r\n 'topBar.projectManagement': 'Управление проектом',\r\n 'topBar.typeToSearch': 'Поиск...',\r\n 'topBar.findPages': 'Поиск страниц...',\r\n 'topBar.actions': 'Действия',\r\n 'topBar.status': 'Статус',\r\n 'topBar.profileMenu.hello': 'Привет',\r\n 'topBar.profileMenu.billingPlan': 'Тарифный план',\r\n 'topBar.profileMenu.role': 'Роль',\r\n 'topBar.profileMenu.email': 'Емайл',\r\n 'topBar.profileMenu.phone': 'Телефон',\r\n 'topBar.profileMenu.editProfile': 'Редактировать профиль',\r\n 'topBar.profileMenu.logout': 'Выйти',\r\n}\r\n\r\nexport default {\r\n locale: 'ru-RU',\r\n localeAntd,\r\n messages,\r\n}\r\n","import localeAntd from 'antd/es/locale/zh_CN'\r\n\r\nconst messages = {\r\n 'topBar.issuesHistory': '发布历史',\r\n 'topBar.projectManagement': '项目管理',\r\n 'topBar.typeToSearch': '搜索...',\r\n 'topBar.findPages': '查找页面...',\r\n 'topBar.actions': '动作',\r\n 'topBar.status': '状态',\r\n 'topBar.profileMenu.hello': '你好',\r\n 'topBar.profileMenu.billingPlan': '结算计划',\r\n 'topBar.profileMenu.role': '角色',\r\n 'topBar.profileMenu.email': '电子邮件',\r\n 'topBar.profileMenu.phone': '电话',\r\n 'topBar.profileMenu.editProfile': '编辑个人资料',\r\n 'topBar.profileMenu.logout': '登出',\r\n}\r\n\r\nexport default {\r\n locale: 'zh-CN',\r\n localeAntd,\r\n messages,\r\n}\r\n","import localeAntd from 'antd/es/locale/tr_TR'\r\n\r\nlocaleAntd.Image = { preview: 'Önizleme' }\r\n\r\nconst messages = {\r\n 'topBar.issuesHistory': 'Issues History',\r\n 'topBar.projectManagement': 'Project Management',\r\n 'topBar.typeToSearch': 'Arama...',\r\n 'topBar.findPages': 'Sayfaları bul...',\r\n 'topBar.actions': 'İşlemler',\r\n 'topBar.status': 'Durum',\r\n 'topBar.profileMenu.hello': 'Merhaba',\r\n 'topBar.profileMenu.billingPlan': 'Ödeme Planı',\r\n 'topBar.profileMenu.role': 'Rol',\r\n 'topBar.profileMenu.email': 'E-posta',\r\n 'topBar.profileMenu.phone': 'Telefon',\r\n 'topBar.profileMenu.editProfile': 'Mağaza Profili',\r\n 'topBar.profileMenu.updatePassword': 'Şifre Değiştir',\r\n 'topBar.profileMenu.logout': 'Çıkış',\r\n}\r\n\r\nexport default {\r\n locale: 'tr-TR',\r\n localeAntd,\r\n messages,\r\n}\r\n","import React from 'react'\r\nimport { ConfigProvider } from 'antd'\r\nimport { IntlProvider } from 'react-intl'\r\nimport { connect } from 'react-redux'\r\nimport moment from 'moment'\r\nimport 'moment/locale/tr'\r\n\r\nimport english from './locales/en-US'\r\nimport french from './locales/fr-FR'\r\nimport russian from './locales/ru-RU'\r\nimport chinese from './locales/zh-CN'\r\nimport turkish from './locales/tr-TR'\r\n\r\nimport likelySubtags from 'cldr-core/supplemental/likelySubtags.json'\r\nimport currencyData from 'cldr-core/supplemental/currencyData.json'\r\nimport weekData from 'cldr-core/supplemental/weekData.json'\r\nimport numbers from 'cldr-numbers-full/main/tr/numbers.json'\r\nimport caGregorian from 'cldr-dates-full/main/tr/ca-gregorian.json'\r\nimport dateFields from 'cldr-dates-full/main/tr/dateFields.json'\r\nimport timeZoneNames from 'cldr-dates-full/main/tr/timeZoneNames.json'\r\nimport { load } from '@progress/kendo-react-intl'\r\n\r\nload(likelySubtags, currencyData, weekData, numbers, caGregorian, dateFields, timeZoneNames)\r\n\r\nmoment.locale('tr')\r\n\r\nconst locales = {\r\n 'en-US': english,\r\n 'fr-FR': french,\r\n 'ru-RU': russian,\r\n 'zh-CN': chinese,\r\n 'tr-TR': turkish\r\n}\r\n\r\nconst mapStateToProps = ({ settings }) => ({ settings })\r\n\r\nconst Localization = ({ children, settings: { locale } }) => {\r\n const currentLocale = locales[locale]\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default connect(mapStateToProps)(Localization)\r\n","// eslint-disable-next-line no-unused-vars\r\nimport React from 'react'\r\nimport { withRouter } from 'react-router-dom'\r\n\r\nconst PublicLayout = ({ children }) => {\r\n return children\r\n}\r\n\r\nexport default withRouter(PublicLayout)\r\n","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Layout } from 'antd'\r\nimport { Link, withRouter } from 'react-router-dom'\r\nimport classNames from 'classnames'\r\nimport style from './style.module.scss'\r\n\r\nconst mapStateToProps = ({ settings }) => ({\r\n logo: settings.logo,\r\n isGrayTopbar: settings.isGrayTopbar,\r\n isCardShadow: settings.isCardShadow,\r\n isSquaredBorders: settings.isSquaredBorders,\r\n isBorderless: settings.isBorderless,\r\n authPagesColor: settings.authPagesColor,\r\n})\r\n\r\nconst AuthLayout = ({\r\n children,\r\n isCardShadow,\r\n isSquaredBorders,\r\n isBorderless,\r\n authPagesColor,\r\n isRegisterPage,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \"Movell\r\n \r\n
\r\n\r\n
\r\n \r\n Entegrasyon Dökümanları\r\n \r\n {isRegisterPage ? (\r\n <>\r\n Zaten hesabınız var mı?\r\n \r\n Giriş Yapın\r\n \r\n \r\n ) : (\r\n <>\r\n Hesabınız yok mu?\r\n \r\n Başvuru Yapın\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(AuthLayout))\r\n","import React, { useState, useEffect } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Link } from 'react-router-dom'\r\nimport { injectIntl } from 'react-intl'\r\nimport { Dropdown, Input, Tooltip, message } from 'antd'\r\nimport PerfectScrollbar from 'react-perfect-scrollbar'\r\nimport store from 'store'\r\nimport style from './style.module.scss'\r\n\r\nconst mapStateToProps = ({ menu }) => ({\r\n menuData: menu.menuData,\r\n})\r\n\r\nconst FavPages = ({ menuData = [], intl: { formatMessage } }) => {\r\n const [searchText, setSearchText] = useState('')\r\n const [favs, setFavs] = useState(store.get('app.topbar.favs') || [])\r\n const [pagesList, setPagesList] = useState([])\r\n\r\n useEffect(() => {\r\n const getPagesList = () => {\r\n const menuDataProcessed = JSON.parse(JSON.stringify(menuData))\r\n const flattenItems = (items, key) =>\r\n items.reduce((flattenedItems, item) => {\r\n if (item.category) {\r\n return flattenedItems\r\n }\r\n if (item.key === 'nestedItem1' || item.disabled) {\r\n // skip unwanted items\r\n return flattenedItems\r\n }\r\n if (Array.isArray(item[key])) {\r\n const itemsProcessed = item[key].map(child => {\r\n child.icon = item.icon\r\n return child\r\n })\r\n return flattenedItems.concat(flattenItems(itemsProcessed, key))\r\n }\r\n flattenedItems.push(item)\r\n return flattenedItems\r\n }, [])\r\n return flattenItems(menuDataProcessed, 'children')\r\n }\r\n setPagesList(getPagesList())\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [menuData])\r\n\r\n const changeSearchText = e => {\r\n setSearchText(e.target.value)\r\n }\r\n\r\n const setFav = (e, item) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const isActive = favs.some(child => child.url === item.url)\r\n if (isActive) {\r\n const filtered = favs.filter(child => child.url !== item.url)\r\n store.set('app.topbar.favs', filtered)\r\n setFavs(filtered)\r\n return\r\n }\r\n if (favs.length >= 3) {\r\n message.info('Favorilerinize en çok 3 kısayol ekleyebilirsiniz.')\r\n return\r\n }\r\n const items = [...favs]\r\n items.push(item)\r\n store.set('app.topbar.favs', items)\r\n setFavs(items)\r\n }\r\n\r\n const generatePageList = () => {\r\n const searchTextProcessed = searchText ? searchText.toUpperCase() : ''\r\n return pagesList.map(item => {\r\n const isActive = favs.some(child => child.url === item.url)\r\n if (!item.title.toUpperCase().includes(searchTextProcessed) && searchTextProcessed) {\r\n return null\r\n }\r\n return (\r\n \r\n setFav(e, item)}\r\n role=\"button\"\r\n tabIndex=\"0\"\r\n onFocus={e => {\r\n e.preventDefault()\r\n }}\r\n onKeyPress={e => setFav(e, item)}\r\n >\r\n \r\n \r\n \r\n \r\n {item.title}\r\n \r\n \r\n )\r\n })\r\n }\r\n\r\n const menu = (\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
{generatePageList(searchText)}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n return (\r\n
\r\n {favs.map(item => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default injectIntl(connect(mapStateToProps)(FavPages))\r\n","import React, { useState } from 'react'\r\nimport { FormattedMessage } from 'react-intl'\r\nimport { connect } from 'react-redux'\r\nimport { Menu, Dropdown, Avatar } from 'antd'\r\nimport styles from './style.module.scss'\r\n\r\nconst mapStateToProps = ({ user }) => ({ user })\r\n\r\nconst ProfileMenu = ({ dispatch, user }) => {\r\n const [count, setCount] = useState(7)\r\n\r\n const logout = e => {\r\n e.preventDefault()\r\n dispatch({\r\n type: 'user/LOGOUT',\r\n })\r\n }\r\n\r\n const addCount = () => {\r\n setCount(count + 1)\r\n }\r\n\r\n const menu = (\r\n \r\n {\r\n user.status === 1 && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n return (\r\n \r\n
\r\n }\r\n />\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default connect(mapStateToProps)(ProfileMenu)\r\n","import React, { useState } from 'react'\r\nimport styles from './style.module.scss'\r\nimport { Button, Image, Input, notification, Popover, Spin } from 'antd'\r\nimport { QuestionCircleOutlined } from '@ant-design/icons'\r\nimport { Label } from 'reactstrap'\r\nimport html2canvas from 'html2canvas'\r\nimport apiClient from '../../../services/axios'\r\nimport UserAgent from 'user-agents';\r\n\r\nexport interface FeedbackProps {\r\n\r\n}\r\n\r\nconst Feedback: React.FC = (props) => {\r\n const [imageSrc, setImageSrc] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [popoverIsVisible, setPopoverIsVisible] = useState(false);\r\n const [description, setDescription] = useState(\"\");\r\n\r\n function submit() {\r\n\r\n const userAgent = new UserAgent();\r\n\r\n setLoading(true);\r\n apiClient.post('feedbacks', {url: window.location.href, image: imageSrc, description, userAgent: JSON.stringify(userAgent.data)}).then(resp => {\r\n notification.success({message: \"Geri bildiriminiz alındı. Teşekkürler\"});\r\n setPopoverIsVisible(false);\r\n }).finally(() => setLoading(false))\r\n }\r\n\r\n const Content = () => {\r\n return (\r\n \r\n\r\n \r\n

{window.location.href}

\r\n\r\n {\r\n imageSrc && (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n )\r\n }\r\n\r\n \r\n setDescription(e.target.value)} value={description} />\r\n\r\n \r\n
\r\n )\r\n }\r\n\r\n function screenShot(vis: any) {\r\n setPopoverIsVisible(vis);\r\n setImageSrc(\"\");\r\n\r\n if (vis) {\r\n setLoading(true);\r\n html2canvas(document.body as HTMLElement).then((canvas) => {\r\n const data = canvas.toDataURL();\r\n setImageSrc(data);\r\n }).finally(() => setLoading(false));\r\n }\r\n\r\n }\r\n\r\n return (\r\n
\r\n {/* \r\n \r\n \r\n \r\n */}\r\n
\r\n )\r\n}\r\n\r\nexport default Feedback\r\n","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport FavPages from './FavPages'\r\nimport Actions from './Actions'\r\nimport UserMenu from './UserMenu'\r\nimport style from './style.module.scss'\r\nimport Feedback from '../../../../shared/components/codeove/Feedback'\r\nimport { Layout, PageHeader } from 'antd'\r\n\r\nconst mapStateToProps = ({ settings }) => ({\r\n menuLayoutType: settings.menuLayoutType,\r\n isMobileMenuOpen: settings.isMobileMenuOpen,\r\n isMenuCollapsed: settings.isMenuCollapsed,\r\n isMobileView: settings.isMobileView,\r\n leftMenuWidth: settings.leftMenuWidth,\r\n})\r\n\r\nstyle.menu = undefined\r\nconst TopBar = ({ isMobileMenuOpen, isMobileView, dispatch, isMenuCollapsed }) => {\r\n const toggleMobileMenu = () => {\r\n dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'isMobileMenuOpen',\r\n value: !isMobileMenuOpen,\r\n },\r\n })\r\n }\r\n\r\n const toggleCollapse = () => {\r\n dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'isMenuCollapsed',\r\n value: !isMenuCollapsed,\r\n },\r\n })\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
{!isMobileView && }
\r\n\r\n {isMenuCollapsed && (\r\n \"Movell\r\n )}\r\n\r\n null}\r\n title=\"Movell Satıcı Paneli\"\r\n backIcon={false}\r\n />\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\nexport default connect(mapStateToProps)(TopBar)\r\n","import React, { useState, useEffect } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Link, withRouter } from 'react-router-dom'\r\nimport { Menu, Layout } from 'antd'\r\nimport classNames from 'classnames'\r\nimport store from 'store'\r\nimport PerfectScrollbar from 'react-perfect-scrollbar'\r\nimport { find } from 'lodash'\r\nimport style from './style.module.scss'\r\n\r\nconst mapStateToProps = ({ menu, settings, user }) => ({\r\n menuData: menu.menuData,\r\n isMenuCollapsed: settings.isMenuCollapsed,\r\n isMobileView: settings.isMobileView,\r\n isMenuUnfixed: settings.isMenuUnfixed,\r\n isMenuShadow: settings.isMenuShadow,\r\n leftMenuWidth: settings.leftMenuWidth,\r\n menuColor: settings.menuColor,\r\n logo: settings.logo,\r\n role: user.role,\r\n})\r\n\r\nconst MenuLeft = ({\r\n dispatch,\r\n menuData = [],\r\n location: { pathname },\r\n\r\n isMenuCollapsed,\r\n isMobileView,\r\n isMenuUnfixed,\r\n isMenuShadow,\r\n leftMenuWidth,\r\n menuColor,\r\n role,\r\n}) => {\r\n const [selectedKeys, setSelectedKeys] = useState(store.get('app.menu.selectedKeys') || [])\r\n const [openedKeys, setOpenedKeys] = useState(store.get('app.menu.openedKeys') || [])\r\n\r\n useEffect(() => {\r\n applySelectedKeys()\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [pathname, menuData])\r\n\r\n const applySelectedKeys = () => {\r\n const flattenItems = (items, key) =>\r\n items.reduce((flattenedItems, item) => {\r\n flattenedItems.push(item)\r\n if (Array.isArray(item[key])) {\r\n return flattenedItems.concat(flattenItems(item[key], key))\r\n }\r\n return flattenedItems\r\n }, [])\r\n const selectedItem = find(flattenItems(menuData, 'children'), ['url', pathname])\r\n setSelectedKeys(selectedItem ? [selectedItem.key] : [])\r\n }\r\n\r\n const onCollapse = (value, type) => {\r\n if (type === 'responsive' && isMenuCollapsed) {\r\n return\r\n }\r\n dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'isMenuCollapsed',\r\n value: !isMenuCollapsed,\r\n },\r\n })\r\n setOpenedKeys([])\r\n }\r\n\r\n const onOpenChange = keys => {\r\n store.set('app.menu.openedKeys', keys)\r\n setOpenedKeys(keys)\r\n }\r\n\r\n const handleClick = e => {\r\n store.set('app.menu.selectedKeys', [e.key])\r\n setSelectedKeys([e.key])\r\n }\r\n\r\n const generateMenuItems = () => {\r\n const generateItem = item => {\r\n const { key, title, url, icon, disabled, count, badgeType } = item\r\n if (item.category) {\r\n return \r\n }\r\n if (item.url) {\r\n return (\r\n \r\n {item.target && (\r\n \r\n {title}\r\n {count && {count}}\r\n {icon && }\r\n \r\n )}\r\n {!item.target && (\r\n \r\n {title}\r\n {count && {count}}\r\n {icon && }\r\n \r\n )}\r\n \r\n )\r\n }\r\n return (\r\n \r\n {title}\r\n {count && {count}}\r\n {icon && }\r\n \r\n )\r\n }\r\n\r\n const generateSubmenu = items =>\r\n items.map(menuItem => {\r\n if (menuItem.children) {\r\n const subMenuTitle = (\r\n \r\n {menuItem.title}\r\n {menuItem.count && {menuItem.count}}\r\n {menuItem.icon && }\r\n \r\n )\r\n return (\r\n \r\n {generateSubmenu(menuItem.children)}\r\n \r\n )\r\n }\r\n return generateItem(menuItem)\r\n })\r\n\r\n return menuData.map(menuItem => {\r\n if (menuItem.roles && !menuItem.roles.includes(role)) {\r\n return null\r\n }\r\n if (menuItem.children) {\r\n const subMenuTitle = (\r\n \r\n {menuItem.title}\r\n {menuItem.count && {menuItem.count}}\r\n {menuItem.icon && }\r\n \r\n )\r\n return (\r\n \r\n {generateSubmenu(menuItem.children)}\r\n \r\n )\r\n }\r\n return generateItem(menuItem)\r\n })\r\n }\r\n\r\n const menuSettings = isMobileView\r\n ? {\r\n width: leftMenuWidth,\r\n collapsible: false,\r\n collapsed: false,\r\n onCollapse,\r\n }\r\n : {\r\n width: leftMenuWidth,\r\n collapsible: true,\r\n collapsed: isMenuCollapsed,\r\n onCollapse,\r\n breakpoint: 'lg',\r\n }\r\n\r\n return (\r\n \r\n \r\n {!isMenuCollapsed && (\r\n
\r\n \r\n \"movell\"\r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n {generateMenuItems()}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(MenuLeft))\r\n","import React, { useState, useEffect } from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { Menu } from 'antd'\r\nimport { Link, withRouter } from 'react-router-dom'\r\nimport classNames from 'classnames'\r\nimport store from 'store'\r\nimport { find } from 'lodash'\r\nimport style from './style.module.scss'\r\n\r\nconst mapStateToProps = ({ menu, settings, user }) => ({\r\n menuData: menu.menuData,\r\n logo: settings.logo,\r\n menuColor: settings.menuColor,\r\n role: user.role,\r\n})\r\n\r\nconst MenuTop = ({\r\n menuData = [],\r\n location: { pathname },\r\n\r\n menuColor,\r\n logo,\r\n role,\r\n}) => {\r\n const [selectedKeys, setSelectedKeys] = useState(store.get('app.menu.selectedKeys') || [])\r\n\r\n useEffect(() => {\r\n applySelectedKeys()\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [pathname, menuData])\r\n\r\n const applySelectedKeys = () => {\r\n const flattenItems = (items, key) =>\r\n items.reduce((flattenedItems, item) => {\r\n flattenedItems.push(item)\r\n if (Array.isArray(item[key])) {\r\n return flattenedItems.concat(flattenItems(item[key], key))\r\n }\r\n return flattenedItems\r\n }, [])\r\n const selectedItem = find(flattenItems(menuData, 'children'), ['url', pathname])\r\n setSelectedKeys(selectedItem ? [selectedItem.key] : [])\r\n }\r\n\r\n const handleClick = e => {\r\n store.set('app.menu.selectedKeys', [e.key])\r\n setSelectedKeys([e.key])\r\n }\r\n\r\n const generateMenuItems = () => {\r\n const generateItem = item => {\r\n const { key, title, url, icon, disabled, count } = item\r\n if (item.category) {\r\n return null\r\n }\r\n if (item.url) {\r\n return (\r\n \r\n {item.target && (\r\n \r\n {icon && }\r\n {title}\r\n {count && {count}}\r\n \r\n )}\r\n {!item.target && (\r\n \r\n {icon && }\r\n {title}\r\n {count && {count}}\r\n \r\n )}\r\n \r\n )\r\n }\r\n return (\r\n \r\n {icon && }\r\n {title}\r\n {count && {count}}\r\n \r\n )\r\n }\r\n const generateSubmenu = items =>\r\n items.map(menuItem => {\r\n if (menuItem.children) {\r\n const subMenuTitle = (\r\n \r\n {menuItem.icon && }\r\n {menuItem.title}\r\n {menuItem.count && {menuItem.count}}\r\n \r\n )\r\n return (\r\n \r\n {generateSubmenu(menuItem.children)}\r\n \r\n )\r\n }\r\n return generateItem(menuItem)\r\n })\r\n return menuData.map(menuItem => {\r\n if (menuItem.roles && !menuItem.roles.includes(role)) {\r\n return null\r\n }\r\n if (menuItem.children) {\r\n const subMenuTitle = (\r\n \r\n {menuItem.icon && }\r\n {menuItem.title}\r\n {menuItem.count && {menuItem.count}}\r\n \r\n )\r\n return (\r\n \r\n {generateSubmenu(menuItem.children)}\r\n \r\n )\r\n }\r\n return generateItem(menuItem)\r\n })\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n \"Movell-Satıcı\"\r\n
{logo}
\r\n {logo === 'Clean UI Pro' &&
React
}\r\n
\r\n
\r\n
\r\n \r\n {generateMenuItems()}\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(MenuTop))\r\n","import React, { useEffect } from 'react'\r\nimport { Drawer } from 'antd'\r\nimport { connect } from 'react-redux'\r\nimport MenuLeft from './MenuLeft'\r\nimport MenuTop from './MenuTop'\r\nimport style from './style.module.scss'\r\n\r\nconst mapStateToProps = ({ settings }) => ({\r\n menuLayoutType: settings.menuLayoutType,\r\n isMobileMenuOpen: settings.isMobileMenuOpen,\r\n isMobileView: settings.isMobileView,\r\n leftMenuWidth: settings.leftMenuWidth,\r\n})\r\n\r\nlet touchStartPrev = 0\r\nlet touchStartLocked = false\r\n\r\nconst Menu = ({ dispatch, isMobileMenuOpen, isMobileView, menuLayoutType, leftMenuWidth }) => {\r\n useEffect(() => {\r\n // mobile menu touch slide opener\r\n const unify = e => {\r\n return e.changedTouches ? e.changedTouches[0] : e\r\n }\r\n document.addEventListener(\r\n 'touchstart',\r\n e => {\r\n const x = unify(e).clientX\r\n touchStartPrev = x\r\n touchStartLocked = x > 70\r\n },\r\n { passive: false },\r\n )\r\n document.addEventListener(\r\n 'touchmove',\r\n e => {\r\n const x = unify(e).clientX\r\n const prev = touchStartPrev\r\n if (x - prev > 50 && !touchStartLocked) {\r\n toggleMobileMenu()\r\n touchStartLocked = true\r\n }\r\n },\r\n { passive: false },\r\n )\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [])\r\n\r\n const toggleMobileMenu = () => {\r\n dispatch({\r\n type: 'settings/CHANGE_SETTING',\r\n payload: {\r\n setting: 'isMobileMenuOpen',\r\n value: !isMobileMenuOpen,\r\n },\r\n })\r\n }\r\n\r\n const GetMenu = () => {\r\n if (isMobileView) {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n if (menuLayoutType === 'top') {\r\n return \r\n }\r\n if (menuLayoutType === 'nomenu') {\r\n return null\r\n }\r\n return \r\n }\r\n\r\n return GetMenu()\r\n}\r\n\r\nexport default connect(mapStateToProps)(Menu)\r\n","import React, { Fragment } from 'react'\r\nimport { withRouter, Redirect } from 'react-router-dom'\r\nimport { connect } from 'react-redux'\r\nimport NProgress from 'nprogress'\r\nimport { Helmet } from 'react-helmet'\r\n// import Loader from 'components/cleanui/layout/Loader'\r\nimport PublicLayout from './Public'\r\nimport AuthLayout from './Auth'\r\nimport MainLayout from './Main'\r\n\r\nconst Layouts = {\r\n public: PublicLayout,\r\n auth: AuthLayout,\r\n main: MainLayout,\r\n}\r\n\r\nconst mapStateToProps = ({ user }) => ({ user })\r\nlet previousPath = ''\r\n\r\nconst Layout = ({ user, children, location: { pathname, search } }) => {\r\n // NProgress & ScrollTop Management\r\n const currentPath = pathname + search\r\n if (currentPath !== previousPath) {\r\n window.scrollTo(0, 0)\r\n NProgress.start()\r\n }\r\n setTimeout(() => {\r\n NProgress.done()\r\n previousPath = currentPath\r\n }, 300)\r\n\r\n // Layout Rendering\r\n const getLayout = () => {\r\n if (pathname === '/' || pathname === '/integration/docs') {\r\n return 'public'\r\n }\r\n if (/^\\/auth(?=\\/|$)/i.test(pathname)) {\r\n return 'auth'\r\n }\r\n return 'main'\r\n }\r\n\r\n const Container = Layouts[getLayout()]\r\n const isUserAuthorized = user.authorized\r\n const isUserLoading = user.loading\r\n const isAuthLayout = getLayout() === 'auth'\r\n const isDocsPage = pathname === '/integration/docs'\r\n\r\n const BootstrappedLayout = () => {\r\n // show loader when user in check authorization process, not authorized yet and not on login pages\r\n if (isUserLoading && !isUserAuthorized && !isAuthLayout) {\r\n return null\r\n }\r\n // redirect to login page if current is not login page and user not authorized\r\n if (!isAuthLayout && !isUserAuthorized && !isDocsPage) {\r\n return \r\n }\r\n // in other case render previously set layout\r\n return {children}\r\n }\r\n\r\n return (\r\n \r\n \r\n {BootstrappedLayout()}\r\n \r\n )\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(Layout))\r\n","import React from 'react'\r\nimport { Layout } from 'antd'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\nimport TopBar from 'components/cleanui/layout/TopBar'\r\nimport Menu from 'components/cleanui/layout/Menu'\r\nimport Feedback from '../../shared/components/codeove/Feedback'\r\n\r\nconst mapStateToProps = ({ settings }) => ({\r\n isContentMaxWidth: settings.isContentMaxWidth,\r\n isAppMaxWidth: settings.isAppMaxWidth,\r\n isGrayBackground: settings.isGrayBackground,\r\n isSquaredBorders: settings.isSquaredBorders,\r\n isCardShadow: settings.isCardShadow,\r\n isBorderless: settings.isBorderless,\r\n isTopbarFixed: settings.isTopbarFixed,\r\n isGrayTopbar: settings.isGrayTopbar,\r\n leftMenuWidth: settings.leftMenuWidth,\r\n isMobileMenuOpen: settings.isMobileMenuOpen,\r\n isMenuCollapsed: settings.isMenuCollapsed,\r\n isMobileView: settings.isMobileView,\r\n})\r\n\r\nconst MainLayout = ({\r\n children,\r\n leftMenuWidth : defaultLeftMenuWidth,\r\n isMobileView,\r\n isMenuCollapsed,\r\n }) => {\r\n let leftMenuWidth = defaultLeftMenuWidth;\r\n\r\n if (isMobileView) {\r\n leftMenuWidth = 0;\r\n } else if (isMenuCollapsed) {\r\n leftMenuWidth = 80;\r\n }\r\n\r\n return (\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n {/* */}\r\n\r\n \r\n
\r\n {children}\r\n
\r\n
\r\n \r\n\r\n \r\n )\r\n\r\n // return (\r\n //
\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // {children}\r\n // \r\n // \r\n // \r\n //
\r\n // )\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps)(MainLayout))\r\n","import { lazy } from 'react'\r\n\r\nexport const commonRoutes = [\r\n {\r\n path: '/404',\r\n Component: lazy(() => import('pages/auth/404')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/login',\r\n Component: lazy(() => import('pages/auth/login')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/forgot-password',\r\n Component: lazy(() => import('pages/auth/forgot-password')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/appeal-cancelled',\r\n Component: lazy(() => import('pages/auth/appeal-cancelled')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/reset-password/:guid',\r\n Component: lazy(() => import('pages/auth/reset-password')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/confirm-registration/:guid',\r\n Component: lazy(() => import('pages/auth/confirm-registration')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/register',\r\n Component: lazy(() => import('pages/auth/register')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/404',\r\n Component: lazy(() => import('pages/auth/404')),\r\n exact: true,\r\n },\r\n {\r\n path: '/auth/500',\r\n Component: lazy(() => import('pages/auth/500')),\r\n exact: true,\r\n },\r\n {\r\n path: '/integration/docs',\r\n Component: lazy(() => import('pages/integration/Docs')),\r\n exact: true,\r\n },\r\n]\r\n\r\nexport const appealMerchantRoutes = [\r\n {\r\n path: '/appeal-documents',\r\n Component: lazy(() => import('pages/appeal-tracking/AppealDocuments')),\r\n exact: true,\r\n },\r\n {\r\n path: '/appeal-details',\r\n Component: lazy(() => import('pages/appeal-tracking/AppealDetails')),\r\n exact: true,\r\n },\r\n {\r\n path: '/appeal-messages',\r\n Component: lazy(() => import('pages/appeal-tracking/AppealMessages')),\r\n exact: true,\r\n },\r\n {\r\n path: '/appeal-cancellation',\r\n Component: lazy(() => import('pages/appeal-tracking/AppealCancellation')),\r\n exact: true,\r\n },\r\n {\r\n path: '/update-password',\r\n Component: lazy(() => import('pages/update-password')),\r\n exact: true,\r\n },\r\n]\r\n\r\nexport const approvedMerchantRoutes = [\r\n {\r\n path: '/my-tickets',\r\n Component: lazy(() => import('pages/tickets/MyTickets')),\r\n exact: true,\r\n },\r\n {\r\n path: '/dashboard',\r\n Component: lazy(() => import('pages/products/ProductList')),\r\n exact: true,\r\n },\r\n {\r\n path: '/examples/datatable',\r\n Component: lazy(() => import('pages/examples/datatable')),\r\n exact: true,\r\n },\r\n {\r\n path: '/image-gallery',\r\n Component: lazy(() => import('pages/image-gallery')),\r\n exact: true,\r\n },\r\n {\r\n path: '/products/add',\r\n Component: lazy(() => import('pages/products/ProductAdd')),\r\n exact: true,\r\n },\r\n {\r\n path: '/products',\r\n Component: lazy(() => import('pages/products/ProductList')),\r\n exact: true,\r\n },\r\n {\r\n path: '/products',\r\n Component: lazy(() => import('pages/products/ProductList')),\r\n exact: true,\r\n },\r\n {\r\n path: '/orders/:id',\r\n Component: lazy(() => import('pages/orders/OrdersList')),\r\n exact: true,\r\n },\r\n {\r\n path: '/managment/:id',\r\n Component: lazy(() => import('pages/orders/OrdersManagment')),\r\n exact: true,\r\n },\r\n {\r\n path: '/products/commit-products',\r\n Component: lazy(() => import('pages/products/ProductCommitList')),\r\n exact: true,\r\n },\r\n {\r\n path: '/products/create',\r\n Component: lazy(() => import('pages/products/ProductCreate')),\r\n exact: true,\r\n },\r\n {\r\n path: '/products/create-new-product',\r\n Component: lazy(() => import('pages/products/ProductCreatePage')),\r\n exact: true,\r\n },\r\n {\r\n path: '/products/create-with-excel',\r\n Component: lazy(() => import('pages/products/ProductImportModalPage')),\r\n exact: true,\r\n },\r\n\r\n {\r\n path: '/delivery/same-day-delivery-areas',\r\n Component: lazy(() => import('pages/delivery/SameDayDeliveryAreas')),\r\n exact: true,\r\n },\r\n {\r\n path: '/store-profile',\r\n Component: lazy(() => import('pages/store-profile')),\r\n exact: true,\r\n },\r\n {\r\n path: '/commission-rates',\r\n Component: lazy(() => import('pages/commission-rates')),\r\n exact: true,\r\n },\r\n {\r\n path: '/popular-categories',\r\n Component: lazy(() => import('pages/popular-categories/PopularCategoryList')),\r\n exact: true,\r\n },\r\n {\r\n path: '/integration/api-tokens',\r\n Component: lazy(() => import('pages/integration/ApiTokens')),\r\n exact: true,\r\n },\r\n {\r\n path: '/integration/webhooks',\r\n Component: lazy(() => import('pages/integration/WebHooks')),\r\n exact: true,\r\n },\r\n]\r\n","import React, { Suspense, useEffect } from 'react'\r\nimport { Route, Redirect, Switch } from 'react-router-dom'\r\nimport { ConnectedRouter } from 'connected-react-router'\r\nimport { CSSTransition, SwitchTransition } from 'react-transition-group'\r\nimport { connect } from 'react-redux'\r\nimport Layout from 'layouts'\r\nimport { commonRoutes, approvedMerchantRoutes, appealMerchantRoutes } from './constants/routes'\r\nimport apiClient from './shared/services/axios'\r\nimport { notification } from 'antd'\r\nimport useInterval from './shared/hooks/useInterval'\r\nimport store from 'store'\r\n\r\nconst mapStateToProps = ({ settings, user, menu }) => ({\r\n routerAnimation: settings.routerAnimation,\r\n user,\r\n menu,\r\n})\r\n\r\n\r\n\r\n\r\nconst Router = ({ history, routerAnimation, dispatch, user, menu }) => {\r\n const routes = commonRoutes.concat(\r\n user.status === 1 ? [...approvedMerchantRoutes, ...appealMerchantRoutes] : appealMerchantRoutes,\r\n )\r\n const id = store.get('userId')\r\n\r\n\r\n console.log('user', user);\r\n\r\n useEffect(() => {\r\n apiClient.interceptors.response.use(undefined, error => {\r\n // Errors handling\r\n const { response } = error\r\n const { data } = response\r\n\r\n if (response) {\r\n const { noToastr } = error.config.headers\r\n\r\n if (error.status === 401 || error.status === 403) {\r\n dispatch({\r\n type: 'user/LOGOUT',\r\n })\r\n }\r\n\r\n if (noToastr) {\r\n console.log()\r\n } else if (typeof data.errors === 'object' && Object.keys(data.errors).length) {\r\n const validateErrors = []\r\n\r\n Object.keys(data.errors).forEach(key => {\r\n if (data.errors[key].length > 0) {\r\n validateErrors.push(data.errors[key].join(','))\r\n }\r\n })\r\n\r\n notification.warning({\r\n message: 'Formda Bazı Hatalar Mevcut',\r\n description: validateErrors.join(', '),\r\n })\r\n } else {\r\n notification.error({\r\n message: data?.message || response?.statusText || data,\r\n })\r\n }\r\n }\r\n\r\n return Promise.reject(error.response)\r\n })\r\n }, [])\r\n\r\n useInterval(() => {\r\n if (id) {\r\n apiClient.get('MerchantAppeals/GetUnReadMessagesCount').then(response => {\r\n const unreadCount = response.data.result\r\n const menuItem = menu.menuData.find(i => i.key === 'appeal-messages')\r\n if (menuItem) {\r\n menuItem.count = unreadCount > 0 ? unreadCount : undefined\r\n }\r\n dispatch({\r\n type: 'menu/SET_STATE',\r\n })\r\n })\r\n }\r\n }, 30000)\r\n\r\n return (\r\n \r\n \r\n {\r\n const { location } = state\r\n return (\r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {routes.map(({ path, Component, exact }) => (\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }}\r\n />\r\n ))}\r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n />\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default connect(mapStateToProps)(Router)\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\r\n)\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config)\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA',\r\n )\r\n })\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing\r\n if (installingWorker == null) {\r\n return\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\r\n )\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration)\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.')\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error)\r\n })\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type')\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload()\r\n })\r\n })\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.')\r\n })\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister()\r\n })\r\n }\r\n}\r\n","import 'antd/lib/style/index.less' // antd core styles\r\nimport './components/kit/vendors/antd/themes/default.less' // default theme antd components\r\nimport './components/kit/vendors/antd/themes/dark.less' // dark theme antd components\r\nimport './global.scss' // app & third-party component styles\r\n\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { createBrowserHistory, createHashHistory } from 'history'\r\nimport { createStore, applyMiddleware, compose } from 'redux'\r\nimport { Provider } from 'react-redux'\r\n// import { logger } from 'redux-logger'\r\nimport createSagaMiddleware from 'redux-saga'\r\nimport { routerMiddleware } from 'connected-react-router'\r\n\r\nimport reducers from './redux/reducers'\r\nimport sagas from './redux/sagas'\r\nimport Localization from './localization'\r\nimport Router from './router'\r\nimport * as serviceWorker from './serviceWorker'\r\n\r\n// mocking api\r\nimport 'shared/services/axios/fakeApi'\r\n\r\nif (['production'].includes(process.env.REACT_APP_ENV)) {\r\n const noop = () => {}\r\n ;[\r\n 'assert',\r\n 'clear',\r\n 'count',\r\n 'debug',\r\n 'dir',\r\n 'dirxml',\r\n 'error',\r\n 'exception',\r\n 'group',\r\n 'groupCollapsed',\r\n 'groupEnd',\r\n 'info',\r\n 'log',\r\n 'markTimeline',\r\n 'profile',\r\n 'profileEnd',\r\n 'table',\r\n 'time',\r\n 'timeEnd',\r\n 'timeline',\r\n 'timelineEnd',\r\n 'timeStamp',\r\n 'trace',\r\n 'warn',\r\n ].forEach(method => {\r\n window.console[method] = noop\r\n })\r\n}\r\n\r\n// middlewared\r\nconst history = createBrowserHistory()\r\nconst sagaMiddleware = createSagaMiddleware()\r\nconst routeMiddleware = routerMiddleware(history)\r\nconst middlewares = [sagaMiddleware, routeMiddleware]\r\n// if (process.env.NODE_ENV === 'development') {\r\n// middlewares.push(logger)\r\n// }\r\nconst store = createStore(reducers(history), compose(applyMiddleware(...middlewares)))\r\nsagaMiddleware.run(sagas)\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root'),\r\n)\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.register()\r\nexport { store, history }\r\n","import MockAdapter from 'axios-mock-adapter'\r\nimport apiClient from '../index'\r\n\r\nconst mock = new MockAdapter(apiClient, { delayResponse: 500 })\r\n\r\nexport default mock\r\n\r\nexport const mockRoute = (path = '') => {\r\n return new RegExp(path.replace(/:\\w+/g, '[^/]+'))\r\n}\r\n","import mock from './mock'\r\nimport '../../../../mocks'\r\n\r\nmock.onAny().passThrough()\r\n","import axios from 'axios'\r\nimport store from 'store'\r\nimport config from '../config'\r\n\r\nconst apiClient = axios.create({\r\n baseURL: config.apiUrl\r\n})\r\n\r\napiClient.interceptors.request.use(request => {\r\n const accessToken = store.get('accessToken')\r\n if (accessToken) {\r\n request.headers.Authorization = `Bearer ${accessToken}`\r\n request.headers.AccessToken = accessToken\r\n }\r\n return request\r\n})\r\n\r\nexport default apiClient\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"style_container__3zHEQ\",\"white\":\"style_white__1t_DB\",\"gray\":\"style_gray__2I2Z0\",\"containerInner\":\"style_containerInner__31JKB\",\"containerInnerFull\":\"style_containerInnerFull__3AaOr\",\"topbar\":\"style_topbar__3Q5Wg\",\"topbarGray\":\"style_topbarGray__tubuI\",\"logoContainer\":\"style_logoContainer__GmEkO\",\"logo\":\"style_logo__mk-U-\",\"footerNav\":\"style_footerNav__6Vlpd\",\"name\":\"style_name__3iPvE\",\"descr\":\"style_descr__2UK99\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"style_item__3nohf\",\"icon\":\"style_icon__2zobh\",\"setIcon\":\"style_setIcon__3zbHF\",\"setIconActive\":\"style_setIconActive__3LG4P\",\"link\":\"style_link__1tHJ8\"};"],"sourceRoot":""}