{"version":3,"sources":["store/news/reducer.ts","store/terms/reducer.ts","store/search/reducer.ts","routes.tsx","App.tsx","store/configureStore.ts","serviceWorker.ts","index.tsx"],"names":["initialState","defineState","items","slice","createSlice","name","reducers","setNewsResult","state","action","payload","setTerms","i","term","findIndex","item","id","push","length","addTerm","opened","tabIndex","setOpened","setTerm","founded","setSelectedIndex","selectedIndex","setTabIndex","setHandConfigurations","handConfigurations","setSignLocations","signLocations","setThemes","themes","clear","undefined","Loading","className","routes","path","exact","component","Loadable","loader","loading","modules","theme","createMuiTheme","palette","primary","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","secondary","background","default","typography","fontFamily","h1","fontSize","fontWeight","h2","h3","h4","h5","h6","button","textTransform","App","CssBaseline","map","r","idx","key","reducer","combineReducers","news","NewsReducer","terms","TermReducer","search","SearchReducer","store","configureStore","middleware","getDefaultMiddleware","serializableCheck","storeSynchronize","blacklist","Boolean","window","location","hostname","match","AppBundle","React","useEffect","jssStyles","document","querySelector","parentElement","removeChild","onload","preloadReady","then","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","error","console","message"],"mappings":"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","file":"static/js/main.bc6728b9.chunk.js","sourcesContent":["import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { defineState } from 'redux-localstore'\r\nimport { News } from '../../models';\r\nimport { NewsState } from \"./types\";\r\n\r\nconst defaultState: NewsState = {\r\n items: []\r\n}\r\nconst initialState = defineState(defaultState)('news');\r\n\r\nexport const slice = createSlice({\r\n name: 'news',\r\n initialState,\r\n reducers: {\r\n setNewsResult: (state: NewsState, action: PayloadAction) => {\r\n state.items = action.payload;\r\n },\r\n }\r\n});\r\n\r\nexport default slice.reducer;","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { defineState } from 'redux-localstore'\r\nimport { Term } from '../../models';\r\nimport { TermState } from \"./types\";\r\n\r\nconst defaultState: TermState = {\r\n items: []\r\n}\r\nconst initialState = defineState(defaultState)('terms');\r\n\r\nexport const slice = createSlice({\r\n name: 'terms',\r\n initialState,\r\n reducers: {\r\n setTerms: (state: TermState, action: PayloadAction) => {\r\n const items = [...state.items];\r\n for (let i = 0; i < action.payload.length; i++) {\r\n const term = action.payload[i];\r\n if (items.findIndex((item) => item.id === term.id) !== -1) {\r\n continue;\r\n }\r\n items.push(term);\r\n }\r\n state.items = items;\r\n },\r\n addTerm: (state: TermState, action: PayloadAction) => {\r\n const items = [...state.items];\r\n if (items.findIndex((item) => item.id === action.payload.id) !== -1) {\r\n return;\r\n }\r\n items.push(action.payload);\r\n state.items = items;\r\n },\r\n }\r\n});\r\n\r\nexport default slice.reducer;","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { Term } from '../../models';\r\nimport { SearchState } from \"./types\";\r\n\r\nconst initialState: SearchState = {\r\n opened: false,\r\n tabIndex: 0\r\n}\r\n\r\nexport const slice = createSlice({\r\n name: 'search',\r\n initialState,\r\n reducers: {\r\n setOpened: (state: SearchState, action: PayloadAction) => {\r\n state.opened = action.payload;\r\n },\r\n setTerm: (state: SearchState, action: PayloadAction) => {\r\n state.term = action.payload;\r\n },\r\n setTerms: (state: SearchState, action: PayloadAction) => {\r\n state.founded = action.payload;\r\n },\r\n setSelectedIndex: (state: SearchState, action: PayloadAction) => {\r\n state.selectedIndex = action.payload;\r\n },\r\n setTabIndex: (state: SearchState, action: PayloadAction) => {\r\n state.tabIndex = action.payload;\r\n },\r\n setHandConfigurations: (state: SearchState, action: PayloadAction) => {\r\n state.handConfigurations = action.payload;\r\n },\r\n setSignLocations: (state: SearchState, action: PayloadAction) => {\r\n state.signLocations = action.payload;\r\n },\r\n setThemes: (state: SearchState, action: PayloadAction) => {\r\n state.themes = action.payload;\r\n },\r\n clear: (state: SearchState) => {\r\n state.term = undefined;\r\n state.founded = undefined;\r\n state.selectedIndex = undefined;\r\n state.tabIndex = 0;\r\n state.handConfigurations = undefined;\r\n state.signLocations = undefined;\r\n state.themes = undefined;\r\n },\r\n }\r\n});\r\n\r\nexport default slice.reducer;","import React from 'react';\r\nimport Loadable from 'react-loadable';\r\n\r\nexport interface IRoute {\r\n path: string;\r\n exact: boolean;\r\n component: any;\r\n}\r\nconst Loading = () => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n);\r\n\r\nconst AsyncHome = Loadable({\r\n loader: () => import('./pages/HomePage'),\r\n loading: Loading,\r\n modules: ['home'],\r\n});\r\n\r\nconst AsyncAbout = Loadable({\r\n loader: () => import('./pages/AboutPage'),\r\n loading: Loading,\r\n modules: ['about'],\r\n});\r\n\r\nconst AsyncPartner = Loadable({\r\n loader: () => import('./pages/PartnerPage'),\r\n loading: Loading,\r\n modules: ['partner'],\r\n});\r\n\r\nconst AsyncCredit = Loadable({\r\n loader: () => import('./pages/CreditPage'),\r\n loading: Loading,\r\n modules: ['credit'],\r\n});\r\n\r\nconst AsyncContact = Loadable({\r\n loader: () => import('./pages/ContactPage'),\r\n loading: Loading,\r\n modules: ['contact'],\r\n});\r\n\r\nconst routes: IRoute[] = [\r\n { path: '/', exact: true, component: AsyncHome },\r\n { path: '/sobre', exact: true, component: AsyncAbout },\r\n { path: '/apoios', exact: true, component: AsyncPartner },\r\n { path: '/creditos', exact: true, component: AsyncCredit },\r\n { path: '/contactos', exact: true, component: AsyncContact }\r\n];\r\n\r\nexport default routes;","import React from \"react\";\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport routes from './routes';\r\n\r\nimport { createMuiTheme } from \"@material-ui/core/styles\";\r\nimport {\r\n MuiThemeProvider,\r\n CssBaseline,\r\n} from \"@material-ui/core\";\r\n\r\nconst appPrimary = {\r\n 50: '#4c7395',\r\n 100: '#446a8b',\r\n 200: '#3c6181',\r\n 300: '#355978',\r\n 400: '#2d506e',\r\n 500: '#284b68',\r\n 600: '#224563',\r\n 700: '#1d405d',\r\n 800: '#193c5a',\r\n 900: '#143857',\r\n A100: '#0f3453',\r\n A200: '#0a3050',\r\n A400: '#0a3050',\r\n A700: '#0a3050'\r\n};\r\n\r\nconst appSecondary = {\r\n 50: '#dfdfdf',\r\n 100: '#d1d1d1',\r\n 200: '#c3c3c3',\r\n 300: '#b5b5b5',\r\n 400: '#a8a8a8',\r\n 500: '#9e9e9e',\r\n 600: '#949494',\r\n 700: '#8a8a8a',\r\n 800: '#818181',\r\n 900: '#787878',\r\n A100: '#6f6f6f',\r\n A200: '#666666',\r\n A400: '#555555',\r\n A700: '#444444'\r\n};\r\nconst theme = createMuiTheme({\r\n palette: {\r\n primary: appPrimary,\r\n secondary: appSecondary,\r\n background: {\r\n default: \"#fff\"\r\n }\r\n },\r\n typography: {\r\n fontFamily: \"'Lato', sans-serif\",\r\n h1: {\r\n fontSize: '2.3em',\r\n fontWeight: 700,\r\n },\r\n h2: {\r\n fontSize: '2.1em',\r\n fontWeight: 700,\r\n },\r\n h3: {\r\n fontSize: '2em',\r\n fontWeight: 700,\r\n },\r\n h4: {\r\n fontSize: '1.8em',\r\n },\r\n h5: {\r\n fontSize: '1.6em',\r\n },\r\n h6: {\r\n fontSize: '1.4em',\r\n },\r\n button: {\r\n textTransform: 'initial',\r\n fontSize: '.9em',\r\n fontWeight: 600\r\n },\r\n\r\n }\r\n});\r\n\r\nconst App = () => {\r\n\r\n return (\r\n \r\n \r\n \r\n {routes.map((r, idx) => )}\r\n \r\n\r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import { combineReducers, configureStore, getDefaultMiddleware } from '@reduxjs/toolkit';\r\nimport storeSynchronize from 'redux-localstore';\r\nimport NewsReducer from './news/reducer';\r\nimport TermReducer from './terms/reducer';\r\nimport SearchReducer from './search/reducer';\r\n\r\nconst reducer = combineReducers({\r\n news: NewsReducer,\r\n terms: TermReducer,\r\n search: SearchReducer\r\n})\r\nexport const store = configureStore({\r\n reducer, middleware: getDefaultMiddleware({\r\n serializableCheck: false\r\n })\r\n});\r\n\r\nstoreSynchronize(store, {\r\n blacklist: ['search']\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.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\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: 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: string, config?: 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: string, config?: 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\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Loadable from 'react-loadable';\r\nimport App from './App';\r\nimport { store } from './store/configureStore';\r\nimport { Provider } from 'react-redux';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport 'reflect-metadata';\r\nimport './assets/css/main.css';\r\n\r\nfunction AppBundle() {\r\n React.useEffect(() => {\r\n const jssStyles = document.querySelector('#jss-server-side');\r\n if (jssStyles && jssStyles.parentElement) {\r\n jssStyles.parentElement.removeChild(jssStyles);\r\n }\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nwindow.onload = () => {\r\n Loadable.preloadReady().then(() => {\r\n ReactDOM.render(, document.getElementById('root'));\r\n });\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.unregister();\r\n"],"sourceRoot":""}