{"version":3,"sources":["assets/images/step-3.png","assets/images/step-1.png","assets/images/step-4.png","assets/images/step-5.png","assets/images/step-6.png","serviceWorker.js","context/context.js","context/auth-context.js","context/data-context.js","context/layout-context.js","reducers/authReducer.js","reducers/dataReducer.js","reducers/layoutReducer.js","components/Hero.js","layouts/Home.js","layouts/About.js","layouts/Faq.js","assets/images/codethentic-logo.png","components/Header.js","components/Footer.js","layouts/Layout.js","layouts/Services.js","layouts/Quote.js","layouts/Contact.js","layouts/services/MobileAppDevelopment.js","layouts/services/WebDevelopment.js","layouts/services/BespokeSoftwareDevelopment.js","layouts/services/SearchEngineOptimization.js","layouts/services/EcommerceDevelopment.js","layouts/services/DigitalMarketing.js","App.js","index.js","assets/images/step-2.png"],"names":["Boolean","window","location","hostname","match","Context","React","createContext","AuthContext","isAuthenticated","DataContext","welcome","selection","preferences","title","value","selected","models","image","finance","budgets","mileages","deposit","details","firstName","lastName","emailAddress","mobile","phone","branchName","branchAddress1","branchAddress2","branchAddress3","branchPostcode","branchTradingName","branchTelephone","branchContactEmail","branchToEmail","branchFromEmail","partExchange","make","model","registration","mileage","transmission","fuel","colour","contractStartDate","contractEndDate","monthlyPayment","conditions","currentMileage","comments","summary","contactMethods","contactTimes","contactDays","confirmation","LayoutContext","allLayouts","slug","completed","AuthReducer","state","action","token","v4","type","localStorage","setItem","JSON","stringify","payload","clear","DataReducer","capitalize","s","charAt","toUpperCase","slice","data","response","console","log","vrm","fuel_type","contract_start_date","contract_end_date","monthly_payment","first_name","toLowerCase","last_name","email","telephone1","branch","name","address_1","address_2","address_3","postcode","participating_branch","trading_name","telephone","contact_email","to_email","from_email","updatedPreferences","map","item","updatedModels","updatedBudgets","updatedMileages","updatedCondition","updatedDetails","updatedContactMethod","updatedContactTime","updatedContactDay","appointment","updatedModes","modes","updatedLocation","mode","locations","layoutReducer","tempArray","index","findIndex","Hero","titleFirstLine","titleSecondLine","titleThirdLine","titleFourthLine","subTitleText","paragraphText","children","id","className","data-bs-ride","style","height","backgroundColor","backgroundSize","zIndex","left","right","margin","colourClass","typeSpeed","startDelay","backSpeed","strings","text","smartBackspace","shuffle","backDelay","fadeOut","fadeOutDelay","loopCount","showCursor","cursorChar","pointerEvents","to","params","autoPlay","background","color","position","repeat","size","opacity","backgroundMask","composite","cover","enable","defaultThemes","delay","fullScreen","detectRetina","duration","fpsLimit","interactivity","detectsOn","events","onClick","onDiv","selectors","onHover","parallax","force","smooth","resize","attract","distance","easing","factor","maxSpeed","speed","bounce","bubble","mix","divs","connect","links","radius","grab","blink","consent","push","default","groups","quantity","remove","repulse","slow","trail","pauseOnStop","light","area","gradient","start","stop","shadow","length","manualParticles","particles","horizontal","random","minimumValue","vertical","collisions","absorb","overlap","retries","animation","h","count","offset","decay","sync","l","move","angle","rotate","x","y","center","direction","drift","gravity","acceleration","inverse","path","clamp","options","outModes","bottom","top","spin","straight","fill","vibrate","warp","number","density","width","limit","min","max","destroy","startValue","reduceDuplicates","blur","shape","polygon","sides","star","stroke","opacityRate","sizeRate","velocityRate","life","bounds","split","rate","sizeOffset","roll","darken","enlighten","tilt","twinkle","lines","frequency","wobble","orbit","rotation","triangles","enabled","pauseOnBlur","pauseOnOutsideViewport","responsive","themes","zLayers","Home","useEffect","tabEl","document","querySelectorAll","forEach","tab","addEventListener","event","target","relatedTarget","classList","class","fontSize","src","require","alt","data-count","href","data-wow-delay","visibility","animationDelay","animationName","role","rewind","gap","perPage","breakpoints","640","data-bs-toggle","data-bs-target","aria-controls","aria-selected","aria-labelledby","About","Faq","Menu","useNavigate","useLocation","useState","pathname","replace","currentLocation","setCurrentLocation","dropdownToggle","querySelector","dropdownMenu","e","display","add","includes","logo","aria-expanded","aria-label","Footer","aria-current","Layout","props","Header","Services","Quote","Contact","MobileAppDevelopment","WebDevelopment","BespokeSoftwareDevelopment","SearchEngineOptimization","EcommerceDevelopment","DigitalMarketing","App","AuthCtx","useContext","DataCtx","LayoutCtx","combineReducers","auth","layout","LayoutReducer","rootReducerCombined","rootContextCombined","useReducer","dispatch","routes","exact","Provider","ReactDOM","render","StrictMode","getElementById","navigator","serviceWorker","ready","then","unregister"],"mappings":"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","file":"static/js/main.40675a15.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/step-3.89b4d76b.png\";","export default __webpack_public_path__ + \"static/media/step-1.0c74d434.png\";","export default __webpack_public_path__ + \"static/media/step-4.1f3611c6.png\";","export default __webpack_public_path__ + \"static/media/step-5.47537094.png\";","export default __webpack_public_path__ + \"static/media/step-6.a2be92d4.png\";","// 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.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\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 headers: { 'Service-Worker': 'script' }\r\n })\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(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\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 React from \"react\";\r\n\r\nexport const Context = React.createContext();\r\n","import React from \"react\";\r\n\r\nexport const AuthContext = React.createContext({\r\n isAuthenticated: false,\r\n});\r\n","import React from \"react\";\r\n\r\nexport const DataContext = React.createContext({\r\n welcome: {},\r\n selection: {\r\n preferences: [\r\n { title: \"New\", value: \"New\", selected: false },\r\n { title: \"Pre-Reg\", value: \"Pre-Reg\", selected: false },\r\n { title: \"Ex-Demo\", value: \"Ex-Demo\", selected: false },\r\n { title: \"Used\", value: \"Used\", selected: false },\r\n ],\r\n models: [\r\n {\r\n title: \"up!\",\r\n image: \"up.png\",\r\n selected: false,\r\n },\r\n { title: \"up! 5 door\", image: \"up-5door.png\", selected: false },\r\n { title: \"Polo\", image: \"polo.png\", selected: false },\r\n { title: \"Golf\", image: \"golf.png\", selected: false },\r\n { title: \"Golf Estate\", image: \"golf-estate.png\", selected: false },\r\n { title: \"e-Golf\", image: \"e-golf.png\", selected: false },\r\n { title: \"New Golf 8 Estate\", image: \"new-golf-8-estate.png\", selected: false },\r\n { title: \"ID.3\", image: \"id3.png\", selected: false },\r\n { title: \"ID.4\", image: \"id4.png\", selected: false },\r\n { title: \"T-Cross\", image: \"t-cross.png\", selected: false },\r\n { title: \"T-Roc\", image: \"t-roc.png\", selected: false },\r\n { title: \"New T-Roc Cabriolet\", image: \"new-troc-cabriolet.png\", selected: false },\r\n { title: \"New Tiguan\", image: \"new-tiguan.png\", selected: false },\r\n { title: \"Tiguan Allspace\", image: \"tiguan-allspace.png\", selected: false },\r\n { title: \"Touareg\", image: \"touareg.png\", selected: false },\r\n { title: \"Passat\", image: \"passat.png\", selected: false },\r\n { title: \"Passat Estate\", image: \"passat-estate.png\", selected: false },\r\n { title: \"New Arteon\", image: \"new-arteon.png\", selected: false },\r\n { title: \"Arteon Shooting Brake\", image: \"arteon-shooting-brake.png\", selected: false },\r\n { title: \"Arteon\", image: \"arteon.png\", selected: false },\r\n { title: \"Touran\", image: \"touran.png\", selected: false },\r\n { title: \"Sharan\", image: \"sharan.png\", selected: false },\r\n ],\r\n },\r\n finance: {\r\n budgets: [\r\n { title: \"£99 - £149\", value: \"£99 - £149\", selected: false },\r\n { title: \"£150 - £199\", value: \"£150 - £199\", selected: false },\r\n { title: \"£200 - £249\", value: \"£200 - £249\", selected: false },\r\n { title: \"£250 - £299\", value: \"£250 - £299\", selected: false },\r\n { title: \"£300 - £349\", value: \"£300 - £349\", selected: false },\r\n { title: \"£350 - £399\", value: \"£350 - £399\", selected: false },\r\n { title: \"£400 - £449\", value: \"£400 - £449\", selected: false },\r\n ],\r\n mileages: [\r\n { title: \"5,000\", value: \"5,000\", selected: false },\r\n { title: \"10,000\", value: \"10,000\", selected: false },\r\n { title: \"15,000\", value: \"15,000\", selected: false },\r\n { title: \"20,000\", value: \"20,000\", selected: false },\r\n { title: \"25,000\", value: \"25,000\", selected: false },\r\n { title: \"30,000\", value: \"30,000\", selected: false },\r\n ],\r\n deposit: \"\",\r\n },\r\n details: {\r\n title: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n emailAddress: \"\",\r\n mobile: \"\",\r\n phone: \"\",\r\n finance: \"\",\r\n branchName: \"\",\r\n branchAddress1: \"\",\r\n branchAddress2: \"\",\r\n branchAddress3: \"\",\r\n branchPostcode: \"\",\r\n branchTradingName: \"\",\r\n branchTelephone: \"\",\r\n branchContactEmail: \"\",\r\n branchToEmail: \"\",\r\n branchFromEmail: \"\",\r\n },\r\n partExchange: {\r\n make: \"\",\r\n model: \"\",\r\n registration: \"\",\r\n mileage: \"\",\r\n transmission: \"\",\r\n fuel: \"\",\r\n colour: \"\",\r\n contractStartDate: \"\",\r\n contractEndDate: \"\",\r\n monthlyPayment: \"\",\r\n conditions: [\r\n { title: \"Good\", value: \"Good\", selected: false },\r\n { title: \"Average\", value: \"Average\", selected: false },\r\n { title: \"Poor\", value: \"Poor\", selected: false },\r\n ],\r\n currentMileage: \"\",\r\n comments: \"\",\r\n },\r\n summary: {\r\n contactMethods: [\r\n { title: \"Email\", value: \"Email\", selected: false },\r\n { title: \"Sms\", value: \"Sms\", selected: false },\r\n { title: \"Telephone\", value: \"Telephone\", selected: false },\r\n ],\r\n contactTimes: [\r\n { title: \"Morning\", value: \"Morning\", selected: false },\r\n { title: \"Afternoon\", value: \"Afternoon\", selected: false },\r\n { title: \"Evening\", value: \"Evening\", selected: false },\r\n ],\r\n contactDays: [\r\n { title: \"Monday\", value: \"Monday\", selected: false },\r\n { title: \"Tuesday\", value: \"Tuesday\", selected: false },\r\n { title: \"Wednesday\", value: \"Wednesday\", selected: false },\r\n { title: \"Thursday\", value: \"Thursday\", selected: false },\r\n { title: \"Friday\", value: \"Friday\", selected: false },\r\n { title: \"Saturday\", value: \"Saturday\", selected: false },\r\n { title: \"Sunday\", value: \"Sunday\", selected: false },\r\n ],\r\n },\r\n confirmation: {},\r\n});\r\n","import React from \"react\";\r\n\r\nexport const LayoutContext = React.createContext({\r\n allLayouts: [\r\n {\r\n title: \"Welcome\",\r\n slug: \"welcome\",\r\n completed: false,\r\n },\r\n { title: \"Selection\", slug: \"selection\", completed: false },\r\n { title: \"Finance\", slug: \"finance\", completed: false },\r\n { title: \"Part Exchange\", slug: \"part-exchange\", completed: false },\r\n { title: \"Details\", slug: \"details\", completed: false },\r\n { title: \"Summary\", slug: \"summary\", completed: false },\r\n ],\r\n});\r\n","import { v4 } from \"uuid\";\r\n\r\nconst AuthReducer = (state, action) => {\r\n const token = `TK-${v4()}`;\r\n switch (action.type) {\r\n case \"LOGIN\":\r\n localStorage.setItem(\"userToken\", JSON.stringify(token));\r\n\r\n return {\r\n ...state,\r\n isAuthenticated: !!action.payload,\r\n };\r\n case \"LOGOUT\":\r\n localStorage.clear();\r\n return {\r\n ...state,\r\n isAuthenticated: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default AuthReducer;\r\n","const DataReducer = (state, action) => {\r\n const capitalize = (s) => {\r\n if (typeof s !== \"string\") return \"\";\r\n return s.charAt(0).toUpperCase() + s.slice(1);\r\n };\r\n\r\n switch (action.type) {\r\n // Initial Reducers\r\n case \"UPDATE_FROM_API\":\r\n const data = action.payload.response;\r\n console.log(data);\r\n return {\r\n ...state,\r\n partExchange: {\r\n ...state.partExchange,\r\n make: data.make || \"None specified\",\r\n model: data.model || \"None specified\",\r\n registration: data.vrm || \"None specified\",\r\n mileage: data.mileage || \"None specified\",\r\n transmission: data.transmission || \"None specified\",\r\n fuel: data.fuel_type || \"None specified\",\r\n colour: data.colour || \"None specified\",\r\n contractStartDate: data.contract_start_date || \"None specified\",\r\n contractEndDate: data.contract_end_date || \"None specified\",\r\n monthlyPayment: data.monthly_payment || \"None specified\",\r\n },\r\n details: {\r\n ...state.details,\r\n title: data.title,\r\n firstName: capitalize(data.first_name.toLowerCase()),\r\n lastName: capitalize(data.last_name.toLowerCase()),\r\n emailAddress: data.email,\r\n mobile: data.mobile,\r\n phone: data.telephone1,\r\n finance: data.finance,\r\n branchName: data.branch.name,\r\n branchAddress1: data.branch.address_1,\r\n branchAddress2: data.branch.address_2,\r\n branchAddress3: data.branch.address_3,\r\n branchPostcode: data.branch.postcode,\r\n branchTradingName: data.participating_branch.trading_name,\r\n branchTelephone: data.participating_branch.telephone,\r\n branchContactEmail: data.participating_branch.contact_email,\r\n branchToEmail: data.participating_branch.to_email,\r\n branchFromEmail: data.participating_branch.from_email,\r\n },\r\n };\r\n\r\n // End of Initial Reducers\r\n\r\n // Selection Reducers\r\n case \"UPDATE_ALL_SELECTIONS\":\r\n return { ...state, selection: action.data };\r\n case \"UPDATE_SELECTION_PREFERENCE\":\r\n const updatedPreferences = state.selection.preferences.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: !item.selected };\r\n } else {\r\n return item;\r\n }\r\n });\r\n return { ...state, selection: { ...state.selection, preferences: [...updatedPreferences] } };\r\n case \"UPDATE_SELECTION_MODEL\":\r\n const updatedModels = state.selection.models.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: !item.selected };\r\n } else {\r\n return item;\r\n }\r\n });\r\n return { ...state, selection: { ...state.selection, models: [...updatedModels] } };\r\n // End of Selection Reducers\r\n\r\n // Finance Reducers\r\n case \"UPDATE_ALL_FINANCES\":\r\n return { ...state, finance: action.data };\r\n case \"UPDATE_FINANCE_BUDGET\":\r\n const updatedBudgets = state.finance.budgets.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: true };\r\n } else {\r\n return { ...item, selected: false };\r\n }\r\n });\r\n return { ...state, finance: { ...state.finance, budgets: [...updatedBudgets] } };\r\n case \"UPDATE_FINANCE_MILEAGE\":\r\n const updatedMileages = state.finance.mileages.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: true };\r\n } else {\r\n return { ...item, selected: false };\r\n }\r\n });\r\n return { ...state, finance: { ...state.finance, mileages: [...updatedMileages] } };\r\n\r\n case \"UPDATE_FINANCE_DEPOSIT\":\r\n return { ...state, finance: { ...state.finance, deposit: action.data } };\r\n // End of Finance Reducers\r\n\r\n // PartExchange Reducers\r\n case \"UPDATE_ALL_PARTEXCHANGE\":\r\n return { ...state, partExchange: action.data };\r\n\r\n case \"UPDATE_PARTEXCHANGE_CONDITION\":\r\n const updatedCondition = state.partExchange.conditions.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: true };\r\n } else {\r\n return { ...item, selected: false };\r\n }\r\n });\r\n return { ...state, partExchange: { ...state.partExchange, conditions: [...updatedCondition] } };\r\n\r\n case \"UPDATE_PARTEXCHANGE_MILEAGE\":\r\n return { ...state, partExchange: { ...state.partExchange, currentMileage: action.data } };\r\n\r\n case \"UPDATE_PARTEXCHANGE_COMMENTS\":\r\n return { ...state, partExchange: { ...state.partExchange, comments: action.data } };\r\n // End of PartExchange Reducers\r\n\r\n // Details Reducers\r\n case \"UPDATE_ALL_DETAILS\":\r\n return { ...state, details: action.data };\r\n // End of Details Reducers\r\n case \"UPDATE_DETAIL\":\r\n const updatedDetails = { ...state.details, [action.data.name]: action.data.value };\r\n return { ...state, details: updatedDetails };\r\n // End of Details Reducers\r\n\r\n // Summary Reducers\r\n case \"UPDATE_ALL_SUMMARY\":\r\n return { ...state, summary: action.data };\r\n\r\n case \"UPDATE_SUMMARY_CONTACTMETHOD\":\r\n const updatedContactMethod = state.summary.contactMethods.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: !item.selected };\r\n } else {\r\n return item;\r\n }\r\n });\r\n return { ...state, summary: { ...state.summary, contactMethods: [...updatedContactMethod] } };\r\n\r\n case \"UPDATE_SUMMARY_CONTACTTIME\":\r\n const updatedContactTime = state.summary.contactTimes.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: !item.selected };\r\n } else {\r\n return item;\r\n }\r\n });\r\n return { ...state, summary: { ...state.summary, contactTimes: [...updatedContactTime] } };\r\n\r\n case \"UPDATE_SUMMARY_CONTACTDAY\":\r\n const updatedContactDay = state.summary.contactDays.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: !item.selected };\r\n } else {\r\n return item;\r\n }\r\n });\r\n return { ...state, summary: { ...state.summary, contactDays: [...updatedContactDay] } };\r\n // End of Summary Reducers\r\n\r\n // Appointment Reducers\r\n case \"UPDATE_ALL_APPOINTMENTS\":\r\n return { ...state, appointment: action.data };\r\n\r\n // case \"UPDATE_APPOINTMENT_SELECTED_MODE\":\r\n // return { ...state, appointment: { ...state.appointment, SelectedMode: action.title } };\r\n\r\n case \"UPDATE_APPOINTMENT_MODE\":\r\n const updatedModes = state.appointment.modes.map((item) => {\r\n if (item.title === action.title) {\r\n return { ...item, selected: true };\r\n } else {\r\n return { ...item, selected: false };\r\n }\r\n });\r\n return { ...state, appointment: { ...state.appointment, modes: [...updatedModes] } };\r\n\r\n case \"UPDATE_APPOINTMENT_LOCATION\":\r\n const updatedLocation = state.appointment.modes.map((mode) => {\r\n return {\r\n ...mode,\r\n locations: mode.locations.map((location) => {\r\n if (location.title === action.title) {\r\n return { ...location, selected: true };\r\n } else {\r\n return { ...location, selected: false };\r\n }\r\n }),\r\n };\r\n });\r\n return { ...state, appointment: { ...state.appointment, modes: [...updatedLocation] } };\r\n\r\n // End of Appointment Reducers\r\n\r\n case \"LOGOUT\":\r\n return {\r\n ...state,\r\n welcome: {},\r\n selection: {\r\n preferences: [\r\n { title: \"New\", value: \"New\", selected: false },\r\n { title: \"Pre-Reg\", value: \"Pre-Reg\", selected: false },\r\n { title: \"Ex-Demo\", value: \"Ex-Demo\", selected: false },\r\n { title: \"Used\", value: \"Used\", selected: false },\r\n ],\r\n models: [\r\n {\r\n title: \"up!\",\r\n image: \"up.png\",\r\n selected: false,\r\n },\r\n { title: \"up! 5 door\", image: \"up-5door.png\", selected: false },\r\n { title: \"Polo\", image: \"polo.png\", selected: false },\r\n { title: \"Golf\", image: \"golf.png\", selected: false },\r\n { title: \"Golf Estate\", image: \"golf-estate.png\", selected: false },\r\n { title: \"e-Golf\", image: \"e-golf.png\", selected: false },\r\n { title: \"New Golf 8 Estate\", image: \"new-golf-8-estate.png\", selected: false },\r\n { title: \"ID.3\", image: \"id3.png\", selected: false },\r\n { title: \"ID.4\", image: \"id4.png\", selected: false },\r\n { title: \"T-Cross\", image: \"t-cross.png\", selected: false },\r\n { title: \"T-Roc\", image: \"t-roc.png\", selected: false },\r\n { title: \"New T-Roc Cabriolet\", image: \"new-troc-cabriolet.png\", selected: false },\r\n { title: \"New Tiguan\", image: \"new-tiguan.png\", selected: false },\r\n { title: \"Tiguan Allspace\", image: \"tiguan-allspace.png\", selected: false },\r\n { title: \"Touareg\", image: \"touareg.png\", selected: false },\r\n { title: \"Passat\", image: \"passat.png\", selected: false },\r\n { title: \"Passat Estate\", image: \"passat-estate.png\", selected: false },\r\n { title: \"New Arteon\", image: \"new-arteon.png\", selected: false },\r\n { title: \"Arteon Shooting Brake\", image: \"arteon-shooting-brake.png\", selected: false },\r\n { title: \"Arteon\", image: \"arteon.png\", selected: false },\r\n { title: \"Touran\", image: \"touran.png\", selected: false },\r\n { title: \"Sharan\", image: \"sharan.png\", selected: false },\r\n ],\r\n },\r\n finance: {\r\n budgets: [\r\n { title: \"£99 - £149\", value: \"£99 - £149\", selected: false },\r\n { title: \"£150 - £199\", value: \"£150 - £199\", selected: false },\r\n { title: \"£200 - £249\", value: \"£200 - £249\", selected: false },\r\n { title: \"£250 - £299\", value: \"£250 - £299\", selected: false },\r\n { title: \"£300 - £349\", value: \"£300 - £349\", selected: false },\r\n { title: \"£350 - £399\", value: \"£350 - £399\", selected: false },\r\n { title: \"£400 - £449\", value: \"£400 - £449\", selected: false },\r\n ],\r\n mileages: [\r\n { title: \"5,000\", value: \"5,000\", selected: false },\r\n { title: \"10,000\", value: \"10,000\", selected: false },\r\n { title: \"15,000\", value: \"15,000\", selected: false },\r\n { title: \"20,000\", value: \"20,000\", selected: false },\r\n { title: \"25,000\", value: \"25,000\", selected: false },\r\n { title: \"30,000\", value: \"30,000\", selected: false },\r\n ],\r\n deposit: \"\",\r\n },\r\n details: {\r\n title: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n emailAddress: \"\",\r\n mobile: \"\",\r\n phone: \"\",\r\n finance: \"\",\r\n branchName: \"\",\r\n branchAddress1: \"\",\r\n branchAddress2: \"\",\r\n branchAddress3: \"\",\r\n branchPostcode: \"\",\r\n branchTradingName: \"\",\r\n branchTelephone: \"\",\r\n branchContactEmail: \"\",\r\n branchToEmail: \"\",\r\n branchFromEmail: \"\",\r\n },\r\n partExchange: {\r\n make: \"\",\r\n model: \"\",\r\n registration: \"\",\r\n mileage: \"\",\r\n transmission: \"\",\r\n fuel: \"\",\r\n colour: \"\",\r\n contractStartDate: \"\",\r\n contractEndDate: \"\",\r\n monthlyPayment: \"\",\r\n conditions: [\r\n { title: \"Good\", value: \"Good\", selected: false },\r\n { title: \"Average\", value: \"Average\", selected: false },\r\n { title: \"Poor\", value: \"Poor\", selected: false },\r\n ],\r\n currentMileage: \"\",\r\n comments: \"\",\r\n },\r\n summary: {\r\n contactMethods: [\r\n { title: \"Email\", value: \"Email\", selected: false },\r\n { title: \"Sms\", value: \"Sms\", selected: false },\r\n { title: \"Telephone\", value: \"Telephone\", selected: false },\r\n ],\r\n contactTimes: [\r\n { title: \"Morning\", value: \"Morning\", selected: false },\r\n { title: \"Afternoon\", value: \"Afternoon\", selected: false },\r\n { title: \"Evening\", value: \"Evening\", selected: false },\r\n ],\r\n contactDays: [\r\n { title: \"Monday\", value: \"Monday\", selected: false },\r\n { title: \"Tuesday\", value: \"Tuesday\", selected: false },\r\n { title: \"Wednesday\", value: \"Wednesday\", selected: false },\r\n { title: \"Thursday\", value: \"Thursday\", selected: false },\r\n { title: \"Friday\", value: \"Friday\", selected: false },\r\n { title: \"Saturday\", value: \"Saturday\", selected: false },\r\n { title: \"Sunday\", value: \"Sunday\", selected: false },\r\n ],\r\n },\r\n confirmation: {},\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default DataReducer;\r\n","const layoutReducer = (state, action) => {\r\n switch (action.type) {\r\n // MENU TOGGLE\r\n\r\n case \"UPDATE_ALL_LAYOUTS\":\r\n return { ...state, allLayouts: action.data };\r\n\r\n case \"SET_LAYOUT_VISITED\":\r\n const tempArray = [...state.allLayouts];\r\n const index = tempArray.findIndex((item) => {\r\n return item.slug === action.slug;\r\n });\r\n tempArray[index].completed = true;\r\n\r\n return {\r\n ...state,\r\n allLayouts: tempArray,\r\n };\r\n\r\n case \"LOGOUT\":\r\n return {\r\n ...state,\r\n allLayouts: [\r\n {\r\n title: \"Welcome\",\r\n slug: \"welcome\",\r\n completed: false,\r\n },\r\n { title: \"Selection\", slug: \"selection\", completed: false },\r\n { title: \"Finance\", slug: \"finance\", completed: false },\r\n { title: \"Part Exchange\", slug: \"part-exchange\", completed: false },\r\n { title: \"Details\", slug: \"details\", completed: false },\r\n { title: \"Summary\", slug: \"summary\", completed: false },\r\n ],\r\n };\r\n\r\n //DEFAULT\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default layoutReducer;\r\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport Particles from 'react-particles-js';\nimport Typed from 'react-typed';\n\nconst Hero = ({ titleFirstLine, titleSecondLine, titleThirdLine, titleFourthLine, subTitleText, paragraphText, image, children }) => {\n return (\n <>\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n

\n \n \n \n {titleSecondLine.text} \n \n \n \n
\n {titleFourthLine.text}\n

\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n
\n

{subTitleText}

\n

{paragraphText}

\n
\n
\n \n Discuss Your Idea\n \n
\n
\n
\n
\n
\n {/*
\n \"something\n
*/}\n
\n\n \n
\n
\n
\n
\n \n );\n};\n\nexport default Hero;\n","import React, { useRef, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport Hero from '../components/Hero';\nimport { Modal } from 'bootstrap';\nimport { Splide, SplideSlide } from '@splidejs/react-splide';\n\nconst Home = () => {\n useEffect(() => {\n const tabEl = document.querySelectorAll('button[data-bs-toggle=\"tab\"]');\n // console.log(tabEl);\n\n tabEl.forEach((tab) => {\n tab.addEventListener('shown.bs.tab', function (event) {\n console.log(event.target); // newly activated tab\n console.log(event.relatedTarget); // previous active tab\n tabEl.forEach((tab) => {\n tab.classList.remove('active');\n });\n });\n });\n }, []);\n\n const events = {\n // onDragged: function(event) {...},\n // onChanged: function(event) {...}\n };\n\n return (\n <>\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n \n verified_user\n \n
\n
\n
We Code For The Future
\n

Our code is built to withstand the continuous evolutions in web development.

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n local_police\n \n
\n
\n
We Use The Best Technology
\n

We understand that technolgoy is progressive so we stay on top of the latest trends.

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n shield_lock\n \n
\n
\n
We Build Secure Applications
\n

Our apps are designed, coded and tested with security at the heart of every project.

\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n We Are
Codethentic{' '}\n
\n
\n
\n
\n
\n
\n

\n We are a web development agency with a distinct edge. Working collaborateively with our clients, we put our full energy into every project and treat it as our own. From design to go-live, we align with your goals to deliver an outcome that exceeds every expectation and drives your\n business forward, long-term.\n

\n

Our website development packages deliver services from UX, UI and logo design to custom app development and SEO. We have the passion, knowledge and skillset needed to bring your project to life.

\n
\n
\n \n Delivering 100% Client Satisfaction\n
\n
\n \n Providing Services To Clients Worldwide\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Our Services
\n
\n
\n
\n
\n
\n

Our services range across a variety of web development, design and technology sectors. We work with companies in every industry to achieve high quality products that bring quantifiable results.

\n

Get ongoing support and excellent web services with us!

\n \n Discuss Your Idea\n \n
\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n
Web Design
\n

From bespoke website builds, e-commerce websites and CMS management, we have the service you need.

\n
\n
\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n
Bespoke Web Development
\n

B2B web design and SaaS application development are one of our specialities.

\n
\n
\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n
Website Development
\n

Create a high-quality web presence through excellent website development services.

\n
\n
\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n
Software Testing
\n

Get all the components of your software tested so that no anomalies are left.

\n
\n
\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n
Digital Marketing
\n

Refine your website with digital marketing ideas so that it excels in the digital world.

\n
\n
\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n
Digital Marketing
\n

Refine your website with digital marketing ideas so that it excels in the digital world.

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
How We Work
\n

Steps To Make Our Clients Happy & Satisfied

\n

Our process is all about collaboration and partnership - your input is vital to our success. From your initial enquiry to the completed project, we communicate with and involve you throughout.

\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n
Step One
\n

We Receive Your Enquiry and Contact You

\n

We receive your enquiry and one of our specialists arranges a meeting to explore your requirements in more detail.

\n
\n
\n
\n
\n
Step Two
\n

We Arrange an Initial Meeting to Discuss Your Project

\n

We schedule a meeting and discuss your project - we’ll talk through your needs, ideas and aspirations then formulate a plan to move forward. We’ll keep it real and only recommend services and solutions that will best serve your business.

\n
\n
\n \"something\n
\n
\n
\n
\n \"something\n
\n
\n
Step Three
\n

We Begin Planning and Create a Proposal

\n

Our designers and developers collaborate to devise a project proposition, schedule of work and pricing options. We’ll discuss this with you in detail and iron out any fine details before commencing.

\n
\n
\n
\n
\n
Step Four
\n

Work In Progress Begins - Your Project is Underway

\n

Our designers and developers get to work. We work tirelessly to innovate and create the ultimate solution, whilst keeping you updated not just on progress but to seek your feedback as we proceed.

\n
\n
\n \"something\n
\n
\n
\n
\n \"something\n
\n
\n
Step Five
\n

Testing Your Solution is Essential Before We Deliver

\n

We test, check, adjust and test again! We will only deliver your completed project to you once we are happy our stringent testing measures have been met.

\n
\n
\n
\n
\n
Step Six
\n

Your Final Product is Complete

\n

We deliver your completed project, talk you through any relevant details and functionality then deploy our work. We stay with you to ensure everything runs smoothly.

\n
\n
\n \"something\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

\n 5000\n

\n

Project completed by our team of web designers and developers.

\n
\n
\n
\n
\n

\n 120\n

\n

Experts in web design, branding and digital marketing solutions.

\n
\n
\n
\n
\n

\n 2000\n

\n

Customers who were satisfied with our work.

\n
\n
\n
\n
\n

\n 99\n

\n

Positive reviews sent by our first time and regular customers.

\n
\n
\n
\n
\n
\n
\n
Why Choose Us
\n

We Believe In Digital Expansion Of Every Business Through Unique Approach

\n

\n Codethentic is a technology-driven company that completely understands the changing consumer behavior. In a nutshell, we help our clients with their challenges by getting the most out of our web services.{' '}\n

\n

\n \n Designing websites, mobile applications, and games\n \n can be a tedious task, but we enjoy doing it. We take care of the product performance and its seamless functionality, providing multi-touch supports and the latest APIs. Let us be your digital business partner!\n

\n \n Get a Quote\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Technology Expertise

\n

We are the no. 1 IT company based in United Kingdom working with a sole purpose of providing a customer satisfactory work

\n
\n
\n
    \n \n \n
  • \n \n
  • \n
    \n \n
  • \n \n
  • \n
    \n \n
  • \n \n
  • \n
    \n \n
  • \n \n
  • \n
    \n \n
  • \n \n
  • \n
    \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"something\n
\n
\n \"something\n
\n
\n \"something\n
\n
\n \"something\n
\n
\n \"something\n
\n
\n
\n
\n Two\n
\n
\n Three\n
\n
\n Four\n
\n
\n Five\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default Home;\n","import React from 'react';\nimport Hero from '../components/Hero';\n\nconst About = () => {\n return (\n <>\n \n \n );\n};\n\nexport default About;\n","import React from 'react';\nimport Hero from '../components/Hero';\n\nconst Faq = () => {\n return (\n <>\n \n \n );\n};\n\nexport default Faq;\n","export default __webpack_public_path__ + \"static/media/codethentic-logo.144706e2.png\";","import React, { useEffect, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { MdMenu } from 'react-icons/md';\r\n\r\nimport { useLocation } from 'react-router-dom';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport logo from '../../src/assets/images/codethentic-logo.png';\r\n\r\nconst Menu = () => {\r\n let navigate = useNavigate();\r\n const location = useLocation();\r\n\r\n const [currentLocation, setCurrentLocation] = useState(location.pathname.replace(/^\\/|\\/$/g, '').toLowerCase());\r\n console.log(currentLocation);\r\n // console.log(location.pathname.replace(/^\\/|\\/$/g, '').toLowerCase());\r\n\r\n useEffect(() => {\r\n // Sets the\r\n setCurrentLocation(location.pathname.replace(/^\\/|\\/$/g, '').toLowerCase());\r\n\r\n const dropdownToggle = document.querySelector('#nav-dropdown .dropdown-toggle');\r\n const dropdownMenu = document.querySelector('.dropdown-menu');\r\n dropdownToggle.addEventListener('mouseover', (e) => {\r\n // dropdownMenu.style.setProperty('display', 'block');\r\n dropdownMenu.style.display = 'block';\r\n dropdownToggle.classList.add('active');\r\n });\r\n dropdownToggle.addEventListener('mouseout', (e) => {\r\n // dropdownMenu.style.setProperty('display', 'block');\r\n dropdownMenu.style.display = 'none';\r\n if (\r\n !location.pathname\r\n .replace(/^\\/|\\/$/g, '')\r\n .toLowerCase()\r\n .includes('services')\r\n ) {\r\n dropdownToggle.classList.remove('active');\r\n } else {\r\n dropdownToggle.classList.add('active');\r\n }\r\n });\r\n\r\n dropdownMenu.addEventListener('mouseover', (e) => {\r\n // dropdownMenu.style.setProperty('display', 'block');\r\n dropdownMenu.style.display = 'block';\r\n dropdownToggle.classList.add('active');\r\n });\r\n dropdownMenu.addEventListener('mouseout', (e) => {\r\n // dropdownMenu.style.setProperty('display', 'block');\r\n dropdownMenu.style.display = 'none';\r\n if (\r\n !location.pathname\r\n .replace(/^\\/|\\/$/g, '')\r\n .toLowerCase()\r\n .includes('services')\r\n ) {\r\n dropdownToggle.classList.remove('active');\r\n } else {\r\n dropdownToggle.classList.add('active');\r\n }\r\n });\r\n }, [location]);\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Menu;\r\n","import React from 'react';\nimport { MdCopyright } from 'react-icons/md';\n\nconst Footer = () => {\n return (\n
\n \n
\n );\n};\n\nexport default Footer;\n","import Header from '../components/Header';\nimport Footer from '../components/Footer';\n\nconst Layout = (props) => {\n return (\n <>\n
\n
{props.children}
\n