{"version":3,"sources":["firebase.js","actions/about.actions.js","actions/work.actions.js","components/about.jsx","components/skills.jsx","components/experience.jsx","components/projectList.jsx","components/projectDetails.jsx","components/work.jsx","components/sendMessage.jsx","components/contact.jsx","components/Shimmers.jsx","pages/home.jsx","components/AdminPanel.jsx","components/singin.jsx","pages/dashboard.jsx","pages/404.jsx","App.js","reportWebVitals.js","reducers/user.reducer.js","reducers/count.reducer.js","reducers/themeMode.reducer.js","reducers/about.reducer.js","reducers/work.reducer.js","reducers/rootReducer.js","index.js"],"names":["firebase","initializeApp","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","auth","db","firestore","getAboutSection","a","collection","doc","get","result","data","getExperience","orderBy","docs","map","item","getProjects","addMessage","name","email","message","add","console","log","pullAboutDetails","dispatch","type","payload","pullExperiences","pullProjects","useStyles","makeStyles","theme","title","flexGrow","pane","marginTop","description","About","classes","about","useSelector","state","className","Typography","variant","dangerouslySetInnerHTML","__html","intro","style","List","life","index","ListItem","ListItemAvatar","ListItemText","root","GenerateSkillCard","subset","progress","Paper","elevation","padding","join","LinearProgress","color","value","WorkSkills","Grid","container","spacing","skills","xs","sm","md","paper","generateProjectPaper","cursor","techStack","marginBottom","techChip","margin","filterPane","float","marginLeft","Experience","work","experience","span","content","media","height","arrayComparators","source","destination","every","val","includes","GenerateProjectCard","string","image","summary","technologies","showProject","applyFilter","Card","CardActionArea","onClick","CardMedia","CardContent","gutterBottom","component","length","substr","Chip","size","label","e","stopPropagation","avatar","Avatar","toUpperCase","CardActions","Button","ProjectList","useDispatch","useState","filteredProjects","setFilteredProjects","filters","setFilter","filterSwap","useEffect","projects","generateFilteredProjects","updatedProjects","forEach","project","push","onDelete","indexOf","splice","removeFilter","lg","projectName","imagePaper","width","ProjectDetails","currentProject","IconButton","aria-label","details","alt","src","demo","Link","href","link","target","text","WorkComponent","form","submit","SendMessage","messageDetails","setMessage","handleSubmit","event","preventDefault","handleChange","onSubmit","TextField","required","fullWidth","id","onChange","multiline","rows","AboutInfo","icon","display","alignItems","flexWrap","Icon","UseFulLinks","ContactComponent","links","Shimmers","Skeleton","animation","class","Copyright","Date","getFullYear","to","rel","backgroundImage","backgroundRepeat","backgroundColor","palette","grey","backgroundSize","backgroundPosition","flexDirection","tabPane","toggleTheme","position","borderBottomRightRadius","mainPane","overflow","footer","GetTabbedComponent","tabIndex","MainPage","setTabIndex","isLoading","setLoading","fetchData","CssBaseline","square","Tabs","indicatorColor","textColor","newValue","Tab","drawerWidth","appBar","transition","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","easeOut","enteringScreen","menuButton","hide","drawer","flexShrink","drawerPaper","drawerHeader","mixins","toolbar","justifyContent","contentShift","AdminPanel","history","useHistory","React","open","setOpen","getIconList","AppBar","Toolbar","startIcon","edge","Drawer","anchor","Divider","button","ListItemIcon","primary","signOut","SignInComponent","props","login","setLogin","password","signInWithEmailAndPassword","user","uid","displayName","autoComplete","panel","error","align","Dashboard","setUser","App","themeMode","myTheme","createMuiTheme","ThemeProvider","exact","path","Home","dashboard","NotFound","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","userReducer","action","countReducer","initialState","aboutReducer","workReducer","rootReducer","combineReducers","count","store","createStore","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.9edf143a.chunk.js","sourcesContent":["import firebase from \"firebase/app\";\nimport \"firebase/auth\";\nimport 'firebase/firestore';\n\nconst firebaseConfig = {\n apiKey: \"AIzaSyAfftIb1daTuGvputUlU1LdHSFQSsrY_Ns\",\n authDomain: \"portfolio-1b3d4.firebaseapp.com\",\n databaseURL: \"https://portfolio-1b3d4.firebaseio.com\",\n projectId: \"portfolio-1b3d4\",\n storageBucket: \"portfolio-1b3d4.appspot.com\",\n messagingSenderId: \"321246014449\",\n appId: \"1:321246014449:web:b0bae2ea77a6522cc93250\",\n measurementId: \"G-60ET1GEPDS\"\n};\n\n// Initialize Firebase\nfirebase.initializeApp(firebaseConfig);\n\n// Google SSO\nconst auth = firebase.auth();\nconst db = firebase.firestore();\n\nconst getAboutSection = async () => {\n const result = await db.collection(\"about\").doc(\"Yv8rWhvN4oMwkpj3Q9RQ\").get();\n return result.data();\n}\n\nconst updateSkills = async (skills) => {\n const result = await db.collection(\"about\").doc(\"Yv8rWhvN4oMwkpj3Q9RQ\").update({\n skills\n });\n return result;\n}\n\nconst getExperience = async () => {\n const result = await db.collection(\"experience\").orderBy(\"id\",\"desc\").get();\n return result.docs.map(item => item.data());\n}\n\nconst getProjects = async () => {\n const result = await db.collection(\"projects\").orderBy(\"id\",\"desc\").get();\n return result.docs.map(item => item.data());\n}\n\nconst addMessage = async (name, email, message) => {\n const result = await db.collection(\"messages\").add({\n name, email, message\n });\n console.log(result, result.data());\n}\n\nconst updateLinks = async (links) => {\n const result = await db.collection(\"about\").doc(\"Yv8rWhvN4oMwkpj3Q9RQ\").update({\n links\n });\n return result;\n}\n\nexport {\n auth,\n getAboutSection,\n updateSkills,\n getExperience,\n getProjects,\n addMessage,\n updateLinks\n}","import { getAboutSection, updateSkills, updateLinks } from \"../firebase\";\n\nconst pullAboutDetails = async (dispatch) => {\n const data = await getAboutSection();\n dispatch({\n type: \"setAboutDetails\",\n payload: data\n })\n}\n\nconst updateSkillsSet = async (dispatch, skills) => {\n const data = await updateSkills(skills);\n \n dispatch({\n type: \"setAboutDetails\",\n payload: data\n })\n}\n\nconst updateLinksSet = async (dispatch, links) => {\n const data = await updateLinks(links);\n\n dispatch({\n type: \"setAboutDetails\",\n payload: data\n })\n}\n\nexport {\n pullAboutDetails,\n updateSkillsSet,\n updateLinksSet\n}","import { getExperience, getProjects } from \"../firebase\";\n\nconst pullExperiences = async (dispatch) => {\n const data = await getExperience();\n dispatch({\n type: \"setExperienceData\",\n payload: data\n })\n}\n\nconst pullProjects = async (dispatch) => {\n const data = await getProjects();\n dispatch({\n type: \"setProjectData\",\n payload: data\n })\n}\n\nexport {\n pullExperiences,\n pullProjects\n}","import React from 'react'\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\nimport ListItemText from '@material-ui/core/ListItemText';\n\n//Redux \nimport { useSelector } from \"react-redux\";\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n flexGrow: 1,\n },\n pane: {\n marginTop: \"inherit\"\n },\n description: {\n marginTop: \"15px\"\n }\n}));\n\nconst About = () => {\n const classes = useStyles();\n const about = useSelector(state => state.about);\n return (\n
\n \n Hey there 👋
\n This is Sidharth Patnaik.\n
\n \n \n His life in a nutshell 🧑‍💼\n \n \n {\n about.life.map((item, index) => (\n \n \n \n \n \n \n {item}\n \n \n ))\n }\n \n
\n );\n}\n\nexport default About;","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useSelector } from \"react-redux\";\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport LinearProgress from '@material-ui/core/LinearProgress';\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n flexGrow: 1,\n },\n root: {\n marginTop: \"15px\",\n flexGrow: 1,\n },\n pane: {\n marginTop: \"inherit\"\n }\n}));\n\nconst GenerateSkillCard = ({ name, subset, progress }) => {\n return (\n \n
\n \n {name}\n \n \n {subset.join(\", \")}\n \n
\n \n
)\n}\n\nconst WorkSkills = () => {\n const about = useSelector(state => state.about);\n const classes = useStyles();\n\n return (\n
\n \n His skill set 💁\n \n \n {\n about.skills.map((item, index) => (\n \n \n \n ))\n }\n \n
\n )\n}\n\nexport default WorkSkills;","import React from 'react'\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { useSelector } from \"react-redux\"\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n flexGrow: 1,\n },\n root: {\n marginTop: \"15px\",\n flexGrow: 1,\n },\n pane: {\n marginTop: \"inherit\"\n },\n paper: {\n padding: '6px 16px',\n },\n generateProjectPaper: {\n padding: '6px 10px',\n cursor: 'pointer'\n },\n techStack: {\n marginBottom: \"10px\",\n marginTop: \"5px\"\n },\n techChip: {\n margin: '2px'\n },\n filterPane: {\n float: \"right\",\n marginLeft: 'auto'\n }\n}));\n\nconst Experience = () => {\n const classes = useStyles();\n const work = useSelector(state => state.work);\n\n return (\n
\n \n Down the timeline\n \n
\n {\n work.experience.map((item, index) => (\n
\n
\n
\n \n {item.name}\n \n \n {item.span}\n \n \n {item.content}\n \n
\n
\n ))\n }\n
\n
\n );\n}\n\nexport default Experience;","import React, { useState, useEffect } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, Typography, Grid, Chip, Avatar, Card, CardActionArea, CardActions, CardContent, CardMedia } from '@material-ui/core';\n\nimport { useSelector, useDispatch } from \"react-redux\"\n\n\nconst useStyles = makeStyles((theme) => ({\n title: {\n flexGrow: 1,\n },\n root: {\n marginTop: \"15px\",\n flexGrow: 1,\n },\n pane: {\n marginTop: \"inherit\"\n },\n paper: {\n padding: '6px 16px',\n },\n generateProjectPaper: {\n padding: '6px 10px',\n cursor: 'pointer'\n },\n techStack: {\n marginTop: \"10px\"\n },\n techChip: {\n margin: '2px'\n },\n filterPane: {\n float: \"right\",\n marginLeft: 'auto'\n },\n media: {\n height: 140,\n },\n}));\n\nconst restraintChars = (string) => string.length > 120 ? `${string.substr(0, 120)} [...]` : string;\n\nconst arrayComparators = (source, destination) => destination.every(val => source.includes(val));\n\nconst GenerateProjectCard = ({ name, image, summary, technologies, showProject, index, classes, applyFilter }) => {\n return (\n \n showProject(index)}>\n \n \n \n {name}\n \n \n {restraintChars(summary)}\n \n
\n {\n technologies.map((item, index) => (\n {\n e.stopPropagation();\n applyFilter(item);\n }}\n avatar={{item[0].toUpperCase()}} />\n ))\n }\n
\n
\n
\n \n \n \n
\n )\n}\n\nconst ProjectList = () => {\n const classes = useStyles();\n const work = useSelector(state => state.work);\n const dispatch = useDispatch()\n const [filteredProjects, setFilteredProjects] = useState([])\n const [filters, setFilter] = useState([]);\n let filterSwap = [];\n\n useEffect(() => {\n setFilteredProjects(work.projects);\n }, [work])\n\n const showProject = (index) => {\n dispatch({\n type: \"showProjectDetails\",\n payload: {\n ...filteredProjects[index]\n }\n });\n }\n\n const generateFilteredProjects = () => {\n const updatedProjects = [];\n work.projects.forEach(project => {\n console.log(`Looking for ${filterSwap} in ${project.technologies} and got ${arrayComparators(project.technologies, filterSwap)}`)\n if (project.technologies && arrayComparators(project.technologies, filterSwap)) {\n updatedProjects.push(project)\n }\n });\n setFilteredProjects(filterSwap.length !== 0 ? updatedProjects : work.projects);\n }\n\n const applyFilter = (item) => {\n if (!filters.includes(item)) {\n filterSwap = [...filters, item];\n setFilter([...filters, item])\n generateFilteredProjects();\n }\n }\n\n const removeFilter = (item) => {\n const index = filters.indexOf(item);\n if (index > -1) {\n filters.splice(index, 1);\n filterSwap = [...filters];\n setFilter([...filters]);\n generateFilteredProjects();\n }\n }\n\n return (\n
\n \n Some of the projects\n \n *Click on a tag from below to filter apply filter.
\n
\n {filters.length > 0 && Filters: }\n {\n filters.map((item, index) => (\n {\n removeFilter(item);\n }}\n avatar={{item[0].toUpperCase()}}\n />\n ))\n }\n
\n \n {\n filteredProjects.map((item, index) => (\n \n \n \n ))\n }\n \n
\n );\n}\n\nexport default ProjectList;","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useSelector, useDispatch } from \"react-redux\"\nimport { Typography, IconButton, Chip, Avatar, Link, Paper, Grid } from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n marginTop: \"inherit\",\n padding: '6px 16px',\n },\n techStack: {\n marginBottom: \"10px\",\n marginTop: \"5px\"\n },\n techChip: {\n margin: '2px'\n },\n root: {\n marginTop: \"15px\",\n flexGrow: 1,\n },\n imagePaper: {\n padding: \"5px 5px 0px 5px\"\n },\n image: {\n width: \"100%\"\n }\n}));\n\nconst ProjectDetails = () => {\n const work = useSelector(state => state.work);\n const dispatch = useDispatch();\n const classes = useStyles();\n const { currentProject } = work;\n\n return (\n \n {\n dispatch({\n type: \"showProjectDetails\",\n payload: {}\n });\n }} aria-label=\"delete\">\n \n \n \n {currentProject.projectName}\n \n \n {\n currentProject.technologies.map((item, index) => (\n {item[0].toUpperCase()}}\n />\n ))\n }\n \n \n \n \n {currentProject.summary}\n \n \n {\"Detailed description: \"}\n \n
    \n {\n currentProject.details && currentProject.details.map((item, index) => (\n
  • {item}
  • \n ))\n }\n
\n
\n \n \n \"Contacts\n \n \n
\n {\n currentProject.demo &&\n
\n \n Demo: {currentProject.demo.text}\n \n
\n }\n
\n )\n}\n\nexport default ProjectDetails;","import React from \"react\";\nimport {useSelector} from \"react-redux\";\nimport Experience from \"./experience\";\nimport ProjectList from \"./projectList\"\nimport ProjectDetails from \"./projectDetails\"\n\nconst WorkComponent = () => {\n const work = useSelector(state => state.work);\n\n return (\n <>\n {work.currentProject && !work.currentProject.projectName ? \n :\n \n }\n \n \n )\n}\n\nexport default WorkComponent;","import React, { useState } from 'react'\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Button, TextField } from '@material-ui/core';\nimport {addMessage} from \"../firebase\"\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n width: '100%', // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n}));\n\nconst SendMessage = () => {\n const [messageDetails, setMessage] = useState({});\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n const { name, email, message } = messageDetails;\n try {\n console.log({ name, email, message });\n await addMessage(name, email, message);\n } catch (error) {\n console.log(error);\n }\n };\n\n const handleChange = (event) => {\n const { name, value } = event.target;\n setMessage({\n ...messageDetails,\n [name]: value,\n });\n };\n\n const classes = useStyles();\n return (\n
\n \n \n \n \n Send message\n \n \n );\n}\n\nexport default SendMessage;","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Typography, Grid, Link } from '@material-ui/core';\nimport SendMessage from \"./sendMessage\";\nimport Icon from '@material-ui/core/Icon';\nimport { useSelector } from 'react-redux'\n\nconst useStyles = makeStyles((theme) => ({\n pane: {\n marginTop: \"inherit\"\n },\n paper: {\n padding: '6px 16px',\n },\n root: {\n marginTop: \"15px\",\n flexGrow: 1,\n },\n image: {\n width: \"100%\"\n }\n}));\n\nconst AboutInfo = ({ label, text, icon }) => {\n return (\n
\n \n \n {label}: {text}\n \n
\n )\n}\n\nconst UseFulLinks = ({ label, link, icon }) => {\n return (\n
\n \n \n {label}\n \n
\n )\n}\n\nconst ContactComponent = () => {\n const classes = useStyles();\n const about = useSelector(state => state.about);\n\n return (\n
\n \n Sidharth Patnaik\n \n \n \n \n \n \n \"Contacts\n \n \n \n Useful links:\n \n \n {\n about.links.map((item, index) => (\n \n \n \n ))\n }\n \n \n Drop a message!\n \n \n \n \n
\n )\n}\n\nexport default ContactComponent;","import React from \"react\";\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport { makeStyles, Grid, Paper } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n pane: {\n marginTop: \"inherit\"\n },\n}));\n\nconst Shimmers = () => {\n const classes = useStyles();\n\n return (\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
\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\nexport default Shimmers;","import React, { useState, useEffect } from 'react';\nimport {CssBaseline, Paper, Grid, Typography, Tabs, Tab, IconButton, LinearProgress} from \"@material-ui/core\";\nimport { makeStyles } from '@material-ui/core/styles';\nimport Brightness4Icon from '@material-ui/icons/Brightness4';\nimport Brightness7Icon from '@material-ui/icons/Brightness7';\nimport { Link } from \"react-router-dom\";\nimport { pullAboutDetails } from \"./../actions/about.actions\"\nimport { pullExperiences, pullProjects } from \"../actions/work.actions\"\nimport About from \"../components/about\";\nimport Skills from '../components/skills';\nimport WorkComponent from \"../components/work\";\nimport ContactComponent from \"../components/contact\";\nimport Shimmer from \"../components/Shimmers\";\n\n//redux Hooks\nimport { useDispatch, useSelector } from 'react-redux';\n\n\nfunction Copyright({ theme }) {\n const color = theme === 'dark' ? \"#FFF\" : \"#000\";\n return (\n <>\n \n {`© Sidharth Patnaik - ${new Date().getFullYear()} | `}\n \n Dashboard\n \n {` | `}\n \n Blog\n \n \n \n {`Made with ❤️ using React and Firebase`}\n \n \n );\n}\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100vh',\n },\n image: {\n backgroundImage: 'url(https://firebasestorage.googleapis.com/v0/b/portfolio-1b3d4.appspot.com/o/homeSide.jpg?alt=media&token=f40e3ca2-1404-4e4e-97e8-cc2f666e955b)',\n backgroundRepeat: 'no-repeat',\n backgroundColor:\n theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[900],\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n },\n paper: {\n margin: theme.spacing(8, 4),\n display: 'flex',\n flexDirection: 'column'\n },\n tabPane: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end'\n },\n toggleTheme: {\n position: 'absolute',\n borderBottomRightRadius: \"50%\"\n },\n mainPane: {\n height: '100vh',\n overflow: 'auto'\n },\n footer: {\n margin: theme.spacing(8, 4),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n color: \"#FFF\"\n },\n}));\n\nconst GetTabbedComponent = ({ tabIndex }) => {\n if (tabIndex === 0)\n return (\n <>\n \n \n \n )\n else if (tabIndex === 1)\n return \n else if (tabIndex === 2)\n return \n return (\n \n Coming soon!\n \n )\n}\n\nconst MainPage = () => {\n const classes = useStyles();\n const [tabIndex, setTabIndex] = useState(0);\n const [isLoading, setLoading] = useState(true);\n const dispatch = useDispatch();\n const theme = useSelector(state => state.theme);\n\n const toggleTheme = () => {\n dispatch({\n type: \"toggleDarkMode\"\n })\n }\n\n const switchTab = (event, newValue) => {\n setTabIndex(newValue);\n };\n\n useEffect(() => {\n async function fetchData() {\n await pullAboutDetails(dispatch);\n await pullExperiences(dispatch);\n await pullProjects(dispatch);\n setLoading(false);\n }\n fetchData();\n }, [dispatch]);\n\n return (\n \n \n \n \n \n \n {theme === 'dark' ? : }\n \n \n
\n
\n \n \n \n \n \n
\n {\n isLoading ? (\n \n ) : \n }\n
\n
\n \n
\n
\n
\n );\n}\n\nexport default MainPage;","import React from 'react'\nimport { AppBar, Toolbar, Typography, Button, IconButton, Drawer, List, Divider, ListItem, ListItemIcon, ListItemText } from '@material-ui/core'\nimport MenuIcon from '@material-ui/icons/Menu';\nimport { makeStyles } from '@material-ui/core/styles';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport MailIcon from '@material-ui/icons/Mail';\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\nimport WorkIcon from '@material-ui/icons/Work';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport PermContactCalendarIcon from '@material-ui/icons/PermContactCalendar';\nimport HomeIcon from '@material-ui/icons/Home';\nimport { useHistory } from 'react-router-dom'\nimport { auth } from \"../firebase\";\n\n//redux Hooks\nimport { useDispatch } from 'react-redux';\n//import { updateSkillsSet } from \"../actions/about.actions\"\n\nconst drawerWidth = 240;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n },\n appBar: {\n transition: theme.transitions.create(['margin', 'width'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n appBarShift: {\n width: `calc(100% - ${drawerWidth}px)`,\n marginLeft: drawerWidth,\n transition: theme.transitions.create(['margin', 'width'], {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n menuButton: {\n marginLeft: theme.spacing(2),\n },\n title: {\n flexGrow: 1,\n },\n hide: {\n display: 'none',\n },\n drawer: {\n width: drawerWidth,\n flexShrink: 0,\n },\n drawerPaper: {\n width: drawerWidth,\n },\n drawerHeader: {\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(0, 1),\n // necessary for content to be below app bar\n ...theme.mixins.toolbar,\n justifyContent: 'flex-end',\n },\n content: {\n flexGrow: 1,\n padding: theme.spacing(3),\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n marginLeft: -drawerWidth,\n },\n contentShift: {\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n marginLeft: 0,\n },\n}));\n\nconst AdminPanel = () => {\n const history = useHistory();\n const classes = useStyles();\n const [open, setOpen] = React.useState(false);\n const dispatch = useDispatch();\n \n const handleDrawerOpen = () => {\n setOpen(true);\n };\n\n const handleDrawerClose = () => {\n setOpen(false);\n };\n\n const getIconList = (text) => {\n switch (text) {\n case \"About\":\n return ;\n case \"Skills\":\n return \n case \"Projects\":\n return \n case \"Experience\":\n return \n default:\n return \n }\n }\n\n return (\n
\n \n \n \n Dashboard\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n \n \n {['About', 'Skills', 'Projects', 'Experience', 'Contact'].map((text, index) => (\n \n {getIconList(text)}\n \n \n ))}\n \n \n \n {['All messages'].map((text, index) => (\n \n \n \n \n ))}\n \n \n \n {['Logout'].map((text, index) => (\n \n \n {\n auth.signOut();\n dispatch({ type: \"removeUserDetails\" });\n }} primary={text} />\n \n ))}\n \n \n
\n );\n}\n\nexport default AdminPanel;","import React, { useState } from 'react'\nimport Button from '@material-ui/core/Button';\nimport TextField from '@material-ui/core/TextField';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { auth } from \"../firebase\";\n\n//redux Hooks\nimport { useDispatch } from 'react-redux';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n width: '100%', // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n}));\n\nconst SignInComponent = (props) => {\n\n const dispatch = useDispatch();\n const [login, setLogin] = useState();\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n const { email, password } = login;\n try {\n const data = await auth.signInWithEmailAndPassword(email, password);\n console.log(data.user.uid);\n dispatch({\n type: \"addUserDetails\",\n payload: {\n email: data.user.email,\n uid: data.user.uid,\n displayName: data.user.displayName\n }\n });\n dispatch({\n type: \"inc\"\n })\n } catch (error) {\n console.log(error);\n }\n };\n\n const handleChange = (event) => {\n const { name, value } = event.target;\n setLogin({\n ...login,\n [name]: value,\n });\n };\n\n const classes = useStyles();\n return (\n
\n \n \n \n Sign In\n \n \n );\n}\n\nexport default SignInComponent;","import React from 'react';\nimport Avatar from '@material-ui/core/Avatar';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport Paper from '@material-ui/core/Paper';\nimport Grid from '@material-ui/core/Grid';\nimport LockOutlinedIcon from '@material-ui/icons/LockOutlined';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport AdminPanel from \"../components/AdminPanel\";\nimport SignIn from \"../components/singin\";\n\n//redux Hooks\nimport { useSelector } from 'react-redux';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: '100vh',\n },\n image: {\n backgroundImage: 'url(https://firebasestorage.googleapis.com/v0/b/portfolio-1b3d4.appspot.com/o/login_sidebar.jpg?alt=media&token=dc0c2fc9-07a3-47b8-a4b1-f4e7910b5ed5)',\n backgroundRepeat: 'no-repeat',\n backgroundColor:\n theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[900],\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n transition: theme.transitions.create(\"all\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n })\n },\n panel: {\n transition: theme.transitions.create(\"all\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen\n })\n },\n paper: {\n margin: theme.spacing(8),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n avatar: {\n color: theme.palette.error[50],\n },\n form: {\n width: '100%', // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n}));\n\nfunction Copyright({ theme }) {\n return (\n <>\n \n {`© Sidharth Patnaik - ${new Date().getFullYear()}`}\n \n \n );\n}\n\nconst Dashboard = () => {\n const classes = useStyles();\n const user = useSelector(state => state.user);\n const theme = useSelector(state => state.theme);\n\n return (\n \n \n \n \n {user.uid &&\n \n }\n {!user.uid &&\n
\n \n \n \n \n Authentication Required\n \n \n
\n }\n \n
\n
\n );\n}\n\nexport default Dashboard;","import React from \"react\";\nimport {Link} from \"react-router-dom\"\n\n//Functional Component \nconst MainPage = () => {\n return (\n
\n

no page exists

\n Go Home\n
\n );\n};\n\nexport default MainPage;","import {\n BrowserRouter as Router,\n Route,\n Switch,\n Redirect\n} from \"react-router-dom\";\n\nimport Home from \"./pages/home\";\nimport dashboard from \"./pages/dashboard\"\nimport NotFound from \"./pages/404\";\n\nimport { useSelector } from 'react-redux';\nimport { createMuiTheme, ThemeProvider } from \"@material-ui/core/styles\";\n\nfunction App() {\n const themeMode = useSelector(state => state.theme);\n const myTheme = createMuiTheme({\n palette: {\n type: themeMode,\n }\n });\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","\nconst userReducer = (state = {} , action) => {\n switch(action.type) {\n case \"addUserDetails\": \n return action.payload;\n case \"removeUserDetails\": \n return {}\n default:\n return state;\n }\n}\n\nexport default userReducer;","const countReducer = (state = 1 , action) => {\n switch(action.type) {\n case \"inc\": \n return state + 1;\n default:\n return state;\n }\n}\n\nexport default countReducer;","const themeMode = (state = 'dark' , action) => {\n switch(action.type) {\n case \"toggleDarkMode\": \n return state === 'dark' ? 'light' : 'dark';\n default:\n return state;\n }\n}\n\nexport default themeMode;","const initialState = {\n intro: \"\",\n life: [],\n skills: [],\n links: []\n}\n\nconst aboutReducer = (state = initialState, action) => {\n switch (action.type) {\n case \"setAboutDetails\":\n return action.payload;\n default:\n return state;\n }\n}\n\nexport default aboutReducer;","const initialState = {\n experience: [],\n projects:[],\n currentProject: {},\n}\n\nconst workReducer = (state = initialState, action) => {\n switch(action.type) {\n case \"setExperienceData\":\n return {\n ...state,\n experience: action.payload\n }\n case \"setProjectData\": \n return {\n ...state,\n projects: action.payload\n }\n case \"showProjectDetails\": \n return {\n ...state, \n currentProject: action.payload\n }\n default:\n return state;\n }\n}\n\nexport default workReducer;","import {combineReducers} from \"redux\"\n\nimport userReducer from \"./user.reducer\";\nimport countReducer from \"./count.reducer\";\nimport themeMode from \"./themeMode.reducer\";\nimport aboutReducer from \"./about.reducer\";\nimport workReducer from \"./work.reducer\"\n\nconst rootReducer = combineReducers({\n user: userReducer,\n count: countReducer,\n theme: themeMode,\n about: aboutReducer,\n work: workReducer\n});\n\nexport default rootReducer;","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport { createStore } from \"redux\"\nimport { Provider } from \"react-redux\";\nimport rootReducer from \"./reducers/rootReducer\";\n\nconst store = createStore(rootReducer)\n\nReactDOM.render(\n \n \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\nreportWebVitals();\n"],"sourceRoot":""}