{"version":3,"sources":["components/LandingPage/LandingPage.js","config.js","components/Course/Course.js","components/PrivacyPolicy/PrivacyPolicy.js","components/Footer/Footer.js","components/TermsOfService/TermsOfService.js","theme.js","components/About/About.js","components/Donate/Donate.js","App.js","serviceWorker.js","index.js","images/cookie-white.png"],"names":["LandingPage","props","handleChange","event","setState","courseCode","target","value","handleKeyDown","keyCode","history","push","state","className","Input","style","color","placeholder","onChange","this","onKeyDown","React","Component","S3_URL","axios","require","Course","renderDocumentList","docs","length","List","map","doc","index","ListItem","button","component","href","key","ListItemText","split","console","log","get","API_URL","match","params","replace","toUpperCase","then","res","data","widgets","catch","err","id","Grid","container","direction","justify","alignItems","minHeight","CircularProgress","PrivacyPolicy","title","footerItemClass","margin","fontSize","cursor","Footer","to","TermsOfService","type","theme","createMuiTheme","palette","primary","main","secondary","About","Donate","class","ReactGA","initialize","pageview","window","location","pathname","search","createBrowserHistory","App","AppBar","position","Toolbar","Typography","variant","alt","src","logo","onClick","textDecoration","exact","path","Boolean","hostname","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.2f63e2a0.chunk.js","sourcesContent":["import React from 'react';\r\nimport './LandingPage.css';\r\nimport { Input } from '@material-ui/core';\r\n\r\nclass LandingPage extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n courseCode: null\r\n }\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({\r\n courseCode: event.target.value\r\n })\r\n }\r\n\r\n handleKeyDown = (event) => {\r\n if (event.keyCode === 13) {\r\n this.props.history.push('/course/' + this.state.courseCode)\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

MyCookies

\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default LandingPage;\r\n","export const API_URL = \"https://hi0y3kmf9a.execute-api.us-west-2.amazonaws.com/prod\"\r\nexport const S3_URL = \"https://mycookiesservicestack-widgetsdocumentstore3dad1a5-14abgwm2y79x2.s3-us-west-2.amazonaws.com/\"","import React from 'react';\r\nimport './Course.css';\r\nimport { List, ListItem, ListItemText, CircularProgress, Grid } from '@material-ui/core';\r\nimport { API_URL, S3_URL } from '../../config'\r\n\r\nconst axios = require('axios');\r\n\r\nclass Course extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n docs: null\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"test: \" + process.env.REACT_APP_TEST)\r\n axios.get(API_URL + '/course/' + this.props.match.params.courseCode.replace(/[^\\w]|_/g, \"\").toUpperCase())\r\n .then((res) => {\r\n this.setState({docs: res.data.widgets})\r\n })\r\n .catch((err) => {\r\n console.log(err)\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.docs !== null) {\r\n return (\r\n
\r\n
\r\n
{this.props.match.params.courseCode}
\r\n {this.renderDocumentList(this.state.docs)}\r\n
\r\n
\r\n )\r\n } else {\r\n return \r\n \r\n \r\n }\r\n }\r\n\r\n renderDocumentList = (docs) => {\r\n if (docs.length === 0) return

No documents found. Either this course does not exist or no documents have been uploaded.

\r\n return (\r\n {docs.map((doc, index) => \r\n {doc.split('/')[1]}\r\n )}\r\n )\r\n }\r\n}\r\n\r\nexport default Course;","import React from 'react';\r\nimport './PrivacyPolicy.css';\r\n\r\nclass PrivacyPolicy extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Privacy Policy

\r\n

Your privacy is important to us. It is MyCookies' policy to respect your privacy regarding any information we may collect from you across our website, http://www.mycookies.ca, and other sites we own and operate.

\r\n

We only ask for personal information when we truly need it to provide a service to you. We collect it by fair and lawful means, with your knowledge and consent. We also let you know why we’re collecting it and how it will be used.

\r\n

We only retain collected information for as long as necessary to provide you with your requested service. What data we store, we’ll protect within commercially acceptable means to prevent loss and theft, as well as unauthorised access, disclosure, copying, use or modification.

\r\n

We don’t share any personally identifying information publicly or with third-parties, except when required to by law.

\r\n

Our website may link to external sites that are not operated by us. Please be aware that we have no control over the content and practices of these sites, and cannot accept responsibility or liability for their respective privacy policies.

\r\n

You are free to refuse our request for your personal information, with the understanding that we may be unable to provide you with some of your desired services.

\r\n

Your continued use of our website will be regarded as acceptance of our practices around privacy and personal information. If you have any questions about how we handle user data and personal information, feel free to contact us.

\r\n

This policy is effective as of 15 September 2019.

\r\n

Generated by GetTerms.io

\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default PrivacyPolicy;\r\n","import React from 'react';\r\nimport './Footer.css';\r\nimport { Link } from 'react-router-dom'\r\n\r\nconst footerItemClass = {\r\n color: 'rgba(255,255,255,0.1)',\r\n margin: '0 4px',\r\n fontSize: '0.8em',\r\n cursor: 'pointer'\r\n}\r\n\r\nclass Footer extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n Privacy Policy \r\n Terms of Service \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Footer;\r\n","import React from 'react';\r\nimport './TermsOfService.css';\r\n\r\nclass TermsOfService extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

MyCookies Terms of Service

\r\n

1. Terms

\r\n

By accessing the website at http://www.mycookies.ca, you are agreeing to be bound by these terms of service, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any of these terms, you are prohibited from using or accessing this site. The materials contained in this website are protected by applicable copyright and trademark law.

\r\n

2. Use License

\r\n
    \r\n
  1. Permission is granted to temporarily download one copy of the materials (information or software) on MyCookies' website for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not:\r\n
      \r\n
    1. modify or copy the materials;
    2. \r\n
    3. use the materials for any commercial purpose, or for any public display (commercial or non-commercial);
    4. \r\n
    5. attempt to decompile or reverse engineer any software contained on MyCookies' website;
    6. \r\n
    7. remove any copyright or other proprietary notations from the materials; or
    8. \r\n
    9. transfer the materials to another person or \"mirror\" the materials on any other server.
    10. \r\n
    \r\n
  2. \r\n
  3. This license shall automatically terminate if you violate any of these restrictions and may be terminated by MyCookies at any time. Upon terminating your viewing of these materials or upon the termination of this license, you must destroy any downloaded materials in your possession whether in electronic or printed format.
  4. \r\n
\r\n

3. Disclaimer

\r\n
    \r\n
  1. The materials on MyCookies' website are provided on an 'as is' basis. MyCookies makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.
  2. \r\n
  3. Further, MyCookies does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on its website or otherwise relating to such materials or on any sites linked to this site.
  4. \r\n
\r\n

4. Limitations

\r\n

In no event shall MyCookies or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on MyCookies' website, even if MyCookies or a MyCookies authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of liability for consequential or incidental damages, these limitations may not apply to you.

\r\n

5. Accuracy of materials

\r\n

The materials appearing on MyCookies' website could include technical, typographical, or photographic errors. MyCookies does not warrant that any of the materials on its website are accurate, complete or current. MyCookies may make changes to the materials contained on its website at any time without notice. However MyCookies does not make any commitment to update the materials.

\r\n

6. Links

\r\n

MyCookies has not reviewed all of the sites linked to its website and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by MyCookies of the site. Use of any such linked website is at the user's own risk.

\r\n

7. Modifications

\r\n

MyCookies may revise these terms of service for its website at any time without notice. By using this website you are agreeing to be bound by the then current version of these terms of service.

\r\n

8. Governing Law

\r\n

These terms and conditions are governed by and construed in accordance with the laws of Canada and you irrevocably submit to the exclusive jurisdiction of the courts in that State or location.

\r\n

Generated by GetTerms.io

\r\n\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default TermsOfService;\r\n","import {createMuiTheme} from '@material-ui/core/styles';\r\n\r\nconst theme = createMuiTheme({\r\n palette: {\r\n primary: {\r\n main: '#173c49',\r\n },\r\n secondary: {\r\n main: '#fff',\r\n }\r\n },\r\n});\r\n\r\nexport default theme","import React from 'react';\r\nimport './About.css'\r\n\r\nclass About extends React.Component {\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

About

\r\n

View previous McGill notes, exams, solutions, assignments, etc. uploaded by students.

\r\n

If you use this service, please consider donating by clicking the donate button at the bottom right of this window. I'm a student at McGill myself and I make no money from this, so I just need enough to cover the costs of keeping it running. I will have to take it down if I can't afford it. Thank you!

\r\n

FAQs

\r\n

Where are these documents from?

\r\n

These are all the documents that Docuum (RIP) had and more.

\r\n

Can I upload documents?

\r\n

Not yet. I quickly made this website for students to use ASAP. If you want a document on here, you can email the\r\n document to mycookiesca@gmail.com with the respective course code and \r\n I'll put it up as soon as I can. \r\n

\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default About;\r\n","import React from 'react';\r\nimport './Donate.css';\r\n\r\nclass Donate extends React.Component {\r\n render() {\r\n return (\r\n
\r\n Donate\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Donate;","import React from 'react';\r\nimport LandingPage from './components/LandingPage/LandingPage'\r\nimport Course from './components/Course/Course'\r\nimport PrivacyPolicy from './components/PrivacyPolicy/PrivacyPolicy';\r\nimport Footer from './components/Footer/Footer';\r\nimport TermsOfService from './components/TermsOfService/TermsOfService';\r\nimport { Router } from 'react-router';\r\nimport { Route, Switch, Link } from \"react-router-dom\";\r\nimport { AppBar, Toolbar, Typography } from '@material-ui/core'\r\nimport MuiThemeProvider from '@material-ui/core/styles/MuiThemeProvider';\r\nimport { createBrowserHistory } from 'history';\r\nimport theme from './theme'\r\nimport './App.css';\r\nimport logo from './images/cookie-white.png'\r\n\r\nimport ReactGA from 'react-ga';\r\nimport About from './components/About/About';\r\nimport Donate from './components/Donate/Donate';\r\nReactGA.initialize('UA-148026812-1');\r\nReactGA.pageview(window.location.pathname + window.location.search);\r\n\r\nexport const history = createBrowserHistory();\r\n\r\nclass App extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \"mycookies history.push('/')}/>\r\n \r\n \r\n About \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n