{"version":3,"sources":["assets/images/logo-2024.png","assets/images/leapfrog-opensource-logo.png","assets/images/icon-1.svg","assets/images/icon-2.svg","assets/images/icon-3.svg","assets/images/icon-4.svg","assets/images/icon-5.svg","assets/images/icon-6.svg","assets/images/icon-7.svg","assets/images/img-2.jpg","assets/images/img-3.jpg","assets/images/img-4.jpg","assets/images/img-5.jpg","assets/images/img-6.png","assets/images/img-7.png","assets/images/img-8.png","assets/images/img-9.png","assets/images/link.svg","assets/images/logo-open-source-2024.png","pages/User/components/PullRequests/LoadingIcon/loading-icon.gif","components/PageWrapper.js","components/SiteHeader.js","pages/Home/index.js","components/SiteTitle.js","config.js","components/UsernameForm/UsernameInput.js","components/UsernameForm/CheckButton.js","components/UsernameForm/index.js","pages/User/components/PullRequests/ShareButtons.js","pages/User/components/PullRequests/LoadingIcon/index.js","pages/User/components/PullRequests/PullRequest/MergeStatus.js","pages/User/components/PullRequests/PullRequest/PullRequestInfo.js","utils/date.js","pages/User/components/PullRequests/PullRequest/index.js","pages/User/components/PullRequests/ErrorText.js","pages/User/components/PullRequests/UserInfo/PullRequestCount.js","pages/User/components/PullRequests/UserInfo/ResultMessage/index.js","pages/User/components/PullRequests/UserInfo/UserImage.js","pages/User/components/PullRequests/UserInfo/MotivationalMessage/getMessage.js","pages/User/components/PullRequests/UserInfo/MotivationalMessage/index.js","pages/User/components/PullRequests/UserInfo/index.js","services/index.js","pages/User/components/PullRequests/index.js","pages/User/index.js","components/SiteDetails.js","pages/Checker/index.js","pages/Me/index.js","pages/NotFound/index.js","pages/Guidelines/index.js","App.js","index.js"],"names":["module","exports","PageWrapper","children","props","className","SiteHeader","useEffect","toggleMenu","menu","document","querySelector","overlay","classList","toggle","buttons","querySelectorAll","i","length","addEventListener","window","header","scrollY","add","remove","href","src","Logo","alt","to","Home","accordionContent","forEach","item","index","description","contains","style","height","scrollHeight","replace","item2","index2","removeOpenedContent","script","createElement","async","setAttribute","head","appendChild","ml","q","push","arguments","removeChild","Img1","target","rel","Icon1","Icon2","Icon3","id","Icon4","Icon5","Icon6","Icon7","Img2","Img3","Img4","Img5","Img6","Img7","Img8","Img9","Link","LogoWhite","SiteTitle","GITHUB_TOKEN","process","HOSTNAME","TOTAL_PR_COUNT","TOTAL_OTHER_PR_COUNT","GITHUB_ORG_NAME","LF_CAREER_URL","UsernameInput","value","onChange","type","name","aria-label","placeholder","spellCheck","autoCapitalize","autoCorrect","autoComplete","CheckButton","outline","UsernameForm","state","username","handleUsernameChange","e","setState","handleSubmit","preventDefault","trim","userUrl","getUserUrl","history","render","onSubmit","totalPrCount","totalOtherPrCount","Component","defaultProps","withRouter","ShareButtons","pullRequestCount","TWITTER_LINK","FACEBOOK_LINK","data-size","d-block","data-href","data-layout","LoadingIcon","loadingIcon","MergeStatus","open","merged","aria-hidden","fill","version","viewBox","width","fillRule","d","PullRequestInfo","dateTime","pullRequest","user","html_url","login","color","repository_url","split","number","title","created_at","Date","toLocaleDateString","year","month","day","ISSUE_STATUS","PullRequest","ErrorText","errorMessage","errorTextStyle","PullRequestCount","pullRequestAmount","ResultMessage","message","UserImage","userImage","messages","MONTH_OCTOBER","getMessage","otherReposCount","Number","isInteger","Error","currentMonth","getMonth","MotivationalMessage","err","UserInfo","completeMark","incompleteMark","fetchInfoFromGitHub","url","githubToken","fetch","headers","Authorization","then","response","catch","error","getApiUrls","queryYear","today","getFullYear","getYear","fetchUserInfo","a","apiUrls","results","map","Promise","all","data","userDetail","membershipStatus","json","ok","PullRequests","loading","componentDidMount","storeUsernameAsMe","fetchPullRequests","componentDidUpdate","prevProps","localStorage","getItem","setItem","userInfo","displayPullRequests","isOrgMember","getErrorMessage","errors","getNotAMemberMessage","validData","getValidPullRequests","countOtherRepos","setUserContributionCount","items","showNotAMemberMessage","avatar_url","key","this","count","pop","shift","validPullRequests","filter","pr","labels","toLowerCase","total_count","PropTypes","string","isRequired","User","match","params","bind","checklistItems","SiteDetails","Checker","Me","NotFound","Helmet","Guidelines","role","App","titleTemplate","exact","path","component","ReactDOM"],"mappings":"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","file":"static/js/main.278e9a3e.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo-2024.094fa4ae.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/icon-1.e9a0bde8.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-2.911d211e.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-3.876f1435.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-4.6ae4b50d.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-5.d7de4fe6.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-6.59dd60dd.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-7.d7de4fe6.svg\";","module.exports = __webpack_public_path__ + \"static/media/img-2.84d67552.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img-3.090ce33e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img-4.aa4af41b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img-5.db5d8c8f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img-6.8896de06.png\";","module.exports = __webpack_public_path__ + \"static/media/img-7.f8e67702.png\";","module.exports = __webpack_public_path__ + \"static/media/img-8.b2605d04.png\";","module.exports = __webpack_public_path__ + \"static/media/img-9.a86a74c1.png\";","module.exports = __webpack_public_path__ + \"static/media/link.4b78a9e0.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/gif;base64,R0lGODlhGAAYAPAAAP///1DLXCH5BAkFAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAGAAYAAACM4SPqXvhDxmClMqKHct4c+t9TygGV2meomSgLFC+8Pq6rK3SpL6g2v65+YS4XhEYkSkTBQAh+QQJBQAAACwAAAAAGAAYAAACNoSPqXvhDxmClMqK38o8pM59oCWOmmKeaHqZEjC+hvuyLb2lXq4zutr4OVY/Ho4IksFCymaiAAAh+QQJBQAAACwAAAAAGAAYAAACNYSPqXvhDxmClMqK38o8pM59YNaMpGFWYuop7DVKaCy/DOtseD7tWunr7VxDYgpGq4VkTEkBACH5BAkFAAAALAAAAAAYABgAAAI3hI+pe+EPGYKUyorfyjyk3k1g1oycYZ5ASq6so6SSa16v990RreO9huqJdLnXhmUbzYKtpVNRAAAh+QQJBQAAACwAAAAAGAAYAAACN4SPqXvhDxmClMqK38o8pN5NYNaMnGGeQEqubIW+litrdO3ddYznvVPaBWUfouJ1MUmGsKVTUgAAIfkECQUAAAAsAAAAABgAGAAAAjeEj6l74Q8ZgpTKit/KPKTeTWDWjJxhnkBKrqyjpJJrXq/33RGt472G6ol0udeGZRvNgq2lU1EAACH5BAkFAAAALAAAAAAYABgAAAI1hI+pe+EPGYKUyorfyjykzn1g1oykYVZi6insNUpoLL8M62x4Pu1a6evtXENiCkarhWRMSQEAIfkECQUAAAAsAAAAABgAGAAAAjaEj6l74Q8ZgpTKit/KPKTOfaAljppinmh6mRIwvob7si29pV6uM7ra+DlWPx6OCJLBQspmogAAOw==\"","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PageWrapper = ({ children, ...props }) => (\n
\n {children}\n
\n);\n\nPageWrapper.propTypes = {\n children: PropTypes.node\n};\n\nexport default PageWrapper;\n","import React, { Fragment, useEffect } from 'react';\nimport { Link } from 'react-router-dom/cjs/react-router-dom.min';\n\n\nimport Logo from 'assets/images/logo-open-source-2024.png';\n\nconst SiteHeader = () => {\n useEffect(() => {\n // Mobile menu Drawer\n const toggleMenu = () => {\n const menu = document.querySelector('.nav');\n const overlay = document.querySelector('.overlay');\n\n menu.classList.toggle('is-active');\n if (overlay !== null) {\n overlay.classList.toggle('is-active');\n }\n };\n\n const buttons = document.querySelectorAll('.menu-toggle, .overlay, .menu-close');\n\n for (let i = 0; i < buttons.length; i++) {\n buttons[i].addEventListener('click', toggleMenu);\n }\n\n // Header Sticky\n const handleScroll = () => {\n const header = document.querySelector('header');\n if (window.scrollY > 200) {\n header.classList.add('sticky');\n } else {\n header.classList.remove('sticky');\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n
\n
\n
\n\n
\n
\n \n \"Frogtoberfest\n \n
\n
\n \n\n \n
\n
\n
\n
\n );\n};\n\nexport default SiteHeader;\n","import React, { Fragment, useEffect } from 'react';\n\nimport Icon1 from 'assets/images/icon-1.svg';\nimport Icon2 from 'assets/images/icon-2.svg';\nimport Icon3 from 'assets/images/icon-3.svg';\nimport Icon4 from 'assets/images/icon-4.svg';\nimport Icon5 from 'assets/images/icon-5.svg';\nimport Icon6 from 'assets/images/icon-6.svg';\nimport Icon7 from 'assets/images/icon-7.svg';\nimport Img1 from 'assets/images/logo-2024.png';\nimport Img2 from 'assets/images/img-2.jpg';\nimport Img3 from 'assets/images/img-3.jpg';\nimport Img4 from 'assets/images/img-4.jpg';\nimport Img5 from 'assets/images/img-5.jpg';\nimport Img6 from 'assets/images/img-6.png';\nimport Img7 from 'assets/images/img-7.png';\nimport Img8 from 'assets/images/img-8.png';\nimport Img9 from 'assets/images/img-9.png';\nimport LogoWhite from 'assets/images/leapfrog-opensource-logo.png';\nimport Link from 'assets/images/link.svg';\nimport SiteHeader from 'components/SiteHeader';\n// import SiteTimer from 'components/SiteTimer';\n\nconst Home = () => {\n useEffect(() => {\n const accordionContent = document.querySelectorAll('.accordion-content');\n\n accordionContent.forEach((item, index) => {\n const header = item.querySelector('header');\n\n header.addEventListener('click', () => {\n item.classList.toggle('is-open');\n\n const description = item.querySelector('.accordion-content-description');\n\n if (item.classList.contains('is-open')) {\n description.style.height = `${description.scrollHeight}px`;\n item.querySelector('i').classList.replace('fa-plus', 'fa-minus');\n } else {\n description.style.height = '0px';\n item.querySelector('i').classList.replace('fa-minus', 'fa-plus');\n }\n removeOpenedContent(index);\n });\n });\n\n function removeOpenedContent(index) {\n accordionContent.forEach((item2, index2) => {\n if (index !== index2) {\n item2.classList.remove('is-open');\n const descrip = item2.querySelector('.accordion-content-description');\n\n descrip.style.height = '0px';\n item2.querySelector('i').classList.replace('fa-minus', 'fa-plus');\n }\n });\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n // Create a new script element\n const script = document.createElement('script');\n script.async = true;\n script.src = 'https://static.mailerlite.com/js/universal.js';\n\n // Add attributes to the script element\n script.setAttribute('data-uid', '738785');\n script.setAttribute('data-dm', 'd6l2h0j5t4');\n\n // Insert the script element into the DOM\n document.head.appendChild(script);\n\n // Define the ml_account variable and initialize it\n window.ml = function () {\n (window.ml.q = window.ml.q || []).push(arguments);\n };\n window.ml('accounts', '738785', 'd6l2h0j5t4', 'load');\n\n // Cleanup: remove the script element when the component unmounts\n return () => {\n document.head.removeChild(script);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n
\n
\n
\n
\n
\n \"Remaining\n
\n
\n

\n Embracing Open Source\n

\n

\n A month-long challenge to encourage you to contribute to open source projects.\n

\n\n {/* */}\n\n \n
\n
\n
\n
\n\n
\n
\n

WHAT YOU NEED TO KNOW

\n\n
\n
\n
\n
\n \"Open\n
\n

Who

\n

Open Source Hackathon for Leapfroggers and LeapNetwork

\n
\n
\n
\n\n
\n
\n \"Create\n
\n

How

\n

Create 8 pull requests (PR)

\n
\n
\n
\n\n
\n
\n \"Any\n
\n

When

\n

Any time between Oct 1 to Oct 31, 2024.

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

Participation

\n

The challenge is quite simple:

\n\n
\n
\n
\n \"Create\n

Create 8 pull requests (PRs) between Oct 1 to Oct 31, 2024.

\n
\n
\n\n
\n
\n \"At\n

At least 5 PRs should be in repositories not owned by you.

\n
\n
\n\n
\n
\n \"\n

PRs can be made to any public repository on GitHub.

\n
\n
\n\n
\n
\n \"PRs\n

PRs should not be labeled as ‘invalid'.

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

Past Stats

\n\n
\n
\n
\n
\n \n
360+
\n

Participants

\n
\n
\n
\n
\n
\n
\n
1500+
\n
Total PRs
\n
\n
\n
\n
\n
1200+
\n
Merged PRs
\n
\n
\n
\n
\n
\n
\n
Frogtoberfest had more participants from 2019 to this year, ensuring its\n continued\n success\n for the next decade.
\n
\n \n
\n\n
\n
\n

Leaps & Bonds

\n

Whether it's your first time or the umpteenth, join the conversation\n as we\n discuss all\n things\n open-source.\n We're bringing in professionals who will share their experiences and tips on contributing to Frogtoberfest.\n

\n\n
\n
\n
\n \"Leaps\n
\n
\n\n
\n
\n \"Leaps & Bonds\" />\n
\n
\n\n
\n
\n \"Leaps & Bonds\" />\n
\n
\n\n
\n
\n \"Leaps & Bonds\" />\n
\n
\n
\n
\n
\n\n
\n
\n
\n

SWAG for you

\n

Frogtoberfest SWAG is waiting for you! Like every Frog-toberfest, we're hopping back\n with\n exclusive merch and\n ribbiting perks for all your contributions

\n
    \n
  • Top 20 contributors receive exclusive Frogtoberfest SWAG.
  • \n
  • All eligible participants receive a digital certificate of participation.
  • \n
  • Get featured on Leapfrog's social media and newsletters
  • \n
\n
\n\n
\n
\n
\n \"SWAG\n
\n
\n\n
\n
\n \"SWAG\n
\n
\n\n
\n
\n \"SWAG\n
\n
\n\n
\n
\n \"SWAG\n
\n
\n
\n
\n
\n\n
\n
\n

FAQs

\n\n
\n\n
\n
\n \n What is the purpose of Frogtoberfest?\n \n \n
\n

\n Foster the open source contribution culture.\n

\n
\n
\n
\n \n Can a beginner participate in Frogtoberfest?\n \n \n
\n

\n Yes, we encourage freshers as well as experts to participate in Frogtoberfest.\n

\n
\n
\n
\n \n Are there any particular programming languages that are preferred?\n \n \n
\n

\n Feel free to use any programming language of your choice.\n

\n
\n
\n
\n \n What kind of projects can I work on during the Frogtoberfest?\n \n \n
\n

\n You have the flexibility to work on a wide range of projects. PRs can be made to any public repository on GitHub, allowing you to contribute to various open-source initiatives, from software development and documentation improvements to bug fixes and feature enhancements. Choose projects that align with your interests, skills, and goals to make a meaningful impact in the open-source community.\n

\n
\n
\n
\n \n How do I participate in the Frogtoberfest?\n \n \n
\n

\n You have to fill up the registration form to be a verified participant for this challenge. In case you’ve not filled the form, you will not be included in the official leaderboard. As such, you will not be eligible for the SWAG even if you pass the given criteria.

\n
\n\n
\n
\n \n How can I see my progress?\n \n \n
\n

\n Check the leaderboard for your progress and top contributors. It can be accessed via official Frogtoberfest website.\n

\n
\n
\n
\n \n Do I only have to contribute to the company's open-source projects or can I contribute in other projects too?\n\n \n \n
\n

\n Any contribution is accepted as long as they’re valid and pass the criteria.\n

\n
\n
\n
\n \n What are the judging criteria for the Frogtoberfest?\n \n \n
\n

\n The judging criteria for Frogtober are primarily based on active contributions to the event.\n

    \n
  1. Create 8 pull requests on GitHub between October 1 and October 31, 2024
  2. \n
  3. At least 5 pull requests should be in repositories not owned by you
  4. \n
  5. Ensure all PRs are valid.
  6. \n
\n\n Note: The top 20 contributors who fulfill these requirements will become eligible to receive the coveted Frogtoberfest SWAG as a token of recognition for their valuable contributions.\n

\n
\n
\n
\n \n How do I win Frogtoberfest merch?\n \n \n
\n

\n The top 20 contributors in the leaderboard who fulfill the criteria will become eligible to receive the coveted Frogtoberfest SWAG as a token of recognition for their valuable contributions.\n

\n
\n
\n
\n \n Will my contributions to Hacktoberfest also count as Frogtoberfest contributions?\n \n \n
\n

\n Yes!\n

\n
\n
\n
\n \n When and how I can attend this fest?\n \n \n
\n

\n Frogtoberfest challenge starts every year on October 1 and end on October 31.

\n
\n
\n
\n
\n
\n\n \n\n
\n
\n );\n};\n\nexport default Home;\n","import React from 'react';\n\n// import frogtoberfestLogo from 'assets/images/frogtoberfest2022-logo.png';\n// import leapfrogOpenSourceLogo from 'assets/images/leapfrog-opensource-logo.png';\nimport Img1 from 'assets/images/logo-2024.png';\n\nconst SiteTitle = () => (\n
\n {/*
*/}\n
\n \"Leapfrog\n
\n {/*
*/}\n
\n);\n\nexport default SiteTitle;\n","export const GITHUB_TOKEN = process.env.REACT_APP_GITHUB_TOKEN;\nexport const HOSTNAME = process.env.REACT_APP_HOSTNAME;\nexport const TOTAL_PR_COUNT = 8;\nexport const TOTAL_OTHER_PR_COUNT = 5;\nexport const GITHUB_ORG_NAME = 'leapfrogtechnology';\nexport const LF_CAREER_URL = 'https://www.lftechnology.com/careers/';\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst UsernameInput = ({ value, onChange }) => (\n \n);\n\nUsernameInput.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func\n};\n\nexport default UsernameInput;\n","import React from 'react';\n\nconst CheckButton = () => (\n \n Check\n \n);\n\nexport default CheckButton;\n","import React, { Component } from 'react';\nimport withRouter from 'react-router-dom/withRouter';\nimport PropTypes from 'prop-types';\n\nimport { TOTAL_PR_COUNT, TOTAL_OTHER_PR_COUNT } from 'config';\nimport UsernameInput from './UsernameInput';\nimport CheckButton from './CheckButton';\n\n/**\n * Username form component.\n */\nclass UsernameForm extends Component {\n static propTypes = {\n username: PropTypes.string,\n totalPrCount: PropTypes.number,\n totalOtherPrCount: PropTypes.number,\n // Provided by withRouter()\n history: PropTypes.shape({\n push: PropTypes.func.isRequired\n }).isRequired\n };\n\n static defaultProps = {\n username: '',\n totalPrCount: 0,\n totalOtherPrCount: 0\n };\n\n state = {\n username: this.props.username\n };\n\n /**\n * Event handler for username change.\n *\n * @param {*} e\n */\n handleUsernameChange = e => {\n this.setState({ username: e.target.value });\n };\n\n /**\n * Event handler for form submission.\n *\n * @param {*} e\n */\n handleSubmit = e => {\n e.preventDefault();\n\n const username = this.state.username.trim();\n\n if (username.length === 0) {\n return;\n }\n const userUrl = this.getUserUrl(username);\n\n this.props.history.push(userUrl);\n };\n\n /**\n * Get URL for the user by username.\n *\n * TODO: Extract this out of the component as a util function.\n *\n * @param {string} username\n */\n getUserUrl = username => {\n return `/user/${username}`;\n };\n\n /**\n * Check the condition for eligibility.\n *\n * @param {*} totalPrCount\n * @param {*} totalOtherPrCount\n * @returns {boolean}\n */\n checkEligibility(totalPrCount, totalOtherPrCount) {\n if (totalPrCount < TOTAL_PR_COUNT) {\n return false;\n }\n\n return totalOtherPrCount >= TOTAL_OTHER_PR_COUNT;\n }\n\n render = () => {\n // const isComplete = this.checkEligibility(this.props.totalPrCount, this.props.totalOtherPrCount);\n\n return (\n
\n {/* {isComplete ? : } */}\n\n \n
\n \n \n
\n \n
\n );\n };\n}\n\nexport default withRouter(UsernameForm);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { HOSTNAME, TOTAL_PR_COUNT } from 'config';\n\nconst ShareButtons = ({ username, pullRequestCount }) => {\n const TWITTER_LINK = `https://twitter.com/intent/tweet?text=My progress on frogtoberfest ${pullRequestCount} / ${TOTAL_PR_COUNT}&url=${HOSTNAME}/user/${username}&hashtags=frogtoberfest, frogtoberfest`\n const FACEBOOK_LINK = `https://www.facebook.com/sharer/sharer.php?u=${HOSTNAME}/user/${username}`\n return (\n
\n
\n \n Twitter\n \n
\n \n \n Facebook\n \n
\n \n )\n};\n\nShareButtons.propTypes = {\n username: PropTypes.string.isRequired,\n pullRequestCount: PropTypes.number.isRequired\n};\n\nexport default ShareButtons;\n","import React from 'react';\nimport loadingIcon from './loading-icon.gif';\n\nconst LoadingIcon = () => (\n
\n \"Loading\n
\n);\n\nexport default LoadingIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst MergeStatus = ({ open, merged }) => (\n
\n {open && (\n \n \n \n )}\n {merged && (\n \n \n \n )}\n {!open && !merged && (\n \n \n \n )}\n
\n);\n\nMergeStatus.propTypes = {\n open: PropTypes.bool.isRequired,\n merged: PropTypes.bool.isRequired\n};\n\nexport default MergeStatus;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { formatDate } from 'utils/date';\n\nconst PullRequestInfo = ({ pullRequest }) => (\n
\n
\n \n {pullRequest.user.login}\n {' '}\n submitted a pull request{' '}\n \n {pullRequest.repository_url.split('repos/')[1]}#{pullRequest.number}\n \n
\n
\n {pullRequest.title} on {formatDate(pullRequest.created_at)}\n
\n
\n);\n\n// TODO: Convert to camelCase and enable camelcase rule.\nPullRequestInfo.propTypes = {\n pullRequest: PropTypes.shape({\n number: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n html_url: PropTypes.string.isRequired, // eslint-disable-line camelcase\n repository_url: PropTypes.string.isRequired, // eslint-disable-line camelcase\n created_at: PropTypes.string.isRequired, // eslint-disable-line camelcase\n user: PropTypes.shape({\n login: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n html_url: PropTypes.string.isRequired // eslint-disable-line camelcase\n }).isRequired\n })\n};\n\nexport default PullRequestInfo;\n","/**\n * Returns formatted date eg July 28, 1993.\n *\n * @param {string} dateTime\n * @returns {string}\n */\nexport function formatDate(dateTime) {\n const date = new Date(dateTime);\n const options = { year: 'numeric', month: 'long', day: 'numeric' };\n\n return date.toLocaleDateString('en-US', options);\n}\n\n/**\n * Returns current year if month is greater than october else previous year.\n *\n * @returns {number}\n */\nexport function getYear() {\n const today = new Date();\n const currentMonth = today.getMonth();\n let year = today.getFullYear();\n\n if (currentMonth < 9) {\n year -= 1;\n }\n\n return year;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport MergeStatus from './MergeStatus';\nimport PullRequestInfo from './PullRequestInfo';\n\nconst ISSUE_STATUS = {\n ALL: 'all',\n OPEN: 'open',\n CLOSED: 'closed'\n};\n\nconst PullRequest = ({ pullRequest }) => (\n
\n \n \n
\n);\n\n// TODO: Convert to camelCase and enable camelcase rule.\nPullRequest.propTypes = {\n pullRequest: PropTypes.shape({\n number: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n created_at: PropTypes.string.isRequired, // eslint-disable-line camelcase\n state: PropTypes.string.isRequired,\n user: PropTypes.shape({\n login: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired\n }).isRequired\n }).isRequired\n};\n\nexport default PullRequest;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst ErrorText = ({ errorMessage }) => (\n

\n {errorMessage}\n

\n);\n\nErrorText.propTypes = {\n errorMessage: PropTypes.node\n};\n\nErrorText.defaultProps = {\n errorMessage: \"Couldn't find any data or we hit an error, try again?\"\n};\n\nconst errorTextStyle = {\n color: '#C0392B'\n};\n\nexport default ErrorText;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PullRequestCount = ({ pullRequestCount, pullRequestAmount }) => (\n \n {pullRequestCount}/{pullRequestAmount}\n \n);\n\nPullRequestCount.propTypes = {\n pullRequestCount: PropTypes.number.isRequired,\n pullRequestAmount: PropTypes.number.isRequired\n};\n\nexport default PullRequestCount;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst ResultMessage = ({ message }) =>

{message}

;\n\nResultMessage.propTypes = {\n message: PropTypes.string.isRequired\n};\n\nexport default ResultMessage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst UserImage = ({ userImage, username }) => (\n \n \n \n);\n\nUserImage.propTypes = {\n username: PropTypes.string.isRequired,\n userImage: PropTypes.string.isRequired\n};\n\nexport default UserImage;\n","import { TOTAL_PR_COUNT, TOTAL_OTHER_PR_COUNT } from 'config';\n\nexport const messages = [\n \"It's not too late to start!\",\n 'Off to a great start, keep going!',\n 'Keep going!',\n 'Keep it up!',\n \"Half way there, don't stop now!\",\n 'You are right on track!',\n \"Can't stop now!\",\n 'Going great, just a few more to go!',\n 'Almost there, go go go!',\n 'Way to go!',\n \"Now you're just showing off!\"\n];\n\nconst MONTH_OCTOBER = 9;\n\n/**\n * Get motivational message based on pull requests count.\n *\n * @param {number} pullRequestCount\n * @param {number} otherReposCount\n * @returns {string}\n */\nfunction getMessage(pullRequestCount, otherReposCount) {\n if (!Number.isInteger(pullRequestCount) || !Number.isInteger(otherReposCount) || pullRequestCount < 0) {\n throw new Error('Parameters pullRequestCount and otherReposCount should be integers.');\n }\n\n const currentMonth = new Date().getMonth();\n\n if (currentMonth < MONTH_OCTOBER) {\n return \"Last year's result.\";\n }\n\n if (currentMonth > MONTH_OCTOBER) {\n return \"This year's result.\";\n }\n\n const isShowingOff = pullRequestCount > TOTAL_PR_COUNT && otherReposCount > TOTAL_OTHER_PR_COUNT;\n\n if (isShowingOff) {\n return messages[messages.length - 1];\n }\n\n return messages[pullRequestCount];\n}\n\nexport default getMessage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport getMessage from './getMessage';\n\nconst MotivationalMessage = ({ pullRequestCount, otherReposCount }) => {\n let message;\n\n try {\n message = getMessage(pullRequestCount, otherReposCount);\n } catch (err) {\n message = 'An error occured.';\n }\n\n return

{message}

;\n};\n\nMotivationalMessage.propTypes = {\n pullRequestCount: PropTypes.number,\n otherReposCount: PropTypes.number\n};\n\nexport default MotivationalMessage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { TOTAL_PR_COUNT, TOTAL_OTHER_PR_COUNT } from 'config';\nimport PullRequestCount from './PullRequestCount';\nimport ResultMessage from './ResultMessage';\nimport UserImage from './UserImage';\nimport MotivationalMessage from './MotivationalMessage';\n\nconst UserInfo = ({ username, userImage, pullRequestCount, otherReposCount }) => (\n
\n
{userImage && }
\n
\n \n
\n
\n = TOTAL_PR_COUNT ? completeMark : incompleteMark}\n >\n \n \n
\n = TOTAL_OTHER_PR_COUNT ? completeMark : incompleteMark}\n >\n \n \n
\n \n \n);\n\nconst incompleteMark = {\n color: '#133370'\n};\n\nconst completeMark = {\n color: 'green'\n};\n\nUserInfo.propTypes = {\n username: PropTypes.string.isRequired,\n userImage: PropTypes.string.isRequired,\n pullRequestCount: PropTypes.number.isRequired,\n otherReposCount: PropTypes.number.isRequired\n};\n\nUserInfo.defaultProps = {\n pullRequestCount: 0,\n otherReposCount: 0\n};\n\nexport default UserInfo;\n","import { getYear } from 'utils/date';\nimport { GITHUB_ORG_NAME } from 'config';\n\n/**\n * Fetch and return responses from Github apis.\n *\n * @param {*} url\n * @param {*} githubToken\n * @returns {Promise}\n */\nexport function fetchInfoFromGitHub(url, githubToken) {\n const response = fetch(url, {\n headers: {\n Authorization: `token ${githubToken}`\n }\n })\n .then(response => response)\n .catch(error => error);\n\n return response;\n}\n\n/**\n * Returns array of api url.\n *\n * @param {string} username\n * @returns {Array}\n */\nexport function getApiUrls(username) {\n const queryYear = getYear();\n\n return [\n `https://api.github.com/search/issues?q=author:${username}+is:pr+created:${queryYear}-09-30T18:15:00..${queryYear}-11-07T18:15:00`,\n `https://api.github.com/search/users?q=user:${username}`,\n `https://api.github.com/orgs/${GITHUB_ORG_NAME}/members/${username}`\n ];\n}\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport ShareButtons from './ShareButtons';\nimport LoadingIcon from './LoadingIcon';\nimport PullRequest from './PullRequest';\nimport ErrorText from './ErrorText';\nimport UserInfo from './UserInfo';\nimport { fetchInfoFromGitHub, getApiUrls } from 'services/index';\nimport { GITHUB_TOKEN, TOTAL_PR_COUNT, TOTAL_OTHER_PR_COUNT, LF_CAREER_URL } from 'config';\n\n/**\n * Returns an object containing user info.\n *\n * @param {string} username\n * @returns {*}\n */\nexport async function fetchUserInfo(username) {\n const apiUrls = getApiUrls(username);\n\n const results = apiUrls.map(url => fetchInfoFromGitHub(url, GITHUB_TOKEN));\n let [data, userDetail, membershipStatus] = await Promise.all(results);\n\n [data, userDetail, membershipStatus] = [await data.json(), await userDetail.json(), membershipStatus.ok];\n\n return { data, userDetail, membershipStatus };\n}\n\n/**\n * Pull Requests component.\n */\nclass PullRequests extends Component {\n static defaultProps = {\n username: PropTypes.string.isRequired\n };\n\n state = {\n loading: true,\n data: null,\n error: null,\n userDetail: null,\n otherReposCount: null\n };\n\n componentDidMount = () => {\n this.storeUsernameAsMe();\n this.fetchPullRequests();\n };\n\n /**\n * Lifecycle event for component update.\n *\n * @param {*} prevProps\n */\n componentDidUpdate = prevProps => {\n if (prevProps.username === this.props.username) {\n return;\n }\n this.fetchPullRequests();\n };\n\n /**\n * Persist username in the local storage.\n */\n storeUsernameAsMe = () => {\n const username = this.props.username;\n\n if (localStorage.getItem('myGithub')) {\n return;\n }\n\n localStorage.setItem('myGithub', username);\n };\n\n /**\n * Fetch pull requests.\n *\n * @returns {Promise}\n */\n fetchPullRequests = async () => {\n try {\n const username = this.props.username;\n const userInfo = await fetchUserInfo(username);\n\n this.displayPullRequests(userInfo);\n } catch (error) {\n this.setState({\n error,\n loading: false,\n data: null,\n userDetail: null,\n isOrgMember: true\n });\n }\n };\n\n /**\n * Displays general error message.\n *\n * @returns {node}\n */\n getErrorMessage = () => {\n const { data, error } = this.state;\n\n if (error && error.description) {\n return <> error.error_description;\n }\n\n if (data && data.errors) {\n return <> data.errors.message;\n }\n\n return <> Couldn't find any data or we hit an error, try again?;\n };\n\n /**\n * Displays Error if User is not a member of organization.\n *\n * @returns {node}\n */\n getNotAMemberMessage = () => {\n return (\n <>\n You are not a member of Leapfrog Technology. However, you can join our{' '}\n \n awesome team\n \n . 😉\n \n );\n };\n\n /**\n * Check the condition for eligibility.\n *\n * @param {*} data\n * @returns {boolean}\n */\n conditionChecker(data) {\n if (data.items.length < TOTAL_PR_COUNT) {\n return false;\n }\n\n return this.state.otherReposCount >= TOTAL_OTHER_PR_COUNT;\n }\n\n /**\n * Count other repositories.\n *\n * @param {*} data\n * @param {*} userDetail\n * @returns {number}\n */\n countOtherRepos(data, userDetail) {\n const user = userDetail.items[0].login;\n let count = 0;\n\n data.items.forEach(pullRequest => {\n const repoOwner = pullRequest.repository_url\n .split('/repos/')\n .pop()\n .split('/')\n .shift();\n\n if (repoOwner !== user) {\n count++;\n }\n });\n\n return count;\n }\n\n /**\n * Change state to list PRs.\n *\n * @param {*} userInfo\n */\n displayPullRequests = userInfo => {\n const { data, userDetail } = userInfo;\n const validData = this.getValidPullRequests(data);\n const otherReposCount = this.countOtherRepos(validData, userDetail);\n\n this.props.setUserContributionCount(validData.items.length, otherReposCount);\n\n this.setState({\n data: validData,\n userDetail,\n loading: false,\n otherReposCount,\n error: null,\n isOrgMember: true\n });\n };\n\n /**\n * Validates and returns an object containing valid pull requests.\n *\n * @param {*} data\n * @returns {*}\n */\n getValidPullRequests(data) {\n const validPullRequests = data.items.filter(pr => {\n const hasInvalidLabel = ({ name }) => name.toLowerCase() === 'invalid';\n const isPullRequestValid = pr.labels.filter(hasInvalidLabel).length === 0;\n\n return isPullRequestValid;\n });\n\n return { ...data, total_count: validPullRequests.length, items: validPullRequests }; // eslint-disable-line camelcase\n }\n\n /**\n * Shows up NotAMember message for non leapfroggers.\n */\n showNotAMemberMessage = () => {\n this.setState({\n isOrgMember: false,\n loading: false,\n data: null,\n userDetail: null\n });\n };\n\n /**\n * Render the component.\n */\n render = () => {\n const username = this.props.username;\n const { loading, data, error, userDetail, isOrgMember } = this.state;\n\n if (loading) {\n return ;\n }\n\n if (!isOrgMember) {\n return ;\n }\n\n if (error || data.errors || data.message) {\n return ;\n }\n\n // const isComplete = this.conditionChecker(data, userDetail);\n\n return (\n \n
\n\n
\n \n \n
\n
\n {data.items.length > 0 &&\n data.items.map((pullRequest, i) => )}\n
\n
\n {/* {!isComplete && } */}\n {/* */}\n
\n );\n };\n}\n\nPullRequests.propTypes = {\n username: PropTypes.string,\n setUserContributionCount: PropTypes.func.isRequired\n};\n\nexport default PullRequests;\n","import React, { Fragment, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport SiteTitle from 'components/SiteTitle';\nimport UsernameForm from 'components/UsernameForm';\nimport PullRequests from './components/PullRequests';\nimport SiteHeader from 'components/SiteHeader';\n\n/**\n * User Component.\n */\nexport class User extends Component {\n state = {\n totalPrCount: 0,\n totalOtherPrCount: 0\n };\n\n /**\n * Set user contribution count of pull requests and other pull request count.\n *\n * @param {*} totalPrCount\n * @param {*} totalOtherPrCount\n */\n setUserContributionCount = (totalPrCount, totalOtherPrCount) => {\n if ((totalPrCount || totalPrCount === 0) && (totalOtherPrCount || totalOtherPrCount === 0)) {\n this.setState({\n totalPrCount,\n totalOtherPrCount\n });\n }\n };\n\n /**\n * Render method for User Component.\n *\n * @returns React.Element.\n */\n render() {\n const {\n match: {\n params: { username }\n }\n } = this.props;\n\n return (\n \n \n
\n Frogtoberfest\n \n \n
\n
\n );\n }\n}\n\nUser.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n username: PropTypes.string.isRequired\n }).isRequired\n }).isRequired\n};\n\nexport default User;\n","import React from 'react';\n\nconst checklistItems = [\n 'Create 8 pull requests (PRs) between Oct 1 to Oct 31, 2024.',\n 'At least 5 PRs should be in repositories not owned by you.',\n 'PRs can be made to any public repository on GitHub.',\n 'PRs should not be labeled as `invalid`.'\n];\n\n/**\n * Component to show details about Frogtoberfest in the homepage.\n */\nconst SiteDetails = () => (\n
\n
\n
\n
\n

\n Frogtoberfest is a spin-off of Hacktoberfest; a month-long Open Source contribution challenge for open\n source enthusiast.\n

\n
\n
    \n {checklistItems.map((item, index) => (\n
  • \n
    \n
    \n {item}\n
  • \n ))}\n
\n
\n
\n
\n);\n\nexport default SiteDetails;\n","import React, { Fragment } from 'react';\n\nimport SiteTitle from 'components/SiteTitle';\nimport SiteDetails from 'components/SiteDetails';\nimport UsernameForm from 'components/UsernameForm';\nimport SiteHeader from 'components/SiteHeader';\n\nconst Checker = () => (\n \n \n
\n Frogtoberfest\n
\n

Stay tuned for Frogtoberfest 2024 !!

\n
\n \n \n
\n\n\n
\n);\n\nexport default Checker;\n","import React from 'react';\nimport Redirect from 'react-router-dom/Redirect';\n\nconst Me = () => {\n const username = localStorage.getItem('myGithub');\n\n if (!username) {\n return ;\n }\n\n return ;\n};\n\nexport default Me;\n","import React, { Fragment } from 'react';\nimport { Helmet } from 'react-helmet';\n\nconst NotFound = () => (\n \n \n Page not found\n \n

Oops!

\n

The page you are looking for does not exist.

\n

\n \n Return to homepage\n \n

\n
\n);\n\nexport default NotFound;\n","import React, { Fragment } from 'react';\nimport SiteHeader from 'components/SiteHeader';\n\nconst Guidelines = () => (\n \n \n
\n

Frogtoberfest Participation Guidelines

\n
\n
\n

\n Frogtoberfest is dedicated to fostering high-quality contributions to Open Source projects.\n

\n

\n Our mission is to inspire the Nepali community to get involved in Open Source and work together to improve\n projects that power our modern digital landscape.\n

\n

\n With that in mind, we have prepared a few guidelines to ensure meaningful participation and contributions\n throughout Frogtoberfest.\n

\n
\n
\n

\n \n 🔧\n \n Meaningful code changes\n

\n

\n Contributions should focus on meaningful code changes, such as bug fixes, new features, or improvements,\n rather than superficial alterations or cosmetic modifications.\n

\n
\n
\n

\n \n 📚\n \n Documentation enhancements\n

\n

\n Encourage participants to contribute to project documentation, including updates, corrections, or\n clarifications, to improve the overall quality and usability of the project.\n

\n
\n
\n

\n \n 🔍\n \n Issue tracking\n

\n

\n Participants should prioritize issues or tasks listed in the project's issue tracker. This ensures alignment\n with project priorities and helps address existing challenges.\n

\n
\n
\n

\n \n 💡\n \n Value-added contributions\n

\n

\n Stress the importance of making contributions that provide clear value to the open-source project and its\n users. Ask participants to consider how their contributions benefit the community.\n

\n
\n
\n

\n \n 🌟\n \n Quality over quantity\n

\n

\n The emphasis on quality has resulted in participants submitting fewer, but more substantial, PRs. This\n approach ensures that contributions are valuable to the open-source community.\n

\n
\n
\n

\n \n 👁️‍🗨️\n \n Code review process\n

\n

\n The code review process will be conducted after the event's completion to maintain the quality of\n contributions.\n

\n

\n Experienced reviewers will provide valuable feedback, enhancing the overall quality of PRs. The rejection of\n low-quality PRs will reinforce the importance of quality contributions, and participants will become more\n conscious of submitting meaningful changes.\n

\n
\n
\n

\n This approach ensures that the final report for Frogtoberfest reflects the true value of\n contributions, as only high-quality PRs that meet the established guidelines will be counted towards\n participants' achievements.\n

\n

\n Happy contributing!\n \n 🐸\n \n

\n

\n As Frogtoberfest continues, we remain dedicated to these principles, ensuring that\n participants continue to make valuable contributions that benefit the open-source community. These\n guidelines will continue to serve as a cornerstone for promoting high-quality contributions and fostering a\n thriving open-source ecosystem.\n

\n
\n
\n
\n
\n);\n\nexport default Guidelines;\n","import React, { Fragment } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom';\nimport PageWrapper from './components/PageWrapper';\nimport Home from './pages/Home';\nimport User from './pages/User';\nimport Checker from './pages/Checker';\nimport Me from './pages/Me';\nimport NotFound from './pages/NotFound';\nimport Guidelines from './pages/Guidelines';\n\nconst App = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport './tailwind.css';\nimport './assets/scss/style.scss';\n\nReactDOM.render(, document.querySelector('#root'));\n"],"sourceRoot":""}