{"version":3,"sources":["images sync /^/.//.*$","images/AbitaBrewingCoTurbodog.jpg","images/AnchorageBrewingLoveBuzz.jpg","images/ArrogantBrewingArrogantBastardAle.jpg","images/AveryBrewingWhiteRascal.jpeg","images/BallastPointCalmBeforeTheStorm.jpg","images/BallastPointPineappleSculpin.png","images/BallastPointVictoryAtSea.jpeg","images/BellsBreweryWinterWhiteAle.jpg","images/BellsSmitten.jpg","images/BellsTwoHeartedAle.jpg","images/BlueMoonFarmhouseRedAle.jpg","images/BohemiaClasica.jpg","images/BoulevardNoblePilsner.png","images/BoulevardTank7.gif","images/BreckenridgeVanillaPorter.jpeg","images/BuffaloBillsBreweryOrangeBlossomCreamAle.jpg","images/CathedralSquareBelgianAbbeyAle.png","images/CrownValleyGunslinger.png","images/DeadGuyAleRogue.jpg","images/DeschutesPacificWonderland.png","images/FoundersBreweryMosaicPromise.jpg","images/FoundersBrewingCompanyBackwoodsBastard.jpg","images/GriffinBreweryLondonPride.jpg","images/Grolsch.jpg","images/KonaBrewingCoBigWaveGoldenAle.jpg","images/KriekLambicBelgianCherry.png","images/LagunitasLittleSumpinSumpin.png","images/LeftHandBrewingCoBlackJackPorter.jpg","images/LeftHandBrewingCoBraveheartNitro.png","images/LuckyDrinkCoLuckyBuddha.jpg","images/MothersBrewCoImperialGrind.png","images/MothersBrewCoLooptyLoop.jpg","images/NebraskaBrewingCoBrunette.jpg","images/NewBelgium1554BlackLager.png","images/NewBelgiumAccumulation.png","images/NewBelgiumPumpkick.png","images/NewBelgiumVoodooRanger.png","images/NewBelgiumWhizbang.png","images/NorthCoastBrewingCoOldRasputinRussialImperialStout.png","images/OmmegangFleurDeHoublon.jpg","images/PrairieArtisanAlesApeSnake.jpg","images/SierraNevadaNarwhal.jpg","images/StoneBrewingStoneCoffeeMilkStout.jpg","images/TallgrassBrewing8BitPaleAle.jpeg","images/TallgrassBrewingSongbirdSaison.jpg","images/TravelerBrewCoLemonShandy.jpeg","images/TsingtaoBreweryTsingtao.jpg","images/TwoBrothersEbelsWeiss.jpg","images/UnibroueLaFinDuMonde.png","images/UrbanChestnutBrewingCompanyApotheosis.JPG","images/UrbanChestnutFantasyland.jpg","images/UrbanChestnutSchnickelfritz.png","images/UrbanChestnutZwickel.jpg","images/WorldBrewsDieselPunkIPA.jpg","images/Yuengling BreweryYuenglingLager.jpg","images/beer-solid.svg","images/pubBg.jpg","images/pubScene.jpg","images/pubScene2.jpg","components/SideNav.js","components/Layout.js","components/Home.js","components/Members.js","components/Ratings.js","components/NewRating.js","components/AddOrUpdateReviews.js","App.js","registerServiceWorker.js","index.js"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","SideNav","props","state","navLogoText","homeNavText","ratingsNavText","membersNavText","selectedTheme","toggleTheme","bind","this","document","documentElement","style","setProperty","setState","className","to","data-icon","xmlns","viewBox","fill","d","onClick","Component","Layout","children","displayName","name","Home","pageHeader","activeMembers","currentBrewmasterId","fetch","then","res","json","filter","m","isActive","find","opts","option","opt","numVal","key","memberId","aka","Members","members","sort","a","b","firstName","lastName","Ratings","ratings","filteredRatings","onRatingsSearchChange","filteredList","target","value","r","brewName","toString","toLowerCase","includes","brewCompany","reviews","rev","ratingId","comment","length","text","inputText","getElementById","innerHTML","index","indexOf","substring","htmlFor","type","onChange","r1","r2","reviewDate","Media","left","imgUri","object","src","require","alt","display","fontSize","textAlign","verticalAlign","width","middle","averageScore","body","list","score","member","dangerouslySetInnerHTML","__html","NewRating","useState","undefined","abv","newRating","setNewRating","useParams","history","useHistory","setMembers","isEdit","setIsEdit","useEffect","Date","toJSON","slice","member1","member2","onSubmit","preventDefault","console","log","postUrl","requestOptions","method","headers","JSON","stringify","push","postRating","hidden","for","readOnly","step","parseFloat","parseInt","color","AddOrUpdateReviews","newReviews","setNewReviews","reviewId","App","exact","path","component","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","catch","error","baseUrl","getElementsByTagName","getAttribute","rootElement","ReactDOM","render","basename","URL","process","origin","addEventListener","response","status","get","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"kPAAA,IAAIA,EAAM,CACT,+BAAgC,GAChC,iCAAkC,GAClC,0CAA2C,GAC3C,iCAAkC,GAClC,uCAAwC,GACxC,qCAAsC,GACtC,kCAAmC,GACnC,mCAAoC,GACpC,qBAAsB,GACtB,2BAA4B,GAC5B,gCAAiC,GACjC,uBAAwB,GACxB,8BAA+B,GAC/B,uBAAwB,GACxB,mCAAoC,GACpC,iDAAkD,GAClD,uCAAwC,GACxC,8BAA+B,GAC/B,wBAAyB,GACzB,mCAAoC,GACpC,qCAAsC,GACtC,+CAAgD,GAChD,kCAAmC,GACnC,gBAAiB,GACjB,sCAAuC,GACvC,iCAAkC,GAClC,oCAAqC,GACrC,yCAA0C,GAC1C,yCAA0C,GAC1C,gCAAiC,GACjC,mCAAoC,GACpC,gCAAiC,GACjC,kCAAmC,GACnC,iCAAkC,GAClC,+BAAgC,GAChC,2BAA4B,GAC5B,+BAAgC,GAChC,2BAA4B,GAC5B,2DAA4D,GAC5D,+BAAgC,GAChC,mCAAoC,GACpC,4BAA6B,GAC7B,yCAA0C,GAC1C,qCAAsC,GACtC,uCAAwC,GACxC,mCAAoC,GACpC,gCAAiC,IACjC,8BAA+B,IAC/B,6BAA8B,IAC9B,8CAA+C,IAC/C,iCAAkC,IAClC,oCAAqC,IACrC,6BAA8B,IAC9B,gCAAiC,IACjC,wCAAyC,IACzC,mBAAoB,IACpB,cAAe,IACf,iBAAkB,IAClB,kBAAmB,KAIpB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,IAEpBC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK,I,gBChFpBU,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,4D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,uD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,sE,gBCA3CD,EAAOC,QAAU,IAA0B,4D,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,oE,gBCA3CD,EAAOC,QAAU,IAA0B,uD,gBCA3CD,EAAOC,QAAU,IAA0B,qC,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,uD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,gF,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,4D,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,qD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","file":"static/js/main.8faf7e06.chunk.js","sourcesContent":["var map = {\n\t\"./AbitaBrewingCoTurbodog.jpg\": 54,\n\t\"./AnchorageBrewingLoveBuzz.jpg\": 55,\n\t\"./ArrogantBrewingArrogantBastardAle.jpg\": 56,\n\t\"./AveryBrewingWhiteRascal.jpeg\": 57,\n\t\"./BallastPointCalmBeforeTheStorm.jpg\": 58,\n\t\"./BallastPointPineappleSculpin.png\": 59,\n\t\"./BallastPointVictoryAtSea.jpeg\": 60,\n\t\"./BellsBreweryWinterWhiteAle.jpg\": 61,\n\t\"./BellsSmitten.jpg\": 62,\n\t\"./BellsTwoHeartedAle.jpg\": 63,\n\t\"./BlueMoonFarmhouseRedAle.jpg\": 64,\n\t\"./BohemiaClasica.jpg\": 65,\n\t\"./BoulevardNoblePilsner.png\": 66,\n\t\"./BoulevardTank7.gif\": 67,\n\t\"./BreckenridgeVanillaPorter.jpeg\": 68,\n\t\"./BuffaloBillsBreweryOrangeBlossomCreamAle.jpg\": 69,\n\t\"./CathedralSquareBelgianAbbeyAle.png\": 70,\n\t\"./CrownValleyGunslinger.png\": 71,\n\t\"./DeadGuyAleRogue.jpg\": 72,\n\t\"./DeschutesPacificWonderland.png\": 73,\n\t\"./FoundersBreweryMosaicPromise.jpg\": 74,\n\t\"./FoundersBrewingCompanyBackwoodsBastard.jpg\": 75,\n\t\"./GriffinBreweryLondonPride.jpg\": 76,\n\t\"./Grolsch.jpg\": 77,\n\t\"./KonaBrewingCoBigWaveGoldenAle.jpg\": 78,\n\t\"./KriekLambicBelgianCherry.png\": 79,\n\t\"./LagunitasLittleSumpinSumpin.png\": 80,\n\t\"./LeftHandBrewingCoBlackJackPorter.jpg\": 81,\n\t\"./LeftHandBrewingCoBraveheartNitro.png\": 82,\n\t\"./LuckyDrinkCoLuckyBuddha.jpg\": 83,\n\t\"./MothersBrewCoImperialGrind.png\": 84,\n\t\"./MothersBrewCoLooptyLoop.jpg\": 85,\n\t\"./NebraskaBrewingCoBrunette.jpg\": 86,\n\t\"./NewBelgium1554BlackLager.png\": 87,\n\t\"./NewBelgiumAccumulation.png\": 88,\n\t\"./NewBelgiumPumpkick.png\": 89,\n\t\"./NewBelgiumVoodooRanger.png\": 90,\n\t\"./NewBelgiumWhizbang.png\": 91,\n\t\"./NorthCoastBrewingCoOldRasputinRussialImperialStout.png\": 92,\n\t\"./OmmegangFleurDeHoublon.jpg\": 93,\n\t\"./PrairieArtisanAlesApeSnake.jpg\": 94,\n\t\"./SierraNevadaNarwhal.jpg\": 95,\n\t\"./StoneBrewingStoneCoffeeMilkStout.jpg\": 96,\n\t\"./TallgrassBrewing8BitPaleAle.jpeg\": 97,\n\t\"./TallgrassBrewingSongbirdSaison.jpg\": 98,\n\t\"./TravelerBrewCoLemonShandy.jpeg\": 99,\n\t\"./TsingtaoBreweryTsingtao.jpg\": 100,\n\t\"./TwoBrothersEbelsWeiss.jpg\": 101,\n\t\"./UnibroueLaFinDuMonde.png\": 102,\n\t\"./UrbanChestnutBrewingCompanyApotheosis.JPG\": 103,\n\t\"./UrbanChestnutFantasyland.jpg\": 104,\n\t\"./UrbanChestnutSchnickelfritz.png\": 105,\n\t\"./UrbanChestnutZwickel.jpg\": 106,\n\t\"./WorldBrewsDieselPunkIPA.jpg\": 107,\n\t\"./Yuengling BreweryYuenglingLager.jpg\": 108,\n\t\"./beer-solid.svg\": 109,\n\t\"./pubBg.jpg\": 110,\n\t\"./pubScene.jpg\": 111,\n\t\"./pubScene2.jpg\": 112\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 53;","module.exports = __webpack_public_path__ + \"static/media/AbitaBrewingCoTurbodog.4d4b4d8a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/AnchorageBrewingLoveBuzz.046d4151.jpg\";","module.exports = __webpack_public_path__ + \"static/media/ArrogantBrewingArrogantBastardAle.7b8d81bb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/AveryBrewingWhiteRascal.723af7cf.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/BallastPointCalmBeforeTheStorm.ad183a04.jpg\";","module.exports = __webpack_public_path__ + \"static/media/BallastPointPineappleSculpin.399200c0.png\";","module.exports = __webpack_public_path__ + \"static/media/BallastPointVictoryAtSea.4cb78d35.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/BellsBreweryWinterWhiteAle.75d8eaa3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/BellsSmitten.cae7a5f4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/BellsTwoHeartedAle.ea405961.jpg\";","module.exports = __webpack_public_path__ + \"static/media/BlueMoonFarmhouseRedAle.768b0850.jpg\";","module.exports = __webpack_public_path__ + \"static/media/BohemiaClasica.81abddb3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/BoulevardNoblePilsner.5ce8ab88.png\";","module.exports = __webpack_public_path__ + \"static/media/BoulevardTank7.2eda0165.gif\";","module.exports = __webpack_public_path__ + \"static/media/BreckenridgeVanillaPorter.233281b5.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/BuffaloBillsBreweryOrangeBlossomCreamAle.7134a837.jpg\";","module.exports = __webpack_public_path__ + \"static/media/CathedralSquareBelgianAbbeyAle.3d459ca3.png\";","module.exports = __webpack_public_path__ + \"static/media/CrownValleyGunslinger.86028dfd.png\";","module.exports = __webpack_public_path__ + \"static/media/DeadGuyAleRogue.34c41be5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/DeschutesPacificWonderland.3b27719f.png\";","module.exports = __webpack_public_path__ + \"static/media/FoundersBreweryMosaicPromise.6e1ac751.jpg\";","module.exports = __webpack_public_path__ + \"static/media/FoundersBrewingCompanyBackwoodsBastard.6ba6436d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/GriffinBreweryLondonPride.808ba92f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Grolsch.f65464a9.jpg\";","module.exports = __webpack_public_path__ + \"static/media/KonaBrewingCoBigWaveGoldenAle.b21582e1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/KriekLambicBelgianCherry.853674b4.png\";","module.exports = __webpack_public_path__ + \"static/media/LagunitasLittleSumpinSumpin.b906aea9.png\";","module.exports = __webpack_public_path__ + \"static/media/LeftHandBrewingCoBlackJackPorter.0e0bcc2a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/LeftHandBrewingCoBraveheartNitro.0a639209.png\";","module.exports = __webpack_public_path__ + \"static/media/LuckyDrinkCoLuckyBuddha.39a05f0c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/MothersBrewCoImperialGrind.196b8bea.png\";","module.exports = __webpack_public_path__ + \"static/media/MothersBrewCoLooptyLoop.110cd510.jpg\";","module.exports = __webpack_public_path__ + \"static/media/NebraskaBrewingCoBrunette.2ef68c8a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/NewBelgium1554BlackLager.ca91264c.png\";","module.exports = __webpack_public_path__ + \"static/media/NewBelgiumAccumulation.f91a875f.png\";","module.exports = __webpack_public_path__ + \"static/media/NewBelgiumPumpkick.5aa67e9b.png\";","module.exports = __webpack_public_path__ + \"static/media/NewBelgiumVoodooRanger.a18fb719.png\";","module.exports = __webpack_public_path__ + \"static/media/NewBelgiumWhizbang.4eafe9a1.png\";","module.exports = __webpack_public_path__ + \"static/media/NorthCoastBrewingCoOldRasputinRussialImperialStout.685b2918.png\";","module.exports = __webpack_public_path__ + \"static/media/OmmegangFleurDeHoublon.ff3db70c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/PrairieArtisanAlesApeSnake.bd653296.jpg\";","module.exports = __webpack_public_path__ + \"static/media/SierraNevadaNarwhal.7141b997.jpg\";","module.exports = __webpack_public_path__ + \"static/media/StoneBrewingStoneCoffeeMilkStout.185b87f4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/TallgrassBrewing8BitPaleAle.dc9e0af8.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/TallgrassBrewingSongbirdSaison.4d44fc23.jpg\";","module.exports = __webpack_public_path__ + \"static/media/TravelerBrewCoLemonShandy.2baeba10.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/TsingtaoBreweryTsingtao.57da77b7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/TwoBrothersEbelsWeiss.f89eb258.jpg\";","module.exports = __webpack_public_path__ + \"static/media/UnibroueLaFinDuMonde.397a3a2a.png\";","module.exports = __webpack_public_path__ + \"static/media/UrbanChestnutBrewingCompanyApotheosis.4ec4c6b1.JPG\";","module.exports = __webpack_public_path__ + \"static/media/UrbanChestnutFantasyland.d9e15f22.jpg\";","module.exports = __webpack_public_path__ + \"static/media/UrbanChestnutSchnickelfritz.d45b868f.png\";","module.exports = __webpack_public_path__ + \"static/media/UrbanChestnutZwickel.fcbf14f3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/WorldBrewsDieselPunkIPA.92b97314.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Yuengling BreweryYuenglingLager.b496f0c4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/beer-solid.af230c2c.svg\";","module.exports = __webpack_public_path__ + \"static/media/pubBg.64396e2e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/pubScene.9a2a8b1f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/pubScene2.9b8f2501.jpg\";","import '../styles/sideNav.css';\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport class SideNav extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n navLogoText: \"D&D Beer Club\",\r\n homeNavText: \"Home\",\r\n ratingsNavText: \"Ratings\",\r\n membersNavText: \"Members\",\r\n selectedTheme: \"dark\"\r\n }\r\n\r\n this.toggleTheme = this.toggleTheme.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n toggleTheme() {\r\n if (this.state.selectedTheme === \"dark\") {\r\n document.documentElement.style.setProperty('--sitePalette1', '#ffffff');\r\n document.documentElement.style.setProperty('--sitePalette2', '#f0f5f9');\r\n document.documentElement.style.setProperty('--sitePalette3', '#c9d6df');\r\n document.documentElement.style.setProperty('--sitePalette4', '#52616b');\r\n document.documentElement.style.setProperty('--sitePalette5', '#1e2022');\r\n\r\n this.setState({ selectedTheme: \"light\" });\r\n }\r\n else {\r\n document.documentElement.style.setProperty('--sitePalette5', '#ffffff');\r\n document.documentElement.style.setProperty('--sitePalette4', '#f0f5f9');\r\n document.documentElement.style.setProperty('--sitePalette3', '#c9d6df');\r\n document.documentElement.style.setProperty('--sitePalette2', '#52616b');\r\n document.documentElement.style.setProperty('--sitePalette1', '#1e2022');\r\n\r\n this.setState({ selectedTheme: \"dark\" });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport { SideNav } from './SideNav';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n
\r\n {this.props.children}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import '../styles/home.css';\r\nimport React, { Component } from 'react';\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n\r\n state = {\r\n pageHeader: \"Welcome to D&D Beer Club\",\r\n activeMembers: [],\r\n currentBrewmasterId: 0\r\n }\r\n\r\n componentDidMount() {\r\n fetch('/api/members')\r\n .then(res => res.json())\r\n .then(res => res.filter(m => m.isActive))\r\n .then(m => this.setState({ activeMembers: m }));\r\n fetch('/api/configoptions')\r\n .then(res => res.json())\r\n .then(res => res.find(opts => opts.option === \"CurrentToastmasterMemberId\"))\r\n .then(opt => this.setState({ currentBrewmasterId: opt.numVal }));\r\n }\r\n\r\n render () {\r\n return (\r\n
\r\n

{this.state.pageHeader}

\r\n
\r\n Consider yourself lucky to have found your way to the very refined, very exclusive Gentleman's Beer Club. Established in 2014, the GBC was created to uncover the most interesting (and often questionable) beers the world has to offer.\r\n
\r\n
\r\n This esteemed organization maintains a proper order as to whom shall select the beverage for consideration. This order is as follows, indicating the member whose turn it is to provide the brews:\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import '../styles/members.css';\r\nimport React, { Component } from 'react';\r\n\r\nexport class Members extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n state = {\r\n pageHeader: \"Active Members\",\r\n members: []\r\n }\r\n\r\n componentDidMount() {\r\n fetch('/api/members/active')\r\n .then(res => res.json())\r\n .then(res => this.setState({ members: res.sort((a, b) => a.firstName > b.firstName ? 1 : 0) }));\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

{this.state.pageHeader}

\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Media } from 'reactstrap';\r\nimport '../styles/ratings.css';\r\n\r\nexport class Ratings extends Component {\r\n\r\n state = {\r\n pageHeader: \"Ratings\",\r\n ratings: [],\r\n filteredRatings: []\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onRatingsSearchChange = this.onRatingsSearchChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n fetch('/api/ratings/')\r\n .then(res => res.json())\r\n .then(res => this.setState({ ratings: res, filteredRatings: res }));\r\n }\r\n\r\n onRatingsSearchChange(e) {\r\n let filteredList = [];\r\n\r\n if (e.target.value !== '') {\r\n filteredList = this.state.ratings.filter(r => {\r\n // Look for searched text in brew name, company, and reviews (3/12/2020 JBrown)\r\n //this.highlight(e.target.value);\r\n return r.brewName.toString().toLowerCase().includes(e.target.value.toLowerCase())\r\n || r.brewCompany.toString().toLowerCase().includes(e.target.value.toLowerCase())\r\n || r.reviews.filter(rev => { return rev.ratingId === r.ratingId && rev.comment && rev.comment.toString().toLowerCase().includes(e.target.value.toLowerCase()); }).length;\r\n });\r\n } else {\r\n filteredList = this.state.ratings;\r\n }\r\n\r\n this.setState({ filteredRatings: filteredList });\r\n }\r\n\r\n highlight(text) {\r\n var inputText = document.getElementById(\"ratings\");\r\n var innerHTML = inputText.innerHTML;\r\n var index = innerHTML.indexOf(text);\r\n if (index >= 0) {\r\n innerHTML = innerHTML.substring(0, index) + \"\" + innerHTML.substring(index, index + text.length) + \"\" + innerHTML.substring(index + text.length);\r\n inputText.innerHTML = innerHTML;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

{this.state.pageHeader}

\r\n
\r\n

Contained herein are the annals of the judgements put forth by the revered members of the Gentleman's Beer Club. Every appraisal put forth adheres to the sacred oath sworn by each member. Each vote is made with arrant honesty, and no vote is swayed by another member.

\r\n

The wise man uses these rankings to guide his choice to a beverage that is truly pleasant to his palate.

\r\n

The fool ignores this roadmap to gentlemanly indulgence, and carves out for himself a path of utter destruction.

\r\n

Let these words serve as a testament to the candor and elegance of the esteemed members of the Gentleman's Beer Club! Hear, hear!

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {this.state.filteredRatings.sort((r1, r2) => r2.reviewDate > r1.reviewDate ? 1 : 0).map(r =>\r\n
\r\n \r\n \r\n {r.brewName}\r\n {r.brewCompany}\r\n {/**/}\r\n {\r\n r.imgUri && r.imgUri !== '' ?\r\n \r\n : 🍺}\r\n Overall: {r.averageScore}🍆\r\n \r\n \r\n {r.reviews.map(rev =>\r\n \r\n \r\n {rev.score}🍆 {rev.member.aka}\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}","import React, { useEffect, useState } from 'react';\r\nimport { useParams, useHistory } from 'react-router-dom';\r\nimport Button from 'reactstrap/lib/Button';\r\nimport Form from 'reactstrap/lib/Form';\r\nimport FormGroup from 'reactstrap/lib/FormGroup';\r\nimport FormText from 'reactstrap/lib/FormText';\r\nimport Input from 'reactstrap/lib/Input';\r\nimport Label from 'reactstrap/lib/Label';\r\n\r\nconst NewRating = props => {\r\n const [newRating, setNewRating] = useState({\r\n id: undefined,\r\n ratingId: undefined,\r\n memberId: 0,\r\n reviewDate: \"\",\r\n brewName: \"\",\r\n brewCompany: \"\",\r\n abv: 0,\r\n imgUri: \"\",\r\n averageScore: 0,\r\n comment: \"\",\r\n reviews: undefined\r\n });\r\n\r\n const { ratingId } = useParams();\r\n const history = useHistory();\r\n const [members, setMembers] = useState([]);\r\n const [showId, setShowId] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n\r\n useEffect(() => {\r\n if (ratingId) {\r\n setIsEdit(true);\r\n fetch(`/api/ratings/${ratingId}`)\r\n .then(res => res.json())\r\n .then(res => setNewRating(res));\r\n }\r\n else {\r\n fetch('/api/ratings/nextAvailableRatingId')\r\n .then(res => res.json())\r\n .then(res => setNewRating({...newRating, ratingId: res, reviewDate: new Date().toJSON().slice(0,10)}));\r\n }\r\n \r\n fetch('/api/members')\r\n .then(res => res.json())\r\n .then(res => res.sort((member1, member2) => member1.aka > member2.aka ? 1 : -1))\r\n .then(res => setMembers(res));\r\n }, []);\r\n\r\n const postRating = e => {\r\n e.preventDefault();\r\n console.log(newRating);\r\n\r\n let postUrl = `api/ratings/`;\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(newRating)\r\n };\r\n\r\n if (isEdit) {\r\n postUrl += `${newRating.id}`;\r\n requestOptions.method = 'PUT';\r\n }\r\n\r\n fetch(postUrl, requestOptions)\r\n .then(() => { history.push(newRating.ratingId) });\r\n };\r\n\r\n return (\r\n
\r\n

{ isEdit ? \"Edit Rating\" : \"New Rating\" }

\r\n
\r\n
{ postRating(e) }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {setNewRating({...newRating, brewName: e.target.value})}} />\r\n \r\n \r\n \r\n {setNewRating({...newRating, brewCompany: e.target.value})}} />\r\n \r\n \r\n \r\n {setNewRating({...newRating, reviewDate: e.target.value})}} />\r\n \r\n \r\n \r\n {setNewRating({...newRating, averageScore: parseFloat(e.target.value)})}} />\r\n \r\n \r\n \r\n {setNewRating({...newRating, memberId: parseInt(e.target.value)})}} >\r\n \r\n {members.map(m => \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {setNewRating({...newRating, abv: parseFloat(e.target.value)})}} />\r\n \r\n \r\n \r\n {setNewRating({...newRating, imgUri: e.target.value})}} />\r\n \r\n Not implemented yet...\r\n \r\n \r\n \r\n \r\n {setNewRating({...newRating, comment: e.target.value})}} />\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport { NewRating };","import React, { useEffect, useState } from 'react';\r\nimport { useParams } from 'react-router';\r\n\r\nexport const AddOrUpdateReviews = props => {\r\n const [newReviews, setNewReviews] = useState();\r\n const [isEdit, setIsEdit] = useState();\r\n const { ratingId } = useParams();\r\n\r\n // {\r\n // id: undefined,\r\n // reviewId: undefined,\r\n // ratingId: undefined,\r\n // memberId: ,\r\n // score: 1.5,\r\n // comment: null,\r\n // member: null\r\n // }\r\n\r\n useEffect(() => {\r\n if (ratingId) {\r\n setIsEdit(true);\r\n fetch(`/api/reviews/${ratingId}`)\r\n .then(res => res.json())\r\n .then(res => setNewReviews(res));\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n

{ isEdit ? \"Edit Reviews\" : \"Add Reviews\" }

\r\n
\r\n {newReviews && newReviews.map(r => \r\n
\r\n Review: {r.reviewId}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};","import './styles/site.css'\r\nimport React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Layout } from './components/Layout';\r\nimport { Home } from './components/Home';\r\nimport { Members } from './components/Members';\r\nimport { Ratings } from './components/Ratings';\r\nimport { NewRating } from './components/NewRating';\r\nimport { AddOrUpdateReviews } from './components/AddOrUpdateReviews';\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n\r\n render () {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nregisterServiceWorker();\r\n\r\n"],"sourceRoot":""}