{"version":3,"sources":["store/actions/actionTypes.js","store/reducers/appReducer.js","store/reducers/adminReducer.js","store/reducers/rootReducer.js","redux.js","hoc/authentication.js","utils/constant.js","utils/KeyCodeUtils.js","utils/LanguageUtils.js","assets/images/Round.png","assets/images/SpinIcon.png","services/API.js","axios.js","components/PopUp/PopUp.js","containers/Home/Home.js","containers/App.js","serviceWorker.js","hoc/IntlProviderWrapper.js","index.js"],"names":["actionTypes","Object","freeze","APP_START_UP_COMPLETE","SET_CONTENT_OF_CONFIRM_MODAL","ADMIN_LOGIN_SUCCESS","ADMIN_LOGIN_FAIL","PROCESS_LOGOUT","ADD_USER_SUCCESS","initialState","started","language","systemMenuPath","contentOfConfirmModal","isOpen","messageId","handleFunc","dataFunc","appReducer","state","action","type","isLoggedIn","adminInfo","persistCommonConfig","storage","stateReconciler","autoMergeLevel2","adminPersistConfig","key","whitelist","history","createBrowserHistory","basename","process","REACT_APP_ROUTER_BASE_NAME","reduxStateSyncConfig","rootReducer","combineReducers","router","connectRouter","admin","persistReducer","adminReducer","user","userReducer","app","middleware","routerMiddleware","thunkMiddleware","createStateSyncMiddleware","composeEnhancers","compose","reduxStore","createStore","applyMiddleware","persistor","dispatch","persistStore","locationHelper","locationHelperBuilder","userIsNotAuthenticated","connectedRouterRedirect","authenticatedSelector","window","localStorage","getItem","Date","getTime","wrapperDisplayName","redirectPath","ownProps","getRedirectQueryParam","allowRedirectBack","path","KeyCodeUtils","e","UP","DOWN","TAB","ENTER","E","ESCAPE","flattenMessages","nestedMessages","prefix","keys","reduce","messages","value","prefixedKey","assign","messages_vi","messages_en","LanguageUtils","lang","instance","axios","create","baseURL","withCredentials","interceptors","response","use","error","status","console","log","GetListPrize","token","a","MemberHeader","headers","Authorization","post","REACT_APP_CRM_InstanceURL","GetChances","GenerateAndRedeemPrizeWon","PopUp","openProfilePage","location","href","this","props","statusMessage","className","item","onClick","chances","Component","Home","componentDidMount","query","URLSearchParams","search","tokenLocal","get","domain","URL","hostname","setState","API","listPrize","popUpLoginState","data","result","codes","totalAvailableChances","handleClick","checkSpin","prize","message","includes","PopUpState","PopUpStatus","random","findIndex","x","customCode","handleSpin","rewardPrize","Name","name","countnameAni","rewardCampaignHistory","code","undefined","timeInfo","descriptionInfo","rotateStart","countNameAni","memberCardNo","description","emptyRewards","btnSpin","React","createRef","bind","wheel","styleSheets","document","length","removeRule","cssRules","rotate","nameAni","keyFrames","insertRule","current","style","animationName","animationTimingFunction","animationDuration","transform","setTimeout","ref","src","SpinRound","alt","map","index","splitIndex","idx","subfix","indexOf","substring","trim","voucher","SpinIcon","connect","App","handlePersistorState","getState","bootstrapped","onBeforeLift","Promise","resolve","then","catch","exact","component","Boolean","match","getFlattenedMessages","IntlProviderWrapper","children","locale","defaultLocale","ReactDOM","render","store","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.805acb1b.chunk.js","sourcesContent":["const actionTypes = Object.freeze({\r\n //app\r\n APP_START_UP_COMPLETE: 'APP_START_UP_COMPLETE',\r\n SET_CONTENT_OF_CONFIRM_MODAL: 'SET_CONTENT_OF_CONFIRM_MODAL',\r\n\r\n //admin\r\n ADMIN_LOGIN_SUCCESS: 'ADMIN_LOGIN_SUCCESS',\r\n ADMIN_LOGIN_FAIL: 'ADMIN_LOGIN_FAIL',\r\n PROCESS_LOGOUT: 'PROCESS_LOGOUT',\r\n\r\n //user\r\n ADD_USER_SUCCESS: 'ADD_USER_SUCCESS',\r\n})\r\n\r\nexport default actionTypes;","import actionTypes from '../actions/actionTypes';\r\n\r\nconst initContentOfConfirmModal = {\r\n isOpen: false,\r\n messageId: \"\",\r\n handleFunc: null,\r\n dataFunc: null\r\n}\r\n\r\nconst initialState = {\r\n started: true,\r\n language: 'vi',\r\n systemMenuPath: '/system/user-manage',\r\n contentOfConfirmModal: {\r\n ...initContentOfConfirmModal\r\n }\r\n}\r\n\r\nconst appReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.APP_START_UP_COMPLETE: \r\n return {\r\n ...state,\r\n started: true\r\n }\r\n case actionTypes.SET_CONTENT_OF_CONFIRM_MODAL: \r\n return {\r\n ...state,\r\n contentOfConfirmModal: {\r\n ...state.contentOfConfirmModal,\r\n ...action.contentOfConfirmModal\r\n }\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default appReducer;","import actionTypes from '../actions/actionTypes';\r\n\r\nconst initialState = {\r\n isLoggedIn: false,\r\n adminInfo: null\r\n}\r\n\r\nconst appReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.ADMIN_LOGIN_SUCCESS:\r\n return {\r\n ...state,\r\n isLoggedIn: true,\r\n adminInfo: action.adminInfo\r\n }\r\n case actionTypes.ADMIN_LOGIN_FAIL:\r\n return {\r\n ...state,\r\n isLoggedIn: false,\r\n adminInfo: null\r\n }\r\n case actionTypes.PROCESS_LOGOUT:\r\n return {\r\n ...state,\r\n isLoggedIn: false,\r\n adminInfo: null\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default appReducer;","import {combineReducers} from 'redux';\r\nimport { connectRouter } from 'connected-react-router';\r\n\r\nimport appReducer from \"./appReducer\";\r\nimport adminReducer from \"./adminReducer\";\r\nimport userReducer from \"./userReducer\";\r\n\r\nimport autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';\r\nimport storage from 'redux-persist/lib/storage';\r\nimport { persistReducer } from 'redux-persist';\r\n\r\nconst persistCommonConfig = {\r\n storage: storage,\r\n stateReconciler: autoMergeLevel2,\r\n};\r\n\r\nconst adminPersistConfig = {\r\n ...persistCommonConfig,\r\n key: 'admin',\r\n whitelist: ['isLoggedIn', 'adminInfo']\r\n};\r\n\r\nexport default (history) => combineReducers({\r\n router: connectRouter(history),\r\n admin: persistReducer(adminPersistConfig, adminReducer),\r\n user: userReducer,\r\n app: appReducer\r\n})","import { logger } from \"redux-logger\";\r\nimport thunkMiddleware from \"redux-thunk\";\r\nimport { routerMiddleware } from 'connected-react-router';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport { createStore, applyMiddleware, compose } from 'redux';\r\nimport { createStateSyncMiddleware } from 'redux-state-sync';\r\nimport { persistStore } from 'redux-persist';\r\n\r\nimport createRootReducer from './store/reducers/rootReducer';\r\nimport actionTypes from './store/actions/actionTypes';\r\n\r\nconst environment = process.env.NODE_ENV || \"development\";\r\nlet isDevelopment = environment === \"development\";\r\n\r\n//hide redux logs\r\nisDevelopment = false;\r\n\r\n\r\nexport const history = createBrowserHistory({ basename: process.env.REACT_APP_ROUTER_BASE_NAME });\r\n\r\nconst reduxStateSyncConfig = {\r\n whitelist: [\r\n actionTypes.APP_START_UP_COMPLETE,\r\n ]\r\n}\r\n\r\nconst rootReducer = createRootReducer(history);\r\nconst middleware = [\r\n routerMiddleware(history),\r\n thunkMiddleware,\r\n createStateSyncMiddleware(reduxStateSyncConfig),\r\n]\r\nif (isDevelopment) middleware.push(logger);\r\n\r\nconst composeEnhancers = (isDevelopment && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : compose;\r\n\r\nconst reduxStore = createStore(\r\n rootReducer,\r\n composeEnhancers(applyMiddleware(...middleware)),\r\n)\r\n\r\nexport const dispatch = reduxStore.dispatch;\r\n\r\nexport const persistor = persistStore(reduxStore);\r\n\r\nexport default reduxStore;","import locationHelperBuilder from \"redux-auth-wrapper/history4/locationHelper\";\r\nimport { connectedRouterRedirect } from \"redux-auth-wrapper/history4/redirect\";\r\n\r\nconst locationHelper = locationHelperBuilder({});\r\n\r\nexport const userIsAuthenticated = connectedRouterRedirect({\r\n authenticatedSelector: state => state.admin.isLoggedIn && (window.localStorage.getItem('tokenCreatedDate') && (new Date().getTime() - window.localStorage.getItem('tokenCreatedDate'))/1000 <= 1800),\r\n wrapperDisplayName: 'UserIsAuthenticated',\r\n redirectPath: '/login'\r\n});\r\n\r\nexport const userIsNotAuthenticated = connectedRouterRedirect({\r\n // Want to redirect the user when they are authenticated\r\n authenticatedSelector: state => !state.admin.isLoggedIn || !window.localStorage.getItem('tokenCreatedDate') || (window.localStorage.getItem('tokenCreatedDate') && (new Date().getTime() - window.localStorage.getItem('tokenCreatedDate'))/1000 >= 1800),\r\n wrapperDisplayName: 'UserIsNotAuthenticated',\r\n redirectPath: (state, ownProps) => locationHelper.getRedirectQueryParam(ownProps) || '/',\r\n allowRedirectBack: false\r\n});","export const path = {\r\n HOME: \"/\",\r\n LOGIN: \"/login\",\r\n LOG_OUT: \"/logout\",\r\n SYSTEM: \"/system\",\r\n};\r\n\r\nexport const languages = {\r\n VI: \"vi\",\r\n EN: \"en\",\r\n};\r\n\r\nexport const manageActions = {\r\n ADD: \"ADD\",\r\n EDIT: \"EDIT\",\r\n DELETE: \"DELETE\",\r\n};\r\n\r\nexport const dateFormat = {\r\n SEND_TO_SERVER: \"DD/MM/YYYY\",\r\n};\r\n\r\nexport const YesNoObj = {\r\n YES: \"Y\",\r\n NO: \"N\",\r\n};\r\n\r\nexport const IS_DEV = process.env.NODE_ENV === \"development\";\r\n","class KeyCodeUtils {\r\n\r\n static UP = 38;\r\n\r\n static DOWN = 40;\r\n\r\n static TAB = 9;\r\n\r\n static ENTER = 13;\r\n\r\n static E = 69;\r\n\r\n static ESCAPE = 27; \r\n\r\n static isNavigation(e) {\r\n return (e >= 33 && e <= 40) || e === 9 || e === 8 || e === 46 || e === 14 || e === 13;\r\n }\r\n\r\n static isNumeric(e) {\r\n return (e >= 48 && e <= 57) || (e >= 96 && e <= 105);\r\n }\r\n static isAlphabetic(e) {\r\n return (e >= 65 && e <= 90);\r\n }\r\n static isDecimal(e) {\r\n return e === 190 || e === 188 || e === 108 || e === 110;\r\n }\r\n\r\n static isDash(e) {\r\n return e === 109 || e === 189;\r\n }\r\n}\r\n\r\nexport default KeyCodeUtils;","import messages_vi from '../translations/vi.json';\r\nimport messages_en from '../translations/en.json';\r\n\r\nconst flattenMessages = ((nestedMessages, prefix = '') => {\r\n if (nestedMessages == null) {\r\n return {}\r\n }\r\n return Object.keys(nestedMessages).reduce((messages, key) => {\r\n const value = nestedMessages[key];\r\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\r\n\r\n if (typeof value === 'string') {\r\n Object.assign(messages, {[prefixedKey]: value})\r\n } else {\r\n Object.assign(messages, flattenMessages(value, prefixedKey))\r\n }\r\n\r\n return messages\r\n }, {})\r\n});\r\n\r\nconst messages = {\r\n 'vi': flattenMessages(messages_vi),\r\n 'en': flattenMessages(messages_en),\r\n};\r\n\r\nexport default class LanguageUtils {\r\n static getMessageByKey(key, lang) {\r\n return messages[lang][key]\r\n }\r\n\r\n static getFlattenedMessages() {\r\n return messages;\r\n }\r\n}","export default __webpack_public_path__ + \"static/media/Round.af446279.png\";","export default __webpack_public_path__ + \"static/media/SpinIcon.54c264be.png\";","import axios from \"axios\";\r\n\r\nconst instance = axios.create({\r\n baseURL: process.env.REACT_APP_BACKEND_URL,\r\n withCredentials: true,\r\n});\r\n\r\nconst REACT_APP_CRM_InstanceURL = \"/api/SpinWheel/\";\r\n\r\ninstance.interceptors.response.use(\r\n (response) => {\r\n return response;\r\n },\r\n (error) => {\r\n if (error.response.status === 401) {\r\n console.log(\"401\");\r\n }\r\n return error;\r\n }\r\n);\r\n\r\nexport const GetListPrize = async (token) => {\r\n const MemberHeader = {\r\n headers: {\r\n Authorization: token\r\n },\r\n };\r\n return instance.post(REACT_APP_CRM_InstanceURL + 'GetPrizes', {}, MemberHeader);\r\n};\r\n\r\nexport const GetChances = async (token) => {\r\n const MemberHeader = {\r\n headers: {\r\n Authorization: token\r\n },\r\n };\r\n return instance.post(REACT_APP_CRM_InstanceURL + 'GetNumberOfChances', {}, MemberHeader);\r\n};\r\n\r\nexport const GenerateAndRedeemPrizeWon = async (token) => {\r\n const MemberHeader = {\r\n headers: {\r\n Authorization: token\r\n },\r\n };\r\n return instance.post(REACT_APP_CRM_InstanceURL + 'GenerateAndRedeemPrizeWon', {}, MemberHeader);\r\n};","import axios from 'axios';\r\n\r\nconst instance = axios.create({\r\n baseURL: process.env.REACT_APP_BACKEND_URL,\r\n withCredentials: true\r\n});\r\n\r\nexport const isSuccessStatusCode = (s) => {\r\n // May be string or number\r\n const statusType = typeof s;\r\n return (statusType === 'number' && s === 0) || (statusType === 'string' && s.toUpperCase() === 'OK');\r\n};\r\n\r\nconst setupInterceptors = (history) => {\r\n instance.interceptors.response.use(response => {\r\n return response\r\n }, \r\n error => {\r\n if (error.response.status === 401) {\r\n window.localStorage.clear();\r\n console.log('xxxxx')\r\n }\r\n })\r\n}\r\n\r\nexport default setupInterceptors\r\n","import React, { Component } from \"react\";\r\n// import { connect } from 'react-redux';\r\nimport \"./PopUp.scss\";\r\n\r\nclass PopUp extends Component {\r\n openProfilePage = () => {\r\n window.location.href = process.env.REACT_APP_LEVIS_PROFILE;\r\n };\r\n\r\n render() {\r\n if (this.props.statusMessage === \"SUCCESS\") {\r\n return (\r\n
{name}
\r\n{voucher}
\r\n룰렛 이벤트
\r\n\r\n 기간 : 2024년 2월 15일 11 AM ~ 2월 29일 12 AM\r\n
\r\n 100% 당첨 룰렛 이벤트에 참여하고 최대 5,000원의 Levi's® 쿠폰을 받으세요!\r\n
\r\n
\r\n Levi's® 레드탭 멤버십에 가입하신 모든 분들께 1 번의 룰렛게임 참여기회가 주어집니다. 당첨된 혜택은 나의 혜택 > 쿠폰에서 확인할 수 있습니다.\r\n
\r\n Spins left: {this.state.totalAvailableChances || 0}\r\n
*/}\r\n유의사항:
\r\n\r\n - Levi's® 레드탭 멤버라면 누구든지 참여할 수 있습니다.\r\n
\r\n - 아이디당 1번의 기회가 주어집니다.\r\n
\r\n - 당첨된 혜택은 나의 혜택 > 쿠폰에서 확인할 수 있으며, 발급일로부터 2주간 유효합니다.\r\n
\r\n - 룰렛이벤트 쿠폰은 LVC, 콜라보레이션 및 일부 제품은 적용 불가이며, 다른 쿠폰과는 함께 사용할 수 없습니다.\r\n
\r\n