{"version":3,"sources":["components/App/Home/Welcome/index.js","components/App/Home/Dashboard/Serv/index.js","components/App/Home/Dashboard/Config/index.js","components/App/Home/Dashboard/index.js","components/App/Home/index.js","actions/index.js","containers/Home/index.js","components/App/Navbar/index.js","components/App/Footer/index.js","components/App/404/index.js","components/App/Cgu/index.js","components/App/Team/index.js","components/App/Login/index.js","components/App/Logout/index.js","components/App/Blog/Articles/index.js","components/App/Blog/Article/index.js","components/App/Blog/index.js","containers/Blog/index.js","components/App/Commands/index.js","components/App/index.js","containers/App/index.js","reducers/home.js","reducers/blog.js","reducers/index.js","middlewares/baseURL.js","middlewares/homeMiddleware.js","middlewares/blogMiddleware.js","store/index.js","index.js"],"names":["Welcome","truc","useSelector","state","home","accueil","className","src","alt","users","servers","sus_links_found","muted_people","href","Serv","user","guilds","id","split","map","g","to","guild_id","guild_icon","Config","dispatch","useDispatch","search","useLocation","URLSearchParams","get","guild","find","vote","mode","prev","prevConfig","prev_config","obj","guild_name","chan","type","selected","handleChange","event","target","value","checked","style","visibility","onClick","defaultChecked","for","name","Dashboard","Home","getInfo","toto","getConfig","useEffect","isLogged","logged","GET_INFO","STORE_INFO","TOTO","STORE_TOTO","GET_CONFIG","STORE_CONFIG","storeConfig","config","SELECT","select","STORE_SELECTION","UPDATE_CONFIG","updateConfig","SET_VOTE","GET_BLOG","STORE_BLOG","GET_ARTICLE","STORE_ARTICLE","connect","Navbar","Footer","Error404","Cgu","Team","Login","gotit","document","querySelector","innerHTML","Logout","Articles","art","console","log","blog","gifs","compteur","data","length","title","art_img","Date","parseInt","last_update","toDateString","content","Article","bidule","article","art_id","Helmet","replace","Math","floor","random","Blog","getBlog","Commands","App","exact","path","element","initialState","reducer","action","val","rootReducer","combineReducers","homeReducer","blogReducer","apiBaseURL","api","axios","create","baseURL","homeMiddleware","store","next","then","response","info","catch","error","cookieToto","cookie","row","startsWith","cookieUser","cookieGuilds","forEach","ck","includes","push","token","storeToto","zeToto","getState","zeToken","method","headers","voteoption","prevoption","resp","blogMiddleware","persistConfig","key","storage","stateReconciler","autoMergeLevel2","blacklist","whitelist","pReducer","persistReducer","middlewares","applyMiddleware","enhancers","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","persistor","persistStore","rootReactElement","getElementById","render"],"mappings":"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","file":"static/js/main.11d7477d.chunk.js","sourcesContent":["import React from 'react';\n\nimport { useSelector } from 'react-redux'\nimport './style.scss';\n\nconst Welcome = () => {\n const truc = useSelector(state => state.home.accueil);\n return (\n
\n \"predator\"\n
\n

Ripley protect now
{truc.users} users on {truc.servers} discord servers.

\n

Fact: {truc.sus_links_found} suspicious links have been found...
And {truc.muted_people} dangerous accounts were quarantined!

\n\n

Built with love and teamwork, this bot uses aggressive methods and is designed to protect all your discord servers against theft and scam attempts: phishing, malwares, token-grabbers...

\n \n
\n \n \n ADD IT !
P
\n
\n \n
\n
\n
\n );\n};\n\nWelcome.propTypes = {\n};\n\nexport default Welcome;\n","/* eslint-disable import/no-extraneous-dependencies */\nimport React from 'react'; // , { useEffect } \n//import { useLocation, Navigate } from \"react-router-dom\";\nimport { useSelector } from 'react-redux'\nimport {\n Link\n } from 'react-router-dom';\n//import { Link } from 'react-router-dom';\n//import PropTypes from 'prop-types';\n/*import Promotions from 'src/containers/Promotions';\nimport Filter from 'src/containers/Filter';\nimport Recommendations from 'src/containers/Recommendations';\n*/\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\nconst Serv = () => { //{ getServ, }\n const user = useSelector(state => state.home.user);\n //console.log(user)\n //const guilds = useSelector(state => state.home.guilds);\n const guilds = useSelector(state => state.home.guilds);\n //console.log(guilds)\n return (\n
\n user avatar\n

Choose a server

\n
\n {\n guilds[0] && guilds.map((g) => (\n \n guild icon\n \n ))\n }\n
\n

or

\n \n add the bot\n \n
\n );\n};\n\nServ.propTypes = {\n\n};\n//getServ: PropTypes.func.isRequired,\nexport default Serv;\n","/* eslint-disable import/no-extraneous-dependencies */\nimport React from 'react'; // , { useEffect } \nimport { useLocation, Link } from \"react-router-dom\";\n\nimport { useSelector, useDispatch } from 'react-redux'//, useDispatch\n//import { Link } from 'react-router-dom';\n//import select from '../../../../../actions';\n/*import Promotions from 'src/containers/Promotions';\nimport Filter from 'src/containers/Filter';\nimport Recommendations from 'src/containers/Recommendations';\n*/\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\nconst Config = () => { //{ getConfig, updateConfig,}\n const dispatch = useDispatch()\n //useEffect(getInfo, [getInfo]);\n //useEffect(toto, [toto]);\n //useEffect(getConfig, [getConfig]);\n //console.log(getInfo)\n const search = useLocation().search;\n const id = new URLSearchParams(search).get('id');\n //const toto = useSelector(state => state.home.user.toto);\n const guilds = useSelector(state => state.home.guilds);\n const guild = guilds.find((g) => g.guild_id === id);\n //let chose = false;\n let vote = guild.vote;\n let mode = guild.mode;\n let prev = guild.prev;\n let prevConfig = guild.prev_config;\n\n let obj = { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: mode, prev: prev, prev_config: prevConfig, chan: guild.chan }\n dispatch({ type: \"STORE_SELECTION\", selected: obj });\n //let voteForm = ''\n //let votemodeForm = ''\n //let prevForm = ''\n //let prevconfigForm = ''\n const handleChange = (event) => {\n //dispatch(updateConfig()); \n //updateConfig();\n //console.log(event.target.value)\n //if(event.target.checked) {\n // console.log(\"viens d'être checked\")\n //} else {\n // console.log(\"viens d'être UNchecked\")\n //}\n if (event.target.value === 'vote') {\n if (event.target.checked) {\n vote = 'yes'\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: 'yes', mode: mode, prev: prev, prev_config: prevConfig, chan: guild.chan } })\n } else {\n vote = 'no'\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: 'no', mode: mode, prev: prev, prev_config: prevConfig, chan: guild.chan } })\n };\n\n } else if (event.target.value === 'mute') {\n mode = 'mute';\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: 'mute', prev: prev, prev_config: prevConfig, chan: guild.chan } })\n } else if (event.target.value === 'kick') {\n mode = 'kick';\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: 'kick', prev: prev, prev_config: prevConfig, chan: guild.chan } })\n } else if (event.target.value === 'ban') {\n mode = 'ban';\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: 'ban', prev: prev, prev_config: prevConfig, chan: guild.chan } })\n } else if (event.target.value === 'prev') {\n if (event.target.checked) {\n prev = 'yes'\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: mode, prev: 'yes', prev_config: prevConfig, chan: guild.chan } })\n } else {\n prev = 'no'\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: mode, prev: 'no', prev_config: prevConfig, chan: guild.chan } })\n };\n\n } else if (event.target.value === '100') {\n prevConfig = '100';\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: mode, prev: prev, prev_config: '100', chan: guild.chan } })\n } else if (event.target.value === '500') {\n prevConfig = '500';\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: mode, prev: prev, prev_config: '500', chan: guild.chan } })\n } else if (event.target.value === '999') {\n prevConfig = '999';\n dispatch({ type: \"STORE_SELECTION\", selected: { guild_id: guild.guild_id, guild_name: guild.guild_name, guild_icon: guild.guild_icon, vote: vote, mode: mode, prev: prev, prev_config: '999', chan: guild.chan } })\n } else if (event.target.value === 'update') {\n dispatch({ type: 'UPDATE_CONFIG' });\n event.target.style.visibility = 'hidden';\n }\n\n };\n //const handleUpdate = () => { \n // console.log(id)\n // //dispatch(updateConfig());\n //};\n\n return (\n
{/*onSubmit={handleSubmit} method=\"patch\" */}\n guild avatar\n

{guild.guild_name}

\n

When a message is considered suspicious :

\n\n
\n

Let the members vote

\n \n
\n

Then :

\n
\n \n {mode === \"mute\" ? : } Mute\n \n {mode === \"kick\" ? : } Kick\n \n {mode === \"ban\" ? : } Ban\n
\n

the suspected member...

\n

About prevention and warnings :

\n
\n

Send preventive messages (System channel)

\n \n {prev === \"yes\" ? : }\n\n
\n

Every :

\n
\n \n {prevConfig === \"100\" ? : } 100\n\n \n {prevConfig === \"500\" ? : } 500\n\n \n {prevConfig === \"999\" ? : } 999\n
\n

messages posted on the server...

\n {/*\n \n \n \n */}\n
\n \n \n BACK\n \n
\n\n
\n );\n};\n\nConfig.propTypes = {\n\n};\n//getConfig: PropTypes.func.isRequired,\nexport default Config;","/* eslint-disable max-len */\nimport React from 'react'; // , {useEffect}\n\n//import { useSelector } from 'react-redux'\n//import { select } from '../../../../actions';\n//import { getConfig } from '../../../../actions';\n\n\nimport { useLocation } from \"react-router-dom\";\nimport Serv from './Serv';\n\nimport Config from './Config';\n\nimport './style.scss';\n\nconst Dashboard = () => {//, getConfig\n //useEffect(getConfig, [getConfig]);\n //useEffect(toto, [toto]);\n //const user = useSelector(state => state.home.user);\n //console.log(user)\n //const guilds = useSelector(state => state.home.guilds);\n //const selected = useSelector(state => state.home.selected);\n \n const search = useLocation().search;\n const id = new URLSearchParams(search).get('id');\n //const guilds = useSelector(state => state.home.guilds);\n //const guild = guilds.find((g) => g.guild_id === id);\n //console.log(guild) \n\n\n //const handleClick = (event) => {\n // if (event.target.parentNode.className === 'dashboard-private-servers-serv') { \n // console.log(event.target.id)\n // //useEffect(select, [select]);\n // //select(event.target.id);\n // } \n //};\n return (\n
\n {\n id ? : \n }\n
\n );\n};\n\nDashboard.propTypes = {\n\n};\n\nexport default Dashboard;\n","import React, { useEffect } from 'react'; // , { useEffect } \nimport { useSelector } from 'react-redux'\n//import PropTypes from 'prop-types';\n/*import Promotions from 'src/containers/Promotions';\nimport Filter from 'src/containers/Filter';\nimport Recommendations from 'src/containers/Recommendations';\n*/\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\nimport Welcome from './Welcome';\nimport Dashboard from './Dashboard';\nconst Home = ({\n getInfo,\n toto,\n getConfig,\n //select,\n}) => {\n //console.log(getInfo)\n useEffect(getInfo, [getInfo]);\n useEffect(toto, [toto]);\n //useEffect(select, [select]);\n useEffect(getConfig, [getConfig]);\n //useEffect(getConfig, [getConfig]);\n //useEffect(getConfig, [getConfig]);\n //const token = useSelector(state => state.home.user.toto);\n const isLogged = useSelector(state => state.home.user.logged);\n //console.log(isLogged)\n return (\n
\n {\n isLogged === 'yes' ? : \n }\n
\n );\n};\n\nHome.propTypes = {\n //getInfo: PropTypes.func.isRequired,\n};\n\nexport default Home;\n","// export const TOGGLE_BURGER = 'TOGGLE_BURGER';\r\n// export const toggleBurger = () => ({\r\n// type: TOGGLE_BURGER,\r\n// });\r\n// \r\n// export const CLOSE_BURGER = 'CLOSE_BURGER';\r\n// export const closeBurger = () => ({\r\n// type: CLOSE_BURGER,\r\n// });\r\n// \r\n// export const SWITCH_PREFERENCES = 'SWITCH_PREFERENCES';\r\n// export const switchToPreferences = (pageToDisplay) => ({\r\n// type: SWITCH_PREFERENCES,\r\n// pageToDisplay,\r\n// // pageToDisplay = pageToDisplay,\r\n// });\r\n// \r\n// export const TOGGLE_FILTER = 'TOGGLE_FILTER';\r\n// export const toggleFilter = (category) => ({\r\n// type: TOGGLE_FILTER,\r\n// category,\r\n// });\r\n// \r\n// export const GET_FILTERED_PROMOTIONS = 'GET_FILTERED_PROMOTIONS';\r\n// export const getFilteredPromotions = () => ({\r\n// type: GET_FILTERED_PROMOTIONS,\r\n// });\r\n// \r\n// export const CHANGE_VALUE = 'CHANGE_VALUE';\r\n// export const changeValue = (input, value) => ({\r\n// type: CHANGE_VALUE,\r\n// input,\r\n// value,\r\n// });\r\n// \r\n// export const TOGGLE_ABOUT = 'TOGGLE_ABOUT';\r\n// export const toggleAbout = (name) => ({\r\n// type: TOGGLE_ABOUT,\r\n// name,\r\n// });\r\n// \r\n// export const FETCH_TAGS = 'FETCH_TAGS';\r\n// export const fetchTags = () => ({\r\n// type: FETCH_TAGS,\r\n// });\r\n// \r\n// export const SAVE_TAGS = 'SAVE_TAGS';\r\n// export const saveTags = (tagsList) => ({\r\n// type: SAVE_TAGS,\r\n// tagsList,\r\n// });\r\n// \r\n// export const SAVE_PLATFORMS = 'SAVE_PLATFORMS';\r\n// export const savePlatforms = (platformsList) => ({\r\n// type: SAVE_PLATFORMS,\r\n// platformsList,\r\n// });\r\n// \r\n// export const TOGGLE_TAG_TAB = 'TOGGLE_TAG_TAB';\r\n// export const toggleTagTab = (name) => ({\r\n// type: TOGGLE_TAG_TAB,\r\n// name,\r\n// });\r\n// \r\n// export const SAVE_HOME_PROMOTIONS = 'SAVE_HOME_PROMOTIONS';\r\n// export const saveHomePromotions = (promotions, tagsArray) => ({\r\n// type: SAVE_HOME_PROMOTIONS,\r\n// promotions,\r\n// tagsArray,\r\n// });\r\n// \r\n// export const FETCH_ADVENTURE_GAMES = 'FETCH_ADVENTURE_GAMES';\r\n// export const fetchAdventureGames = (id) => ({\r\n// type: FETCH_ADVENTURE_GAMES,\r\n// id,\r\n// });\r\n// \r\n// export const SAVE_TAGS_FOR_PREFERENCES = 'SAVE_TAGS_FOR_PREFERENCES';\r\n// export const saveTagsForPreferences = (tags) => ({\r\n// type: SAVE_TAGS_FOR_PREFERENCES,\r\n// tags,\r\n// });\r\n// \r\n// export const REFRESH_HOMETAGS = 'REFRESH_HOMETAGS';\r\n// export const refreshHomeTags = (name) => ({\r\n// type: REFRESH_HOMETAGS,\r\n// name,\r\n// });\r\n// \r\n// export const FETCH_RANDOM_GAMES = 'FETCH_RANDOM_GAMES';\r\n// export const fetchRandomGames = () => ({\r\n// type: FETCH_RANDOM_GAMES,\r\n// });\r\n// \r\n// export const SAVE_RANDOM_GAMES = 'SAVE_RANDOM_GAMES';\r\n// export const saveRandomGames = (games) => ({\r\n// type: SAVE_RANDOM_GAMES,\r\n// games,\r\n// });\r\n// \r\n// export const SET_FIRST_HOVERED_GAME = 'SET_FIRST_HOVERED_GAME';\r\n// export const setFirstHoveredGame = (games) => ({\r\n// type: SET_FIRST_HOVERED_GAME,\r\n// games,\r\n// });\r\n// \r\n\r\nexport const GET_INFO = 'GET_INFO';\r\nexport const getInfo = () => ({\r\n type: GET_INFO,\r\n});\r\nexport const STORE_INFO = 'STORE_INFO';\r\nexport const storeInfo = (info) => ({\r\n type: STORE_INFO,\r\n home: info,\r\n});\r\nexport const TOTO = 'TOTO';\r\nexport const toto = () => ({\r\n type: TOTO,\r\n});\r\nexport const STORE_TOTO = 'STORE_TOTO'\r\nexport const storeToto = (token, user, guilds) => ({\r\n type: STORE_TOTO,\r\n toto: token,\r\n user: user,\r\n guilds: guilds,\r\n}); \r\nexport const GET_CONFIG = 'GET_CONFIG';\r\nexport const getConfig = () => ({\r\n type: GET_CONFIG,\r\n});\r\nexport const STORE_CONFIG = 'STORE_GONFIG'\r\nexport const storeConfig = (config) => ({\r\n type: STORE_CONFIG,\r\n guilds: config\r\n});\r\nexport const SELECT = 'SELECT';\r\nexport const select = (selected) => ({\r\n type: SELECT,\r\n selected\r\n});\r\nexport const STORE_SELECTION = 'STORE_SELECTION';\r\nexport const storeSelection = (selected) => ({\r\n type: STORE_SELECTION,\r\n selected\r\n});\r\nexport const UPDATE_CONFIG = 'UPDATE_CONFIG';\r\nexport const updateConfig = () => ({\r\n type: UPDATE_CONFIG,\r\n});\r\nexport const SET_VOTE = 'SET_VOTE';\r\nexport const setVote = (val) => ({\r\n type: SET_VOTE,\r\n val\r\n});\r\n\r\nexport const GET_BLOG = 'GET_BLOG';\r\nexport const getBlog = () => ({\r\n type: GET_BLOG,\r\n});\r\nexport const STORE_BLOG = 'STORE_BLOG';\r\nexport const storeBlog = (info) => ({\r\n type: STORE_BLOG,\r\n blog: info\r\n});\r\n\r\nexport const GET_ARTICLE = 'GET_ARTICLE';\r\nexport const getArticle = (id) => ({\r\n type: GET_ARTICLE,\r\n id\r\n});\r\nexport const STORE_ARTICLE = 'STORE_ARTICLE';\r\nexport const storeArticle = (info) => ({\r\n type: STORE_ARTICLE,\r\n article: info\r\n});","import { connect } from 'react-redux';\r\nimport Home from '../../components/App/Home';//src/components/App/Home/\r\nimport { getInfo, toto, getConfig, select, updateConfig } from '../../actions';\r\n\r\nconst mapStateToProps = null;\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getInfo: () => {\r\n dispatch(getInfo());\r\n },\r\n toto: () => {\r\n dispatch(toto());\r\n },\r\n getConfig: () => {\r\n dispatch(getConfig());\r\n },\r\n select: () => {\r\n dispatch(select());\r\n },\r\n updateConfig: () => {\r\n dispatch(updateConfig())\r\n }\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Home);\r\n ","/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable arrow-body-style */\nimport React from 'react';\n// import PropTypes from 'prop-types';\n/*import Menu from 'src/containers/Menu';\nimport Form from 'src/containers/Form';\nimport Logo from './Logo';*/\nimport './style.scss';\nimport { Link } from 'react-router-dom';\n\nimport { useSelector } from 'react-redux'\n//import './phone-style.scss'; \n//import logo from '../../../assets/logo_med_transpa.png'\nconst Navbar = () => {\n \n //const toto = useSelector(state => state.home.toto)\n const isLogged = useSelector(state => state.home.user.logged);\n //console.log(isLogged)\n return (\n
\n
\n \n Dashboard\n \n \n Commands\n \n \n Blog\n \n {\n isLogged !== 'yes' ? Login : Logout\n }\n
\n
\n );\n};\n\nNavbar.propTypes = {\n\n};\n\nexport default Navbar;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\n// import PropTypes from 'prop-types';\n\n//import { useSelector } from 'react-redux'\nimport './style.scss';\nimport './phone.scss';\n\nconst Footer = () => {\n //const truc = useSelector(state => state.home.accueil)\n //console.log(truc)\n return (\n \n )\n\n};\n\nFooter.propTypes = {\n\n};\n\nexport default Footer;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\n\nimport './style.scss';\n\nconst Error404 = () => {\n //const wStyle = {\n // textTransform: 'lowercase',\n //};\n return (\n
\n \"404\"/\n

Erreur 404 ...

\n \n Retour à l'accueil\n \n
\n );\n};\n\nexport default Error404;\n","import React from 'react'; // , { useEffect } \r\n//import { useSelector } from 'react-redux'\r\n//import PropTypes from 'prop-types';\r\n/*import Promotions from 'src/containers/Promotions';\r\nimport Filter from 'src/containers/Filter';\r\nimport Recommendations from 'src/containers/Recommendations';\r\n*/\r\nimport './style.scss';\r\n//import './phone-style.scss';\r\n//import './tablet-style.scss';\r\n\r\nconst Cgu = () => {\r\n //useEffect(getInfo, [getInfo]);\r\n //console.log(getInfo)\r\n\r\n //const bidule = useSelector(state => state.home.accueil)\r\n //console.log(bidule)\r\n return (\r\n
\r\n {/*\"predator\"*/}\r\n\r\n
\r\n
\r\n

About the bot and the site

\r\n

This is a translation. In case of dispute, the French version will prevail: In accordance with the provisions of Articles 6-III and 19 of Law No. 2004-575 of June 21, 2004 on Confidence in the digital economy, known as LCEN, Users of the site https://machin- chose.fr these legal notices: The connection and navigation on the site ripley.link by the User implies full and unreserved acceptance of these legal notices and our conditions of use. These are accessible on the site under the heading “CGU”.

\r\n
\r\n
\r\n

ARTICLE 1: The publisher

\r\n

The edition and the direction of the publication of the site https://ripley.link is ensured by Jimmy Gaubert, Web and mobile web developer, domiciled in Brittany, whose telephone number is undefined lulz, and email address ripley@truc-bidule.fr

\r\n

ARTICLE 2: The host

\r\n

The host of the site https://ripley.link is the associative host NiHost, whose head office is located at 19 rue de la République 93260 Les Lilas.

\r\n
\r\n
\r\n
\r\n
\r\n

ARTICLE 3: Access to the site

\r\n

The site is accessible from any location, 7 days a week, 24 hours a day, except in cases of force majeure, scheduled or unscheduled interruption and possibly resulting from a need for maintenance. In the event of modification, interruption or suspension of the services, the site https://ripley.link cannot be held responsible.

\r\n
\r\n
\r\n

ARTICLE 4: Data collection

\r\n

The site is exempt from declaration to the Commission Nationale Informatique et Libertés (CNIL) insofar as it does not collect any data concerning users. Only the bot does it, not the site. The data we collect is the content of discord messages considered suspicious or potentially dangerous

\r\n
\r\n
\r\n

SECTION 5: Cookies

\r\n

The User is informed that during his visits to the site, a cookie may be automatically installed on his navigation software. By browsing the site, he accepts them. A cookie is an element that does not identify the User but is used to record information relating to his browsing on the website. Its lifespan of 5 minutes. The User may deactivate this cookie via the parameters appearing in his browser software.

\r\n
\r\n
\r\n
\r\n
\r\n

ARTICLE 6: Intellectual property

\r\n

Any use, reproduction, distribution, marketing, modification of all or part of the site https://ripley.link, without the authorization of the Publisher is prohibited and may result in legal action and prosecution as provided for in particular by the Code. intellectual property and the Civil Code.

\r\n
\r\n
\r\n

ARTICLE 7: TOS, Banning and Reports

\r\n

This contract is valid for an indefinite period. The beginning of the use of the services of the site and/or the Ripley bot mark the application of the contract with regard to the User. As for the phishing links the bot collects, we'd love to hear your thoughts. Devs working on this project reserve the right not to respond to all unban requests. This contract is subject to French law. The absence of amicable resolution of cases of dispute between the parties implies recourse to the competent French courts to settle the dispute...

\r\n

( ͡° ͜ʖ ͡°)

\r\n
\r\n\r\n
\r\n
\r\n );\r\n};\r\nCgu.propTypes = {\r\n //getInfo: PropTypes.func.isRequired,\r\n};\r\nexport default Cgu;","import React from 'react'; // , { useEffect } \r\n//import { useSelector } from 'react-redux'\r\n//import PropTypes from 'prop-types';\r\n/*import Promotions from 'src/containers/Promotions';\r\nimport Filter from 'src/containers/Filter';\r\nimport Recommendations from 'src/containers/Recommendations';\r\n*/\r\nimport './style.scss';\r\n//import './phone-style.scss';\r\n//import './tablet-style.scss';\r\n\r\nconst Team = () => {\r\n //useEffect(getInfo, [getInfo]);\r\n //console.log(getInfo)\r\n\r\n //const bidule = useSelector(state => state.home.accueil)\r\n //console.log(bidule)\r\n return (\r\n
\r\n \"predator\"\r\n\r\n
\r\n
This project was born from a team effort !
\r\n

697896054607183882 Earlam (Product Owner, Lead Dev Fullstack)

\r\n

813053611189600307 Whayn (Algorithms lover, Helper)

\r\n

236207773166075916 Ations (Regex expert, Helper)

\r\n

623201954839003158 Ecnelis (Tester, Helper)

\r\n
\r\n\r\n
\r\n );\r\n};\r\nTeam.propTypes = {\r\n //getInfo: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default Team;","import React from 'react'; // , { useEffect }\n//import { useSelector } from 'react-redux'\n//import PropTypes from 'prop-types';\n/*import Promotions from 'src/containers/Promotions';\nimport Filter from 'src/containers/Filter';\nimport Recommendations from 'src/containers/Recommendations';\n*/\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\n\nconst Login = () => {\n let gotit = false\n function handleClick() {\n\n if (gotit === false) {\n let igotitButtonParent = document.querySelector('.login-igotit');\n //let loginButton = document.createElement(\"button\");\n //igotitButtonParent.innerHTML = '';In development\n igotitButtonParent.innerHTML = 'LOGIN';\n //igotitButtonParent.appendChild(loginButton);\n gotit = true;\n }\n };\n //console.log(getInfo)\n //useEffect(getInfo, [getInfo]);\n //useEffect(toto, [toto]);\n //useEffect(youGotIt, [youGotIt]);\n //const truc = useSelector(state => state.login);\n //const yougotit = useSelector(state => state.toto)\n //console.log(truc)\n //let harey = [truc.phrase1, truc.phrase2, truc.phrase3, truc.phrase4, truc.phrase5];\n //let compteur = 0;\n //setInterval(function() {\n // if (compteur === harey.length-1) {\n // compteur = 0;\n // document.querySelector('.accueil-slide').innerHTML = `

${harey[compteur]}

`;\n // } else {\n // compteur++\n // document.querySelector('.accueil-slide').innerHTML = `

${harey[compteur]}

`;\n // }\n //}, 15*1000);\n return (\n
\n

TIP

\n

If a site/application offers you to authenticate with Discord, always check that the link of the login page begins with this :

\n \"discord\n

After Discord gives us it's and your approval, you will be redirected to the dashboard. Read our TOS. We use cookies.

\n
\n \n
\n
\n );\n};\n\nLogin.propTypes = {\n //getInfo: PropTypes.func.isRequired,\n};\n\nexport default Login;\n","import React from 'react'; // , { useEffect }\n//import { useSelector } from 'react-redux'\n//import PropTypes from 'prop-types';\n/*import Promotions from 'src/containers/Promotions';\nimport Filter from 'src/containers/Filter';\nimport Recommendations from 'src/containers/Recommendations';\n*/\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\n\nconst Logout = () => {\n \n return (\n
\n \"Aincrad\"\n

You can't, you are now stuck !

\n

It's a joke, refresh the page to logout... UwU

\n
\n );\n};\n\nLogout.propTypes = {\n //getInfo: PropTypes.func.isRequired,\n};\n\nexport default Logout;\n","import React from 'react'; // , { useEffect } \nimport { useSelector } from 'react-redux';//, useDispatch\nimport { useLocation } from \"react-router-dom\";//, Link\nimport { Link } from \"react-router-dom\";\n//import PropTypes from 'prop-types';\nimport Markdown from 'markdown-to-jsx';\n\n\n\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\n\nconst Articles = () => {\n\t//const dispatch = useDispatch()\n\n\tconst search = useLocation().search;\n\tconst art = new URLSearchParams(search).get('article');\n\tconsole.log(art)\n\t//const handleChange = (x) => {\n\t//\treturn dispatch({ type: \"GET_ARTICLE\", selected: x });\n\t//}\n\tconst truc = useSelector(state => state.blog.blog);\n\t//console.log(truc)\n\tconst gifs = [\n\t\t'https://www.aht.li/3711067/a.gif',\n\t\t'https://www.aht.li/3711071/g.gif',\n\t\t'https://www.aht.li/3711069/c.gif',\n\t\t'https://www.aht.li/3711065/d.gif',\n\t\t'https://www.aht.li/3711070/e.gif',\n\t\t'https://www.aht.li/3711066/f.gif',\n\t\t'https://www.aht.li/3711068/b.gif',\n\t]\n\tlet compteur = 0;\n\t\n\t\n\treturn (\n\t\t
\n\t\t\t{truc.map((data, id) => {\n\t\t\t\tif (compteur > gifs.length-2) {compteur=0};\n\t\t\t\t//console.log(compteur)\n\t\t\t\tcompteur++\n\t\t\t\treturn
\n\t\t\t\t\t {/* onClick={handleChange(data.id)} */}\n\t\t\t\t\t\t

{data.title}

\n\t\t\t\t\t\n\t\t\t\t\t\"\"\n\t\t\t\t\t

Last edit : {new Date(parseInt(data.last_update)).toDateString()}

\n\t\t\t\t\t
\n\t\t\t\t\t\t{data.content}\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t})}\n\t\t
\n\t);\n};\n\nArticles.propTypes = {\n\t//getBlog: PropTypes.array.isRequired,\n};\n\nexport default Articles;","import React from 'react'; // , { useEffect } \nimport { useSelector, useDispatch } from 'react-redux';\nimport { useLocation, Link } from \"react-router-dom\";//, Link\n//import PropTypes from 'prop-types';\nimport Markdown from 'markdown-to-jsx';\nimport {Helmet} from \"react-helmet\";\n\n\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\n\nconst Article = () => {\n\n const dispatch = useDispatch()\n const search = useLocation().search;\n const art = new URLSearchParams(search).get('article');\n console.log(art)\n let bidule = useSelector(state => state.blog.article);\n console.log(bidule.art_id);\n if (bidule.length === 0 || parseInt(art) !== parseInt(bidule.id)) {\n dispatch({ type: \"GET_ARTICLE\", selected: art });\n }\n const gifs = [\n 'https://www.aht.li/3711067/a.gif',\n 'https://www.aht.li/3711068/b.gif',\n 'https://www.aht.li/3711069/c.gif',\n 'https://www.aht.li/3711065/d.gif',\n 'https://www.aht.li/3711070/e.gif',\n 'https://www.aht.li/3711066/f.gif',\n 'https://www.aht.li/3711071/g.gif',\n ]\n //setTimeout(() => {\n // //console.log(bidule)\n // console.log(bidule.content)\n //}, 10000);\n \n //document.querySelector('meta[name=\"description\"]').content = `${bidule.content.replace(/␥/g, '\"')}`;\n //document.querySelector('meta[name=\"title\"]').content = `${bidule.title}`;\n /*console.log(bidule)\n const el = document.querySelector('meta[name=\"description\"]');\n bidule.length>0 && el.setAttribute('content',`${bidule.content.replace(/␥/g, '\"')}`)\n document.title = bidule.title;\n */\n //document.querySelector('meta[name=\"title\"]').setAttribute('content',`${bidule.title}`)\n return (\n
\n \n {bidule.title}\n \n \n
\n

\n {bidule.title ? `${bidule.title}` : 'LOADING...'}\n

\n \"Ripley\n

{bidule.last_update ? `Last edit : ${new Date(parseInt(bidule.last_update)).toDateString()}` : ''}

\n
\n {bidule.content ? `${bidule.content.replace(/␥/g, '\"')}` : '...'}\n
\n\n
\n
\n \n See more posts\n \n
\n\n\n
\n );\n};\n\nArticle.propTypes = {\n //getBlog: PropTypes.array.isRequired,\n};\n\nexport default Article;","import React, { useEffect } from 'react'; // , { useEffect } \n//import { useSelector } from 'react-redux';\nimport { useLocation } from \"react-router-dom\";//, Link\n\nimport Articles from './Articles';\nimport Article from './Article';\n\n//import './style.scss';\n\nconst Blog = ({getBlog}) => {\n\tuseEffect(getBlog, [getBlog]);\n\tconst search = useLocation().search;\n\tconst article = new URLSearchParams(search).get('article');\n\treturn (\n\t\t
\n\t\t\t{\n\t\t\t article ?
: \n\t\t\t}\n\t\t
\n\t);\n};\n\nBlog.propTypes = {\n\t//getBlog: PropTypes.array.isRequired,\n};\n\nexport default Blog;","import { connect } from 'react-redux';\nimport Blog from '../../components/App/Blog';//src/components/App\nimport { getBlog } from '../../actions'; //src/actions\n// isConnected: state.users.isConnected,\n// tags: state.site.tags,\nconst mapStateToProps = (state) => ({\n blog: state.blog.blog//.articles\n});\n//const mapStateToProps = null;\n// fetchAdventureGames: (id) => {\n// dispatch(fetchAdventureGames(id));\n// },\n// closeBurger: () => {\n// dispatch(closeBurger());\n// },\nconst mapDispatchToProps = (dispatch) => ({\n getBlog: () => {\n dispatch(getBlog());\n },\n});\n \nexport default connect(mapStateToProps, mapDispatchToProps)(Blog); \n","/* eslint-disable import/no-extraneous-dependencies */\nimport React from 'react'; // , { useEffect } \n//import { Link } from 'react-router-dom';\n//import PropTypes from 'prop-types';\n/*import Promotions from 'src/containers/Promotions';\nimport Filter from 'src/containers/Filter';\nimport Recommendations from 'src/containers/Recommendations';\n*/\nimport './style.scss';\n//import './phone-style.scss';\n//import './tablet-style.scss';\nconst Commands = () => { //{ getCommands, }\n //useEffect(getCommands, []);\n //console.log(getInfo)\n return (\n
\n \"ripley\"\n
\n

!h

\n

display commands and bot information

\n
\n
\n

!s

\n

display the server configuration

\n
\n
\n

!m +

\n

mute newcomers for 24 hours

\n
\n
\n

!m -

\n

don't mute newcomers for 24 hours

\n
\n
\n

!m @member

\n

mute a member for 28 days

\n
\n
\n

!k @member

\n

kick a member

\n
\n
\n

!b @member

\n

ban a member

\n
\n
\n

!v

\n

automate a voice channel, cool way to reduce them

\n
\n \n
\n );\n};\n\nCommands.propTypes = {\n\n};\n//getCommands: PropTypes.func.isRequired,\nexport default Commands;\n","/* eslint-disable import/no-extraneous-dependencies */\r\nimport { Routes, Route, Navigate } from 'react-router-dom'; // BrowserRouter, , Redirect, useLocation\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect } from 'react'; //, { useEffect }\r\n/*\r\nimport Search from 'src/containers/Search';\r\nimport ProfilePage from 'src/containers/ProfilePage';\r\nimport Login from 'src/containers/Login';\r\nimport Subscribe from 'src/containers/Login/Subscribe';\r\nimport VideoGame from 'src/containers/VideoGame';\r\nimport About from 'src/containers/About';\r\n*/\r\nimport Home from '../../containers/Home';//'./Home'; //src/containers/Home\r\n//import Blog from '../../containers/Blog';//'./Home'; //src/containers/Home\r\n//import logo from 'src/assets/images/logo_rose_bleu.png';\r\nimport Navbar from './Navbar';\r\nimport Footer from './Footer';\r\nimport Error404 from './404';\r\nimport Cgu from './Cgu';\r\nimport Team from './Team';\r\nimport Login from './Login';\r\nimport Logout from './Logout';\r\nimport Blog from '../../containers/Blog';\r\n//import Serv from './Home/Serv';\r\n///////////////////////////////////////////////\r\nimport Commands from './Commands';\r\n//import Blog from './Blog';\r\n//import MentionLegales from './MentionLegales';\r\n\r\nimport './style.scss';\r\n//fetchTags, \r\n//fetchAdventureGames,\r\n//isConnected, \r\n//closeBurger,\r\nconst App = ({\r\n toto,\r\n getInfo,\r\n \r\n}) => {\r\n //const location = useLocation();\r\n //useEffect(closeBurger, [location.pathname]);\r\n //useEffect(() => {\r\n // fetchTags(); \r\n // fetchAdventureGames(18);\r\n //}, []);\r\n useEffect(toto, [toto]);\r\n useEffect(getInfo, [getInfo]);\r\n const handleClick = () => {\r\n // closeBurger();\r\n };\r\n return (\r\n
\r\n \r\n \r\n {/* routes diverses\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\nApp.propTypes = {\r\n getInfo: PropTypes.func.isRequired,\r\n //getBlog: PropTypes.func.isRequired,\r\n //fetchTags: PropTypes.func.isRequired,\r\n //fetchAdventureGames: PropTypes.func.isRequired,\r\n //isConnected: PropTypes.bool.isRequired,\r\n //closeBurger: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default App;\r\n","import { connect } from 'react-redux';\nimport App from '../../components/App';//src/components/App\nimport { getInfo, toto, getConfig, select, updateConfig } from '../../actions'; //src/actions\n// isConnected: state.users.isConnected,\n// tags: state.site.tags,\nconst mapStateToProps = (state) => ({\n accueil: state.home.accueil,\n user: state.home.user,\n guilds: state.home.guilds,\n selected: state.home.selected,\n\n});\n \n// fetchAdventureGames: (id) => {\n// dispatch(fetchAdventureGames(id));\n// },\n// closeBurger: () => {\n// dispatch(closeBurger());\n// },\nconst mapDispatchToProps = (dispatch) => ({\n getInfo: () => {\n dispatch(getInfo());\n },\n toto: () => {\n dispatch(toto());\n },\n getConfig: () => {\n dispatch(getConfig());\n },\n select: () => {\n dispatch(select());\n },\n updateConfig: () => {\n dispatch(updateConfig())\n }\n});\n \nexport default connect(mapStateToProps, mapDispatchToProps)(App); \n","import {\n STORE_INFO,\n STORE_TOTO,\n STORE_CONFIG,\n STORE_SELECTION,\n SELECT,\n SET_VOTE\n} from '../actions';\nconst initialState = {\n accueil: {},\n user: {}, \n guilds: [],\n selected: {},\n};\n\nconst reducer = (state = initialState, action = {}) => {\n switch (action.type) {\n case STORE_INFO: {\n //console.log(\"a\")\n //console.log(action)\n //console.log(state)\n return {\n ...state,\n accueil: action.home,\n };\n }\n case STORE_TOTO: {\n //console.log(\"a\")\n //console.log(action)\n //console.log(state)\n //console.log(action)\n return {\n ...state,\n user: {logged: 'yes', id: action.user, toto: action.toto},\n guilds: action.guilds,\n //logged: \"yes\",\n //id: action.user,\n //toto: action.toto,\n };\n }\n case STORE_CONFIG: {\n //console.log(action)\n return {\n ...state,\n guilds: action.guilds,\n //selected: action.guilds[0]\n //logged: \"yes\",\n //id: action.user,\n //toto: action.toto,\n };\n }\n case SELECT : {\n //console.log(action)\n return {\n ...state,\n selected: action.selected,\n //selected: action.guilds[0]\n //logged: \"yes\",\n //id: action.user,\n //toto: action.toto,\n };\n }\n case STORE_SELECTION: {\n //console.log(\"A : \" + state.home.guilds)\n //console.log(\"Selected : \"+ action.selected)\n //const guildSelected = state.home.guilds.map((g) => {\n // if (g.guild_id === action.guild) {\n // return g;\n // }\n // return action.selected;\n //});\n return {\n ...state,\n selected: action.selected,\n };\n }\n case SET_VOTE: {\n return {\n ...state,\n vote: action.val\n };\n }\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import {\r\n STORE_BLOG,\r\n STORE_ARTICLE,\r\n} from '../actions';\r\nconst initialState = {\r\n blog: [],\r\n article: []\r\n};\r\n\r\nconst reducer = (state = initialState, action = {}) => {\r\n //console.log(action.blog)\r\n switch (action.type) {\r\n case STORE_BLOG: {\r\n //console.log(\"a\")\r\n //console.log(action)\r\n\r\n //console.log(state)\r\n return {\r\n ...state,\r\n blog: action.blog\r\n };\r\n }\r\n case STORE_ARTICLE: {\r\n //console.log(\"a\")\r\n //console.log(action)\r\n\r\n //console.log(state)\r\n return {\r\n ...state,\r\n article: action.article\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default reducer;\r\n","import { combineReducers } from 'redux';\n//import { toto } from '../actions';\n\n//import filtersReducer from './filters';\n//import usersReducer from './users';\n//import teamReducer from './team';\n//import siteReducer from './site';\n//import videogameReducer from './videogame';\nimport homeReducer from './home';\nimport blogReducer from './blog';\n//import errorReducer from './error';\n\nconst rootReducer = combineReducers({\n //filters: filtersReducer,\n //users: usersReducer,\n //team: teamReducer,\n //site: siteReducer,\n home: homeReducer,\n blog: blogReducer,\n //videogame: videogameReducer,\n //error: errorReducer,\n});\n\nexport default rootReducer;\n","const apiBaseURL = 'https://api.ripley.link';\n\nexport default apiBaseURL;\n","/* eslint-disable no-console */\nimport axios from 'axios';\n\n//import { useLocation } from \"react-router-dom\"; // pas possible de hook en dehors d'un composant.\nimport { GET_INFO, storeInfo, TOTO, storeToto, GET_CONFIG, storeConfig, SELECT, UPDATE_CONFIG, storeSelection } from '../actions'; //, UPDATE_CONFIG\nimport apiBaseURL from './baseURL';\n//\n//axios.defaults.headers.get['Access-Control-Allow-Origin'] = '*';\n//\nconst api = axios.create({\n baseURL: apiBaseURL,\n});\n\nconst homeMiddleware = (store) => (next) => (action) => {\n switch (action.type) {\n case GET_INFO:\n api.get('/v1/ripley/dashboard/info')\n .then((response) => {\n store.dispatch(storeInfo(response.data));\n })\n .catch((error) => {\n console.error(error);\n });\n break;\n case TOTO:\n let guilds = [];\n let cookieToto = document.cookie.split(' ').find(row => row.startsWith('toto='))\n let cookieUser = document.cookie.split(' ').find(row => row.startsWith('user='))\n let cookieGuilds = document.cookie.split(' ');\n \n if (cookieToto && cookieUser) {\n cookieGuilds.forEach(ck => {\n if (ck.includes('-guild=')) {\n guilds.push(ck.split('-guild=')[1].replace(';', ''))\n }\n });\n store.dispatch(storeToto(cookieToto.replace('toto=', '').replace(';', ''), cookieUser.replace('user=', '').replace(';', ''), guilds));\n }\n break;\n case GET_CONFIG:\n let zeToto = document.cookie.split(' ').find(row => row.startsWith('toto='))\n if (!zeToto) return;\n //const { site } = store.getState();\n //const { id } = site.home.guilds.find((guild) => guild === action.name);\n //console.log(id)\n api.get(`/v1/ripley/dashboard/guilds?toto=${zeToto.replace('toto=', '').replace(';', '')}`)\n .then((response) => {\n return store.dispatch(storeConfig(response.data));\n })\n .catch((error) => {\n console.error(error);\n }); \n break;\n case SELECT:\n //console.log(action)\n //const search = useLocation().search;\n //const id = new URLSearchParams(search).get('id');\n //let {home} = store.getState();\n //let {guild} = home.guilds.find((g) => g.guild_id === id);\n store.dispatch(storeSelection());\n break;\n \n case UPDATE_CONFIG:\n //console.log(\"home middleware\")\n let {home} = store.getState();\n //console.log(home.selected)\n let zeToken = home.user.toto;\n //let zeToken = document.cookie.split(' ').find(row => row.startsWith('toto='))\n //if (!zeToken) return;\n //console.log(zeToken)\n //console.log('pouet')\n //const params = [req.body.vote, req.body.voteoption, req.body.prev, req.body.prevoption, req.params.id];\n axios(`https://api.ripley.link/v1/ripley/dashboard/guild?toto=${zeToken.replace('toto=', '').replace(';', '')}`, {\n method: 'patch', \n headers: {},\n data: {id: `${home.selected.guild_id}`, vote: `${home.selected.vote}`, voteoption: `${home.selected.mode}`, prev: `${home.selected.prev}`, prevoption: `${home.selected.prev_config}`}\n })\n\n //api.patch(`/v1/ripley/dashboard/guild?toto=${zeToken.replace('toto=', '').replace(';', '')}`, {id: home.selected.guild_id, vote: home.selected.vote, voteoption: home.selected.mode, prev: home.selected.prev, prevoption: home.selected.prev_config})\n .then((response) => {\n //console.log(response);\n api.get(`/v1/ripley/dashboard/guilds?toto=${zeToken.replace('toto=', '').replace(';', '')}`)\n .then((resp) => {\n return store.dispatch(storeConfig(resp.data));\n })\n .catch((error) => {\n console.error(error);\n }); \n })\n .catch((error) => {\n console.error(error);\n });\n \n //store.dispatch(storeSelection(guild.guild_id));\n break;\n default:\n next(action);\n }\n};\n\nexport default homeMiddleware;\n","/* eslint-disable no-console */\r\nimport axios from 'axios';\r\nimport { GET_BLOG, storeBlog, GET_ARTICLE, storeArticle } from '../actions'; //\r\nimport apiBaseURL from './baseURL';\r\nconst api = axios.create({\r\n baseURL: apiBaseURL,\r\n});\r\nconst blogMiddleware = (store) => (next) => (action) => {\r\n switch (action.type) {\r\n case GET_BLOG:\r\n api.get('/v1/ripley/dashboard/blog')\r\n .then((response) => {\r\n store.dispatch(storeBlog(response.data));\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n break;\r\n case GET_ARTICLE:\r\n api.get(`/v1/ripley/dashboard/blog/article?id=${action.selected}`)\r\n .then((response) => {\r\n store.dispatch(storeArticle(response.data));\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n break;\r\n default:\r\n next(action);\r\n }\r\n};\r\n\r\nexport default blogMiddleware;\r\n","/* eslint-disable no-underscore-dangle */\nimport { createStore, applyMiddleware, compose } from 'redux';\nimport reducer from '../../src/reducers';// src/reducers\nimport { persistStore, persistReducer } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\nimport autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';\n\n//// on importe les middlewares\n//import ajax from '../middlewares/ajax';\n//import subscriptionMiddleware from 'src/middlewares/subscriptionMiddleware';\nimport homeMiddleware from '../middlewares/homeMiddleware';\nimport blogMiddleware from '../middlewares/blogMiddleware';\n//import videogameMiddleware from 'src/middlewares/videogameMiddleware';\n//import deleteUserMiddleware from 'src/middlewares/deleteUserMiddleware';\n//import editProfileMiddleware from 'src/middlewares/editProfileMiddleware';\n//import searchPromotionsMiddleware from 'src/middlewares/searchPromotionsMiddleware';\n//\nconst persistConfig = {\n key: 'root',\n storage: storage,\n stateReconciler: autoMergeLevel2, // see \"Merge Process\" section for details.\n blacklist: ['user', 'guilds', 'selected'], //'filters', 'team'\n whitelist: ['accueil'], //'users', 'home', 'site', 'videogame\n};\n\nconst pReducer = persistReducer(persistConfig, reducer);\n\n// on met bout à bout tous nos middlewares\nconst middlewares = applyMiddleware(\n //ajax,\n //subscriptionMiddleware,\n homeMiddleware,\n blogMiddleware,\n //videogameMiddleware,\n //deleteUserMiddleware,\n //editProfileMiddleware,\n //searchPromotionsMiddleware,\n);\n\n// on met bout à bout le redux devtools et nos middlewares\n// https://github.com/zalmoxisus/redux-devtools-extension#12-advanced-store-setup\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\nconst enhancers = composeEnhancers(middlewares);\n\n// on crée le store à qui l'on passe le reducer et les middlewares (avec le devtool)\nexport const store = createStore(pReducer, enhancers);\nexport const persistor = persistStore(store);\n\n// export default store;\n","//import React from 'react';\n//import ReactDOM from 'react-dom';\n//import './index.scss';\n//import App from './App';\n//import reportWebVitals from './reportWebVitals';\n//\n//ReactDOM.render(\n// \n// \n// ,\n// document.getElementById('root')\n//);\n//\n//// If you want to start measuring performance in your app, pass a function\n//// to log results (for example: reportWebVitals(console.log))\n//// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n//reportWebVitals();\n//import React from 'react';\n//import ReactDOM from 'react-dom';\n//import './index.css';\n//import App from './components/App'; // './App'\n//import reportWebVitals from './reportWebVitals';\n//\n//ReactDOM.render(\n// \n// \n// ,\n// document.getElementById('root')\n//);\n//\n//// If you want to start measuring performance in your app, pass a function\n//// to log results (for example: reportWebVitals(console.log))\n//// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n//reportWebVitals();\n\n// == Import : npm\nimport React from 'react';\n\nimport { render } from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { PersistGate } from 'redux-persist/lib/integration/react';\n\nimport App from './containers/App'; //src/containers/App\nimport { BrowserRouter } from 'react-router-dom';\nimport { persistor, store } from '../src/store';\n\n// == Render\n// 1. Élément React racine (celui qui contient l'ensemble de l'app)\n// => crée une structure d'objets imbriqués (DOM virtuel)\nconst rootReactElement = (\n \n \n \n \n \n \n \n);\n\n// 2. La cible du DOM (là où la structure doit prendre vie dans le DOM)\nconst target = document.getElementById('root');\n// 3. Déclenchement du rendu de React (virtuel) => DOM (page web)\nrender(rootReactElement, target);"],"sourceRoot":""}