diff --git a/.env b/.env new file mode 100644 index 0000000..730a6d0 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +__REACT_APP_DATA_URL=data/tunes.json +REACT_APP_DATA_URL="https://raw.githubusercontent.com/fergalmoran/100-tunes/develop/public/data/tunes.json" diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..fb9784a --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +REACT_APP_DATA_URL="https://raw.githubusercontent.com/fergalmoran/100-tunes/develop/public/data/tunes.json" diff --git a/.eslintcache b/.eslintcache index eaf6d78..c513188 100644 --- a/.eslintcache +++ b/.eslintcache @@ -1 +1 @@ -[{"/home/fergalm/dev/100-tunes/src/reportWebVitals.ts":"1","/home/fergalm/dev/100-tunes/src/App.tsx":"2","/home/fergalm/dev/100-tunes/src/components/TuneList.tsx":"3"},{"size":425,"mtime":1610941863467,"results":"4","hashOfConfig":"5"},{"size":215,"mtime":1610961270327,"results":"6","hashOfConfig":"5"},{"size":878,"mtime":1610963714010,"results":"7","hashOfConfig":"5"},{"filePath":"8","messages":"9","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1rmiskh",{"filePath":"10","messages":"11","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"12","messages":"13","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/fergalm/dev/100-tunes/src/reportWebVitals.ts",[],"/home/fergalm/dev/100-tunes/src/App.tsx",[],"/home/fergalm/dev/100-tunes/src/components/TuneList.tsx",[]] \ No newline at end of file +[{"/home/fergalm/dev/100-tunes/src/reportWebVitals.ts":"1","/home/fergalm/dev/100-tunes/src/App.tsx":"2","/home/fergalm/dev/100-tunes/src/components/TuneList.tsx":"3","/home/fergalm/dev/100-tunes/src/components/TuneTitle.tsx":"4"},{"size":425,"mtime":1610941863467,"results":"5","hashOfConfig":"6"},{"size":483,"mtime":1610973116747,"results":"7","hashOfConfig":"6"},{"size":1783,"mtime":1610973094514,"results":"8","hashOfConfig":"6"},{"size":135,"mtime":1610972938324,"results":"9","hashOfConfig":"6"},{"filePath":"10","messages":"11","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1rmiskh",{"filePath":"12","messages":"13","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"14","messages":"15","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"16","messages":"17","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/fergalm/dev/100-tunes/src/reportWebVitals.ts",[],"/home/fergalm/dev/100-tunes/src/App.tsx",[],"/home/fergalm/dev/100-tunes/src/components/TuneList.tsx",[],"/home/fergalm/dev/100-tunes/src/components/TuneTitle.tsx",[]] \ No newline at end of file diff --git a/package.json b/package.json index 4358c8c..e8d9351 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,12 @@ "version": "0.1.0", "private": true, "dependencies": { + "@material-ui/core": "^4.11.2", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", "@types/jest": "^26.0.15", - "@types/node": "^12.0.0", + "@types/node": "^14.14.21", "@types/react": "^16.9.53", "@types/react-dom": "^16.9.8", "react": "^17.0.1", diff --git a/public/data/tunes.json b/public/data/tunes.json index 077ef9b..4d44a74 100644 --- a/public/data/tunes.json +++ b/public/data/tunes.json @@ -1,402 +1,702 @@ [ { "id": 1, - "url": "https://www.youtube.com/watch?v=c-vixuayY0c" + "videoId": "c-vixuayY0c", + "url": "https://www.youtube.com/watch?v=c-vixuayY0c", + "title": "Dread Flimstone \u0026 The Modern Tone Age Family - From the ghetto (Danny Tenaglia dreadzone mix)", + "image": "https://i.ytimg.com/vi/c-vixuayY0c/mqdefault.jpg" }, { "id": 2, - "url": "https://www.youtube.com/watch?v=ujx9iGshfIg" + "videoId": "ujx9iGshfIg", + "url": "https://www.youtube.com/watch?v=ujx9iGshfIg", + "title": "A.S.H.A. \u0022JJ Tribute\u0022 (JTC Mix)", + "image": "https://i.ytimg.com/vi/ujx9iGshfIg/mqdefault.jpg" }, { "id": 3, - "url": "https://www.youtube.com/watch?v=2Ll9j78hThY" + "videoId": "2Ll9j78hThY", + "url": "https://www.youtube.com/watch?v=2Ll9j78hThY", + "title": "Overweight pooch ft. Ce Ce Peniston - i like it", + "image": "https://i.ytimg.com/vi/2Ll9j78hThY/mqdefault.jpg" }, { "id": 4, - "url": "https://www.youtube.com/watch?v=fhV33bOsJ5M" + "videoId": "fhV33bOsJ5M", + "url": "https://www.youtube.com/watch?v=fhV33bOsJ5M", + "title": "L.A. Mix Featuring Kevin Henry - Love Together (Banji Lovers Dub)", + "image": "https://i.ytimg.com/vi/fhV33bOsJ5M/mqdefault.jpg" }, { "id": 5, - "url": "https://www.youtube.com/watch?v=zqR9XodCk_I" + "videoId": "zqR9XodCk_I", + "url": "https://www.youtube.com/watch?v=zqR9XodCk_I", + "title": "How II House - Time 2 Feel The Rhythm", + "image": "https://i.ytimg.com/vi/zqR9XodCk_I/mqdefault.jpg" }, { "id": 6, - "url": "https://www.youtube.com/watch?v=Jq7wz0OxI_Y" + "videoId": "Jq7wz0OxI_Y", + "url": "https://www.youtube.com/watch?v=Jq7wz0OxI_Y", + "title": "Def Touch--Nasty Rhythm", + "image": "https://i.ytimg.com/vi/Jq7wz0OxI_Y/mqdefault.jpg" }, { "id": 7, - "url": "https://www.youtube.com/watch?v=JLcfvwa3GKY" + "videoId": "JLcfvwa3GKY", + "url": "https://www.youtube.com/watch?v=JLcfvwa3GKY", + "title": "New Girl Posse - Higher (MK Vocal Dub)", + "image": "https://i.ytimg.com/vi/JLcfvwa3GKY/mqdefault.jpg" }, { "id": 8, - "url": "https://www.youtube.com/watch?v=8jnunm86BkM" + "videoId": "8jnunm86BkM", + "url": "https://www.youtube.com/watch?v=8jnunm86BkM", + "title": "DJ Rork \u0026 Demon Ritchie - I Wanna See You Come Down (RK\u0027S Mix)", + "image": "https://i.ytimg.com/vi/8jnunm86BkM/mqdefault.jpg" }, { "id": 9, - "url": "https://www.youtube.com/watch?v=4GioJHgnZWc" + "videoId": "4GioJHgnZWc", + "url": "https://www.youtube.com/watch?v=4GioJHgnZWc", + "title": "Elixir Vitae - Gotta Release It", + "image": "https://i.ytimg.com/vi/4GioJHgnZWc/mqdefault.jpg" }, { "id": 10, - "url": "https://www.youtube.com/watch?v=xbSmhSYLDvs" + "videoId": "xbSmhSYLDvs", + "url": "https://www.youtube.com/watch?v=xbSmhSYLDvs", + "title": "TYREE NUTHIN WRONG", + "image": "https://i.ytimg.com/vi/xbSmhSYLDvs/mqdefault.jpg" }, { "id": 11, - "url": "https://www.youtube.com/watch?v=lVKePKD7F1M" + "videoId": "lVKePKD7F1M", + "url": "https://www.youtube.com/watch?v=lVKePKD7F1M", + "title": "deep dish presents quench dc - after hours", + "image": "https://i.ytimg.com/vi/lVKePKD7F1M/mqdefault.jpg" }, { "id": 12, - "url": "https://www.youtube.com/watch?v=eLBsiApVBhI" + "videoId": "eLBsiApVBhI", + "url": "https://www.youtube.com/watch?v=eLBsiApVBhI", + "title": "Deep Dish - Chocolate City (Love Songs)", + "image": "https://i.ytimg.com/vi/eLBsiApVBhI/mqdefault.jpg" }, { "id": 13, - "url": "https://www.youtube.com/watch?v=SstGOZK-nbc" + "videoId": "SstGOZK-nbc", + "url": "https://www.youtube.com/watch?v=SstGOZK-nbc", + "title": "Some Other People - Ghosthouse (Fabio Paras Mix)", + "image": "https://i.ytimg.com/vi/SstGOZK-nbc/mqdefault.jpg" }, { "id": 14, - "url": "https://www.youtube.com/watch?v=u-8PTWdHqME" + "videoId": "u-8PTWdHqME", + "url": "https://www.youtube.com/watch?v=u-8PTWdHqME", + "title": "Fiction vs. Eddie \u0022Flashin\u0022 Fowlkes - The Feeling (Extended Original Mix)", + "image": "https://i.ytimg.com/vi/u-8PTWdHqME/mqdefault.jpg" }, { "id": 15, - "url": "https://www.youtube.com/watch?v=19h1IaijxgA" + "videoId": "19h1IaijxgA", + "url": "https://www.youtube.com/watch?v=19h1IaijxgA", + "title": "Liberty City - If You Really Love Someone (Murk Strikes Again Mix)", + "image": "https://i.ytimg.com/vi/19h1IaijxgA/mqdefault.jpg" }, { "id": 16, - "url": "https://www.youtube.com/watch?v=Xjy9gTTGnDs" + "videoId": "Xjy9gTTGnDs", + "url": "https://www.youtube.com/watch?v=Xjy9gTTGnDs", + "title": "D.S.K-What Would We Do-Original Mix", + "image": "https://i.ytimg.com/vi/Xjy9gTTGnDs/mqdefault.jpg" }, { "id": 17, - "url": "https://www.youtube.com/watch?v=-b3RKjH9p2w" + "videoId": "-b3RKjH9p2w", + "url": "https://www.youtube.com/watch?v=-b3RKjH9p2w", + "title": "MBG,Rame,Alkemy,DJ Uovo - Late In The Morning (Peter Pan EP)", + "image": "https://i.ytimg.com/vi/-b3RKjH9p2w/mqdefault.jpg" }, { "id": 18, - "url": "https://www.youtube.com/watch?v=paEfZLf2bXI" + "videoId": "paEfZLf2bXI", + "url": "https://www.youtube.com/watch?v=paEfZLf2bXI", + "title": "Mbg \u0026 Rame - Shock of Impact (1992)", + "image": "https://i.ytimg.com/vi/paEfZLf2bXI/mqdefault.jpg" }, { "id": 19, - "url": "https://www.youtube.com/watch?v=ZgcwK965I54" + "videoId": "ZgcwK965I54", + "url": "https://www.youtube.com/watch?v=ZgcwK965I54", + "title": "Infra-Red - When Luv\u0027s The Feeling (Hyden Andre Remix)", + "image": "https://i.ytimg.com/vi/ZgcwK965I54/mqdefault.jpg" }, { "id": 20, - "url": "https://www.youtube.com/watch?v=AkSN7gVNv4k" + "videoId": "AkSN7gVNv4k", + "url": "https://www.youtube.com/watch?v=AkSN7gVNv4k", + "title": "M.J. White - Love Your Body (Red Dub)", + "image": "https://i.ytimg.com/vi/AkSN7gVNv4k/mqdefault.jpg" }, { "id": 21, - "url": "https://www.youtube.com/watch?v=NWX7nqbjZ0A" + "videoId": "NWX7nqbjZ0A", + "url": "https://www.youtube.com/watch?v=NWX7nqbjZ0A", + "title": "Ralphi Rosario An instrumental need (Club need)", + "image": "https://i.ytimg.com/vi/NWX7nqbjZ0A/mqdefault.jpg" }, { "id": 22, - "url": "https://www.youtube.com/watch?v=zB_WbAqn_Mk" + "videoId": "zB_WbAqn_Mk", + "url": "https://www.youtube.com/watch?v=zB_WbAqn_Mk", + "title": "Aaron Carl - My House (Dub O\u0027 Funk)", + "image": "https://i.ytimg.com/vi/zB_WbAqn_Mk/mqdefault.jpg" }, { "id": 23, - "url": "https://www.youtube.com/watch?v=39vAjgAZncY" + "videoId": "39vAjgAZncY", + "url": "https://www.youtube.com/watch?v=39vAjgAZncY", + "title": "Lifeforce - Scatterbox", + "image": "https://i.ytimg.com/vi/39vAjgAZncY/mqdefault.jpg" }, { "id": 24, - "url": "https://www.youtube.com/watch?v=w2DK71tAUHk" + "videoId": "w2DK71tAUHk", + "url": "https://www.youtube.com/watch?v=w2DK71tAUHk", + "title": "coco steel and lovebomb - Feel it (original)", + "image": "https://i.ytimg.com/vi/w2DK71tAUHk/mqdefault.jpg" }, { "id": 25, - "url": "https://www.youtube.com/watch?v=PG6LMYD3VRk" + "videoId": "PG6LMYD3VRk", + "url": "https://www.youtube.com/watch?v=PG6LMYD3VRk", + "title": "The Project feat. Linda Rice~Out Of Control [FHR\u0027s Club Mix]", + "image": "https://i.ytimg.com/vi/PG6LMYD3VRk/mqdefault.jpg" }, { "id": 26, - "url": "https://www.youtube.com/watch?v=z9kbrqg4j0U" + "videoId": "z9kbrqg4j0U", + "url": "https://www.youtube.com/watch?v=z9kbrqg4j0U", + "title": "Shirley Murdock - Let There Be Love (Classic 12\u0022 Mix) 1991", + "image": "https://i.ytimg.com/vi/z9kbrqg4j0U/mqdefault.jpg" }, { "id": 27, - "url": "https://www.youtube.com/watch?v=q3m5szOtkfI" + "videoId": "q3m5szOtkfI", + "url": "https://www.youtube.com/watch?v=q3m5szOtkfI", + "title": "Neon - Don\u0027t Mess With This Beat", + "image": "https://i.ytimg.com/vi/q3m5szOtkfI/mqdefault.jpg" }, { "id": 28, - "url": "https://www.youtube.com/watch?v=OHB1EBKhYzA" + "videoId": "OHB1EBKhYzA", + "url": "https://www.youtube.com/watch?v=OHB1EBKhYzA", + "title": "Roach Motel - Afro sleeze", + "image": "https://i.ytimg.com/vi/OHB1EBKhYzA/mqdefault.jpg" }, { "id": 29, - "url": "https://www.youtube.com/watch?v=r5pM5cNoZMw" + "videoId": "r5pM5cNoZMw", + "url": "https://www.youtube.com/watch?v=r5pM5cNoZMw", + "title": "Black Traxx - Pump It", + "image": "https://i.ytimg.com/vi/r5pM5cNoZMw/mqdefault.jpg" }, { "id": 30, - "url": "https://www.youtube.com/watch?v=qRIGUtnDfQ4" + "videoId": "qRIGUtnDfQ4", + "url": "https://www.youtube.com/watch?v=qRIGUtnDfQ4", + "title": "Taana Gardner - What Can I Do For You? (Luv Dub)", + "image": "https://i.ytimg.com/vi/qRIGUtnDfQ4/mqdefault.jpg" }, { "id": 31, - "url": "https://www.youtube.com/watch?v=c-vixuayY0c" + "videoId": "c-vixuayY0c", + "url": "https://www.youtube.com/watch?v=c-vixuayY0c", + "title": "Dread Flimstone \u0026 The Modern Tone Age Family - From the ghetto (Danny Tenaglia dreadzone mix)", + "image": "https://i.ytimg.com/vi/c-vixuayY0c/mqdefault.jpg" }, { "id": 32, - "url": "https://www.youtube.com/watch?v=dyEgyrz0fNM" + "videoId": "dyEgyrz0fNM", + "url": "https://www.youtube.com/watch?v=dyEgyrz0fNM", + "title": "MI 7 - Rockin\u0027 Down The House - 1991 Original", + "image": "https://i.ytimg.com/vi/dyEgyrz0fNM/mqdefault.jpg" }, { "id": 33, - "url": "https://www.youtube.com/watch?v=iKDoepOe18Y" + "videoId": "iKDoepOe18Y", + "url": "https://www.youtube.com/watch?v=iKDoepOe18Y", + "title": "DAVIDREX X - Let Me Feel It (Jungle Remix)", + "image": "https://i.ytimg.com/vi/iKDoepOe18Y/mqdefault.jpg" }, { "id": 34, - "url": "https://www.youtube.com/watch?v=kNcHM5zJGt4" + "videoId": "kNcHM5zJGt4", + "url": "https://www.youtube.com/watch?v=kNcHM5zJGt4", + "title": "Global Communication- The Way (Secret Ingredients mix) CLASS", + "image": "https://i.ytimg.com/vi/kNcHM5zJGt4/mqdefault.jpg" }, { "id": 35, - "url": "https://www.youtube.com/watch?v=RLzFea_z06M" + "videoId": "RLzFea_z06M", + "url": "https://www.youtube.com/watch?v=RLzFea_z06M", + "title": "Mixmasters feat Mc Action - In The Mix (Fast Eddie Mix)", + "image": "https://i.ytimg.com/vi/RLzFea_z06M/mqdefault.jpg" }, { "id": 36, - "url": "https://www.youtube.com/watch?v=g7ibSZa4uvU" + "videoId": "g7ibSZa4uvU", + "url": "https://www.youtube.com/watch?v=g7ibSZa4uvU", + "title": "A HOMEBOY, A HIPPIE \u0026 A FUNKI DREDD - TOTAL CONFUSION (HEAVENLY MIX) 1990", + "image": "https://i.ytimg.com/vi/g7ibSZa4uvU/mqdefault.jpg" }, { "id": 37, - "url": "https://www.youtube.com/watch?v=Zlt3W8Oeym0" + "videoId": "Zlt3W8Oeym0", + "url": "https://www.youtube.com/watch?v=Zlt3W8Oeym0", + "title": "Amy Helm - Own Way Home", + "image": "https://i.ytimg.com/vi/Zlt3W8Oeym0/mqdefault.jpg" }, { "id": 38, - "url": "https://www.youtube.com/watch?v=SuwPeLkYH_w" + "videoId": "SuwPeLkYH_w", + "url": "https://www.youtube.com/watch?v=SuwPeLkYH_w", + "title": "Mutiny Featuring Mary Joy - Bliss (Maw Main Mix)", + "image": "https://i.ytimg.com/vi/SuwPeLkYH_w/mqdefault.jpg" }, { "id": 39, - "url": "https://www.youtube.com/watch?v=NhnKg9WYmDQ" + "videoId": "NhnKg9WYmDQ", + "url": "https://www.youtube.com/watch?v=NhnKg9WYmDQ", + "title": "I Can\u0027t Wait (Original Flavor Mix)", + "image": "https://i.ytimg.com/vi/NhnKg9WYmDQ/mqdefault.jpg" }, { "id": 40, - "url": "https://www.youtube.com/watch?v=gpe6QpUMiC4" + "videoId": "gpe6QpUMiC4", + "url": "https://www.youtube.com/watch?v=gpe6QpUMiC4", + "title": "Guantanamo - You Got To Feel It (Get Up \u0026 Feel It Dub)", + "image": "https://i.ytimg.com/vi/gpe6QpUMiC4/mqdefault.jpg" }, { "id": 41, - "url": "https://www.youtube.com/watch?v=f7sWls3-_p4" + "videoId": "f7sWls3-_p4", + "url": "https://www.youtube.com/watch?v=f7sWls3-_p4", + "title": "Jazzie Joint - Give A Little Love (1992)", + "image": "https://i.ytimg.com/vi/f7sWls3-_p4/mqdefault.jpg" }, { "id": 42, - "url": "https://www.youtube.com/watch?v=K27avUBkpm8" + "videoId": "K27avUBkpm8", + "url": "https://www.youtube.com/watch?v=K27avUBkpm8", + "title": "Golden Girls - Kinetic (Frank De Wulf Remix)", + "image": "https://i.ytimg.com/vi/K27avUBkpm8/mqdefault.jpg" }, { "id": 43, - "url": "https://www.youtube.com/watch?v=GdruKZqG7vI" + "videoId": "GdruKZqG7vI", + "url": "https://www.youtube.com/watch?v=GdruKZqG7vI", + "title": "Frank De Wulf - The Tape (Original Mix)", + "image": "https://i.ytimg.com/vi/GdruKZqG7vI/mqdefault.jpg" }, { "id": 44, - "url": "https://www.youtube.com/watch?v=VQVxTA9z6_c" + "videoId": "VQVxTA9z6_c", + "url": "https://www.youtube.com/watch?v=VQVxTA9z6_c", + "title": "Power Circle - Garden Of Peace (Shakra \u0026 Love Mix) (1993)", + "image": "https://i.ytimg.com/vi/VQVxTA9z6_c/mqdefault.jpg" }, { "id": 45, - "url": "https://www.youtube.com/watch?v=TR7rrtjSvp4" + "videoId": "TR7rrtjSvp4", + "url": "https://www.youtube.com/watch?v=TR7rrtjSvp4", + "title": "The Uprising - You Can Wait", + "image": "https://i.ytimg.com/vi/TR7rrtjSvp4/mqdefault.jpg" }, { "id": 46, - "url": "https://www.youtube.com/watch?v=BQnj-BT3RwI" + "videoId": "BQnj-BT3RwI", + "url": "https://www.youtube.com/watch?v=BQnj-BT3RwI", + "title": "PHENIX - OVERTURE 1991 [VINYL]", + "image": "https://i.ytimg.com/vi/BQnj-BT3RwI/mqdefault.jpg" }, { "id": 47, - "url": "https://www.youtube.com/watch?v=eitTCESgaQk" + "videoId": "eitTCESgaQk", + "url": "https://www.youtube.com/watch?v=eitTCESgaQk", + "title": "HWW, House Without Windows - Friend (Afro Funky Friend)", + "image": "https://i.ytimg.com/vi/eitTCESgaQk/mqdefault.jpg" }, { "id": 48, - "url": "https://www.youtube.com/watch?v=OtSNYAYJWyA" + "videoId": "OtSNYAYJWyA", + "url": "https://www.youtube.com/watch?v=OtSNYAYJWyA", + "title": "Alexander Hope - Saturdays (Saturday Nite Beats)", + "image": "https://i.ytimg.com/vi/OtSNYAYJWyA/mqdefault.jpg" }, { "id": 49, - "url": "https://www.youtube.com/watch?v=RS-JMZYmYYE" + "videoId": "RS-JMZYmYYE", + "url": "https://www.youtube.com/watch?v=RS-JMZYmYYE", + "title": "C.Y.B. - Snake Bit (Heavy Bit Mix)", + "image": "https://i.ytimg.com/vi/RS-JMZYmYYE/mqdefault.jpg" }, { "id": 50, - "url": "https://www.youtube.com/watch?v=nUOxX_UNCuM" + "videoId": "nUOxX_UNCuM", + "url": "https://www.youtube.com/watch?v=nUOxX_UNCuM", + "title": "Roommates - Bass Grooves", + "image": "https://i.ytimg.com/vi/nUOxX_UNCuM/mqdefault.jpg" }, { "id": 51, - "url": "https://www.youtube.com/watch?v=c4hF2PzQqXc" + "videoId": "c4hF2PzQqXc", + "url": "https://www.youtube.com/watch?v=c4hF2PzQqXc", + "title": "Dearboy - Grey Clouds (amboseli) 1992", + "image": "https://i.ytimg.com/vi/c4hF2PzQqXc/mqdefault.jpg" }, { "id": 52, - "url": "https://www.youtube.com/watch?v=STwJqk4a8dw" + "videoId": "STwJqk4a8dw", + "url": "https://www.youtube.com/watch?v=STwJqk4a8dw", + "title": "Satin - I Want You (Abstract Mix)", + "image": "https://i.ytimg.com/vi/STwJqk4a8dw/mqdefault.jpg" }, { "id": 53, - "url": "https://www.youtube.com/watch?v=XzceHLdD_iA" + "videoId": "XzceHLdD_iA", + "url": "https://www.youtube.com/watch?v=XzceHLdD_iA", + "title": "PM Dawn \u200E\u2013 A Watcher\u0027s Point Of View (Todd Terry Melody Mix) 1991", + "image": "https://i.ytimg.com/vi/XzceHLdD_iA/mqdefault.jpg" }, { "id": 54, - "url": "https://www.youtube.com/watch?v=NmjYxFfwr4M" + "videoId": "NmjYxFfwr4M", + "url": "https://www.youtube.com/watch?v=NmjYxFfwr4M", + "title": "LIAISONS D. - Future F.J.P. - 1990", + "image": "https://i.ytimg.com/vi/NmjYxFfwr4M/mqdefault.jpg" }, { "id": 55, - "url": "https://www.youtube.com/watch?v=4muh5lTToUA" + "videoId": "4muh5lTToUA", + "url": "https://www.youtube.com/watch?v=4muh5lTToUA", + "title": "Overweight Pooch ft. Ce Ce Peniston - I Like It (Spaced Out Dub) 1991", + "image": "https://i.ytimg.com/vi/4muh5lTToUA/mqdefault.jpg" }, { "id": 56, - "url": "https://www.youtube.com/watch?v=caBnWv80VbY" + "videoId": "caBnWv80VbY", + "url": "https://www.youtube.com/watch?v=caBnWv80VbY", + "title": "Idjut Boys - Retreat", + "image": "https://i.ytimg.com/vi/caBnWv80VbY/mqdefault.jpg" }, { "id": 57, - "url": "https://www.youtube.com/watch?v=622I_IqibvQ" + "videoId": "622I_IqibvQ", + "url": "https://www.youtube.com/watch?v=622I_IqibvQ", + "title": "Alex Neri - The Wizard (Hot Funcky Version)", + "image": "https://i.ytimg.com/vi/622I_IqibvQ/mqdefault.jpg" }, { "id": 58, - "url": "https://www.youtube.com/watch?v=3qIIGBuDe9g" + "videoId": "3qIIGBuDe9g", + "url": "https://www.youtube.com/watch?v=3qIIGBuDe9g", + "title": "Shadii - My people (Morel\u0027s \u0022Doom\u0022 Mix)", + "image": "https://i.ytimg.com/vi/3qIIGBuDe9g/mqdefault.jpg" }, { "id": 59, - "url": "https://www.youtube.com/watch?v=P-JizHfXJEM" + "videoId": "P-JizHfXJEM", + "url": "https://www.youtube.com/watch?v=P-JizHfXJEM", + "title": "ALL I\u0027M ASKING FOR (MAIN MIX) YASS presents JAY \u0026 TAHIRA", + "image": "https://i.ytimg.com/vi/P-JizHfXJEM/mqdefault.jpg" }, { "id": 60, - "url": "https://www.youtube.com/watch?v=Un4CeV_l3pI" + "videoId": "Un4CeV_l3pI", + "url": "https://www.youtube.com/watch?v=Un4CeV_l3pI", + "title": "Hardfloor - \u0022Acperience 1\u0022", + "image": "https://i.ytimg.com/vi/Un4CeV_l3pI/mqdefault.jpg" }, { "id": 61, - "url": "https://www.youtube.com/watch?v=y9opJNenN0M" + "videoId": "y9opJNenN0M", + "url": "https://www.youtube.com/watch?v=y9opJNenN0M", + "title": "Jillian Mendez - Dont Know What You\u0027re Missin (Sin Club Dub)", + "image": "https://i.ytimg.com/vi/y9opJNenN0M/mqdefault.jpg" }, { "id": 62, - "url": "https://www.youtube.com/watch?v=T3mnevmwVw8" + "videoId": "T3mnevmwVw8", + "url": "https://www.youtube.com/watch?v=T3mnevmwVw8", + "title": "Dayeene - Who\u0027s Gonna Get You Back (Gekko Club / Dub) [HQ] (2/4)", + "image": "https://i.ytimg.com/vi/T3mnevmwVw8/mqdefault.jpg" }, { "id": 63, - "url": "https://www.youtube.com/watch?v=rw_HXX33EG8" + "videoId": "rw_HXX33EG8", + "url": "https://www.youtube.com/watch?v=rw_HXX33EG8", + "title": "Sasha \u0022Automatic Love\u0022 1992", + "image": "https://i.ytimg.com/vi/rw_HXX33EG8/mqdefault.jpg" }, { "id": 64, - "url": "https://www.youtube.com/watch?v=PscfLhTeFKo" + "videoId": "PscfLhTeFKo", + "url": "https://www.youtube.com/watch?v=PscfLhTeFKo", + "title": "Awesome Foursome - Right Now (Club) [Black Label] (1992)", + "image": "https://i.ytimg.com/vi/PscfLhTeFKo/mqdefault.jpg" }, { "id": 65, - "url": "https://www.youtube.com/watch?v=u-8PTWdHqME" + "videoId": "u-8PTWdHqME", + "url": "https://www.youtube.com/watch?v=u-8PTWdHqME", + "title": "Fiction vs. Eddie \u0022Flashin\u0022 Fowlkes - The Feeling (Extended Original Mix)", + "image": "https://i.ytimg.com/vi/u-8PTWdHqME/mqdefault.jpg" }, { "id": 66, - "url": "https://www.youtube.com/watch?v=ccuIOgiarsk" + "videoId": "ccuIOgiarsk", + "url": "https://www.youtube.com/watch?v=ccuIOgiarsk", + "title": "Fiction vs. Eddie \u0027Flashin\u0027 Fowlkes - F.F. in Crime (Techno Dub)", + "image": "https://i.ytimg.com/vi/ccuIOgiarsk/mqdefault.jpg" }, { "id": 67, - "url": "https://www.youtube.com/watch?v=Qs1lUTC7SUA" + "videoId": "Qs1lUTC7SUA", + "url": "https://www.youtube.com/watch?v=Qs1lUTC7SUA", + "title": "P.J. Master -- Ecstasy Beat", + "image": "https://i.ytimg.com/vi/Qs1lUTC7SUA/mqdefault.jpg" }, { "id": 68, - "url": "https://www.youtube.com/watch?v=TwmMnIG9kaQ" + "videoId": "TwmMnIG9kaQ", + "url": "https://www.youtube.com/watch?v=TwmMnIG9kaQ", + "title": "Playtime Toons - Rollin\u0027 Rok", + "image": "https://i.ytimg.com/vi/TwmMnIG9kaQ/mqdefault.jpg" }, { "id": 69, - "url": "https://www.youtube.com/watch?v=WWuh8aB-E8k" + "videoId": "WWuh8aB-E8k", + "url": "https://www.youtube.com/watch?v=WWuh8aB-E8k", + "title": "A Certain Ratio - 27 Forever", + "image": "https://i.ytimg.com/vi/WWuh8aB-E8k/mqdefault.jpg" }, { "id": 70, - "url": "https://www.youtube.com/watch?v=kfZSPxhLVDw" + "videoId": "kfZSPxhLVDw", + "url": "https://www.youtube.com/watch?v=kfZSPxhLVDw", + "title": "Julian \u0022Jumpin\u0027\u0022 Perez \u200E\u2013 Relight My Fire (Roger S. Instrumental Mix)", + "image": "https://i.ytimg.com/vi/kfZSPxhLVDw/mqdefault.jpg" }, { "id": 71, - "url": "https://www.youtube.com/watch?v=yhFaWehhxpE" + "videoId": "yhFaWehhxpE", + "url": "https://www.youtube.com/watch?v=yhFaWehhxpE", + "title": "Hydroponic Sound System \u200E\u2013 Hydro Sound Clash (The JT Donaldson Remix)", + "image": "https://i.ytimg.com/vi/yhFaWehhxpE/mqdefault.jpg" }, { "id": 72, - "url": "https://www.youtube.com/watch?v=QgBsouTF2OY" + "videoId": "QgBsouTF2OY", + "url": "https://www.youtube.com/watch?v=QgBsouTF2OY", + "title": "Corrado - Tribal Activity (Dominator Sleeps Tonight)", + "image": "https://i.ytimg.com/vi/QgBsouTF2OY/mqdefault.jpg" }, { "id": 73, - "url": "https://www.youtube.com/watch?v=G9X9uRzH568" + "videoId": "G9X9uRzH568", + "url": "https://www.youtube.com/watch?v=G9X9uRzH568", + "title": "The Tone - Save The Day", + "image": "https://i.ytimg.com/vi/G9X9uRzH568/mqdefault.jpg" }, { "id": 74, - "url": "https://www.youtube.com/watch?v=lF0GQk99fNI" + "videoId": "lF0GQk99fNI", + "url": "https://www.youtube.com/watch?v=lF0GQk99fNI", + "title": "Unknown Artist - Set Me Free (Rapina Records)", + "image": "https://i.ytimg.com/vi/lF0GQk99fNI/mqdefault.jpg" }, { "id": 75, - "url": "https://www.youtube.com/watch?v=hzjZzLDjjRo" + "videoId": "hzjZzLDjjRo", + "url": "https://www.youtube.com/watch?v=hzjZzLDjjRo", + "title": "Brent Laurence - Love Is So Good (Kluster\u0027s Ultimate Dub)", + "image": "https://i.ytimg.com/vi/hzjZzLDjjRo/mqdefault.jpg" }, { "id": 76, - "url": "https://www.youtube.com/watch?v=z27XcFgxSkE" + "videoId": "z27XcFgxSkE", + "url": "https://www.youtube.com/watch?v=z27XcFgxSkE", + "title": "280 West - Scattered Dreams (\u0022Boom Chocka-Boom\u0022 Mix)", + "image": "https://i.ytimg.com/vi/z27XcFgxSkE/mqdefault.jpg" }, { "id": 77, - "url": "https://www.youtube.com/watch?v=N6uFc451SG0" + "videoId": "N6uFc451SG0", + "url": "https://www.youtube.com/watch?v=N6uFc451SG0", + "title": "IV02 \u00C2me - Rej - Rej EP", + "image": "https://i.ytimg.com/vi/N6uFc451SG0/mqdefault.jpg" }, { "id": 78, - "url": "https://www.youtube.com/watch?v=oqa_DVZqYrU" + "videoId": "oqa_DVZqYrU", + "url": "https://www.youtube.com/watch?v=oqa_DVZqYrU", + "title": "lack of love", + "image": "https://i.ytimg.com/vi/oqa_DVZqYrU/mqdefault.jpg" }, { "id": 79, - "url": "https://www.youtube.com/watch?v=O8coFTo9c5c" + "videoId": "O8coFTo9c5c", + "url": "https://www.youtube.com/watch?v=O8coFTo9c5c", + "title": "Double F.M. - The Sound Of Amnesia (Amnesia Mix)", + "image": "https://i.ytimg.com/vi/O8coFTo9c5c/mqdefault.jpg" }, { "id": 80, - "url": "https://www.youtube.com/watch?v=B6y6O24pjpI" + "videoId": "B6y6O24pjpI", + "url": "https://www.youtube.com/watch?v=B6y6O24pjpI", + "title": "Drum Club - U Make Me Feel So Good", + "image": "https://i.ytimg.com/vi/B6y6O24pjpI/mqdefault.jpg" }, { "id": 81, - "url": "https://www.youtube.com/watch?v=CgsJXBSRuEM" + "videoId": "CgsJXBSRuEM", + "url": "https://www.youtube.com/watch?v=CgsJXBSRuEM", + "title": "Dynamic Noise - Just Let Me Be (Detroit Mix)", + "image": "https://i.ytimg.com/vi/CgsJXBSRuEM/mqdefault.jpg" }, { "id": 82, - "url": "https://www.youtube.com/watch?v=82L_5wc5dtE" + "videoId": "82L_5wc5dtE", + "url": "https://www.youtube.com/watch?v=82L_5wc5dtE", + "title": "Abstract Truth ft Monique Bingham - (We Had) A Thing (Matty\u0027s Deep Zone Dub) Streetwave Records 1998", + "image": "https://i.ytimg.com/vi/82L_5wc5dtE/mqdefault.jpg" }, { "id": 83, - "url": "https://www.youtube.com/watch?v=NymZqqPMK1Q" + "videoId": "NymZqqPMK1Q", + "url": "https://www.youtube.com/watch?v=NymZqqPMK1Q", + "title": "Fathers Of Sound - Revelation", + "image": "https://i.ytimg.com/vi/NymZqqPMK1Q/mqdefault.jpg" }, { "id": 84, - "url": "https://www.youtube.com/watch?v=_X8o-D0rod0" + "videoId": "_X8o-D0rod0", + "url": "https://www.youtube.com/watch?v=_X8o-D0rod0", + "title": "Glenn Underground - 70\u0027s Trip", + "image": "https://i.ytimg.com/vi/_X8o-D0rod0/mqdefault.jpg" }, { "id": 85, - "url": "https://www.youtube.com/watch?v=jtz9Y40IE_k" + "videoId": "jtz9Y40IE_k", + "url": "https://www.youtube.com/watch?v=jtz9Y40IE_k", + "title": "The Grid - Figure of 8 (Grid tribal trance mix)", + "image": "https://i.ytimg.com/vi/jtz9Y40IE_k/mqdefault.jpg" }, { "id": 86, - "url": "https://www.youtube.com/watch?v=WfIXO5kW-kg" + "videoId": "WfIXO5kW-kg", + "url": "https://www.youtube.com/watch?v=WfIXO5kW-kg", + "title": "Mamosadi KB - El Musica feat. Osunlade", + "image": "https://i.ytimg.com/vi/WfIXO5kW-kg/mqdefault.jpg" }, { "id": 87, - "url": "https://www.youtube.com/watch?v=xmNvhCngyH0" + "videoId": "xmNvhCngyH0", + "url": "https://www.youtube.com/watch?v=xmNvhCngyH0", + "title": "Known Chic - Dance (Acid Stylee)", + "image": "https://i.ytimg.com/vi/xmNvhCngyH0/mqdefault.jpg" }, { "id": 88, - "url": "https://www.youtube.com/watch?v=apg6ofBWmH0" + "videoId": "apg6ofBWmH0", + "url": "https://www.youtube.com/watch?v=apg6ofBWmH0", + "title": "Laurent Garnier - Virtual Breakdown (Laboratoire Mix, 1992)", + "image": "https://i.ytimg.com/vi/apg6ofBWmH0/mqdefault.jpg" }, { "id": 89, - "url": "https://www.youtube.com/watch?v=8reYmrLHFZY" + "videoId": "8reYmrLHFZY", + "url": "https://www.youtube.com/watch?v=8reYmrLHFZY", + "title": "MK - Burning (MK Original Extended Mix)", + "image": "https://i.ytimg.com/vi/8reYmrLHFZY/mqdefault.jpg" }, { "id": 90, - "url": "https://www.youtube.com/watch?v=LScKsSmqy5E" + "videoId": "LScKsSmqy5E", + "url": "https://www.youtube.com/watch?v=LScKsSmqy5E", + "title": "MIDI RAIN FIRE 0001", + "image": "https://i.ytimg.com/vi/LScKsSmqy5E/mqdefault.jpg" }, { "id": 91, - "url": "https://www.youtube.com/watch?v=fT91SXdm6_0" + "videoId": "fT91SXdm6_0", + "url": "https://www.youtube.com/watch?v=fT91SXdm6_0", + "title": "My Friend Sam Feat Viola Wills - Its My Pleasure (Extended M", + "image": "https://i.ytimg.com/vi/fT91SXdm6_0/mqdefault.jpg" }, { "id": 92, - "url": "https://www.youtube.com/watch?v=v8FLYLRV_I8" + "videoId": "v8FLYLRV_I8", + "url": "https://www.youtube.com/watch?v=v8FLYLRV_I8", + "title": "Nayobe - I Love The Way You Love Me (David Morales Nostalgic Club Mix)", + "image": "https://i.ytimg.com/vi/v8FLYLRV_I8/mqdefault.jpg" }, { "id": 93, - "url": "https://www.youtube.com/watch?v=5x5BeCjVYcM" + "videoId": "5x5BeCjVYcM", + "url": "https://www.youtube.com/watch?v=5x5BeCjVYcM", + "title": "Diapox \u2013 Negative (Venereus Mix)", + "image": "https://i.ytimg.com/vi/5x5BeCjVYcM/mqdefault.jpg" }, { "id": 94, - "url": "https://www.youtube.com/watch?v=56cj9w156Hs" + "videoId": "56cj9w156Hs", + "url": "https://www.youtube.com/watch?v=56cj9w156Hs", + "title": "Sixteen Souls - On My Mind (Original Mix)", + "image": "https://i.ytimg.com/vi/56cj9w156Hs/mqdefault.jpg" }, { "id": 95, - "url": "https://www.youtube.com/watch?v=nxw-HNdRPt0" + "videoId": "nxw-HNdRPt0", + "url": "https://www.youtube.com/watch?v=nxw-HNdRPt0", + "title": "This Side Up - Yaah", + "image": "https://i.ytimg.com/vi/nxw-HNdRPt0/mqdefault.jpg" }, { "id": 96, - "url": "https://www.youtube.com/watch?v=yJRtZWubtkw" + "videoId": "yJRtZWubtkw", + "url": "https://www.youtube.com/watch?v=yJRtZWubtkw", + "title": "IV01 Tokyo Black Star - Blade Dancer (Dixon Edit) - Psyche Dance EP", + "image": "https://i.ytimg.com/vi/yJRtZWubtkw/mqdefault.jpg" }, { "id": 97, - "url": "https://www.youtube.com/watch?v=tH79t9wRy9U" + "videoId": "tH79t9wRy9U", + "url": "https://www.youtube.com/watch?v=tH79t9wRy9U", + "title": "Yo!Bots - I Got It (Groove Mix) [RCA] 1991", + "image": "https://i.ytimg.com/vi/tH79t9wRy9U/mqdefault.jpg" }, { "id": 98, - "url": "https://www.youtube.com/watch?v=LEh7_zxe8kM" + "videoId": "LEh7_zxe8kM", + "url": "https://www.youtube.com/watch?v=LEh7_zxe8kM", + "title": "Z Formation \u200E\u2013 Hollow Cloud", + "image": "https://i.ytimg.com/vi/LEh7_zxe8kM/mqdefault.jpg" }, { "id": 99, - "url": "https://www.youtube.com/watch?v=2TaO6F-Eu3k" + "videoId": "2TaO6F-Eu3k", + "url": "https://www.youtube.com/watch?v=2TaO6F-Eu3k", + "title": "4th Measure Men - 4 You MK Remix 1993", + "image": "https://i.ytimg.com/vi/2TaO6F-Eu3k/mqdefault.jpg" }, { "id": 100, - "url": "https://www.youtube.com/watch?v=yKfbINyh6C8" + "videoId": "yKfbINyh6C8", + "url": "https://www.youtube.com/watch?v=yKfbINyh6C8", + "title": "Obsession \u200E\u2013 Got That Feeling (Dub Mix)", + "image": "https://i.ytimg.com/vi/yKfbINyh6C8/mqdefault.jpg" } ] diff --git a/src/App.tsx b/src/App.tsx index fd5bcf7..fd6623c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,3 +1,4 @@ +import { Typography } from "@material-ui/core"; import React from "react"; import "./App.css"; import TuneList from "./components/TuneList"; @@ -5,8 +6,14 @@ import TuneList from "./components/TuneList"; function App() { return (
-
100 Tunes
- + + 100 Tunes +
); diff --git a/src/components/TuneList.tsx b/src/components/TuneList.tsx index cc0a8cf..ad66f8f 100644 --- a/src/components/TuneList.tsx +++ b/src/components/TuneList.tsx @@ -1,14 +1,23 @@ +import { + Avatar, + Table, + TableBody, + TableCell, + TableHead, + TableRow, +} from "@material-ui/core"; import React, { useEffect, useState } from "react"; import Tune from "../models/tune"; +import TuneTitle from "./TuneTitle"; const MixList = () => { const [tunes, setTunes] = useState([]); useEffect(() => { const getData = async () => { try { - const mixes: Tune[] = await( + const mixes: Tune[] = await ( await fetch( - "https://raw.githubusercontent.com/fergalmoran/100-tunes/develop/public/data/tunes.json" + process.env.REACT_APP_DATA_URL || "data/tunes.json" ) ).json(); setTunes(mixes); @@ -21,10 +30,28 @@ const MixList = () => { return (
-

Here's a list of tunes

- {tunes.map((m) => ( -
Fart: {m.url}
- ))} + + + + Link + Title + Preview + + + + {tunes.map((row) => ( + + {row.url} + + + + + + + + ))} + +
); }; diff --git a/src/components/TuneTitle.tsx b/src/components/TuneTitle.tsx new file mode 100644 index 0000000..c56b189 --- /dev/null +++ b/src/components/TuneTitle.tsx @@ -0,0 +1,7 @@ +import React from "react"; + +const TuneTitle = (props: { url: string }) => { + return <>{props.url}; +}; + +export default TuneTitle; diff --git a/src/models/tune.ts b/src/models/tune.ts index b3bbe12..2b3a45d 100644 --- a/src/models/tune.ts +++ b/src/models/tune.ts @@ -1,6 +1,9 @@ interface Tune { id: number; + videoId: string; url: string; + title: string; + image: string; } export default Tune; diff --git a/tsconfig.json b/tsconfig.json index a273b0c..c0555cb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,26 +1,20 @@ { - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": [ - "src" - ] + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"] } diff --git a/yarn.lock b/yarn.lock index af9b546..cb007b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1085,7 +1085,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -1148,6 +1148,11 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + "@eslint/eslintrc@^0.2.1": version "0.2.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" @@ -1383,6 +1388,70 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" +"@material-ui/core@^4.11.2": + version "4.11.2" + resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.11.2.tgz#f8276dfa40d88304e6ceb98962af73803d27d42d" + integrity sha512-/D1+AQQeYX/WhT/FUk78UCRj8ch/RCglsQLYujYTIqPSJlwZHKcvHidNeVhODXeApojeXjkl0tWdk5C9ofwOkQ== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/styles" "^4.11.2" + "@material-ui/system" "^4.11.2" + "@material-ui/types" "^5.1.0" + "@material-ui/utils" "^4.11.2" + "@types/react-transition-group" "^4.2.0" + clsx "^1.0.4" + hoist-non-react-statics "^3.3.2" + popper.js "1.16.1-lts" + prop-types "^15.7.2" + react-is "^16.8.0 || ^17.0.0" + react-transition-group "^4.4.0" + +"@material-ui/styles@^4.11.2": + version "4.11.2" + resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.11.2.tgz#e70558be3f41719e8c0d63c7a3c9ae163fdc84cb" + integrity sha512-xbItf8zkfD3FuGoD9f2vlcyPf9jTEtj9YTJoNNV+NMWaSAHXgrW6geqRoo/IwBuMjqpwqsZhct13e2nUyU9Ljw== + dependencies: + "@babel/runtime" "^7.4.4" + "@emotion/hash" "^0.8.0" + "@material-ui/types" "^5.1.0" + "@material-ui/utils" "^4.11.2" + clsx "^1.0.4" + csstype "^2.5.2" + hoist-non-react-statics "^3.3.2" + jss "^10.0.3" + jss-plugin-camel-case "^10.0.3" + jss-plugin-default-unit "^10.0.3" + jss-plugin-global "^10.0.3" + jss-plugin-nested "^10.0.3" + jss-plugin-props-sort "^10.0.3" + jss-plugin-rule-value-function "^10.0.3" + jss-plugin-vendor-prefixer "^10.0.3" + prop-types "^15.7.2" + +"@material-ui/system@^4.11.2": + version "4.11.2" + resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.11.2.tgz#7f0a754bba3673ed5fdbfa02fe438096c104b1f6" + integrity sha512-BELFJEel5E+5DMiZb6XXT3peWRn6UixRvBtKwSxqntmD0+zwbbfCij6jtGwwdJhN1qX/aXrKu10zX31GBaeR7A== + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/utils" "^4.11.2" + csstype "^2.5.2" + prop-types "^15.7.2" + +"@material-ui/types@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@material-ui/types/-/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2" + integrity sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A== + +"@material-ui/utils@^4.11.2": + version "4.11.2" + resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.11.2.tgz#f1aefa7e7dff2ebcb97d31de51aecab1bb57540a" + integrity sha512-Uul8w38u+PICe2Fg2pDKCaIG7kOyhowZ9vjiC1FsVwPABTW8vPPKfF6OvxRq3IiBaI1faOJmgdvMG7rMJARBhA== + dependencies: + "@babel/runtime" "^7.4.4" + prop-types "^15.7.2" + react-is "^16.8.0 || ^17.0.0" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -1747,10 +1816,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.9.tgz#04afc9a25c6ff93da14deabd65dc44485b53c8d6" integrity sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw== -"@types/node@^12.0.0": - version "12.19.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.14.tgz#59e5029a3c2aea34f68b717955381692fd47cafb" - integrity sha512-2U9uLN46+7dv9PiS8VQJcHhuoOjiDPZOLAt0WuA1EanEknIMae+2QbMhayF7cgGqjvRVIfNpt+6jLPczJZFiRw== +"@types/node@^14.14.21": + version "14.14.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz#d934aacc22424fe9622ebf6857370c052eae464e" + integrity sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1784,6 +1853,21 @@ dependencies: "@types/react" "^16" +"@types/react-transition-group@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.0.tgz#882839db465df1320e4753e6e9f70ca7e9b4d46d" + integrity sha512-/QfLHGpu+2fQOqQaXh8MG9q03bFENooTb/it4jr5kKaZlDQfWvjqWZg48AwzPVMBHlRuTRAY7hRHCEOXz5kV6w== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.0.tgz#5af3eb7fad2807092f0046a1302b7823e27919b8" + integrity sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + "@types/react@^16", "@types/react@^16.9.53": version "16.14.2" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.2.tgz#85dcc0947d0645349923c04ccef6018a1ab7538c" @@ -3244,6 +3328,11 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clsx@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3693,6 +3782,14 @@ css-tree@^1.0.0: mdn-data "2.0.14" source-map "^0.6.1" +css-vendor@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" + integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ== + dependencies: + "@babel/runtime" "^7.8.3" + is-in-browser "^1.0.2" + css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" @@ -3834,6 +3931,11 @@ cssstyle@^2.2.0: dependencies: cssom "~0.3.6" +csstype@^2.5.2: + version "2.6.14" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.14.tgz#004822a4050345b55ad4dcc00be1d9cf2f4296de" + integrity sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A== + csstype@^3.0.2: version "3.0.6" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.6.tgz#865d0b5833d7d8d40f4e5b8a6d76aea3de4725ef" @@ -4102,6 +4204,14 @@ dom-converter@^0.2: dependencies: utila "~0.4" +dom-helpers@^5.0.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" + integrity sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -5475,6 +5585,13 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + hoopy@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" @@ -5655,6 +5772,11 @@ humanize-url@^1.0.0: normalize-url "^1.0.0" strip-url-auth "^1.0.0" +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -5752,6 +5874,13 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indefinite-observable@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/indefinite-observable/-/indefinite-observable-2.0.1.tgz#574af29bfbc17eb5947793797bddc94c9d859400" + integrity sha512-G8vgmork+6H9S8lUAg1gtXEj2JxIQTo0g2PbFiYOdjkziSI0F7UYBiVwhZRuixhBCNGczAls34+5HJPyZysvxQ== + dependencies: + symbol-observable "1.2.0" + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -6009,6 +6138,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-in-browser@^1.0.2, is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU= + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -6788,6 +6922,77 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +jss-plugin-camel-case@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.5.0.tgz#4b0a9c85e65e5eb72cbfba59373686c604d88f72" + integrity sha512-GSjPL0adGAkuoqeYiXTgO7PlIrmjv5v8lA6TTBdfxbNYpxADOdGKJgIEkffhlyuIZHlPuuiFYTwUreLUmSn7rg== + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.5.0" + +jss-plugin-default-unit@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.5.0.tgz#e9f2e89741b0118ba15d52b4c13bda2b27262373" + integrity sha512-rsbTtZGCMrbcb9beiDd+TwL991NGmsAgVYH0hATrYJtue9e+LH/Gn4yFD1ENwE+3JzF3A+rPnM2JuD9L/SIIWw== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.5.0" + +jss-plugin-global@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.5.0.tgz#eb357ccd35cb4894277fb2117a78d1e498668ad6" + integrity sha512-FZd9+JE/3D7HMefEG54fEC0XiQ9rhGtDHAT/ols24y8sKQ1D5KIw6OyXEmIdKFmACgxZV2ARQ5pAUypxkk2IFQ== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.5.0" + +jss-plugin-nested@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.5.0.tgz#790c506432a23a63c71ceb5044e2ac85f0958702" + integrity sha512-ejPlCLNlEGgx8jmMiDk/zarsCZk+DV0YqXfddpgzbO9Toamo0HweCFuwJ3ZO40UFOfqKwfpKMVH/3HUXgxkTMg== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.5.0" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.5.0.tgz#5bcc3bd8e68cd3e2dafb47d67db28fd5a4fcf102" + integrity sha512-kTLRvrOetFKz5vM88FAhLNeJIxfjhCepnvq65G7xsAQ/Wgy7HwO1BS/2wE5mx8iLaAWC6Rj5h16mhMk9sKdZxg== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.5.0" + +jss-plugin-rule-value-function@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.5.0.tgz#60ee8240dfe60418e1ba4729adee893cbe9be7a3" + integrity sha512-jXINGr8BSsB13JVuK274oEtk0LoooYSJqTBCGeBu2cG/VJ3+4FPs1gwLgsq24xTgKshtZ+WEQMVL34OprLidRA== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.5.0" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.5.0.tgz#01f04cfff31f43f153f5d71972f5800b10a2eb84" + integrity sha512-rux3gmfwDdOKCLDx0IQjTwTm03IfBa+Rm/hs747cOw5Q7O3RaTUIMPKjtVfc31Xr/XI9Abz2XEupk1/oMQ7zRA== + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.5.0" + +jss@10.5.0, jss@^10.0.3: + version "10.5.0" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.5.0.tgz#0c2de8a29874b2dc8162ab7f34ef6573a87d9dd3" + integrity sha512-B6151NvG+thUg3murLNHRPLxTLwQ13ep4SH5brj4d8qKtogOx/jupnpfkPGSHPqvcwKJaCLctpj2lEk+5yGwMw== + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + indefinite-observable "^2.0.1" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz#642f1d7b88aa6d7eb9d8f2210e166478444fa891" @@ -8046,6 +8251,11 @@ pnp-webpack-plugin@1.6.4: dependencies: ts-pnp "^1.1.6" +popper.js@1.16.1-lts: + version "1.16.1-lts" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05" + integrity sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA== + portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" @@ -8805,7 +9015,7 @@ prompts@2.4.0, prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.7.2: +prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -9015,12 +9225,12 @@ react-error-overlay@^6.0.8: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.8.tgz#474ed11d04fc6bda3af643447d85e9127ed6b5de" integrity sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw== -react-is@^16.8.1: +react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^17.0.1: +"react-is@^16.8.0 || ^17.0.0", react-is@^17.0.1: version "17.0.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== @@ -9096,6 +9306,16 @@ react-scripts@4.0.1: optionalDependencies: fsevents "^2.1.3" +react-transition-group@^4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" + integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@^17.0.1: version "17.0.1" resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" @@ -10354,6 +10574,11 @@ svgo@^1.0.0, svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" +symbol-observable@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -10500,6 +10725,11 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= +tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"