From f578c6a72b95cf1398447f353f279a66ec14461b Mon Sep 17 00:00:00 2001 From: Gamebrary Date: Tue, 12 Apr 2022 14:45:08 -0700 Subject: [PATCH] upgrade vue2 to latest --- .babelrc | 20 - .editorconfig | 8 +- .eslintignore | 5 - .eslintrc.js | 81 - .gitignore | 12 + .postcssrc.js | 10 - README.md | 21 +- babel.config.js | 5 + build/build.js | 41 - build/check-versions.js | 54 - build/load-minified.js | 11 - build/logo.png | Bin 6849 -> 0 bytes build/service-worker-dev.js | 17 - build/service-worker-prod.js | 55 - build/translate.js | 26 - build/utils.js | 101 - build/vue-loader.conf.js | 22 - build/webpack.base.conf.js | 93 - build/webpack.dev.conf.js | 94 - build/webpack.dev.local.conf.js | 94 - build/webpack.prod.conf.js | 161 - build/webpack.test.conf.js | 32 - config/dev.env.js | 7 - config/dev.local.env.js | 7 - config/index.js | 76 - config/prod.env.js | 4 - config/test.env.js | 7 - cypress.json | 3 + firebase.json | 10 +- .../firebase => firebase}/database.rules.json | 0 .../firestore.indexes.json | 0 {config/firebase => firebase}/firestore.rules | 0 {config/firebase => firebase}/storage.rules | 0 index.html | 49 - jsconfig.json | 19 + package.json | 149 +- public/favicon.ico | Bin 0 -> 4286 bytes {static => public}/gamebrary-logo-dark.png | Bin {static => public}/gamebrary-logo.png | Bin .../icons/android-chrome-192x192.png | Bin .../icons/android-chrome-512x512.png | Bin .../icons/android-icon-144x144.png | Bin .../icons/android-icon-192x192.png | Bin .../icons/android-icon-36x36.png | Bin .../icons/android-icon-48x48.png | Bin .../icons/android-icon-72x72.png | Bin .../icons/android-icon-96x96.png | Bin .../icons/apple-icon-114x114.png | Bin .../icons/apple-icon-120x120.png | Bin .../icons/apple-icon-144x144.png | Bin .../icons/apple-icon-152x152.png | Bin .../icons/apple-icon-180x180.png | Bin {static => public}/icons/apple-icon-57x57.png | Bin {static => public}/icons/apple-icon-60x60.png | Bin {static => public}/icons/apple-icon-72x72.png | Bin {static => public}/icons/apple-icon-76x76.png | Bin .../icons/apple-icon-precomposed.png | Bin {static => public}/icons/apple-icon.png | Bin {static => public}/icons/apple-touch-icon.png | Bin {static => public}/icons/browserconfig.xml | 0 {static => public}/icons/favicon-16x16.png | Bin {static => public}/icons/favicon-32x32.png | Bin {static => public}/icons/favicon-96x96.png | Bin {static => public}/icons/favicon.ico | Bin {static => public}/icons/icon-144x144.png | Bin {static => public}/icons/manifest.json | 0 {static => public}/icons/ms-icon-144x144.png | Bin {static => public}/icons/ms-icon-150x150.png | Bin {static => public}/icons/ms-icon-310x310.png | Bin {static => public}/icons/ms-icon-70x70.png | Bin {static => public}/icons/mstile-150x150.png | Bin {static => public}/icons/site.webmanifest | 0 {static => public}/img/age-ratings/12.png | Bin {static => public}/img/age-ratings/16.png | Bin {static => public}/img/age-ratings/18.png | Bin {static => public}/img/age-ratings/3.png | Bin {static => public}/img/age-ratings/7.png | Bin {static => public}/img/age-ratings/AO.png | Bin {static => public}/img/age-ratings/CERO_A.svg | 0 .../img/age-ratings/ClassInd-10.png | Bin .../img/age-ratings/ClassInd-12.png | Bin .../img/age-ratings/ClassInd-14.png | Bin .../img/age-ratings/ClassInd-16.png | Bin .../img/age-ratings/ClassInd-18.png | Bin .../img/age-ratings/ClassInd-L.png | Bin {static => public}/img/age-ratings/E.png | Bin {static => public}/img/age-ratings/E10.png | Bin {static => public}/img/age-ratings/EC.png | Bin .../img/age-ratings/GRAC_ALL.svg | 0 .../img/age-ratings/GRAC_Twelve.svg | 0 {static => public}/img/age-ratings/GRB_15.svg | 0 {static => public}/img/age-ratings/GRB_18.svg | 0 .../img/age-ratings/GRB_Test.svg | 0 {static => public}/img/age-ratings/M.png | Bin {static => public}/img/age-ratings/RP.png | Bin {static => public}/img/age-ratings/T.png | Bin {static => public}/img/age-ratings/USK_0.svg | 0 {static => public}/img/age-ratings/USK_12.svg | 0 {static => public}/img/age-ratings/USK_16.svg | 0 {static => public}/img/age-ratings/USK_18.svg | 0 {static => public}/img/age-ratings/USK_6.svg | 0 {static => public}/img/country-flags/ac.svg | 0 {static => public}/img/country-flags/ad.svg | 0 {static => public}/img/country-flags/ae.svg | 0 {static => public}/img/country-flags/af.svg | 0 {static => public}/img/country-flags/ag.svg | 0 {static => public}/img/country-flags/ai.svg | 0 {static => public}/img/country-flags/al.svg | 0 {static => public}/img/country-flags/am.svg | 0 {static => public}/img/country-flags/ao.svg | 0 {static => public}/img/country-flags/aq.svg | 0 {static => public}/img/country-flags/ar.svg | 0 {static => public}/img/country-flags/as.svg | 0 {static => public}/img/country-flags/at.svg | 0 {static => public}/img/country-flags/au.svg | 0 {static => public}/img/country-flags/aw.svg | 0 {static => public}/img/country-flags/ax.svg | 0 {static => public}/img/country-flags/az.svg | 0 {static => public}/img/country-flags/ba.svg | 0 {static => public}/img/country-flags/bb.svg | 0 {static => public}/img/country-flags/bd.svg | 0 {static => public}/img/country-flags/be.svg | 0 {static => public}/img/country-flags/bf.svg | 0 {static => public}/img/country-flags/bg.svg | 0 {static => public}/img/country-flags/bh.svg | 0 {static => public}/img/country-flags/bi.svg | 0 {static => public}/img/country-flags/bj.svg | 0 {static => public}/img/country-flags/bl.svg | 0 {static => public}/img/country-flags/bm.svg | 0 {static => public}/img/country-flags/bn.svg | 0 {static => public}/img/country-flags/bo.svg | 0 {static => public}/img/country-flags/bq.svg | 0 {static => public}/img/country-flags/br.svg | 0 {static => public}/img/country-flags/bs.svg | 0 {static => public}/img/country-flags/bt.svg | 0 {static => public}/img/country-flags/bv.svg | 0 {static => public}/img/country-flags/bw.svg | 0 {static => public}/img/country-flags/by.svg | 0 {static => public}/img/country-flags/bz.svg | 0 {static => public}/img/country-flags/ca.svg | 0 {static => public}/img/country-flags/cc.svg | 0 {static => public}/img/country-flags/cd.svg | 0 {static => public}/img/country-flags/cf.svg | 0 {static => public}/img/country-flags/cg.svg | 0 {static => public}/img/country-flags/ch.svg | 0 {static => public}/img/country-flags/ci.svg | 0 {static => public}/img/country-flags/ck.svg | 0 {static => public}/img/country-flags/cl.svg | 0 {static => public}/img/country-flags/cm.svg | 0 {static => public}/img/country-flags/cn.svg | 0 {static => public}/img/country-flags/co.svg | 0 {static => public}/img/country-flags/cp.svg | 0 {static => public}/img/country-flags/cr.svg | 0 {static => public}/img/country-flags/cu.svg | 0 {static => public}/img/country-flags/cv.svg | 0 {static => public}/img/country-flags/cw.svg | 0 {static => public}/img/country-flags/cx.svg | 0 {static => public}/img/country-flags/cy.svg | 0 {static => public}/img/country-flags/cz.svg | 0 {static => public}/img/country-flags/de.svg | 0 {static => public}/img/country-flags/dg.svg | 0 {static => public}/img/country-flags/dj.svg | 0 {static => public}/img/country-flags/dk.svg | 0 {static => public}/img/country-flags/dm.svg | 0 {static => public}/img/country-flags/do.svg | 0 {static => public}/img/country-flags/dz.svg | 0 {static => public}/img/country-flags/ea.svg | 0 {static => public}/img/country-flags/ec.svg | 0 {static => public}/img/country-flags/ee.svg | 0 {static => public}/img/country-flags/eg.svg | 0 {static => public}/img/country-flags/eh.svg | 0 {static => public}/img/country-flags/er.svg | 0 .../img/country-flags/es-ct.svg | 0 .../img/country-flags/es-ga.svg | 0 {static => public}/img/country-flags/es.svg | 0 {static => public}/img/country-flags/et.svg | 0 {static => public}/img/country-flags/eu.svg | 0 {static => public}/img/country-flags/fi.svg | 0 {static => public}/img/country-flags/fj.svg | 0 {static => public}/img/country-flags/fk.svg | 0 {static => public}/img/country-flags/fm.svg | 0 {static => public}/img/country-flags/fo.svg | 0 {static => public}/img/country-flags/fr.svg | 0 {static => public}/img/country-flags/ga.svg | 0 .../img/country-flags/gb-eng.svg | 0 .../img/country-flags/gb-nir.svg | 0 .../img/country-flags/gb-sct.svg | 0 .../img/country-flags/gb-wls.svg | 0 {static => public}/img/country-flags/gb.svg | 0 {static => public}/img/country-flags/gd.svg | 0 {static => public}/img/country-flags/ge.svg | 0 {static => public}/img/country-flags/gf.svg | 0 {static => public}/img/country-flags/gg.svg | 0 {static => public}/img/country-flags/gh.svg | 0 {static => public}/img/country-flags/gi.svg | 0 {static => public}/img/country-flags/gl.svg | 0 {static => public}/img/country-flags/gm.svg | 0 {static => public}/img/country-flags/gn.svg | 0 {static => public}/img/country-flags/gp.svg | 0 {static => public}/img/country-flags/gq.svg | 0 {static => public}/img/country-flags/gr.svg | 0 {static => public}/img/country-flags/gs.svg | 0 {static => public}/img/country-flags/gt.svg | 0 {static => public}/img/country-flags/gu.svg | 0 {static => public}/img/country-flags/gw.svg | 0 {static => public}/img/country-flags/gy.svg | 0 {static => public}/img/country-flags/hk.svg | 0 {static => public}/img/country-flags/hm.svg | 0 {static => public}/img/country-flags/hn.svg | 0 {static => public}/img/country-flags/hr.svg | 0 {static => public}/img/country-flags/ht.svg | 0 {static => public}/img/country-flags/hu.svg | 0 {static => public}/img/country-flags/ic.svg | 0 {static => public}/img/country-flags/id.svg | 0 {static => public}/img/country-flags/ie.svg | 0 {static => public}/img/country-flags/il.svg | 0 {static => public}/img/country-flags/im.svg | 0 {static => public}/img/country-flags/in.svg | 0 {static => public}/img/country-flags/io.svg | 0 {static => public}/img/country-flags/iq.svg | 0 {static => public}/img/country-flags/ir.svg | 0 {static => public}/img/country-flags/is.svg | 0 {static => public}/img/country-flags/it.svg | 0 {static => public}/img/country-flags/je.svg | 0 {static => public}/img/country-flags/jm.svg | 0 {static => public}/img/country-flags/jo.svg | 0 {static => public}/img/country-flags/jp.svg | 0 {static => public}/img/country-flags/ke.svg | 0 {static => public}/img/country-flags/kg.svg | 0 {static => public}/img/country-flags/kh.svg | 0 {static => public}/img/country-flags/ki.svg | 0 {static => public}/img/country-flags/km.svg | 0 {static => public}/img/country-flags/kn.svg | 0 {static => public}/img/country-flags/kp.svg | 0 {static => public}/img/country-flags/kr.svg | 0 {static => public}/img/country-flags/kw.svg | 0 {static => public}/img/country-flags/ky.svg | 0 {static => public}/img/country-flags/kz.svg | 0 {static => public}/img/country-flags/la.svg | 0 {static => public}/img/country-flags/lb.svg | 0 {static => public}/img/country-flags/lc.svg | 0 {static => public}/img/country-flags/li.svg | 0 {static => public}/img/country-flags/lk.svg | 0 {static => public}/img/country-flags/lr.svg | 0 {static => public}/img/country-flags/ls.svg | 0 {static => public}/img/country-flags/lt.svg | 0 {static => public}/img/country-flags/lu.svg | 0 {static => public}/img/country-flags/lv.svg | 0 {static => public}/img/country-flags/ly.svg | 0 {static => public}/img/country-flags/ma.svg | 0 {static => public}/img/country-flags/mc.svg | 0 {static => public}/img/country-flags/md.svg | 0 {static => public}/img/country-flags/me.svg | 0 {static => public}/img/country-flags/mf.svg | 0 {static => public}/img/country-flags/mg.svg | 0 {static => public}/img/country-flags/mh.svg | 0 {static => public}/img/country-flags/mk.svg | 0 {static => public}/img/country-flags/ml.svg | 0 {static => public}/img/country-flags/mm.svg | 0 {static => public}/img/country-flags/mn.svg | 0 {static => public}/img/country-flags/mo.svg | 0 {static => public}/img/country-flags/mp.svg | 0 {static => public}/img/country-flags/mq.svg | 0 {static => public}/img/country-flags/mr.svg | 0 {static => public}/img/country-flags/ms.svg | 0 {static => public}/img/country-flags/mt.svg | 0 {static => public}/img/country-flags/mu.svg | 0 {static => public}/img/country-flags/mv.svg | 0 {static => public}/img/country-flags/mw.svg | 0 {static => public}/img/country-flags/mx.svg | 0 {static => public}/img/country-flags/my.svg | 0 {static => public}/img/country-flags/mz.svg | 0 {static => public}/img/country-flags/na.svg | 0 {static => public}/img/country-flags/nc.svg | 0 {static => public}/img/country-flags/ne.svg | 0 {static => public}/img/country-flags/nf.svg | 0 {static => public}/img/country-flags/ng.svg | 0 {static => public}/img/country-flags/ni.svg | 0 {static => public}/img/country-flags/nl.svg | 0 {static => public}/img/country-flags/no.svg | 0 {static => public}/img/country-flags/np.svg | 0 {static => public}/img/country-flags/nr.svg | 0 {static => public}/img/country-flags/nu.svg | 0 {static => public}/img/country-flags/nz.svg | 0 {static => public}/img/country-flags/om.svg | 0 {static => public}/img/country-flags/pa.svg | 0 {static => public}/img/country-flags/pe.svg | 0 {static => public}/img/country-flags/pf.svg | 0 {static => public}/img/country-flags/pg.svg | 0 {static => public}/img/country-flags/ph.svg | 0 {static => public}/img/country-flags/pk.svg | 0 {static => public}/img/country-flags/pl.svg | 0 {static => public}/img/country-flags/pm.svg | 0 {static => public}/img/country-flags/pn.svg | 0 {static => public}/img/country-flags/pr.svg | 0 {static => public}/img/country-flags/ps.svg | 0 {static => public}/img/country-flags/pt.svg | 0 {static => public}/img/country-flags/pw.svg | 0 {static => public}/img/country-flags/py.svg | 0 {static => public}/img/country-flags/qa.svg | 0 {static => public}/img/country-flags/re.svg | 0 {static => public}/img/country-flags/ro.svg | 0 {static => public}/img/country-flags/rs.svg | 0 {static => public}/img/country-flags/ru.svg | 0 {static => public}/img/country-flags/rw.svg | 0 {static => public}/img/country-flags/sa.svg | 0 {static => public}/img/country-flags/sb.svg | 0 {static => public}/img/country-flags/sc.svg | 0 {static => public}/img/country-flags/sd.svg | 0 {static => public}/img/country-flags/se.svg | 0 {static => public}/img/country-flags/sg.svg | 0 {static => public}/img/country-flags/sh.svg | 0 {static => public}/img/country-flags/si.svg | 0 {static => public}/img/country-flags/sj.svg | 0 {static => public}/img/country-flags/sk.svg | 0 {static => public}/img/country-flags/sl.svg | 0 {static => public}/img/country-flags/sm.svg | 0 {static => public}/img/country-flags/sn.svg | 0 {static => public}/img/country-flags/so.svg | 0 {static => public}/img/country-flags/sr.svg | 0 {static => public}/img/country-flags/ss.svg | 0 {static => public}/img/country-flags/st.svg | 0 {static => public}/img/country-flags/sv.svg | 0 {static => public}/img/country-flags/sx.svg | 0 {static => public}/img/country-flags/sy.svg | 0 {static => public}/img/country-flags/sz.svg | 0 {static => public}/img/country-flags/ta.svg | 0 {static => public}/img/country-flags/tc.svg | 0 {static => public}/img/country-flags/td.svg | 0 {static => public}/img/country-flags/tf.svg | 0 {static => public}/img/country-flags/tg.svg | 0 {static => public}/img/country-flags/th.svg | 0 {static => public}/img/country-flags/tj.svg | 0 {static => public}/img/country-flags/tk.svg | 0 {static => public}/img/country-flags/tl.svg | 0 {static => public}/img/country-flags/tm.svg | 0 {static => public}/img/country-flags/tn.svg | 0 {static => public}/img/country-flags/to.svg | 0 {static => public}/img/country-flags/tr.svg | 0 {static => public}/img/country-flags/tt.svg | 0 {static => public}/img/country-flags/tv.svg | 0 {static => public}/img/country-flags/tw.svg | 0 {static => public}/img/country-flags/tz.svg | 0 {static => public}/img/country-flags/ua.svg | 0 {static => public}/img/country-flags/ug.svg | 0 {static => public}/img/country-flags/um.svg | 0 {static => public}/img/country-flags/un.svg | 0 {static => public}/img/country-flags/us.svg | 0 {static => public}/img/country-flags/uy.svg | 0 {static => public}/img/country-flags/uz.svg | 0 {static => public}/img/country-flags/va.svg | 0 {static => public}/img/country-flags/vc.svg | 0 {static => public}/img/country-flags/ve.svg | 0 {static => public}/img/country-flags/vg.svg | 0 {static => public}/img/country-flags/vi.svg | 0 {static => public}/img/country-flags/vn.svg | 0 {static => public}/img/country-flags/vu.svg | 0 {static => public}/img/country-flags/wf.svg | 0 {static => public}/img/country-flags/ws.svg | 0 {static => public}/img/country-flags/xk.svg | 0 {static => public}/img/country-flags/xx.svg | 0 {static => public}/img/country-flags/ye.svg | 0 {static => public}/img/country-flags/yt.svg | 0 {static => public}/img/country-flags/za.svg | 0 {static => public}/img/country-flags/zm.svg | 0 {static => public}/img/country-flags/zw.svg | 0 public/img/icons/android-chrome-192x192.png | Bin 0 -> 9416 bytes public/img/icons/android-chrome-512x512.png | Bin 0 -> 29808 bytes .../icons/android-chrome-maskable-192x192.png | Bin 0 -> 6401 bytes .../icons/android-chrome-maskable-512x512.png | Bin 0 -> 23038 bytes public/img/icons/apple-touch-icon-120x120.png | Bin 0 -> 3369 bytes public/img/icons/apple-touch-icon-152x152.png | Bin 0 -> 4046 bytes public/img/icons/apple-touch-icon-180x180.png | Bin 0 -> 4678 bytes public/img/icons/apple-touch-icon-60x60.png | Bin 0 -> 1491 bytes public/img/icons/apple-touch-icon-76x76.png | Bin 0 -> 1823 bytes public/img/icons/apple-touch-icon.png | Bin 0 -> 4678 bytes public/img/icons/favicon-16x16.png | Bin 0 -> 799 bytes public/img/icons/favicon-32x32.png | Bin 0 -> 1271 bytes .../img/icons/msapplication-icon-144x144.png | Bin 0 -> 1169 bytes public/img/icons/mstile-150x150.png | Bin 0 -> 4282 bytes public/img/icons/safari-pinned-tab.svg | 3 + {static => public}/img/igdb-logo.png | Bin {static => public}/img/notepad-ruler.png | Bin {static => public}/img/screenshot-1.jpg | Bin {static => public}/img/screenshot.png | Bin public/index.html | 37 + {static => public}/logo.png | Bin .../logos/companies/android.svg | 0 .../logos/companies/discord.svg | 0 .../logos/companies/epicgames.svg | 0 .../logos/companies/facebook.svg | 0 {static => public}/logos/companies/fandom.svg | 0 {static => public}/logos/companies/github.svg | 0 {static => public}/logos/companies/gog.svg | 0 {static => public}/logos/companies/google.svg | 0 .../logos/companies/instagram.svg | 0 {static => public}/logos/companies/ipad.svg | 0 {static => public}/logos/companies/iphone.svg | 0 {static => public}/logos/companies/itch.svg | 0 .../logos/companies/microsoft.svg | 0 {static => public}/logos/companies/reddit.svg | 0 {static => public}/logos/companies/steam.svg | 0 {static => public}/logos/companies/twitch.svg | 0 .../logos/companies/twitter.svg | 0 .../logos/companies/wikipedia.svg | 0 .../logos/companies/youtube.svg | 0 {static => public}/logos/news-sources/rps.svg | 0 .../logos/platforms-new/3do.png | Bin .../logos/platforms-new/action-max.png | Bin .../logos/platforms-new/amiga-cd-32.png | Bin .../logos/platforms-new/arcadia-2001.png | Bin .../logos/platforms-new/astrocade.png | Bin .../logos/platforms-new/atari-2600.png | Bin .../logos/platforms-new/atari-5200.png | Bin .../logos/platforms-new/atari-7800.png | Bin .../logos/platforms-new/atari-xe.png | Bin .../logos/platforms-new/beena.png | Bin .../logos/platforms-new/cassette-vision.png | Bin .../logos/platforms-new/cd-i.png | Bin .../logos/platforms-new/channel-f.png | Bin .../logos/platforms-new/coleco-vision.png | Bin .../logos/platforms-new/commodore-cdtv.png | Bin .../logos/platforms-new/commodore64.png | Bin .../logos/platforms-new/consoles-1.jpg | Bin .../logos/platforms-new/cps-changer.png | Bin .../logos/platforms-new/creativision.png | Bin .../logos/platforms-new/dreamcast.png | Bin .../logos/platforms-new/family-computer.png | Bin .../logos/platforms-new/fm-towns-marty.png | Bin .../logos/platforms-new/game-wave.png | Bin .../logos/platforms-new/gamecube.png | Bin .../logos/platforms-new/genesis-32x.png | Bin .../logos/platforms-new/genesis.png | Bin .../logos/platforms-new/gx4000.png | Bin .../logos/platforms-new/halcyon.png | Bin .../logos/platforms-new/hyper-scan.png | Bin .../platforms-new/imagination-machine.png | Bin .../logos/platforms-new/intellivision.png | Bin .../platforms-new/interactive-vision.png | Bin .../logos/platforms-new/ique.png | Bin .../logos/platforms-new/jaguar-cd.png | Bin .../logos/platforms-new/jaguar.png | Bin .../logos/platforms-new/konix.png | Bin .../logos/platforms-new/laser-active.png | Bin .../logos/platforms-new/leisure-vision.png | Bin .../logos/platforms-new/loopy.png | Bin .../logos/platforms-new/mac.png | Bin .../logos/platforms-new/mark-iii.png | Bin .../logos/platforms-new/mega-cd-ii.png | Bin .../logos/platforms-new/mega-cd.png | Bin .../logos/platforms-new/mega-drive.png | Bin .../logos/platforms-new/mega-ld.png | Bin .../logos/platforms-new/mp1000.png | Bin .../logos/platforms-new/my-vision.png | Bin .../logos/platforms-new/neo-geo-cd.png | Bin .../logos/platforms-new/neo-geo.png | Bin .../logos/platforms-new/nes.png | Bin .../logos/platforms-new/nintendo-64-dd.png | Bin .../logos/platforms-new/nintendo-64.png | Bin .../logos/platforms-new/nsw.png | Bin .../logos/platforms-new/nuon.png | Bin .../logos/platforms-new/odyssey2.png | Bin .../logos/platforms-new/pc-engine.png | Bin .../logos/platforms-new/pc-fx.png | Bin .../logos/platforms-new/picno.png | Bin .../logos/platforms-new/pico.png | Bin .../logos/platforms-new/pippin.png | Bin .../logos/platforms-new/playdia.png | Bin .../logos/platforms-new/playstation.png | Bin .../logos/platforms-new/ps-2.png | Bin .../logos/platforms-new/ps3.png | Bin .../logos/platforms-new/ps4.png | Bin .../logos/platforms-new/ps5.png | Bin .../logos/platforms-new/pv-1000.png | Bin .../logos/platforms-new/rca-studio-ii.png | Bin .../logos/platforms-new/satellaview.png | Bin .../logos/platforms-new/sega-cd.png | Bin .../platforms-new/sega-master-system.png | Bin .../logos/platforms-new/sega-saturn.png | Bin .../logos/platforms-new/sg-1000.png | Bin .../logos/platforms-new/socrates.png | Bin .../logos/platforms-new/stadia.png | Bin .../logos/platforms-new/super-acan.png | Bin .../platforms-new/super-cassette-vision.png | Bin .../logos/platforms-new/super-cd-rom.png | Bin .../logos/platforms-new/super-famicom.png | Bin .../logos/platforms-new/super-grafx.png | Bin .../logos/platforms-new/super-nintendo.png | Bin .../logos/platforms-new/super-vision-8000.png | Bin .../logos/platforms-new/turbo-grafx-16.png | Bin .../logos/platforms-new/tutor.png | Bin .../logos/platforms-new/tv-boy.png | Bin .../logos/platforms-new/ultravision.png | Bin .../logos/platforms-new/v-flash.png | Bin .../logos/platforms-new/v-smile.png | Bin .../logos/platforms-new/vc4000.png | Bin .../logos/platforms-new/vectrex.png | Bin .../logos/platforms-new/video-art.png | Bin .../logos/platforms-new/video-challenger.png | Bin .../logos/platforms-new/video-driver.png | Bin .../logos/platforms-new/videopac.png | Bin .../logos/platforms-new/vis.png | Bin .../logos/platforms-new/wii-u.png | Bin .../logos/platforms-new/wii.png | Bin .../logos/platforms-new/windows.png | Bin .../logos/platforms-new/xavix.png | Bin .../logos/platforms-new/xbox-360.png | Bin .../logos/platforms-new/xbox-one.png | Bin .../logos/platforms-new/xbox.png | Bin .../logos/platforms-new/xboxsx.png | Bin .../logos/platforms-new/zeebo.png | Bin .../logos/platforms-new/zemina.png | Bin .../logos/platforms/3do-alt.svg | 0 {static => public}/logos/platforms/3do.svg | 0 {static => public}/logos/platforms/3ds.svg | 0 {static => public}/logos/platforms/acpc.svg | 0 .../logos/platforms/amazon-fire-tv.png | Bin .../logos/platforms/amiga-cd32.svg | 0 {static => public}/logos/platforms/amiga.svg | 0 .../logos/platforms/android.svg | 0 .../logos/platforms/appleii.svg | 0 .../logos/platforms/atari-st.svg | 0 .../logos/platforms/atari2600.svg | 0 .../logos/platforms/atari5200.svg | 0 .../logos/platforms/atari7800.svg | 0 .../logos/platforms/atari8bit.svg | 0 .../logos/platforms/atary-5200.svg | 0 .../logos/platforms/c-plus-4.svg | 0 {static => public}/logos/platforms/c16.svg | 0 {static => public}/logos/platforms/c64.svg | 0 .../logos/platforms/casio-loopy.png | Bin .../logos/platforms/colecovision.svg | 0 .../logos/platforms/commodore.svg | 0 {static => public}/logos/platforms/cpet.svg | 0 .../logos/platforms/daydream.png | Bin {static => public}/logos/platforms/dc.svg | 0 {static => public}/logos/platforms/dos.svg | 0 .../logos/platforms/evercade.svg | 0 .../logos/platforms/famicom.svg | 0 {static => public}/logos/platforms/fds.png | Bin .../logos/platforms/game-and-watch.svg | 0 .../logos/platforms/gamegear.svg | 0 {static => public}/logos/platforms/gb.svg | 0 {static => public}/logos/platforms/gba.svg | 0 {static => public}/logos/platforms/gbc.svg | 0 .../logos/platforms/intellivision.svg | 0 {static => public}/logos/platforms/ios.svg | 0 {static => public}/logos/platforms/jaguar.svg | 0 {static => public}/logos/platforms/linux.svg | 0 {static => public}/logos/platforms/lynx.svg | 0 {static => public}/logos/platforms/mac.svg | 0 {static => public}/logos/platforms/msx.svg | 0 {static => public}/logos/platforms/msx2.svg | 0 {static => public}/logos/platforms/n64.svg | 0 {static => public}/logos/platforms/nds.svg | 0 .../logos/platforms/neo-geo-cd.svg | 0 .../logos/platforms/neo-geo-pocket-color.svg | 0 .../logos/platforms/neo-geo-pocket.svg | 0 .../logos/platforms/neogeoaes.svg | 0 .../logos/platforms/neogeomvs.svg | 0 {static => public}/logos/platforms/nes.svg | 0 .../logos/platforms/new-nintendo-3ds.svg | 0 {static => public}/logos/platforms/ngage.svg | 0 {static => public}/logos/platforms/ngc.svg | 0 .../logos/platforms/nintendo-64.svg | 0 .../logos/platforms/nintendo-dsi.svg | 0 .../logos/platforms/nintendo-eshop.png | Bin .../logos/platforms/nintendo-switch-alt.svg | 0 .../logos/platforms/oculus-vr.svg | 0 .../logos/platforms/odyssey--1.svg | 0 {static => public}/logos/platforms/ouya.svg | 0 .../logos/platforms/pc-engine.svg | 0 .../logos/platforms/philips-cd-i.svg | 0 .../logos/platforms/playstation-5.svg | 0 .../logos/platforms/playstation-vr.png | Bin .../logos/platforms/pokemon-mini.svg | 0 {static => public}/logos/platforms/ps.svg | 0 {static => public}/logos/platforms/ps2.svg | 0 {static => public}/logos/platforms/ps3.svg | 0 {static => public}/logos/platforms/ps4--1.svg | 0 {static => public}/logos/platforms/ps5.svg | 0 {static => public}/logos/platforms/psn.png | Bin {static => public}/logos/platforms/psp.svg | 0 {static => public}/logos/platforms/psvita.svg | 0 .../logos/platforms/satellaview.svg | 0 {static => public}/logos/platforms/saturn.svg | 0 .../logos/platforms/sega-genesis.svg | 0 {static => public}/logos/platforms/sega32.svg | 0 {static => public}/logos/platforms/segacd.svg | 0 .../logos/platforms/series-x.svg | 0 {static => public}/logos/platforms/sfam.svg | 0 {static => public}/logos/platforms/sg1000.svg | 0 {static => public}/logos/platforms/smd.svg | 0 {static => public}/logos/platforms/sms.svg | 0 .../logos/platforms/snes--1.svg | 0 {static => public}/logos/platforms/stadia.svg | 0 .../logos/platforms/steam--1.svg | 0 .../logos/platforms/steam-vr.png | Bin .../logos/platforms/supergrafx.svg | 0 .../logos/platforms/swancrystal.png | Bin {static => public}/logos/platforms/switch.svg | 0 .../turbografx-16-slash-pc-engine-cd.png | Bin .../logos/platforms/turbografx16--1.svg | 0 {static => public}/logos/platforms/vc.png | Bin .../logos/platforms/vectrex.svg | 0 {static => public}/logos/platforms/vic-20.svg | 0 .../logos/platforms/virtualboy.svg | 0 {static => public}/logos/platforms/wii.svg | 0 {static => public}/logos/platforms/wiiu.svg | 0 .../logos/platforms/wiiware.svg | 0 {static => public}/logos/platforms/win.svg | 0 .../logos/platforms/windows-mixed-reality.png | Bin .../logos/platforms/wonderswan-color.png | Bin .../logos/platforms/wonderswan.svg | 0 {static => public}/logos/platforms/x1.svg | 0 {static => public}/logos/platforms/xbox.svg | 0 .../logos/platforms/xbox360.svg | 0 .../logos/platforms/xboxone.svg | 0 {static => public}/logos/platforms/xla.png | Bin {static => public}/logos/platforms/zxs.svg | 0 .../logos/rating-systems/CERO.png | Bin .../logos/rating-systems/USK.svg | 0 .../logos/rating-systems/acb.png | Bin .../logos/rating-systems/classind.png | Bin .../logos/rating-systems/esrb.svg | 0 .../logos/rating-systems/grac.svg | 0 .../logos/rating-systems/pegi.svg | 0 {static => public}/no-image.jpg | Bin public/robots.txt | 2 + src/App.vue | 8 +- src/components/AuthModal.vue | 4 +- src/components/Board/MiniBoard.vue | 5 +- src/components/EmptyState.vue | 5 +- src/components/Game/GameAlternativeTitles.vue | 2 +- src/components/Game/GameModal.vue | 6 +- src/components/Game/GameNotes.vue | 10 +- src/components/Game/GameRating.vue | 2 +- src/components/Game/GameSidebar.vue | 22 +- src/components/Game/GameWebsites.vue | 2 +- src/components/Game/SimilarGames.vue | 6 +- src/components/{Boards.vue => GameBoards.vue} | 8 - src/components/GameCards/GameCardCompact.vue | 5 +- src/components/GameCards/GameCardGrid.vue | 5 +- src/components/GameCards/GameCardText.vue | 5 +- src/components/{Game.vue => GameDetail.vue} | 8 +- src/components/{Note.vue => GameNote.vue} | 8 +- .../Lists/{List.vue => GameList.vue} | 6 +- src/components/{Dock.vue => PageDock.vue} | 2 +- src/components/PageHeader.vue | 4 +- src/components/PublicDock.vue | 2 +- .../{Profile.vue => PublicProfile.vue} | 0 src/components/Shared/HomeButton.vue | 2 +- src/components/Tags/TagsList.vue | 2 +- {static => src}/email-templates/welcome.html | 2 +- src/main.js | 8 +- src/mixins/gameCardMixin.js | 2 +- src/pages/AboutPage.vue | 8 +- src/pages/BoardPage.vue | 6 +- src/pages/DashboardPage.vue | 6 +- src/pages/GameNotesPage.vue | 6 +- src/pages/GamePage.vue | 6 +- src/pages/GeneralSettingsPage.vue | 4 +- src/pages/HomePage.vue | 4 +- src/pages/NotesPage.vue | 8 +- src/pages/ProfilePage.vue | 6 +- src/pages/ReleasesPage.vue | 6 +- src/pages/SettingsPage.vue | 16 +- src/pages/game/GameMediaPage.vue | 4 +- src/registerServiceWorker.js | 32 + src/router.js | 6 +- src/routes.js | 3 + src/store/getters.js | 2 +- static/.gitkeep | 0 static/manifest.json | 54 - test/unit/.eslintrc | 9 - test/unit/index.js | 13 - test/unit/karma.conf.js | 33 - test/unit/specs/HelloWorld.spec.js | 12 - tests/e2e/.eslintrc.js | 12 + tests/e2e/plugins/index.js | 26 + tests/e2e/specs/test.js | 8 + tests/e2e/support/commands.js | 25 + tests/e2e/support/index.js | 20 + tests/unit/example.spec.js | 12 + travis.yml | 18 - vue.config.js | 5 + yarn.lock | 14918 +++++++--------- 687 files changed, 7305 insertions(+), 9460 deletions(-) delete mode 100755 .babelrc mode change 100755 => 100644 .editorconfig delete mode 100755 .eslintignore delete mode 100755 .eslintrc.js delete mode 100755 .postcssrc.js create mode 100644 babel.config.js delete mode 100755 build/build.js delete mode 100755 build/check-versions.js delete mode 100644 build/load-minified.js delete mode 100755 build/logo.png delete mode 100644 build/service-worker-dev.js delete mode 100644 build/service-worker-prod.js delete mode 100644 build/translate.js delete mode 100755 build/utils.js delete mode 100755 build/vue-loader.conf.js delete mode 100755 build/webpack.base.conf.js delete mode 100755 build/webpack.dev.conf.js delete mode 100644 build/webpack.dev.local.conf.js delete mode 100755 build/webpack.prod.conf.js delete mode 100755 build/webpack.test.conf.js delete mode 100755 config/dev.env.js delete mode 100644 config/dev.local.env.js delete mode 100755 config/index.js delete mode 100755 config/prod.env.js delete mode 100755 config/test.env.js create mode 100644 cypress.json rename {config/firebase => firebase}/database.rules.json (100%) rename {config/firebase => firebase}/firestore.indexes.json (100%) rename {config/firebase => firebase}/firestore.rules (100%) rename {config/firebase => firebase}/storage.rules (100%) delete mode 100755 index.html create mode 100644 jsconfig.json create mode 100644 public/favicon.ico rename {static => public}/gamebrary-logo-dark.png (100%) rename {static => public}/gamebrary-logo.png (100%) rename {static => public}/icons/android-chrome-192x192.png (100%) rename {static => public}/icons/android-chrome-512x512.png (100%) rename {static => public}/icons/android-icon-144x144.png (100%) rename {static => public}/icons/android-icon-192x192.png (100%) rename {static => public}/icons/android-icon-36x36.png (100%) rename {static => public}/icons/android-icon-48x48.png (100%) rename {static => public}/icons/android-icon-72x72.png (100%) rename {static => public}/icons/android-icon-96x96.png (100%) rename {static => public}/icons/apple-icon-114x114.png (100%) rename {static => public}/icons/apple-icon-120x120.png (100%) rename {static => public}/icons/apple-icon-144x144.png (100%) rename {static => public}/icons/apple-icon-152x152.png (100%) rename {static => public}/icons/apple-icon-180x180.png (100%) rename {static => public}/icons/apple-icon-57x57.png (100%) rename {static => public}/icons/apple-icon-60x60.png (100%) rename {static => public}/icons/apple-icon-72x72.png (100%) rename {static => public}/icons/apple-icon-76x76.png (100%) rename {static => public}/icons/apple-icon-precomposed.png (100%) rename {static => public}/icons/apple-icon.png (100%) rename {static => public}/icons/apple-touch-icon.png (100%) rename {static => public}/icons/browserconfig.xml (100%) rename {static => public}/icons/favicon-16x16.png (100%) rename {static => public}/icons/favicon-32x32.png (100%) rename {static => public}/icons/favicon-96x96.png (100%) rename {static => public}/icons/favicon.ico (100%) rename {static => public}/icons/icon-144x144.png (100%) rename {static => public}/icons/manifest.json (100%) rename {static => public}/icons/ms-icon-144x144.png (100%) rename {static => public}/icons/ms-icon-150x150.png (100%) rename {static => public}/icons/ms-icon-310x310.png (100%) rename {static => public}/icons/ms-icon-70x70.png (100%) rename {static => public}/icons/mstile-150x150.png (100%) rename {static => public}/icons/site.webmanifest (100%) rename {static => public}/img/age-ratings/12.png (100%) rename {static => public}/img/age-ratings/16.png (100%) rename {static => public}/img/age-ratings/18.png (100%) rename {static => public}/img/age-ratings/3.png (100%) rename {static => public}/img/age-ratings/7.png (100%) rename {static => public}/img/age-ratings/AO.png (100%) rename {static => public}/img/age-ratings/CERO_A.svg (100%) rename {static => public}/img/age-ratings/ClassInd-10.png (100%) rename {static => public}/img/age-ratings/ClassInd-12.png (100%) rename {static => public}/img/age-ratings/ClassInd-14.png (100%) rename {static => public}/img/age-ratings/ClassInd-16.png (100%) rename {static => public}/img/age-ratings/ClassInd-18.png (100%) rename {static => public}/img/age-ratings/ClassInd-L.png (100%) rename {static => public}/img/age-ratings/E.png (100%) rename {static => public}/img/age-ratings/E10.png (100%) rename {static => public}/img/age-ratings/EC.png (100%) rename {static => public}/img/age-ratings/GRAC_ALL.svg (100%) rename {static => public}/img/age-ratings/GRAC_Twelve.svg (100%) rename {static => public}/img/age-ratings/GRB_15.svg (100%) rename {static => public}/img/age-ratings/GRB_18.svg (100%) rename {static => public}/img/age-ratings/GRB_Test.svg (100%) rename {static => public}/img/age-ratings/M.png (100%) rename {static => public}/img/age-ratings/RP.png (100%) rename {static => public}/img/age-ratings/T.png (100%) rename {static => public}/img/age-ratings/USK_0.svg (100%) rename {static => public}/img/age-ratings/USK_12.svg (100%) rename {static => public}/img/age-ratings/USK_16.svg (100%) rename {static => public}/img/age-ratings/USK_18.svg (100%) rename {static => public}/img/age-ratings/USK_6.svg (100%) rename {static => public}/img/country-flags/ac.svg (100%) rename {static => public}/img/country-flags/ad.svg (100%) rename {static => public}/img/country-flags/ae.svg (100%) rename {static => public}/img/country-flags/af.svg (100%) rename {static => public}/img/country-flags/ag.svg (100%) rename {static => public}/img/country-flags/ai.svg (100%) rename {static => public}/img/country-flags/al.svg (100%) rename {static => public}/img/country-flags/am.svg (100%) rename {static => public}/img/country-flags/ao.svg (100%) rename {static => public}/img/country-flags/aq.svg (100%) rename {static => public}/img/country-flags/ar.svg (100%) rename {static => public}/img/country-flags/as.svg (100%) rename {static => public}/img/country-flags/at.svg (100%) rename {static => public}/img/country-flags/au.svg (100%) rename {static => public}/img/country-flags/aw.svg (100%) rename {static => public}/img/country-flags/ax.svg (100%) rename {static => public}/img/country-flags/az.svg (100%) rename {static => public}/img/country-flags/ba.svg (100%) rename {static => public}/img/country-flags/bb.svg (100%) rename {static => public}/img/country-flags/bd.svg (100%) rename {static => public}/img/country-flags/be.svg (100%) rename {static => public}/img/country-flags/bf.svg (100%) rename {static => public}/img/country-flags/bg.svg (100%) rename {static => public}/img/country-flags/bh.svg (100%) rename {static => public}/img/country-flags/bi.svg (100%) rename {static => public}/img/country-flags/bj.svg (100%) rename {static => public}/img/country-flags/bl.svg (100%) rename {static => public}/img/country-flags/bm.svg (100%) rename {static => public}/img/country-flags/bn.svg (100%) rename {static => public}/img/country-flags/bo.svg (100%) rename {static => public}/img/country-flags/bq.svg (100%) rename {static => public}/img/country-flags/br.svg (100%) rename {static => public}/img/country-flags/bs.svg (100%) rename {static => public}/img/country-flags/bt.svg (100%) rename {static => public}/img/country-flags/bv.svg (100%) rename {static => public}/img/country-flags/bw.svg (100%) rename {static => public}/img/country-flags/by.svg (100%) rename {static => public}/img/country-flags/bz.svg (100%) rename {static => public}/img/country-flags/ca.svg (100%) rename {static => public}/img/country-flags/cc.svg (100%) rename {static => public}/img/country-flags/cd.svg (100%) rename {static => public}/img/country-flags/cf.svg (100%) rename {static => public}/img/country-flags/cg.svg (100%) rename {static => public}/img/country-flags/ch.svg (100%) rename {static => public}/img/country-flags/ci.svg (100%) rename {static => public}/img/country-flags/ck.svg (100%) rename {static => public}/img/country-flags/cl.svg (100%) rename {static => public}/img/country-flags/cm.svg (100%) rename {static => public}/img/country-flags/cn.svg (100%) rename {static => public}/img/country-flags/co.svg (100%) rename {static => public}/img/country-flags/cp.svg (100%) rename {static => public}/img/country-flags/cr.svg (100%) rename {static => public}/img/country-flags/cu.svg (100%) rename {static => public}/img/country-flags/cv.svg (100%) rename {static => public}/img/country-flags/cw.svg (100%) rename {static => public}/img/country-flags/cx.svg (100%) rename {static => public}/img/country-flags/cy.svg (100%) rename {static => public}/img/country-flags/cz.svg (100%) rename {static => public}/img/country-flags/de.svg (100%) rename {static => public}/img/country-flags/dg.svg (100%) rename {static => public}/img/country-flags/dj.svg (100%) rename {static => public}/img/country-flags/dk.svg (100%) rename {static => public}/img/country-flags/dm.svg (100%) rename {static => public}/img/country-flags/do.svg (100%) rename {static => public}/img/country-flags/dz.svg (100%) rename {static => public}/img/country-flags/ea.svg (100%) rename {static => public}/img/country-flags/ec.svg (100%) rename {static => public}/img/country-flags/ee.svg (100%) rename {static => public}/img/country-flags/eg.svg (100%) rename {static => public}/img/country-flags/eh.svg (100%) rename {static => public}/img/country-flags/er.svg (100%) rename {static => public}/img/country-flags/es-ct.svg (100%) rename {static => public}/img/country-flags/es-ga.svg (100%) rename {static => public}/img/country-flags/es.svg (100%) rename {static => public}/img/country-flags/et.svg (100%) rename {static => public}/img/country-flags/eu.svg (100%) rename {static => public}/img/country-flags/fi.svg (100%) rename {static => public}/img/country-flags/fj.svg (100%) rename {static => public}/img/country-flags/fk.svg (100%) rename {static => public}/img/country-flags/fm.svg (100%) rename {static => public}/img/country-flags/fo.svg (100%) rename {static => public}/img/country-flags/fr.svg (100%) rename {static => public}/img/country-flags/ga.svg (100%) rename {static => public}/img/country-flags/gb-eng.svg (100%) rename {static => public}/img/country-flags/gb-nir.svg (100%) rename {static => public}/img/country-flags/gb-sct.svg (100%) rename {static => public}/img/country-flags/gb-wls.svg (100%) rename {static => public}/img/country-flags/gb.svg (100%) rename {static => public}/img/country-flags/gd.svg (100%) rename {static => public}/img/country-flags/ge.svg (100%) rename {static => public}/img/country-flags/gf.svg (100%) rename {static => public}/img/country-flags/gg.svg (100%) rename {static => public}/img/country-flags/gh.svg (100%) rename {static => public}/img/country-flags/gi.svg (100%) rename {static => public}/img/country-flags/gl.svg (100%) rename {static => public}/img/country-flags/gm.svg (100%) rename {static => public}/img/country-flags/gn.svg (100%) rename {static => public}/img/country-flags/gp.svg (100%) rename {static => public}/img/country-flags/gq.svg (100%) rename {static => public}/img/country-flags/gr.svg (100%) rename {static => public}/img/country-flags/gs.svg (100%) rename {static => public}/img/country-flags/gt.svg (100%) rename {static => public}/img/country-flags/gu.svg (100%) rename {static => public}/img/country-flags/gw.svg (100%) rename {static => public}/img/country-flags/gy.svg (100%) rename {static => public}/img/country-flags/hk.svg (100%) rename {static => public}/img/country-flags/hm.svg (100%) rename {static => public}/img/country-flags/hn.svg (100%) rename {static => public}/img/country-flags/hr.svg (100%) rename {static => public}/img/country-flags/ht.svg (100%) rename {static => public}/img/country-flags/hu.svg (100%) rename {static => public}/img/country-flags/ic.svg (100%) rename {static => public}/img/country-flags/id.svg (100%) rename {static => public}/img/country-flags/ie.svg (100%) rename {static => public}/img/country-flags/il.svg (100%) rename {static => public}/img/country-flags/im.svg (100%) rename {static => public}/img/country-flags/in.svg (100%) rename {static => public}/img/country-flags/io.svg (100%) rename {static => public}/img/country-flags/iq.svg (100%) rename {static => public}/img/country-flags/ir.svg (100%) rename {static => public}/img/country-flags/is.svg (100%) rename {static => public}/img/country-flags/it.svg (100%) rename {static => public}/img/country-flags/je.svg (100%) rename {static => public}/img/country-flags/jm.svg (100%) rename {static => public}/img/country-flags/jo.svg (100%) rename {static => public}/img/country-flags/jp.svg (100%) rename {static => public}/img/country-flags/ke.svg (100%) rename {static => public}/img/country-flags/kg.svg (100%) rename {static => public}/img/country-flags/kh.svg (100%) rename {static => public}/img/country-flags/ki.svg (100%) rename {static => public}/img/country-flags/km.svg (100%) rename {static => public}/img/country-flags/kn.svg (100%) rename {static => public}/img/country-flags/kp.svg (100%) rename {static => public}/img/country-flags/kr.svg (100%) rename {static => public}/img/country-flags/kw.svg (100%) rename {static => public}/img/country-flags/ky.svg (100%) rename {static => public}/img/country-flags/kz.svg (100%) rename {static => public}/img/country-flags/la.svg (100%) rename {static => public}/img/country-flags/lb.svg (100%) rename {static => public}/img/country-flags/lc.svg (100%) rename {static => public}/img/country-flags/li.svg (100%) rename {static => public}/img/country-flags/lk.svg (100%) rename {static => public}/img/country-flags/lr.svg (100%) rename {static => public}/img/country-flags/ls.svg (100%) rename {static => public}/img/country-flags/lt.svg (100%) rename {static => public}/img/country-flags/lu.svg (100%) rename {static => public}/img/country-flags/lv.svg (100%) rename {static => public}/img/country-flags/ly.svg (100%) rename {static => public}/img/country-flags/ma.svg (100%) rename {static => public}/img/country-flags/mc.svg (100%) rename {static => public}/img/country-flags/md.svg (100%) rename {static => public}/img/country-flags/me.svg (100%) rename {static => public}/img/country-flags/mf.svg (100%) rename {static => public}/img/country-flags/mg.svg (100%) rename {static => public}/img/country-flags/mh.svg (100%) rename {static => public}/img/country-flags/mk.svg (100%) rename {static => public}/img/country-flags/ml.svg (100%) rename {static => public}/img/country-flags/mm.svg (100%) rename {static => public}/img/country-flags/mn.svg (100%) rename {static => public}/img/country-flags/mo.svg (100%) rename {static => public}/img/country-flags/mp.svg (100%) rename {static => public}/img/country-flags/mq.svg (100%) rename {static => public}/img/country-flags/mr.svg (100%) rename {static => public}/img/country-flags/ms.svg (100%) rename {static => public}/img/country-flags/mt.svg (100%) rename {static => public}/img/country-flags/mu.svg (100%) rename {static => public}/img/country-flags/mv.svg (100%) rename {static => public}/img/country-flags/mw.svg (100%) rename {static => public}/img/country-flags/mx.svg (100%) rename {static => public}/img/country-flags/my.svg (100%) rename {static => public}/img/country-flags/mz.svg (100%) rename {static => public}/img/country-flags/na.svg (100%) rename {static => public}/img/country-flags/nc.svg (100%) rename {static => public}/img/country-flags/ne.svg (100%) rename {static => public}/img/country-flags/nf.svg (100%) rename {static => public}/img/country-flags/ng.svg (100%) rename {static => public}/img/country-flags/ni.svg (100%) rename {static => public}/img/country-flags/nl.svg (100%) rename {static => public}/img/country-flags/no.svg (100%) rename {static => public}/img/country-flags/np.svg (100%) rename {static => public}/img/country-flags/nr.svg (100%) rename {static => public}/img/country-flags/nu.svg (100%) rename {static => public}/img/country-flags/nz.svg (100%) rename {static => public}/img/country-flags/om.svg (100%) rename {static => public}/img/country-flags/pa.svg (100%) rename {static => public}/img/country-flags/pe.svg (100%) rename {static => public}/img/country-flags/pf.svg (100%) rename {static => public}/img/country-flags/pg.svg (100%) rename {static => public}/img/country-flags/ph.svg (100%) rename {static => public}/img/country-flags/pk.svg (100%) rename {static => public}/img/country-flags/pl.svg (100%) rename {static => public}/img/country-flags/pm.svg (100%) rename {static => public}/img/country-flags/pn.svg (100%) rename {static => public}/img/country-flags/pr.svg (100%) rename {static => public}/img/country-flags/ps.svg (100%) rename {static => public}/img/country-flags/pt.svg (100%) rename {static => public}/img/country-flags/pw.svg (100%) rename {static => public}/img/country-flags/py.svg (100%) rename {static => public}/img/country-flags/qa.svg (100%) rename {static => public}/img/country-flags/re.svg (100%) rename {static => public}/img/country-flags/ro.svg (100%) rename {static => public}/img/country-flags/rs.svg (100%) rename {static => public}/img/country-flags/ru.svg (100%) rename {static => public}/img/country-flags/rw.svg (100%) rename {static => public}/img/country-flags/sa.svg (100%) rename {static => public}/img/country-flags/sb.svg (100%) rename {static => public}/img/country-flags/sc.svg (100%) rename {static => public}/img/country-flags/sd.svg (100%) rename {static => public}/img/country-flags/se.svg (100%) rename {static => public}/img/country-flags/sg.svg (100%) rename {static => public}/img/country-flags/sh.svg (100%) rename {static => public}/img/country-flags/si.svg (100%) rename {static => public}/img/country-flags/sj.svg (100%) rename {static => public}/img/country-flags/sk.svg (100%) rename {static => public}/img/country-flags/sl.svg (100%) rename {static => public}/img/country-flags/sm.svg (100%) rename {static => public}/img/country-flags/sn.svg (100%) rename {static => public}/img/country-flags/so.svg (100%) rename {static => public}/img/country-flags/sr.svg (100%) rename {static => public}/img/country-flags/ss.svg (100%) rename {static => public}/img/country-flags/st.svg (100%) rename {static => public}/img/country-flags/sv.svg (100%) rename {static => public}/img/country-flags/sx.svg (100%) rename {static => public}/img/country-flags/sy.svg (100%) rename {static => public}/img/country-flags/sz.svg (100%) rename {static => public}/img/country-flags/ta.svg (100%) rename {static => public}/img/country-flags/tc.svg (100%) rename {static => public}/img/country-flags/td.svg (100%) rename {static => public}/img/country-flags/tf.svg (100%) rename {static => public}/img/country-flags/tg.svg (100%) rename {static => public}/img/country-flags/th.svg (100%) rename {static => public}/img/country-flags/tj.svg (100%) rename {static => public}/img/country-flags/tk.svg (100%) rename {static => public}/img/country-flags/tl.svg (100%) rename {static => public}/img/country-flags/tm.svg (100%) rename {static => public}/img/country-flags/tn.svg (100%) rename {static => public}/img/country-flags/to.svg (100%) rename {static => public}/img/country-flags/tr.svg (100%) rename {static => public}/img/country-flags/tt.svg (100%) rename {static => public}/img/country-flags/tv.svg (100%) rename {static => public}/img/country-flags/tw.svg (100%) rename {static => public}/img/country-flags/tz.svg (100%) rename {static => public}/img/country-flags/ua.svg (100%) rename {static => public}/img/country-flags/ug.svg (100%) rename {static => public}/img/country-flags/um.svg (100%) rename {static => public}/img/country-flags/un.svg (100%) rename {static => public}/img/country-flags/us.svg (100%) rename {static => public}/img/country-flags/uy.svg (100%) rename {static => public}/img/country-flags/uz.svg (100%) rename {static => public}/img/country-flags/va.svg (100%) rename {static => public}/img/country-flags/vc.svg (100%) rename {static => public}/img/country-flags/ve.svg (100%) rename {static => public}/img/country-flags/vg.svg (100%) rename {static => public}/img/country-flags/vi.svg (100%) rename {static => public}/img/country-flags/vn.svg (100%) rename {static => public}/img/country-flags/vu.svg (100%) rename {static => public}/img/country-flags/wf.svg (100%) rename {static => public}/img/country-flags/ws.svg (100%) rename {static => public}/img/country-flags/xk.svg (100%) rename {static => public}/img/country-flags/xx.svg (100%) rename {static => public}/img/country-flags/ye.svg (100%) rename {static => public}/img/country-flags/yt.svg (100%) rename {static => public}/img/country-flags/za.svg (100%) rename {static => public}/img/country-flags/zm.svg (100%) rename {static => public}/img/country-flags/zw.svg (100%) create mode 100644 public/img/icons/android-chrome-192x192.png create mode 100644 public/img/icons/android-chrome-512x512.png create mode 100644 public/img/icons/android-chrome-maskable-192x192.png create mode 100644 public/img/icons/android-chrome-maskable-512x512.png create mode 100644 public/img/icons/apple-touch-icon-120x120.png create mode 100644 public/img/icons/apple-touch-icon-152x152.png create mode 100644 public/img/icons/apple-touch-icon-180x180.png create mode 100644 public/img/icons/apple-touch-icon-60x60.png create mode 100644 public/img/icons/apple-touch-icon-76x76.png create mode 100644 public/img/icons/apple-touch-icon.png create mode 100644 public/img/icons/favicon-16x16.png create mode 100644 public/img/icons/favicon-32x32.png create mode 100644 public/img/icons/msapplication-icon-144x144.png create mode 100644 public/img/icons/mstile-150x150.png create mode 100644 public/img/icons/safari-pinned-tab.svg rename {static => public}/img/igdb-logo.png (100%) rename {static => public}/img/notepad-ruler.png (100%) rename {static => public}/img/screenshot-1.jpg (100%) rename {static => public}/img/screenshot.png (100%) create mode 100644 public/index.html rename {static => public}/logo.png (100%) rename {static => public}/logos/companies/android.svg (100%) rename {static => public}/logos/companies/discord.svg (100%) rename {static => public}/logos/companies/epicgames.svg (100%) rename {static => public}/logos/companies/facebook.svg (100%) rename {static => public}/logos/companies/fandom.svg (100%) rename {static => public}/logos/companies/github.svg (100%) rename {static => public}/logos/companies/gog.svg (100%) rename {static => public}/logos/companies/google.svg (100%) rename {static => public}/logos/companies/instagram.svg (100%) rename {static => public}/logos/companies/ipad.svg (100%) rename {static => public}/logos/companies/iphone.svg (100%) rename {static => public}/logos/companies/itch.svg (100%) rename {static => public}/logos/companies/microsoft.svg (100%) rename {static => public}/logos/companies/reddit.svg (100%) rename {static => public}/logos/companies/steam.svg (100%) rename {static => public}/logos/companies/twitch.svg (100%) rename {static => public}/logos/companies/twitter.svg (100%) rename {static => public}/logos/companies/wikipedia.svg (100%) rename {static => public}/logos/companies/youtube.svg (100%) rename {static => public}/logos/news-sources/rps.svg (100%) rename {static => public}/logos/platforms-new/3do.png (100%) rename {static => public}/logos/platforms-new/action-max.png (100%) rename {static => public}/logos/platforms-new/amiga-cd-32.png (100%) rename {static => public}/logos/platforms-new/arcadia-2001.png (100%) rename {static => public}/logos/platforms-new/astrocade.png (100%) rename {static => public}/logos/platforms-new/atari-2600.png (100%) rename {static => public}/logos/platforms-new/atari-5200.png (100%) rename {static => public}/logos/platforms-new/atari-7800.png (100%) rename {static => public}/logos/platforms-new/atari-xe.png (100%) rename {static => public}/logos/platforms-new/beena.png (100%) rename {static => public}/logos/platforms-new/cassette-vision.png (100%) rename {static => public}/logos/platforms-new/cd-i.png (100%) rename {static => public}/logos/platforms-new/channel-f.png (100%) rename {static => public}/logos/platforms-new/coleco-vision.png (100%) rename {static => public}/logos/platforms-new/commodore-cdtv.png (100%) rename {static => public}/logos/platforms-new/commodore64.png (100%) rename {static => public}/logos/platforms-new/consoles-1.jpg (100%) rename {static => public}/logos/platforms-new/cps-changer.png (100%) rename {static => public}/logos/platforms-new/creativision.png (100%) rename {static => public}/logos/platforms-new/dreamcast.png (100%) rename {static => public}/logos/platforms-new/family-computer.png (100%) rename {static => public}/logos/platforms-new/fm-towns-marty.png (100%) rename {static => public}/logos/platforms-new/game-wave.png (100%) rename {static => public}/logos/platforms-new/gamecube.png (100%) rename {static => public}/logos/platforms-new/genesis-32x.png (100%) rename {static => public}/logos/platforms-new/genesis.png (100%) rename {static => public}/logos/platforms-new/gx4000.png (100%) rename {static => public}/logos/platforms-new/halcyon.png (100%) rename {static => public}/logos/platforms-new/hyper-scan.png (100%) rename {static => public}/logos/platforms-new/imagination-machine.png (100%) rename {static => public}/logos/platforms-new/intellivision.png (100%) rename {static => public}/logos/platforms-new/interactive-vision.png (100%) rename {static => public}/logos/platforms-new/ique.png (100%) rename {static => public}/logos/platforms-new/jaguar-cd.png (100%) rename {static => public}/logos/platforms-new/jaguar.png (100%) rename {static => public}/logos/platforms-new/konix.png (100%) rename {static => public}/logos/platforms-new/laser-active.png (100%) rename {static => public}/logos/platforms-new/leisure-vision.png (100%) rename {static => public}/logos/platforms-new/loopy.png (100%) rename {static => public}/logos/platforms-new/mac.png (100%) rename {static => public}/logos/platforms-new/mark-iii.png (100%) rename {static => public}/logos/platforms-new/mega-cd-ii.png (100%) rename {static => public}/logos/platforms-new/mega-cd.png (100%) rename {static => public}/logos/platforms-new/mega-drive.png (100%) rename {static => public}/logos/platforms-new/mega-ld.png (100%) rename {static => public}/logos/platforms-new/mp1000.png (100%) rename {static => public}/logos/platforms-new/my-vision.png (100%) rename {static => public}/logos/platforms-new/neo-geo-cd.png (100%) rename {static => public}/logos/platforms-new/neo-geo.png (100%) rename {static => public}/logos/platforms-new/nes.png (100%) rename {static => public}/logos/platforms-new/nintendo-64-dd.png (100%) rename {static => public}/logos/platforms-new/nintendo-64.png (100%) rename {static => public}/logos/platforms-new/nsw.png (100%) rename {static => public}/logos/platforms-new/nuon.png (100%) rename {static => public}/logos/platforms-new/odyssey2.png (100%) rename {static => public}/logos/platforms-new/pc-engine.png (100%) rename {static => public}/logos/platforms-new/pc-fx.png (100%) rename {static => public}/logos/platforms-new/picno.png (100%) rename {static => public}/logos/platforms-new/pico.png (100%) rename {static => public}/logos/platforms-new/pippin.png (100%) rename {static => public}/logos/platforms-new/playdia.png (100%) rename {static => public}/logos/platforms-new/playstation.png (100%) rename {static => public}/logos/platforms-new/ps-2.png (100%) rename {static => public}/logos/platforms-new/ps3.png (100%) rename {static => public}/logos/platforms-new/ps4.png (100%) rename {static => public}/logos/platforms-new/ps5.png (100%) rename {static => public}/logos/platforms-new/pv-1000.png (100%) rename {static => public}/logos/platforms-new/rca-studio-ii.png (100%) rename {static => public}/logos/platforms-new/satellaview.png (100%) rename {static => public}/logos/platforms-new/sega-cd.png (100%) rename {static => public}/logos/platforms-new/sega-master-system.png (100%) rename {static => public}/logos/platforms-new/sega-saturn.png (100%) rename {static => public}/logos/platforms-new/sg-1000.png (100%) rename {static => public}/logos/platforms-new/socrates.png (100%) rename {static => public}/logos/platforms-new/stadia.png (100%) rename {static => public}/logos/platforms-new/super-acan.png (100%) rename {static => public}/logos/platforms-new/super-cassette-vision.png (100%) rename {static => public}/logos/platforms-new/super-cd-rom.png (100%) rename {static => public}/logos/platforms-new/super-famicom.png (100%) rename {static => public}/logos/platforms-new/super-grafx.png (100%) rename {static => public}/logos/platforms-new/super-nintendo.png (100%) rename {static => public}/logos/platforms-new/super-vision-8000.png (100%) rename {static => public}/logos/platforms-new/turbo-grafx-16.png (100%) rename {static => public}/logos/platforms-new/tutor.png (100%) rename {static => public}/logos/platforms-new/tv-boy.png (100%) rename {static => public}/logos/platforms-new/ultravision.png (100%) rename {static => public}/logos/platforms-new/v-flash.png (100%) rename {static => public}/logos/platforms-new/v-smile.png (100%) rename {static => public}/logos/platforms-new/vc4000.png (100%) rename {static => public}/logos/platforms-new/vectrex.png (100%) rename {static => public}/logos/platforms-new/video-art.png (100%) rename {static => public}/logos/platforms-new/video-challenger.png (100%) rename {static => public}/logos/platforms-new/video-driver.png (100%) rename {static => public}/logos/platforms-new/videopac.png (100%) rename {static => public}/logos/platforms-new/vis.png (100%) rename {static => public}/logos/platforms-new/wii-u.png (100%) rename {static => public}/logos/platforms-new/wii.png (100%) rename {static => public}/logos/platforms-new/windows.png (100%) rename {static => public}/logos/platforms-new/xavix.png (100%) rename {static => public}/logos/platforms-new/xbox-360.png (100%) rename {static => public}/logos/platforms-new/xbox-one.png (100%) rename {static => public}/logos/platforms-new/xbox.png (100%) rename {static => public}/logos/platforms-new/xboxsx.png (100%) rename {static => public}/logos/platforms-new/zeebo.png (100%) rename {static => public}/logos/platforms-new/zemina.png (100%) rename {static => public}/logos/platforms/3do-alt.svg (100%) rename {static => public}/logos/platforms/3do.svg (100%) rename {static => public}/logos/platforms/3ds.svg (100%) rename {static => public}/logos/platforms/acpc.svg (100%) rename {static => public}/logos/platforms/amazon-fire-tv.png (100%) rename {static => public}/logos/platforms/amiga-cd32.svg (100%) rename {static => public}/logos/platforms/amiga.svg (100%) rename {static => public}/logos/platforms/android.svg (100%) rename {static => public}/logos/platforms/appleii.svg (100%) rename {static => public}/logos/platforms/atari-st.svg (100%) rename {static => public}/logos/platforms/atari2600.svg (100%) rename {static => public}/logos/platforms/atari5200.svg (100%) rename {static => public}/logos/platforms/atari7800.svg (100%) rename {static => public}/logos/platforms/atari8bit.svg (100%) rename {static => public}/logos/platforms/atary-5200.svg (100%) rename {static => public}/logos/platforms/c-plus-4.svg (100%) rename {static => public}/logos/platforms/c16.svg (100%) rename {static => public}/logos/platforms/c64.svg (100%) rename {static => public}/logos/platforms/casio-loopy.png (100%) rename {static => public}/logos/platforms/colecovision.svg (100%) rename {static => public}/logos/platforms/commodore.svg (100%) rename {static => public}/logos/platforms/cpet.svg (100%) rename {static => public}/logos/platforms/daydream.png (100%) rename {static => public}/logos/platforms/dc.svg (100%) rename {static => public}/logos/platforms/dos.svg (100%) rename {static => public}/logos/platforms/evercade.svg (100%) rename {static => public}/logos/platforms/famicom.svg (100%) rename {static => public}/logos/platforms/fds.png (100%) rename {static => public}/logos/platforms/game-and-watch.svg (100%) rename {static => public}/logos/platforms/gamegear.svg (100%) rename {static => public}/logos/platforms/gb.svg (100%) rename {static => public}/logos/platforms/gba.svg (100%) rename {static => public}/logos/platforms/gbc.svg (100%) rename {static => public}/logos/platforms/intellivision.svg (100%) rename {static => public}/logos/platforms/ios.svg (100%) rename {static => public}/logos/platforms/jaguar.svg (100%) rename {static => public}/logos/platforms/linux.svg (100%) rename {static => public}/logos/platforms/lynx.svg (100%) rename {static => public}/logos/platforms/mac.svg (100%) rename {static => public}/logos/platforms/msx.svg (100%) rename {static => public}/logos/platforms/msx2.svg (100%) rename {static => public}/logos/platforms/n64.svg (100%) rename {static => public}/logos/platforms/nds.svg (100%) rename {static => public}/logos/platforms/neo-geo-cd.svg (100%) rename {static => public}/logos/platforms/neo-geo-pocket-color.svg (100%) rename {static => public}/logos/platforms/neo-geo-pocket.svg (100%) rename {static => public}/logos/platforms/neogeoaes.svg (100%) rename {static => public}/logos/platforms/neogeomvs.svg (100%) rename {static => public}/logos/platforms/nes.svg (100%) rename {static => public}/logos/platforms/new-nintendo-3ds.svg (100%) rename {static => public}/logos/platforms/ngage.svg (100%) rename {static => public}/logos/platforms/ngc.svg (100%) rename {static => public}/logos/platforms/nintendo-64.svg (100%) rename {static => public}/logos/platforms/nintendo-dsi.svg (100%) rename {static => public}/logos/platforms/nintendo-eshop.png (100%) rename {static => public}/logos/platforms/nintendo-switch-alt.svg (100%) rename {static => public}/logos/platforms/oculus-vr.svg (100%) rename {static => public}/logos/platforms/odyssey--1.svg (100%) rename {static => public}/logos/platforms/ouya.svg (100%) rename {static => public}/logos/platforms/pc-engine.svg (100%) rename {static => public}/logos/platforms/philips-cd-i.svg (100%) rename {static => public}/logos/platforms/playstation-5.svg (100%) rename {static => public}/logos/platforms/playstation-vr.png (100%) rename {static => public}/logos/platforms/pokemon-mini.svg (100%) rename {static => public}/logos/platforms/ps.svg (100%) rename {static => public}/logos/platforms/ps2.svg (100%) rename {static => public}/logos/platforms/ps3.svg (100%) rename {static => public}/logos/platforms/ps4--1.svg (100%) rename {static => public}/logos/platforms/ps5.svg (100%) rename {static => public}/logos/platforms/psn.png (100%) rename {static => public}/logos/platforms/psp.svg (100%) rename {static => public}/logos/platforms/psvita.svg (100%) rename {static => public}/logos/platforms/satellaview.svg (100%) rename {static => public}/logos/platforms/saturn.svg (100%) rename {static => public}/logos/platforms/sega-genesis.svg (100%) rename {static => public}/logos/platforms/sega32.svg (100%) rename {static => public}/logos/platforms/segacd.svg (100%) rename {static => public}/logos/platforms/series-x.svg (100%) rename {static => public}/logos/platforms/sfam.svg (100%) rename {static => public}/logos/platforms/sg1000.svg (100%) rename {static => public}/logos/platforms/smd.svg (100%) rename {static => public}/logos/platforms/sms.svg (100%) rename {static => public}/logos/platforms/snes--1.svg (100%) rename {static => public}/logos/platforms/stadia.svg (100%) rename {static => public}/logos/platforms/steam--1.svg (100%) rename {static => public}/logos/platforms/steam-vr.png (100%) rename {static => public}/logos/platforms/supergrafx.svg (100%) rename {static => public}/logos/platforms/swancrystal.png (100%) rename {static => public}/logos/platforms/switch.svg (100%) rename {static => public}/logos/platforms/turbografx-16-slash-pc-engine-cd.png (100%) rename {static => public}/logos/platforms/turbografx16--1.svg (100%) rename {static => public}/logos/platforms/vc.png (100%) rename {static => public}/logos/platforms/vectrex.svg (100%) rename {static => public}/logos/platforms/vic-20.svg (100%) rename {static => public}/logos/platforms/virtualboy.svg (100%) rename {static => public}/logos/platforms/wii.svg (100%) rename {static => public}/logos/platforms/wiiu.svg (100%) rename {static => public}/logos/platforms/wiiware.svg (100%) rename {static => public}/logos/platforms/win.svg (100%) rename {static => public}/logos/platforms/windows-mixed-reality.png (100%) rename {static => public}/logos/platforms/wonderswan-color.png (100%) rename {static => public}/logos/platforms/wonderswan.svg (100%) rename {static => public}/logos/platforms/x1.svg (100%) rename {static => public}/logos/platforms/xbox.svg (100%) rename {static => public}/logos/platforms/xbox360.svg (100%) rename {static => public}/logos/platforms/xboxone.svg (100%) rename {static => public}/logos/platforms/xla.png (100%) rename {static => public}/logos/platforms/zxs.svg (100%) rename {static => public}/logos/rating-systems/CERO.png (100%) rename {static => public}/logos/rating-systems/USK.svg (100%) rename {static => public}/logos/rating-systems/acb.png (100%) rename {static => public}/logos/rating-systems/classind.png (100%) rename {static => public}/logos/rating-systems/esrb.svg (100%) rename {static => public}/logos/rating-systems/grac.svg (100%) rename {static => public}/logos/rating-systems/pegi.svg (100%) rename {static => public}/no-image.jpg (100%) create mode 100644 public/robots.txt rename src/components/{Boards.vue => GameBoards.vue} (94%) rename src/components/{Game.vue => GameDetail.vue} (98%) rename src/components/{Note.vue => GameNote.vue} (94%) rename src/components/Lists/{List.vue => GameList.vue} (99%) rename src/components/{Dock.vue => PageDock.vue} (98%) rename src/components/{Profile.vue => PublicProfile.vue} (100%) rename {static => src}/email-templates/welcome.html (98%) create mode 100644 src/registerServiceWorker.js delete mode 100755 static/.gitkeep delete mode 100644 static/manifest.json delete mode 100755 test/unit/.eslintrc delete mode 100755 test/unit/index.js delete mode 100755 test/unit/karma.conf.js delete mode 100755 test/unit/specs/HelloWorld.spec.js create mode 100644 tests/e2e/.eslintrc.js create mode 100644 tests/e2e/plugins/index.js create mode 100644 tests/e2e/specs/test.js create mode 100644 tests/e2e/support/commands.js create mode 100644 tests/e2e/support/index.js create mode 100644 tests/unit/example.spec.js delete mode 100644 travis.yml create mode 100644 vue.config.js diff --git a/.babelrc b/.babelrc deleted file mode 100755 index ee668874..00000000 --- a/.babelrc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "presets": [ - [ - "env", { - "modules": false, - "targets": { - "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] - } - } - ], - "stage-2" - ], - "plugins": ["transform-vue-jsx", "transform-runtime"], - "env": { - "test": { - "presets": ["env", "stage-2"], - "plugins": ["transform-vue-jsx", "istanbul"] - } - } -} diff --git a/.editorconfig b/.editorconfig old mode 100755 new mode 100644 index 9d08a1a8..c24743d0 --- a/.editorconfig +++ b/.editorconfig @@ -1,9 +1,7 @@ -root = true - -[*] -charset = utf-8 +[*.{js,jsx,ts,tsx,vue}] indent_style = space indent_size = 2 end_of_line = lf -insert_final_newline = true trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 100 diff --git a/.eslintignore b/.eslintignore deleted file mode 100755 index e2192c5c..00000000 --- a/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -/build/ -/config/ -/dist/ -/*.js -/test/unit/coverage/ diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100755 index d58821f3..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,81 +0,0 @@ -// https://eslint.org/docs/user-guide/configuring - -module.exports = { - root: true, - parserOptions: { - parser: 'babel-eslint' - }, - env: { - browser: true, - }, - // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention - // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules. - extends: [ - 'plugin:vue/essential', - 'airbnb-base', - ], - // required to lint *.vue files - plugins: [ - 'vue', - ], - // check if imports actually resolve - settings: { - 'import/resolver': { - webpack: { - config: 'build/webpack.base.conf.js' - } - } - }, - // add your custom rules here - rules: { - "vue/html-closing-bracket-newline": ["error", { - "singleline": "never", - "multiline": "always" - }], - "vue/order-in-components": [ - "error", { - "order": [ - "el", - "name", - "parent", - "functional", - ["delimiters", "comments"], - ["components", "directives", "filters"], - "extends", - "mixins", - "inheritAttrs", - "model", - ["props", "propsData"], - "data", - "computed", - "watch", - "LIFECYCLE_HOOKS", - "methods", - ["template", "render"], - "renderError", - ], - }, - ], - 'import/extensions': ['error', 'always', { - js: 'never', - vue: 'never' - }], - "indent": ["error", 2], - // "max-len": ["error", { "code": 180 }], - "max-len": "off", - 'no-param-reassign': ['error', { - props: true, - ignorePropertyModificationsFor: [ - 'state', // for vuex state - 'acc', // for reduce accumulators - 'e' // for e.returnvalue - ] - }], - // allow optionalDependencies - 'import/no-extraneous-dependencies': ['error', { - optionalDependencies: ['test/unit/index.js'] - }], - // allow debugger during development - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' - } -} diff --git a/.gitignore b/.gitignore index f71b5b2c..6a716f2e 100755 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,20 @@ .DS_Store node_modules/ /dist/ + +/tests/e2e/videos/ +/tests/e2e/screenshots/ + +# local env files +.env.local +.env.*.local + +# Log files npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* + .runtimeconfig.json /functions/.runtimeconfig.json /test/unit/coverage/ @@ -17,3 +28,4 @@ yarn-error.log* *.njsproj *.sln *.log +*.sw? diff --git a/.postcssrc.js b/.postcssrc.js deleted file mode 100755 index a2cafe9a..00000000 --- a/.postcssrc.js +++ /dev/null @@ -1,10 +0,0 @@ -// https://github.com/michael-ciniawsky/postcss-load-config - -module.exports = { - "plugins": { - "postcss-import": {}, - "postcss-url": {}, - // to edit target browsers: use "browserslist" field in package.json - "autoprefixer": {} - } -} diff --git a/README.md b/README.md index c66fcf99..39b6f263 100755 --- a/README.md +++ b/README.md @@ -42,16 +42,29 @@ $ yarn dev # Compiles and minifies for production $ yarn build -# Run tests -$ yarn test -# Run linter -$ yarn lint +### Run your unit tests +``` +yarn test:unit +``` + +### Run your end-to-end tests +``` +yarn test:e2e +``` + +### Lints and fixes files +``` +yarn lint +``` # Translate strings (requires google API key) $ yarn translate ``` +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). + ## Contributors Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 00000000..757ff9b1 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset', + ], +}; diff --git a/build/build.js b/build/build.js deleted file mode 100755 index 8f2ad8ad..00000000 --- a/build/build.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict' -require('./check-versions')() - -process.env.NODE_ENV = 'production' - -const ora = require('ora') -const rm = require('rimraf') -const path = require('path') -const chalk = require('chalk') -const webpack = require('webpack') -const config = require('../config') -const webpackConfig = require('./webpack.prod.conf') - -const spinner = ora('building for production...') -spinner.start() - -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - if (err) throw err - webpack(webpackConfig, (err, stats) => { - spinner.stop() - if (err) throw err - process.stdout.write(stats.toString({ - colors: true, - modules: false, - children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. - chunks: false, - chunkModules: false - }) + '\n\n') - - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - - console.log(chalk.cyan(' Build complete.\n')) - console.log(chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - ' Opening index.html over file:// won\'t work.\n' - )) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100755 index 3ef972a0..00000000 --- a/build/check-versions.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec (cmd) { - return require('child_process').execSync(cmd).toString().trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function () { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push(mod.name + ': ' + - chalk.red(mod.currentVersion) + ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log(chalk.yellow('To use this template, you must update following to modules:')) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/load-minified.js b/build/load-minified.js deleted file mode 100644 index aeba1774..00000000 --- a/build/load-minified.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -const fs = require('fs') -const UglifyJS = require('uglify-es') - -module.exports = function(filePath) { - const code = fs.readFileSync(filePath, 'utf-8') - const result = UglifyJS.minify(code) - if (result.error) return '' - return result.code -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100755 index f3d2503fc2a44b5053b0837ebea6e87a2d339a43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6849 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 self.skipWaiting()); - -self.addEventListener('activate', () => { - self.clients.matchAll({ type: 'window' }).then(windowClients => { - for (let windowClient of windowClients) { - // Force open pages to refresh, so that they have a chance to load the - // fresh navigation response from the local dev server. - windowClient.navigate(windowClient.url); - } - }); -}); \ No newline at end of file diff --git a/build/service-worker-prod.js b/build/service-worker-prod.js deleted file mode 100644 index d6ab08b7..00000000 --- a/build/service-worker-prod.js +++ /dev/null @@ -1,55 +0,0 @@ -(function() { - 'use strict'; - - // Check to make sure service workers are supported in the current browser, - // and that the current page is accessed from a secure origin. Using a - // service worker from an insecure origin will trigger JS console errors. - var isLocalhost = Boolean(window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ - ) - ); - - window.addEventListener('load', function() { - if ('serviceWorker' in navigator && - (window.location.protocol === 'https:' || isLocalhost)) { - navigator.serviceWorker.register('service-worker.js') - .then(function(registration) { - // updatefound is fired if service-worker.js changes. - registration.onupdatefound = function() { - // updatefound is also fired the very first time the SW is installed, - // and there's no need to prompt for a reload at that point. - // So check here to see if the page is already controlled, - // i.e. whether there's an existing service worker. - if (navigator.serviceWorker.controller) { - // The updatefound event implies that registration.installing is set - var installingWorker = registration.installing; - - installingWorker.onstatechange = function() { - switch (installingWorker.state) { - case 'installed': - // At this point, the old content will have been purged and the - // fresh content will have been added to the cache. - // It's the perfect time to display a "New content is - // available; please refresh." message in the page's interface. - break; - - case 'redundant': - throw new Error('The installing ' + - 'service worker became redundant.'); - - default: - // Ignore - } - }; - } - }; - }).catch(function(e) { - console.error('Error during service worker registration:', e); - }); - } - }); -})(); diff --git a/build/translate.js b/build/translate.js deleted file mode 100644 index 388e2502..00000000 --- a/build/translate.js +++ /dev/null @@ -1,26 +0,0 @@ -/* eslint-disable */ - -const fs = require('fs'); -const translate = require('translate-json-object')(); -const baseJson = require('../src/i18n/en.json'); - -// NOTE: Please be careful using you api key, translating the entire app to all languages can get costly -translate.init({ googleApiKey: 'GOOGLE_TRANSLATE_API_KEY' }); - -const supportedLanguages = ['ar','zh-CN','en','fr','de','it','ja','pt','ru','es']; - -for (let i = 0, promise = Promise.resolve(); i < supportedLanguages.length; i++) { - promise = promise.then(() => new Promise(resolve => { - const language = supportedLanguages[i]; - - translate.translate(baseJson, language) - .then((data) => { - fs.writeFile(`src/i18n/${language}.json`, JSON.stringify(data, null, 4), () => { - console.log(`Translation to ${language} completed`); - resolve(); - }); - }).catch((err) => { - console.log('error ', err) - }); - })); -} diff --git a/build/utils.js b/build/utils.js deleted file mode 100755 index e534fb0f..00000000 --- a/build/utils.js +++ /dev/null @@ -1,101 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const ExtractTextPlugin = require('extract-text-webpack-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function (_path) { - const assetsSubDirectory = process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function (options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders (loader, loaderOptions) { - const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader] - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - return ExtractTextPlugin.extract({ - use: loaders, - fallback: 'vue-style-loader' - }) - } else { - return ['vue-style-loader'].concat(loaders) - } - } - - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { indentedSyntax: true }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function (options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js deleted file mode 100755 index 33ed58bc..00000000 --- a/build/vue-loader.conf.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict' -const utils = require('./utils') -const config = require('../config') -const isProduction = process.env.NODE_ENV === 'production' -const sourceMapEnabled = isProduction - ? config.build.productionSourceMap - : config.dev.cssSourceMap - -module.exports = { - loaders: utils.cssLoaders({ - sourceMap: sourceMapEnabled, - extract: isProduction - }), - cssSourceMap: sourceMapEnabled, - cacheBusting: config.dev.cacheBusting, - transformToRequire: { - video: ['src', 'poster'], - source: 'src', - img: 'src', - image: 'xlink:href' - } -} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js deleted file mode 100755 index 6b493142..00000000 --- a/build/webpack.base.conf.js +++ /dev/null @@ -1,93 +0,0 @@ -'use strict' -const path = require('path') -const utils = require('./utils') -const config = require('../config') -const vueLoaderConfig = require('./vue-loader.conf') - -function resolve (dir) { - return path.join(__dirname, '..', dir) -} - -const createLintingRule = () => ({ - test: /\.(js|vue)$/, - loader: 'eslint-loader', - enforce: 'pre', - include: [resolve('src'), resolve('test')], - options: { - formatter: require('eslint-friendly-formatter'), - emitWarning: !config.dev.showEslintErrorsInOverlay - } -}) - -module.exports = { - context: path.resolve(__dirname, '../'), - entry: { - app: './src/main.js' - }, - output: { - path: config.build.assetsRoot, - filename: '[name].js', - publicPath: process.env.NODE_ENV === 'production' - ? config.build.assetsPublicPath - : config.dev.assetsPublicPath - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - 'vue$': 'vue/dist/vue.esm.js', - 'styles': path.resolve('./src/styles'), - '@': resolve('src'), - } - }, - module: { - rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), - { - test: /\.vue$/, - loader: 'vue-loader', - options: vueLoaderConfig - }, - { - test: /\.js$/, - loader: 'babel-loader', - include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')] - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('img/[name].[hash:7].[ext]') - } - }, - { - test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('media/[name].[hash:7].[ext]') - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('fonts/[name].[hash:7].[ext]') - } - } - ] - }, - node: { - // prevent webpack from injecting useless setImmediate polyfill because Vue - // source contains it (although only uses it if it's native). - setImmediate: false, - // prevent webpack from injecting mocks to Node native modules - // that does not make sense for the client - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty', - child_process: 'empty' - } -} diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js deleted file mode 100755 index 2ed8d94f..00000000 --- a/build/webpack.dev.conf.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict' -const fs = require('fs') -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const path = require('path') -const baseWebpackConfig = require('./webpack.base.conf') -const CopyWebpackPlugin = require('copy-webpack-plugin') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') -const portfinder = require('portfinder') - -const HOST = process.env.HOST -const PORT = process.env.PORT && Number(process.env.PORT) - -const devWebpackConfig = merge(baseWebpackConfig, { - module: { - rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) - }, - // cheap-module-eval-source-map is faster for development - devtool: config.dev.devtool, - - // these devServer options should be customized in /config/index.js - devServer: { - clientLogLevel: 'warning', - historyApiFallback: true, - hot: true, - contentBase: false, // since we use CopyWebpackPlugin. - compress: true, - host: HOST || config.dev.host, - port: PORT || config.dev.port, - open: config.dev.autoOpenBrowser, - overlay: config.dev.errorOverlay - ? { warnings: false, errors: true } - : false, - publicPath: config.dev.assetsPublicPath, - proxy: config.dev.proxyTable, - quiet: true, // necessary for FriendlyErrorsPlugin - watchOptions: { - poll: config.dev.poll, - } - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': require('../config/dev.env') - }), - new webpack.HotModuleReplacementPlugin(), - new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. - new webpack.NoEmitOnErrorsPlugin(), - // https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'index.html', - inject: true, - serviceWorkerLoader: `` - }), - // copy custom static assets - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.dev.assetsSubDirectory, - ignore: ['.*'] - } - ]) - ] -}) - -module.exports = new Promise((resolve, reject) => { - portfinder.basePort = process.env.PORT || config.dev.port - portfinder.getPort((err, port) => { - if (err) { - reject(err) - } else { - // publish the new Port, necessary for e2e tests - process.env.PORT = port - // add port to devServer config - devWebpackConfig.devServer.port = port - - // Add FriendlyErrorsPlugin - devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ - compilationSuccessInfo: { - messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], - }, - onErrors: config.dev.notifyOnErrors - ? utils.createNotifierCallback() - : undefined - })) - - resolve(devWebpackConfig) - } - }) -}) diff --git a/build/webpack.dev.local.conf.js b/build/webpack.dev.local.conf.js deleted file mode 100644 index 1ebda156..00000000 --- a/build/webpack.dev.local.conf.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict' -const fs = require('fs') -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const path = require('path') -const baseWebpackConfig = require('./webpack.base.conf') -const CopyWebpackPlugin = require('copy-webpack-plugin') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') -const portfinder = require('portfinder') - -const HOST = process.env.HOST -const PORT = process.env.PORT && Number(process.env.PORT) - -const devWebpackConfig = merge(baseWebpackConfig, { - module: { - rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) - }, - // cheap-module-eval-source-map is faster for development - devtool: config.dev.devtool, - - // these devServer options should be customized in /config/index.js - devServer: { - clientLogLevel: 'warning', - historyApiFallback: true, - hot: true, - contentBase: false, // since we use CopyWebpackPlugin. - compress: true, - host: HOST || config.dev.host, - port: PORT || config.dev.port, - open: config.dev.autoOpenBrowser, - overlay: config.dev.errorOverlay - ? { warnings: false, errors: true } - : false, - publicPath: config.dev.assetsPublicPath, - proxy: config.dev.proxyTable, - quiet: true, // necessary for FriendlyErrorsPlugin - watchOptions: { - poll: config.dev.poll, - } - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': require('../config/dev.local.env') - }), - new webpack.HotModuleReplacementPlugin(), - new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. - new webpack.NoEmitOnErrorsPlugin(), - // https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'index.html', - inject: true, - serviceWorkerLoader: `` - }), - // copy custom static assets - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.dev.assetsSubDirectory, - ignore: ['.*'] - } - ]) - ] -}) - -module.exports = new Promise((resolve, reject) => { - portfinder.basePort = process.env.PORT || config.dev.port - portfinder.getPort((err, port) => { - if (err) { - reject(err) - } else { - // publish the new Port, necessary for e2e tests - process.env.PORT = port - // add port to devServer config - devWebpackConfig.devServer.port = port - - // Add FriendlyErrorsPlugin - devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ - compilationSuccessInfo: { - messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], - }, - onErrors: config.dev.notifyOnErrors - ? utils.createNotifierCallback() - : undefined - })) - - resolve(devWebpackConfig) - } - }) -}) diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js deleted file mode 100755 index 9edb04c9..00000000 --- a/build/webpack.prod.conf.js +++ /dev/null @@ -1,161 +0,0 @@ -'use strict' -const path = require('path') -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const baseWebpackConfig = require('./webpack.base.conf') -const CopyWebpackPlugin = require('copy-webpack-plugin') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const ExtractTextPlugin = require('extract-text-webpack-plugin') -const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') -const UglifyJsPlugin = require('uglifyjs-webpack-plugin') -const SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin'); -const loadMinified = require('./load-minified') - -const env = process.env.NODE_ENV === 'testing' -? require('../config/test.env') -: require('../config/prod.env') - -const webpackConfig = merge(baseWebpackConfig, { - module: { - rules: utils.styleLoaders({ - sourceMap: config.build.productionSourceMap, - extract: true, - usePostCSS: true - }) - }, - devtool: config.build.productionSourceMap ? config.build.devtool : false, - output: { - path: config.build.assetsRoot, - filename: utils.assetsPath('js/[name].[chunkhash].js'), - chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') - }, - plugins: [ - // http://vuejs.github.io/vue-loader/en/workflow/production.html - new webpack.DefinePlugin({ - 'process.env': env - }), - // service worker caching - new SWPrecacheWebpackPlugin({ - cacheId: 'Gamebrary', - filename: 'service-worker.js', - staticFileGlobs: ['dist/**/*.{js,html,css}'], - minify: true, - stripPrefix: 'dist/' - }), - new UglifyJsPlugin({ - uglifyOptions: { - compress: { - warnings: false - } - }, - sourceMap: config.build.productionSourceMap, - parallel: true - }), - // extract css into its own file - new ExtractTextPlugin({ - filename: utils.assetsPath('css/[name].[contenthash].css'), - // Setting the following option to `false` will not extract CSS from codesplit chunks. - // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack. - // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, - // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110 - allChunks: true, - }), - // Compress extracted CSS. We are using this plugin so that possible - // duplicated CSS from different components can be deduped. - new OptimizeCSSPlugin({ - cssProcessorOptions: config.build.productionSourceMap - ? { safe: true, map: { inline: false } } - : { safe: true } - }), - // generate dist index.html with correct asset hash for caching. - // you can customize output by editing /index.html - // see https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: process.env.NODE_ENV === 'testing' - ? 'index.html' - : config.build.index, - template: 'index.html', - inject: true, - minify: { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true - // more options: - // https://github.com/kangax/html-minifier#options-quick-reference - }, - // necessary to consistently work with multiple chunks via CommonsChunkPlugin - chunksSortMode: 'dependency', - serviceWorkerLoader: `` - }), - // keep module.id stable when vendor modules does not change - new webpack.HashedModuleIdsPlugin(), - // enable scope hoisting - new webpack.optimize.ModuleConcatenationPlugin(), - // split vendor js into its own file - new webpack.optimize.CommonsChunkPlugin({ - name: 'vendor', - minChunks (module) { - // any required modules inside node_modules are extracted to vendor - return ( - module.resource && - /\.js$/.test(module.resource) && - module.resource.indexOf( - path.join(__dirname, '../node_modules') - ) === 0 - ) - } - }), - // extract webpack runtime and module manifest to its own file in order to - // prevent vendor hash from being updated whenever app bundle is updated - new webpack.optimize.CommonsChunkPlugin({ - name: 'manifest', - minChunks: Infinity - }), - // This instance extracts shared chunks from code splitted chunks and bundles them - // in a separate chunk, similar to the vendor chunk - // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk - new webpack.optimize.CommonsChunkPlugin({ - name: 'app', - async: 'vendor-async', - children: true, - minChunks: 3 - }), - - // copy custom static assets - new CopyWebpackPlugin([ - { - from: path.resolve(__dirname, '../static'), - to: config.build.assetsSubDirectory, - ignore: ['.*'] - } - ]) - ] -}) - -if (config.build.productionGzip) { - const CompressionWebpackPlugin = require('compression-webpack-plugin') - - webpackConfig.plugins.push( - new CompressionWebpackPlugin({ - asset: '[path].gz[query]', - algorithm: 'gzip', - test: new RegExp( - '\\.(' + - config.build.productionGzipExtensions.join('|') + - ')$' - ), - threshold: 10240, - minRatio: 0.8 - }) - ) -} - -if (config.build.bundleAnalyzerReport) { - const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin - webpackConfig.plugins.push(new BundleAnalyzerPlugin()) -} - -module.exports = webpackConfig diff --git a/build/webpack.test.conf.js b/build/webpack.test.conf.js deleted file mode 100755 index 0d658d9e..00000000 --- a/build/webpack.test.conf.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict' -// This is the webpack config used for unit tests. - -const utils = require('./utils') -const webpack = require('webpack') -const merge = require('webpack-merge') -const baseWebpackConfig = require('./webpack.base.conf') - -const webpackConfig = merge(baseWebpackConfig, { - // use inline sourcemap for karma-sourcemap-loader - module: { - rules: utils.styleLoaders() - }, - devtool: '#inline-source-map', - resolveLoader: { - alias: { - // necessary to to make lang="scss" work in test when using vue-loader's ?inject option - // see discussion at https://github.com/vuejs/vue-loader/issues/724 - 'scss-loader': 'sass-loader' - } - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': require('../config/test.env') - }) - ] -}) - -// no need for app entry during tests -delete webpackConfig.entry - -module.exports = webpackConfig diff --git a/config/dev.env.js b/config/dev.env.js deleted file mode 100755 index 55a82ff3..00000000 --- a/config/dev.env.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' -const merge = require('webpack-merge') -const prodEnv = require('./prod.env') - -module.exports = merge(prodEnv, { - NODE_ENV: '"development"', -}) diff --git a/config/dev.local.env.js b/config/dev.local.env.js deleted file mode 100644 index 86af2917..00000000 --- a/config/dev.local.env.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' -const merge = require('webpack-merge') -const prodEnv = require('./prod.env') - -module.exports = merge(prodEnv, { - NODE_ENV: '"development"', -}); diff --git a/config/index.js b/config/index.js deleted file mode 100755 index 42061ebe..00000000 --- a/config/index.js +++ /dev/null @@ -1,76 +0,0 @@ -'use strict' -// Template version: 1.3.1 -// see http://vuejs-templates.github.io/webpack for documentation. - -const path = require('path') - -module.exports = { - dev: { - - // Paths - assetsSubDirectory: 'static', - assetsPublicPath: '', - proxyTable: {}, - - // Various Dev Server settings - host: 'localhost', // can be overwritten by process.env.HOST - port: 4000, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined - autoOpenBrowser: true, - errorOverlay: true, - notifyOnErrors: true, - poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- - - // Use Eslint Loader? - // If true, your code will be linted during bundling and - // linting errors and warnings will be shown in the console. - useEslint: true, - // If true, eslint errors and warnings will also be shown in the error overlay - // in the browser. - showEslintErrorsInOverlay: false, - - /** - * Source Maps - */ - - // https://webpack.js.org/configuration/devtool/#development - devtool: 'cheap-module-eval-source-map', - - // If you have problems debugging vue-files in devtools, - // set this to false - it *may* help - // https://vue-loader.vuejs.org/en/options.html#cachebusting - cacheBusting: true, - - cssSourceMap: true - }, - - build: { - // Template for index.html - index: path.resolve(__dirname, '../dist/index.html'), - - // Paths - assetsRoot: path.resolve(__dirname, '../dist'), - assetsSubDirectory: 'static', - assetsPublicPath: '', - - /** - * Source Maps - */ - - productionSourceMap: true, - // https://webpack.js.org/configuration/devtool/#production - devtool: '#source-map', - - // Gzip off by default as many popular static hosts such as - // Surge or Netlify already gzip all static assets for you. - // Before setting to `true`, make sure to: - // npm install --save-dev compression-webpack-plugin - productionGzip: false, - productionGzipExtensions: ['js', 'css'], - - // Run the build command with an extra argument to - // View the bundle analyzer report after build finishes: - // `npm run build --report` - // Set to `true` or `false` to always turn it on or off - bundleAnalyzerReport: process.env.npm_config_report - } -} diff --git a/config/prod.env.js b/config/prod.env.js deleted file mode 100755 index fa9d3b51..00000000 --- a/config/prod.env.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict' -module.exports = { - NODE_ENV: '"production"', -} diff --git a/config/test.env.js b/config/test.env.js deleted file mode 100755 index c2824a30..00000000 --- a/config/test.env.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict' -const merge = require('webpack-merge') -const devEnv = require('./dev.env') - -module.exports = merge(devEnv, { - NODE_ENV: '"testing"' -}) diff --git a/cypress.json b/cypress.json new file mode 100644 index 00000000..470c7201 --- /dev/null +++ b/cypress.json @@ -0,0 +1,3 @@ +{ + "pluginsFile": "tests/e2e/plugins/index.js" +} diff --git a/firebase.json b/firebase.json index 19d985ee..fc52ab7a 100755 --- a/firebase.json +++ b/firebase.json @@ -1,15 +1,15 @@ { "database": { - "rules": "config/firebase/database.rules.json" + "rules": "firebase/database.rules.json" }, "firestore": { - "rules": "config/firebase/firestore.rules", - "indexes": "config/firebase/firestore.indexes.json" + "rules": "firebase/firestore.rules", + "indexes": "firebase/firestore.indexes.json" }, "hosting": { "public": "dist", "ignore": [ - "config/firebase/firebase.json", + "firebase/firebase.json", "**/.*", "**/node_modules/**" ], @@ -21,6 +21,6 @@ ] }, "storage": { - "rules": "config/firebase/storage.rules" + "rules": "firebase/storage.rules" } } diff --git a/config/firebase/database.rules.json b/firebase/database.rules.json similarity index 100% rename from config/firebase/database.rules.json rename to firebase/database.rules.json diff --git a/config/firebase/firestore.indexes.json b/firebase/firestore.indexes.json similarity index 100% rename from config/firebase/firestore.indexes.json rename to firebase/firestore.indexes.json diff --git a/config/firebase/firestore.rules b/firebase/firestore.rules similarity index 100% rename from config/firebase/firestore.rules rename to firebase/firestore.rules diff --git a/config/firebase/storage.rules b/firebase/storage.rules similarity index 100% rename from config/firebase/storage.rules rename to firebase/storage.rules diff --git a/index.html b/index.html deleted file mode 100755 index 5f26faf7..00000000 --- a/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - Gamebrary - - - - -
- - diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 00000000..4aafc5f6 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "esnext", + "baseUrl": "./", + "moduleResolution": "node", + "paths": { + "@/*": [ + "src/*" + ] + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + } +} diff --git a/package.json b/package.json index ba75f6da..631db1df 100644 --- a/package.json +++ b/package.json @@ -6,17 +6,19 @@ "license": "MIT", "private": true, "scripts": { - "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", - "dev:local": "webpack-dev-server --inline --progress --config build/webpack.dev.local.conf.js", - "start": "npm run dev", - "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", - "test": "npm run unit", - "lint": "eslint --ext .js,.vue src test/unit", - "translate": "node build/translate.js", - "build": "node build/build.js", - "deploy": "firebase deploy" + "dev": "vue-cli-service serve --port 4000", + "build": "vue-cli-service build", + "test:unit": "vue-cli-service test:unit", + "test:e2e": "vue-cli-service test:e2e", + "lint": "vue-cli-service lint", + "deploy": "firebase deploy" }, "dependencies": { + "core-js": "^3.8.3", + "register-service-worker": "^1.7.2", + "vue": "^2.6.14", + "vue-router": "^3.5.1", + "vuex": "^3.6.2", "@vue-stripe/vue-stripe": "^4.4.2", "axios": "^0.21.1", "bootstrap": "^4.5.2", @@ -30,99 +32,78 @@ "lodash.groupby": "^4.6.0", "lodash.orderby": "^4.6.0", "lodash.sortby": "^4.7.0", - "node-sass": "^4.8.3", "packery": "^2.1.2", "portal-vue": "^2.1.7", "raven-js": "^3.27.0", - "sass-loader": "^7.0.1", - "sw-precache-webpack-plugin": "^0.11.5", "translate-json-object": "^2.3.3", - "vue": "^2.6.14", "vue-analytics": "^5.16.0", "vue-axios": "^2.1.1", "vue-dayjs": "^1.0.2", "vue-i18n": "^8.0.0", - "vue-markdown": "^2.2.4", "vue-observe-visibility": "^1.0.0", "vue-raven": "^1.0.0", - "vue-router": "^3.0.1", "vue-shortkey": "^3.1.7", "vue-tweet-embed": "^2.4.0", "vuedraggable": "^2.24.3", "vuefire": "^1.4.5", - "vuex": "^3.0.1", "vuex-persist": "^1.2.2" }, "devDependencies": { - "autoprefixer": "^7.1.2", - "babel-core": "^6.22.1", - "babel-eslint": "^8.2.1", - "babel-helper-vue-jsx-merge-props": "^2.0.3", - "babel-loader": "^7.1.1", - "babel-plugin-istanbul": "^4.1.1", - "babel-plugin-syntax-jsx": "^6.18.0", - "babel-plugin-transform-runtime": "^6.22.0", - "babel-plugin-transform-vue-jsx": "^3.5.0", - "babel-preset-env": "^1.3.2", - "babel-preset-stage-2": "^6.22.0", - "chai": "^4.1.2", - "chalk": "^2.0.1", - "copy-webpack-plugin": "^4.0.1", - "cross-env": "^5.0.1", - "css-loader": "^0.28.0", - "eslint": "^4.15.0", - "eslint-config-airbnb-base": "^11.3.0", - "eslint-friendly-formatter": "^3.0.0", - "eslint-import-resolver-webpack": "^0.8.3", - "eslint-loader": "^1.7.1", - "eslint-plugin-import": "^2.7.0", - "eslint-plugin-promise": "^4.0.1", - "eslint-plugin-vue": "^4.0.0", - "extract-text-webpack-plugin": "^3.0.0", - "file-loader": "^1.1.4", - "friendly-errors-webpack-plugin": "^1.6.1", - "html-webpack-plugin": "^2.30.1", - "inject-loader": "^3.0.0", - "karma": "^1.4.1", - "karma-coverage": "^1.1.1", - "karma-mocha": "^1.3.0", - "karma-phantomjs-launcher": "^1.0.2", - "karma-phantomjs-shim": "^1.4.0", - "karma-sinon-chai": "^1.3.1", - "karma-sourcemap-loader": "^0.3.7", - "karma-spec-reporter": "0.0.31", - "karma-webpack": "^2.0.2", - "mocha": "^3.2.0", - "node-notifier": "^8.0.1", - "optimize-css-assets-webpack-plugin": "^3.2.0", - "ora": "^1.2.0", - "phantomjs-prebuilt": "^2.1.14", - "portfinder": "^1.0.13", - "postcss-import": "^11.0.0", - "postcss-loader": "^2.0.8", - "postcss-url": "^7.2.1", - "rimraf": "^2.6.0", - "semver": "^5.3.0", - "shelljs": "^0.7.6", - "sinon": "^4.0.0", - "sinon-chai": "^2.8.0", - "uglifyjs-webpack-plugin": "^1.1.1", - "url-loader": "^0.5.8", - "vue-loader": "^13.3.0", - "vue-style-loader": "^3.0.1", - "vue-template-compiler": "^2.6.11", - "webpack": "^3.6.0", - "webpack-bundle-analyzer": "^3.3.2", - "webpack-dev-server": "^2.9.1", - "webpack-merge": "^4.1.0" + "babel-loader": "^7.1.1", + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-e2e-cypress": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-plugin-pwa": "~5.0.0", + "@vue/cli-plugin-router": "~5.0.0", + "@vue/cli-plugin-unit-jest": "~5.0.0", + "@vue/cli-plugin-vuex": "~5.0.0", + "@vue/cli-service": "~5.0.0", + "@vue/eslint-config-airbnb": "^6.0.0", + "@vue/test-utils": "^1.1.3", + "@vue/vue2-jest": "^27.0.0-alpha.2", + "babel-jest": "^27.0.6", + "cypress": "^8.3.0", + "eslint": "^7.32.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-vue": "^8.0.3", + "eslint-plugin-vuejs-accessibility": "^1.1.0", + "jest": "^27.0.5", + "sass": "^1.32.7", + "sass-loader": "^12.0.0", + "vue-template-compiler": "^2.6.14" }, - "engines": { - "node": ">= 10.19.0", - "npm": ">= 3.0.0" + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential" + ], + "parserOptions": { + "parser": "@babel/eslint-parser" + }, + "rules": {}, + "overrides": [ + { + "files": [ + "**/__tests__/*.{j,t}s?(x)", + "**/tests/unit/**/*.spec.{j,t}s?(x)" + ], + "env": { + "jest": true + } + } + ] }, "browserslist": [ - "> 1%", - "last 2 versions", - "not ie <= 8" - ] + "> 1%", + "last 2 versions", + "not dead" + ], + "jest": { + "preset": "@vue/cli-plugin-unit-jest" + } } diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/static/gamebrary-logo-dark.png b/public/gamebrary-logo-dark.png similarity index 100% rename from static/gamebrary-logo-dark.png rename to public/gamebrary-logo-dark.png diff --git a/static/gamebrary-logo.png b/public/gamebrary-logo.png similarity index 100% rename from static/gamebrary-logo.png rename to public/gamebrary-logo.png diff --git a/static/icons/android-chrome-192x192.png b/public/icons/android-chrome-192x192.png similarity index 100% rename from static/icons/android-chrome-192x192.png rename to public/icons/android-chrome-192x192.png diff --git a/static/icons/android-chrome-512x512.png b/public/icons/android-chrome-512x512.png similarity index 100% rename from static/icons/android-chrome-512x512.png rename to public/icons/android-chrome-512x512.png diff --git a/static/icons/android-icon-144x144.png b/public/icons/android-icon-144x144.png similarity index 100% rename from static/icons/android-icon-144x144.png rename to public/icons/android-icon-144x144.png diff --git a/static/icons/android-icon-192x192.png b/public/icons/android-icon-192x192.png similarity index 100% rename from static/icons/android-icon-192x192.png rename to public/icons/android-icon-192x192.png diff --git a/static/icons/android-icon-36x36.png b/public/icons/android-icon-36x36.png similarity index 100% rename from static/icons/android-icon-36x36.png rename to public/icons/android-icon-36x36.png diff --git a/static/icons/android-icon-48x48.png b/public/icons/android-icon-48x48.png similarity index 100% rename from static/icons/android-icon-48x48.png rename to public/icons/android-icon-48x48.png diff --git a/static/icons/android-icon-72x72.png b/public/icons/android-icon-72x72.png similarity index 100% rename from static/icons/android-icon-72x72.png rename to public/icons/android-icon-72x72.png diff --git a/static/icons/android-icon-96x96.png b/public/icons/android-icon-96x96.png similarity index 100% rename from static/icons/android-icon-96x96.png rename to public/icons/android-icon-96x96.png diff --git a/static/icons/apple-icon-114x114.png b/public/icons/apple-icon-114x114.png similarity index 100% rename from static/icons/apple-icon-114x114.png rename to public/icons/apple-icon-114x114.png diff --git a/static/icons/apple-icon-120x120.png b/public/icons/apple-icon-120x120.png similarity index 100% rename from static/icons/apple-icon-120x120.png rename to public/icons/apple-icon-120x120.png diff --git a/static/icons/apple-icon-144x144.png b/public/icons/apple-icon-144x144.png similarity index 100% rename from static/icons/apple-icon-144x144.png rename to public/icons/apple-icon-144x144.png diff --git a/static/icons/apple-icon-152x152.png b/public/icons/apple-icon-152x152.png similarity index 100% rename from static/icons/apple-icon-152x152.png rename to public/icons/apple-icon-152x152.png diff --git a/static/icons/apple-icon-180x180.png b/public/icons/apple-icon-180x180.png similarity index 100% rename from static/icons/apple-icon-180x180.png rename to public/icons/apple-icon-180x180.png diff --git a/static/icons/apple-icon-57x57.png b/public/icons/apple-icon-57x57.png similarity index 100% rename from static/icons/apple-icon-57x57.png rename to public/icons/apple-icon-57x57.png diff --git a/static/icons/apple-icon-60x60.png b/public/icons/apple-icon-60x60.png similarity index 100% rename from static/icons/apple-icon-60x60.png rename to public/icons/apple-icon-60x60.png diff --git a/static/icons/apple-icon-72x72.png b/public/icons/apple-icon-72x72.png similarity index 100% rename from static/icons/apple-icon-72x72.png rename to public/icons/apple-icon-72x72.png diff --git a/static/icons/apple-icon-76x76.png b/public/icons/apple-icon-76x76.png similarity index 100% rename from static/icons/apple-icon-76x76.png rename to public/icons/apple-icon-76x76.png diff --git a/static/icons/apple-icon-precomposed.png b/public/icons/apple-icon-precomposed.png similarity index 100% rename from static/icons/apple-icon-precomposed.png rename to public/icons/apple-icon-precomposed.png diff --git a/static/icons/apple-icon.png b/public/icons/apple-icon.png similarity index 100% rename from static/icons/apple-icon.png rename to public/icons/apple-icon.png diff --git a/static/icons/apple-touch-icon.png b/public/icons/apple-touch-icon.png similarity index 100% rename from static/icons/apple-touch-icon.png rename to public/icons/apple-touch-icon.png diff --git a/static/icons/browserconfig.xml b/public/icons/browserconfig.xml similarity index 100% rename from static/icons/browserconfig.xml rename to public/icons/browserconfig.xml diff --git a/static/icons/favicon-16x16.png b/public/icons/favicon-16x16.png similarity index 100% rename from static/icons/favicon-16x16.png rename to public/icons/favicon-16x16.png diff --git a/static/icons/favicon-32x32.png b/public/icons/favicon-32x32.png similarity index 100% rename from static/icons/favicon-32x32.png rename to public/icons/favicon-32x32.png diff --git a/static/icons/favicon-96x96.png b/public/icons/favicon-96x96.png similarity index 100% rename from static/icons/favicon-96x96.png rename to public/icons/favicon-96x96.png diff --git a/static/icons/favicon.ico b/public/icons/favicon.ico similarity index 100% rename from static/icons/favicon.ico rename to public/icons/favicon.ico diff --git a/static/icons/icon-144x144.png b/public/icons/icon-144x144.png similarity index 100% rename from static/icons/icon-144x144.png rename to public/icons/icon-144x144.png diff --git a/static/icons/manifest.json b/public/icons/manifest.json similarity index 100% rename from static/icons/manifest.json rename to public/icons/manifest.json diff --git a/static/icons/ms-icon-144x144.png b/public/icons/ms-icon-144x144.png similarity index 100% rename from static/icons/ms-icon-144x144.png rename to public/icons/ms-icon-144x144.png diff --git a/static/icons/ms-icon-150x150.png b/public/icons/ms-icon-150x150.png similarity index 100% rename from static/icons/ms-icon-150x150.png rename to public/icons/ms-icon-150x150.png diff --git a/static/icons/ms-icon-310x310.png b/public/icons/ms-icon-310x310.png similarity index 100% rename from static/icons/ms-icon-310x310.png rename to public/icons/ms-icon-310x310.png diff --git a/static/icons/ms-icon-70x70.png b/public/icons/ms-icon-70x70.png similarity index 100% rename from static/icons/ms-icon-70x70.png rename to public/icons/ms-icon-70x70.png diff --git a/static/icons/mstile-150x150.png b/public/icons/mstile-150x150.png similarity index 100% rename from static/icons/mstile-150x150.png rename to public/icons/mstile-150x150.png diff --git a/static/icons/site.webmanifest b/public/icons/site.webmanifest similarity index 100% rename from static/icons/site.webmanifest rename to public/icons/site.webmanifest diff --git a/static/img/age-ratings/12.png b/public/img/age-ratings/12.png similarity index 100% rename from static/img/age-ratings/12.png rename to public/img/age-ratings/12.png diff --git a/static/img/age-ratings/16.png b/public/img/age-ratings/16.png similarity index 100% rename from static/img/age-ratings/16.png rename to public/img/age-ratings/16.png diff --git a/static/img/age-ratings/18.png b/public/img/age-ratings/18.png similarity index 100% rename from static/img/age-ratings/18.png rename to public/img/age-ratings/18.png diff --git a/static/img/age-ratings/3.png b/public/img/age-ratings/3.png similarity index 100% rename from static/img/age-ratings/3.png rename to public/img/age-ratings/3.png diff --git a/static/img/age-ratings/7.png b/public/img/age-ratings/7.png similarity index 100% rename from static/img/age-ratings/7.png rename to public/img/age-ratings/7.png diff --git a/static/img/age-ratings/AO.png b/public/img/age-ratings/AO.png similarity index 100% rename from static/img/age-ratings/AO.png rename to public/img/age-ratings/AO.png diff --git a/static/img/age-ratings/CERO_A.svg b/public/img/age-ratings/CERO_A.svg similarity index 100% rename from static/img/age-ratings/CERO_A.svg rename to public/img/age-ratings/CERO_A.svg diff --git a/static/img/age-ratings/ClassInd-10.png b/public/img/age-ratings/ClassInd-10.png similarity index 100% rename from static/img/age-ratings/ClassInd-10.png rename to public/img/age-ratings/ClassInd-10.png diff --git a/static/img/age-ratings/ClassInd-12.png b/public/img/age-ratings/ClassInd-12.png similarity index 100% rename from static/img/age-ratings/ClassInd-12.png rename to public/img/age-ratings/ClassInd-12.png diff --git a/static/img/age-ratings/ClassInd-14.png b/public/img/age-ratings/ClassInd-14.png similarity index 100% rename from static/img/age-ratings/ClassInd-14.png rename to public/img/age-ratings/ClassInd-14.png diff --git a/static/img/age-ratings/ClassInd-16.png b/public/img/age-ratings/ClassInd-16.png similarity index 100% rename from static/img/age-ratings/ClassInd-16.png rename to public/img/age-ratings/ClassInd-16.png diff --git a/static/img/age-ratings/ClassInd-18.png b/public/img/age-ratings/ClassInd-18.png similarity index 100% rename from static/img/age-ratings/ClassInd-18.png rename to public/img/age-ratings/ClassInd-18.png diff --git a/static/img/age-ratings/ClassInd-L.png b/public/img/age-ratings/ClassInd-L.png similarity index 100% rename from static/img/age-ratings/ClassInd-L.png rename to public/img/age-ratings/ClassInd-L.png diff --git a/static/img/age-ratings/E.png b/public/img/age-ratings/E.png similarity index 100% rename from static/img/age-ratings/E.png rename to public/img/age-ratings/E.png diff --git a/static/img/age-ratings/E10.png b/public/img/age-ratings/E10.png similarity index 100% rename from static/img/age-ratings/E10.png rename to public/img/age-ratings/E10.png diff --git a/static/img/age-ratings/EC.png b/public/img/age-ratings/EC.png similarity index 100% rename from static/img/age-ratings/EC.png rename to public/img/age-ratings/EC.png diff --git a/static/img/age-ratings/GRAC_ALL.svg b/public/img/age-ratings/GRAC_ALL.svg similarity index 100% rename from static/img/age-ratings/GRAC_ALL.svg rename to public/img/age-ratings/GRAC_ALL.svg diff --git a/static/img/age-ratings/GRAC_Twelve.svg b/public/img/age-ratings/GRAC_Twelve.svg similarity index 100% rename from static/img/age-ratings/GRAC_Twelve.svg rename to public/img/age-ratings/GRAC_Twelve.svg diff --git a/static/img/age-ratings/GRB_15.svg b/public/img/age-ratings/GRB_15.svg similarity index 100% rename from static/img/age-ratings/GRB_15.svg rename to public/img/age-ratings/GRB_15.svg diff --git a/static/img/age-ratings/GRB_18.svg b/public/img/age-ratings/GRB_18.svg similarity index 100% rename from static/img/age-ratings/GRB_18.svg rename to public/img/age-ratings/GRB_18.svg diff --git a/static/img/age-ratings/GRB_Test.svg b/public/img/age-ratings/GRB_Test.svg similarity index 100% rename from static/img/age-ratings/GRB_Test.svg rename to public/img/age-ratings/GRB_Test.svg diff --git a/static/img/age-ratings/M.png b/public/img/age-ratings/M.png similarity index 100% rename from static/img/age-ratings/M.png rename to public/img/age-ratings/M.png diff --git a/static/img/age-ratings/RP.png b/public/img/age-ratings/RP.png similarity index 100% rename from static/img/age-ratings/RP.png rename to public/img/age-ratings/RP.png diff --git a/static/img/age-ratings/T.png b/public/img/age-ratings/T.png similarity index 100% rename from static/img/age-ratings/T.png rename to public/img/age-ratings/T.png diff --git a/static/img/age-ratings/USK_0.svg b/public/img/age-ratings/USK_0.svg similarity index 100% rename from static/img/age-ratings/USK_0.svg rename to public/img/age-ratings/USK_0.svg diff --git a/static/img/age-ratings/USK_12.svg b/public/img/age-ratings/USK_12.svg similarity index 100% rename from static/img/age-ratings/USK_12.svg rename to public/img/age-ratings/USK_12.svg diff --git a/static/img/age-ratings/USK_16.svg b/public/img/age-ratings/USK_16.svg similarity index 100% rename from static/img/age-ratings/USK_16.svg rename to public/img/age-ratings/USK_16.svg diff --git a/static/img/age-ratings/USK_18.svg b/public/img/age-ratings/USK_18.svg similarity index 100% rename from static/img/age-ratings/USK_18.svg rename to public/img/age-ratings/USK_18.svg diff --git a/static/img/age-ratings/USK_6.svg b/public/img/age-ratings/USK_6.svg similarity index 100% rename from static/img/age-ratings/USK_6.svg rename to public/img/age-ratings/USK_6.svg diff --git a/static/img/country-flags/ac.svg b/public/img/country-flags/ac.svg similarity index 100% rename from static/img/country-flags/ac.svg rename to public/img/country-flags/ac.svg diff --git a/static/img/country-flags/ad.svg b/public/img/country-flags/ad.svg similarity index 100% rename from static/img/country-flags/ad.svg rename to public/img/country-flags/ad.svg diff --git a/static/img/country-flags/ae.svg b/public/img/country-flags/ae.svg similarity index 100% rename from static/img/country-flags/ae.svg rename to public/img/country-flags/ae.svg diff --git a/static/img/country-flags/af.svg b/public/img/country-flags/af.svg similarity index 100% rename from static/img/country-flags/af.svg rename to public/img/country-flags/af.svg diff --git a/static/img/country-flags/ag.svg b/public/img/country-flags/ag.svg similarity index 100% rename from static/img/country-flags/ag.svg rename to public/img/country-flags/ag.svg diff --git a/static/img/country-flags/ai.svg b/public/img/country-flags/ai.svg similarity index 100% rename from static/img/country-flags/ai.svg rename to public/img/country-flags/ai.svg diff --git a/static/img/country-flags/al.svg b/public/img/country-flags/al.svg similarity index 100% rename from static/img/country-flags/al.svg rename to public/img/country-flags/al.svg diff --git a/static/img/country-flags/am.svg b/public/img/country-flags/am.svg similarity index 100% rename from static/img/country-flags/am.svg rename to public/img/country-flags/am.svg diff --git a/static/img/country-flags/ao.svg b/public/img/country-flags/ao.svg similarity index 100% rename from static/img/country-flags/ao.svg rename to public/img/country-flags/ao.svg diff --git a/static/img/country-flags/aq.svg b/public/img/country-flags/aq.svg similarity index 100% rename from static/img/country-flags/aq.svg rename to public/img/country-flags/aq.svg diff --git a/static/img/country-flags/ar.svg b/public/img/country-flags/ar.svg similarity index 100% rename from static/img/country-flags/ar.svg rename to public/img/country-flags/ar.svg diff --git a/static/img/country-flags/as.svg b/public/img/country-flags/as.svg similarity index 100% rename from static/img/country-flags/as.svg rename to public/img/country-flags/as.svg diff --git a/static/img/country-flags/at.svg b/public/img/country-flags/at.svg similarity index 100% rename from static/img/country-flags/at.svg rename to public/img/country-flags/at.svg diff --git a/static/img/country-flags/au.svg b/public/img/country-flags/au.svg similarity index 100% rename from static/img/country-flags/au.svg rename to public/img/country-flags/au.svg diff --git a/static/img/country-flags/aw.svg b/public/img/country-flags/aw.svg similarity index 100% rename from static/img/country-flags/aw.svg rename to public/img/country-flags/aw.svg diff --git a/static/img/country-flags/ax.svg b/public/img/country-flags/ax.svg similarity index 100% rename from static/img/country-flags/ax.svg rename to public/img/country-flags/ax.svg diff --git a/static/img/country-flags/az.svg b/public/img/country-flags/az.svg similarity index 100% rename from static/img/country-flags/az.svg rename to public/img/country-flags/az.svg diff --git a/static/img/country-flags/ba.svg b/public/img/country-flags/ba.svg similarity index 100% rename from static/img/country-flags/ba.svg rename to public/img/country-flags/ba.svg diff --git a/static/img/country-flags/bb.svg b/public/img/country-flags/bb.svg similarity index 100% rename from static/img/country-flags/bb.svg rename to public/img/country-flags/bb.svg diff --git a/static/img/country-flags/bd.svg b/public/img/country-flags/bd.svg similarity index 100% rename from static/img/country-flags/bd.svg rename to public/img/country-flags/bd.svg diff --git a/static/img/country-flags/be.svg b/public/img/country-flags/be.svg similarity index 100% rename from static/img/country-flags/be.svg rename to public/img/country-flags/be.svg diff --git a/static/img/country-flags/bf.svg b/public/img/country-flags/bf.svg similarity index 100% rename from static/img/country-flags/bf.svg rename to public/img/country-flags/bf.svg diff --git a/static/img/country-flags/bg.svg b/public/img/country-flags/bg.svg similarity index 100% rename from static/img/country-flags/bg.svg rename to public/img/country-flags/bg.svg diff --git a/static/img/country-flags/bh.svg b/public/img/country-flags/bh.svg similarity index 100% rename from static/img/country-flags/bh.svg rename to public/img/country-flags/bh.svg diff --git a/static/img/country-flags/bi.svg b/public/img/country-flags/bi.svg similarity index 100% rename from static/img/country-flags/bi.svg rename to public/img/country-flags/bi.svg diff --git a/static/img/country-flags/bj.svg b/public/img/country-flags/bj.svg similarity index 100% rename from static/img/country-flags/bj.svg rename to public/img/country-flags/bj.svg diff --git a/static/img/country-flags/bl.svg b/public/img/country-flags/bl.svg similarity index 100% rename from static/img/country-flags/bl.svg rename to public/img/country-flags/bl.svg diff --git a/static/img/country-flags/bm.svg b/public/img/country-flags/bm.svg similarity index 100% rename from static/img/country-flags/bm.svg rename to public/img/country-flags/bm.svg diff --git a/static/img/country-flags/bn.svg b/public/img/country-flags/bn.svg similarity index 100% rename from static/img/country-flags/bn.svg rename to public/img/country-flags/bn.svg diff --git a/static/img/country-flags/bo.svg b/public/img/country-flags/bo.svg similarity index 100% rename from static/img/country-flags/bo.svg rename to public/img/country-flags/bo.svg diff --git a/static/img/country-flags/bq.svg b/public/img/country-flags/bq.svg similarity index 100% rename from static/img/country-flags/bq.svg rename to public/img/country-flags/bq.svg diff --git a/static/img/country-flags/br.svg b/public/img/country-flags/br.svg similarity index 100% rename from static/img/country-flags/br.svg rename to public/img/country-flags/br.svg diff --git a/static/img/country-flags/bs.svg b/public/img/country-flags/bs.svg similarity index 100% rename from static/img/country-flags/bs.svg rename to public/img/country-flags/bs.svg diff --git a/static/img/country-flags/bt.svg b/public/img/country-flags/bt.svg similarity index 100% rename from static/img/country-flags/bt.svg rename to public/img/country-flags/bt.svg diff --git a/static/img/country-flags/bv.svg b/public/img/country-flags/bv.svg similarity index 100% rename from static/img/country-flags/bv.svg rename to public/img/country-flags/bv.svg diff --git a/static/img/country-flags/bw.svg b/public/img/country-flags/bw.svg similarity index 100% rename from static/img/country-flags/bw.svg rename to public/img/country-flags/bw.svg diff --git a/static/img/country-flags/by.svg b/public/img/country-flags/by.svg similarity index 100% rename from static/img/country-flags/by.svg rename to public/img/country-flags/by.svg diff --git a/static/img/country-flags/bz.svg b/public/img/country-flags/bz.svg similarity index 100% rename from static/img/country-flags/bz.svg rename to public/img/country-flags/bz.svg diff --git a/static/img/country-flags/ca.svg b/public/img/country-flags/ca.svg similarity index 100% rename from static/img/country-flags/ca.svg rename to public/img/country-flags/ca.svg diff --git a/static/img/country-flags/cc.svg b/public/img/country-flags/cc.svg similarity index 100% rename from static/img/country-flags/cc.svg rename to public/img/country-flags/cc.svg diff --git a/static/img/country-flags/cd.svg b/public/img/country-flags/cd.svg similarity index 100% rename from static/img/country-flags/cd.svg rename to public/img/country-flags/cd.svg diff --git a/static/img/country-flags/cf.svg b/public/img/country-flags/cf.svg similarity index 100% rename from static/img/country-flags/cf.svg rename to public/img/country-flags/cf.svg diff --git a/static/img/country-flags/cg.svg b/public/img/country-flags/cg.svg similarity index 100% rename from static/img/country-flags/cg.svg rename to public/img/country-flags/cg.svg diff --git a/static/img/country-flags/ch.svg b/public/img/country-flags/ch.svg similarity index 100% rename from static/img/country-flags/ch.svg rename to public/img/country-flags/ch.svg diff --git a/static/img/country-flags/ci.svg b/public/img/country-flags/ci.svg similarity index 100% rename from static/img/country-flags/ci.svg rename to public/img/country-flags/ci.svg diff --git a/static/img/country-flags/ck.svg b/public/img/country-flags/ck.svg similarity index 100% rename from static/img/country-flags/ck.svg rename to public/img/country-flags/ck.svg diff --git a/static/img/country-flags/cl.svg b/public/img/country-flags/cl.svg similarity index 100% rename from static/img/country-flags/cl.svg rename to public/img/country-flags/cl.svg diff --git a/static/img/country-flags/cm.svg b/public/img/country-flags/cm.svg similarity index 100% rename from static/img/country-flags/cm.svg rename to public/img/country-flags/cm.svg diff --git a/static/img/country-flags/cn.svg b/public/img/country-flags/cn.svg similarity index 100% rename from static/img/country-flags/cn.svg rename to public/img/country-flags/cn.svg diff --git a/static/img/country-flags/co.svg b/public/img/country-flags/co.svg similarity index 100% rename from static/img/country-flags/co.svg rename to public/img/country-flags/co.svg diff --git a/static/img/country-flags/cp.svg b/public/img/country-flags/cp.svg similarity index 100% rename from static/img/country-flags/cp.svg rename to public/img/country-flags/cp.svg diff --git a/static/img/country-flags/cr.svg b/public/img/country-flags/cr.svg similarity index 100% rename from static/img/country-flags/cr.svg rename to public/img/country-flags/cr.svg diff --git a/static/img/country-flags/cu.svg b/public/img/country-flags/cu.svg similarity index 100% rename from static/img/country-flags/cu.svg rename to public/img/country-flags/cu.svg diff --git a/static/img/country-flags/cv.svg b/public/img/country-flags/cv.svg similarity index 100% rename from static/img/country-flags/cv.svg rename to public/img/country-flags/cv.svg diff --git a/static/img/country-flags/cw.svg b/public/img/country-flags/cw.svg similarity index 100% rename from static/img/country-flags/cw.svg rename to public/img/country-flags/cw.svg diff --git a/static/img/country-flags/cx.svg b/public/img/country-flags/cx.svg similarity index 100% rename from static/img/country-flags/cx.svg rename to public/img/country-flags/cx.svg diff --git a/static/img/country-flags/cy.svg b/public/img/country-flags/cy.svg similarity index 100% rename from static/img/country-flags/cy.svg rename to public/img/country-flags/cy.svg diff --git a/static/img/country-flags/cz.svg b/public/img/country-flags/cz.svg similarity index 100% rename from static/img/country-flags/cz.svg rename to public/img/country-flags/cz.svg diff --git a/static/img/country-flags/de.svg b/public/img/country-flags/de.svg similarity index 100% rename from static/img/country-flags/de.svg rename to public/img/country-flags/de.svg diff --git a/static/img/country-flags/dg.svg b/public/img/country-flags/dg.svg similarity index 100% rename from static/img/country-flags/dg.svg rename to public/img/country-flags/dg.svg diff --git a/static/img/country-flags/dj.svg b/public/img/country-flags/dj.svg similarity index 100% rename from static/img/country-flags/dj.svg rename to public/img/country-flags/dj.svg diff --git a/static/img/country-flags/dk.svg b/public/img/country-flags/dk.svg similarity index 100% rename from static/img/country-flags/dk.svg rename to public/img/country-flags/dk.svg diff --git a/static/img/country-flags/dm.svg b/public/img/country-flags/dm.svg similarity index 100% rename from static/img/country-flags/dm.svg rename to public/img/country-flags/dm.svg diff --git a/static/img/country-flags/do.svg b/public/img/country-flags/do.svg similarity index 100% rename from static/img/country-flags/do.svg rename to public/img/country-flags/do.svg diff --git a/static/img/country-flags/dz.svg b/public/img/country-flags/dz.svg similarity index 100% rename from static/img/country-flags/dz.svg rename to public/img/country-flags/dz.svg diff --git a/static/img/country-flags/ea.svg b/public/img/country-flags/ea.svg similarity index 100% rename from static/img/country-flags/ea.svg rename to public/img/country-flags/ea.svg diff --git a/static/img/country-flags/ec.svg b/public/img/country-flags/ec.svg similarity index 100% rename from static/img/country-flags/ec.svg rename to public/img/country-flags/ec.svg diff --git a/static/img/country-flags/ee.svg b/public/img/country-flags/ee.svg similarity index 100% rename from static/img/country-flags/ee.svg rename to public/img/country-flags/ee.svg diff --git a/static/img/country-flags/eg.svg b/public/img/country-flags/eg.svg similarity index 100% rename from static/img/country-flags/eg.svg rename to public/img/country-flags/eg.svg diff --git a/static/img/country-flags/eh.svg b/public/img/country-flags/eh.svg similarity index 100% rename from static/img/country-flags/eh.svg rename to public/img/country-flags/eh.svg diff --git a/static/img/country-flags/er.svg b/public/img/country-flags/er.svg similarity index 100% rename from static/img/country-flags/er.svg rename to public/img/country-flags/er.svg diff --git a/static/img/country-flags/es-ct.svg b/public/img/country-flags/es-ct.svg similarity index 100% rename from static/img/country-flags/es-ct.svg rename to public/img/country-flags/es-ct.svg diff --git a/static/img/country-flags/es-ga.svg b/public/img/country-flags/es-ga.svg similarity index 100% rename from static/img/country-flags/es-ga.svg rename to public/img/country-flags/es-ga.svg diff --git a/static/img/country-flags/es.svg b/public/img/country-flags/es.svg similarity index 100% rename from static/img/country-flags/es.svg rename to public/img/country-flags/es.svg diff --git a/static/img/country-flags/et.svg b/public/img/country-flags/et.svg similarity index 100% rename from static/img/country-flags/et.svg rename to public/img/country-flags/et.svg diff --git a/static/img/country-flags/eu.svg b/public/img/country-flags/eu.svg similarity index 100% rename from static/img/country-flags/eu.svg rename to public/img/country-flags/eu.svg diff --git a/static/img/country-flags/fi.svg b/public/img/country-flags/fi.svg similarity index 100% rename from static/img/country-flags/fi.svg rename to public/img/country-flags/fi.svg diff --git a/static/img/country-flags/fj.svg b/public/img/country-flags/fj.svg similarity index 100% rename from static/img/country-flags/fj.svg rename to public/img/country-flags/fj.svg diff --git a/static/img/country-flags/fk.svg b/public/img/country-flags/fk.svg similarity index 100% rename from static/img/country-flags/fk.svg rename to public/img/country-flags/fk.svg diff --git a/static/img/country-flags/fm.svg b/public/img/country-flags/fm.svg similarity index 100% rename from static/img/country-flags/fm.svg rename to public/img/country-flags/fm.svg diff --git a/static/img/country-flags/fo.svg b/public/img/country-flags/fo.svg similarity index 100% rename from static/img/country-flags/fo.svg rename to public/img/country-flags/fo.svg diff --git a/static/img/country-flags/fr.svg b/public/img/country-flags/fr.svg similarity index 100% rename from static/img/country-flags/fr.svg rename to public/img/country-flags/fr.svg diff --git a/static/img/country-flags/ga.svg b/public/img/country-flags/ga.svg similarity index 100% rename from static/img/country-flags/ga.svg rename to public/img/country-flags/ga.svg diff --git a/static/img/country-flags/gb-eng.svg b/public/img/country-flags/gb-eng.svg similarity index 100% rename from static/img/country-flags/gb-eng.svg rename to public/img/country-flags/gb-eng.svg diff --git a/static/img/country-flags/gb-nir.svg b/public/img/country-flags/gb-nir.svg similarity index 100% rename from static/img/country-flags/gb-nir.svg rename to public/img/country-flags/gb-nir.svg diff --git a/static/img/country-flags/gb-sct.svg b/public/img/country-flags/gb-sct.svg similarity index 100% rename from static/img/country-flags/gb-sct.svg rename to public/img/country-flags/gb-sct.svg diff --git a/static/img/country-flags/gb-wls.svg b/public/img/country-flags/gb-wls.svg similarity index 100% rename from static/img/country-flags/gb-wls.svg rename to public/img/country-flags/gb-wls.svg diff --git a/static/img/country-flags/gb.svg b/public/img/country-flags/gb.svg similarity index 100% rename from static/img/country-flags/gb.svg rename to public/img/country-flags/gb.svg diff --git a/static/img/country-flags/gd.svg b/public/img/country-flags/gd.svg similarity index 100% rename from static/img/country-flags/gd.svg rename to public/img/country-flags/gd.svg diff --git a/static/img/country-flags/ge.svg b/public/img/country-flags/ge.svg similarity index 100% rename from static/img/country-flags/ge.svg rename to public/img/country-flags/ge.svg diff --git a/static/img/country-flags/gf.svg b/public/img/country-flags/gf.svg similarity index 100% rename from static/img/country-flags/gf.svg rename to public/img/country-flags/gf.svg diff --git a/static/img/country-flags/gg.svg b/public/img/country-flags/gg.svg similarity index 100% rename from static/img/country-flags/gg.svg rename to public/img/country-flags/gg.svg diff --git a/static/img/country-flags/gh.svg b/public/img/country-flags/gh.svg similarity index 100% rename from static/img/country-flags/gh.svg rename to public/img/country-flags/gh.svg diff --git a/static/img/country-flags/gi.svg b/public/img/country-flags/gi.svg similarity index 100% rename from static/img/country-flags/gi.svg rename to public/img/country-flags/gi.svg diff --git a/static/img/country-flags/gl.svg b/public/img/country-flags/gl.svg similarity index 100% rename from static/img/country-flags/gl.svg rename to public/img/country-flags/gl.svg diff --git a/static/img/country-flags/gm.svg b/public/img/country-flags/gm.svg similarity index 100% rename from static/img/country-flags/gm.svg rename to public/img/country-flags/gm.svg diff --git a/static/img/country-flags/gn.svg b/public/img/country-flags/gn.svg similarity index 100% rename from static/img/country-flags/gn.svg rename to public/img/country-flags/gn.svg diff --git a/static/img/country-flags/gp.svg b/public/img/country-flags/gp.svg similarity index 100% rename from static/img/country-flags/gp.svg rename to public/img/country-flags/gp.svg diff --git a/static/img/country-flags/gq.svg b/public/img/country-flags/gq.svg similarity index 100% rename from static/img/country-flags/gq.svg rename to public/img/country-flags/gq.svg diff --git a/static/img/country-flags/gr.svg b/public/img/country-flags/gr.svg similarity index 100% rename from static/img/country-flags/gr.svg rename to public/img/country-flags/gr.svg diff --git a/static/img/country-flags/gs.svg b/public/img/country-flags/gs.svg similarity index 100% rename from static/img/country-flags/gs.svg rename to public/img/country-flags/gs.svg diff --git a/static/img/country-flags/gt.svg b/public/img/country-flags/gt.svg similarity index 100% rename from static/img/country-flags/gt.svg rename to public/img/country-flags/gt.svg diff --git a/static/img/country-flags/gu.svg b/public/img/country-flags/gu.svg similarity index 100% rename from static/img/country-flags/gu.svg rename to public/img/country-flags/gu.svg diff --git a/static/img/country-flags/gw.svg b/public/img/country-flags/gw.svg similarity index 100% rename from static/img/country-flags/gw.svg rename to public/img/country-flags/gw.svg diff --git a/static/img/country-flags/gy.svg b/public/img/country-flags/gy.svg similarity index 100% rename from static/img/country-flags/gy.svg rename to public/img/country-flags/gy.svg diff --git a/static/img/country-flags/hk.svg b/public/img/country-flags/hk.svg similarity index 100% rename from static/img/country-flags/hk.svg rename to public/img/country-flags/hk.svg diff --git a/static/img/country-flags/hm.svg b/public/img/country-flags/hm.svg similarity index 100% rename from static/img/country-flags/hm.svg rename to public/img/country-flags/hm.svg diff --git a/static/img/country-flags/hn.svg b/public/img/country-flags/hn.svg similarity index 100% rename from static/img/country-flags/hn.svg rename to public/img/country-flags/hn.svg diff --git a/static/img/country-flags/hr.svg b/public/img/country-flags/hr.svg similarity index 100% rename from static/img/country-flags/hr.svg rename to public/img/country-flags/hr.svg diff --git a/static/img/country-flags/ht.svg b/public/img/country-flags/ht.svg similarity index 100% rename from static/img/country-flags/ht.svg rename to public/img/country-flags/ht.svg diff --git a/static/img/country-flags/hu.svg b/public/img/country-flags/hu.svg similarity index 100% rename from static/img/country-flags/hu.svg rename to public/img/country-flags/hu.svg diff --git a/static/img/country-flags/ic.svg b/public/img/country-flags/ic.svg similarity index 100% rename from static/img/country-flags/ic.svg rename to public/img/country-flags/ic.svg diff --git a/static/img/country-flags/id.svg b/public/img/country-flags/id.svg similarity index 100% rename from static/img/country-flags/id.svg rename to public/img/country-flags/id.svg diff --git a/static/img/country-flags/ie.svg b/public/img/country-flags/ie.svg similarity index 100% rename from static/img/country-flags/ie.svg rename to public/img/country-flags/ie.svg diff --git a/static/img/country-flags/il.svg b/public/img/country-flags/il.svg similarity index 100% rename from static/img/country-flags/il.svg rename to public/img/country-flags/il.svg diff --git a/static/img/country-flags/im.svg b/public/img/country-flags/im.svg similarity index 100% rename from static/img/country-flags/im.svg rename to public/img/country-flags/im.svg diff --git a/static/img/country-flags/in.svg b/public/img/country-flags/in.svg similarity index 100% rename from static/img/country-flags/in.svg rename to public/img/country-flags/in.svg diff --git a/static/img/country-flags/io.svg b/public/img/country-flags/io.svg similarity index 100% rename from static/img/country-flags/io.svg rename to public/img/country-flags/io.svg diff --git a/static/img/country-flags/iq.svg b/public/img/country-flags/iq.svg similarity index 100% rename from static/img/country-flags/iq.svg rename to public/img/country-flags/iq.svg diff --git a/static/img/country-flags/ir.svg b/public/img/country-flags/ir.svg similarity index 100% rename from static/img/country-flags/ir.svg rename to public/img/country-flags/ir.svg diff --git a/static/img/country-flags/is.svg b/public/img/country-flags/is.svg similarity index 100% rename from static/img/country-flags/is.svg rename to public/img/country-flags/is.svg diff --git a/static/img/country-flags/it.svg b/public/img/country-flags/it.svg similarity index 100% rename from static/img/country-flags/it.svg rename to public/img/country-flags/it.svg diff --git a/static/img/country-flags/je.svg b/public/img/country-flags/je.svg similarity index 100% rename from static/img/country-flags/je.svg rename to public/img/country-flags/je.svg diff --git a/static/img/country-flags/jm.svg b/public/img/country-flags/jm.svg similarity index 100% rename from static/img/country-flags/jm.svg rename to public/img/country-flags/jm.svg diff --git a/static/img/country-flags/jo.svg b/public/img/country-flags/jo.svg similarity index 100% rename from static/img/country-flags/jo.svg rename to public/img/country-flags/jo.svg diff --git a/static/img/country-flags/jp.svg b/public/img/country-flags/jp.svg similarity index 100% rename from static/img/country-flags/jp.svg rename to public/img/country-flags/jp.svg diff --git a/static/img/country-flags/ke.svg b/public/img/country-flags/ke.svg similarity index 100% rename from static/img/country-flags/ke.svg rename to public/img/country-flags/ke.svg diff --git a/static/img/country-flags/kg.svg b/public/img/country-flags/kg.svg similarity index 100% rename from static/img/country-flags/kg.svg rename to public/img/country-flags/kg.svg diff --git a/static/img/country-flags/kh.svg b/public/img/country-flags/kh.svg similarity index 100% rename from static/img/country-flags/kh.svg rename to public/img/country-flags/kh.svg diff --git a/static/img/country-flags/ki.svg b/public/img/country-flags/ki.svg similarity index 100% rename from static/img/country-flags/ki.svg rename to public/img/country-flags/ki.svg diff --git a/static/img/country-flags/km.svg b/public/img/country-flags/km.svg similarity index 100% rename from static/img/country-flags/km.svg rename to public/img/country-flags/km.svg diff --git a/static/img/country-flags/kn.svg b/public/img/country-flags/kn.svg similarity index 100% rename from static/img/country-flags/kn.svg rename to public/img/country-flags/kn.svg diff --git a/static/img/country-flags/kp.svg b/public/img/country-flags/kp.svg similarity index 100% rename from static/img/country-flags/kp.svg rename to public/img/country-flags/kp.svg diff --git a/static/img/country-flags/kr.svg b/public/img/country-flags/kr.svg similarity index 100% rename from static/img/country-flags/kr.svg rename to public/img/country-flags/kr.svg diff --git a/static/img/country-flags/kw.svg b/public/img/country-flags/kw.svg similarity index 100% rename from static/img/country-flags/kw.svg rename to public/img/country-flags/kw.svg diff --git a/static/img/country-flags/ky.svg b/public/img/country-flags/ky.svg similarity index 100% rename from static/img/country-flags/ky.svg rename to public/img/country-flags/ky.svg diff --git a/static/img/country-flags/kz.svg b/public/img/country-flags/kz.svg similarity index 100% rename from static/img/country-flags/kz.svg rename to public/img/country-flags/kz.svg diff --git a/static/img/country-flags/la.svg b/public/img/country-flags/la.svg similarity index 100% rename from static/img/country-flags/la.svg rename to public/img/country-flags/la.svg diff --git a/static/img/country-flags/lb.svg b/public/img/country-flags/lb.svg similarity index 100% rename from static/img/country-flags/lb.svg rename to public/img/country-flags/lb.svg diff --git a/static/img/country-flags/lc.svg b/public/img/country-flags/lc.svg similarity index 100% rename from static/img/country-flags/lc.svg rename to public/img/country-flags/lc.svg diff --git a/static/img/country-flags/li.svg b/public/img/country-flags/li.svg similarity index 100% rename from static/img/country-flags/li.svg rename to public/img/country-flags/li.svg diff --git a/static/img/country-flags/lk.svg b/public/img/country-flags/lk.svg similarity index 100% rename from static/img/country-flags/lk.svg rename to public/img/country-flags/lk.svg diff --git a/static/img/country-flags/lr.svg b/public/img/country-flags/lr.svg similarity index 100% rename from static/img/country-flags/lr.svg rename to public/img/country-flags/lr.svg diff --git a/static/img/country-flags/ls.svg b/public/img/country-flags/ls.svg similarity index 100% rename from static/img/country-flags/ls.svg rename to public/img/country-flags/ls.svg diff --git a/static/img/country-flags/lt.svg b/public/img/country-flags/lt.svg similarity index 100% rename from static/img/country-flags/lt.svg rename to public/img/country-flags/lt.svg diff --git a/static/img/country-flags/lu.svg b/public/img/country-flags/lu.svg similarity index 100% rename from static/img/country-flags/lu.svg rename to public/img/country-flags/lu.svg diff --git a/static/img/country-flags/lv.svg b/public/img/country-flags/lv.svg similarity index 100% rename from static/img/country-flags/lv.svg rename to public/img/country-flags/lv.svg diff --git a/static/img/country-flags/ly.svg b/public/img/country-flags/ly.svg similarity index 100% rename from static/img/country-flags/ly.svg rename to public/img/country-flags/ly.svg diff --git a/static/img/country-flags/ma.svg b/public/img/country-flags/ma.svg similarity index 100% rename from static/img/country-flags/ma.svg rename to public/img/country-flags/ma.svg diff --git a/static/img/country-flags/mc.svg b/public/img/country-flags/mc.svg similarity index 100% rename from static/img/country-flags/mc.svg rename to public/img/country-flags/mc.svg diff --git a/static/img/country-flags/md.svg b/public/img/country-flags/md.svg similarity index 100% rename from static/img/country-flags/md.svg rename to public/img/country-flags/md.svg diff --git a/static/img/country-flags/me.svg b/public/img/country-flags/me.svg similarity index 100% rename from static/img/country-flags/me.svg rename to public/img/country-flags/me.svg diff --git a/static/img/country-flags/mf.svg b/public/img/country-flags/mf.svg similarity index 100% rename from static/img/country-flags/mf.svg rename to public/img/country-flags/mf.svg diff --git a/static/img/country-flags/mg.svg b/public/img/country-flags/mg.svg similarity index 100% rename from static/img/country-flags/mg.svg rename to public/img/country-flags/mg.svg diff --git a/static/img/country-flags/mh.svg b/public/img/country-flags/mh.svg similarity index 100% rename from static/img/country-flags/mh.svg rename to public/img/country-flags/mh.svg diff --git a/static/img/country-flags/mk.svg b/public/img/country-flags/mk.svg similarity index 100% rename from static/img/country-flags/mk.svg rename to public/img/country-flags/mk.svg diff --git a/static/img/country-flags/ml.svg b/public/img/country-flags/ml.svg similarity index 100% rename from static/img/country-flags/ml.svg rename to public/img/country-flags/ml.svg diff --git a/static/img/country-flags/mm.svg b/public/img/country-flags/mm.svg similarity index 100% rename from static/img/country-flags/mm.svg rename to public/img/country-flags/mm.svg diff --git a/static/img/country-flags/mn.svg b/public/img/country-flags/mn.svg similarity index 100% rename from static/img/country-flags/mn.svg rename to public/img/country-flags/mn.svg diff --git a/static/img/country-flags/mo.svg b/public/img/country-flags/mo.svg similarity index 100% rename from static/img/country-flags/mo.svg rename to public/img/country-flags/mo.svg diff --git a/static/img/country-flags/mp.svg b/public/img/country-flags/mp.svg similarity index 100% rename from static/img/country-flags/mp.svg rename to public/img/country-flags/mp.svg diff --git a/static/img/country-flags/mq.svg b/public/img/country-flags/mq.svg similarity index 100% rename from static/img/country-flags/mq.svg rename to public/img/country-flags/mq.svg diff --git a/static/img/country-flags/mr.svg b/public/img/country-flags/mr.svg similarity index 100% rename from static/img/country-flags/mr.svg rename to public/img/country-flags/mr.svg diff --git a/static/img/country-flags/ms.svg b/public/img/country-flags/ms.svg similarity index 100% rename from static/img/country-flags/ms.svg rename to public/img/country-flags/ms.svg diff --git a/static/img/country-flags/mt.svg b/public/img/country-flags/mt.svg similarity index 100% rename from static/img/country-flags/mt.svg rename to public/img/country-flags/mt.svg diff --git a/static/img/country-flags/mu.svg b/public/img/country-flags/mu.svg similarity index 100% rename from static/img/country-flags/mu.svg rename to public/img/country-flags/mu.svg diff --git a/static/img/country-flags/mv.svg b/public/img/country-flags/mv.svg similarity index 100% rename from static/img/country-flags/mv.svg rename to public/img/country-flags/mv.svg diff --git a/static/img/country-flags/mw.svg b/public/img/country-flags/mw.svg similarity index 100% rename from static/img/country-flags/mw.svg rename to public/img/country-flags/mw.svg diff --git a/static/img/country-flags/mx.svg b/public/img/country-flags/mx.svg similarity index 100% rename from static/img/country-flags/mx.svg rename to public/img/country-flags/mx.svg diff --git a/static/img/country-flags/my.svg b/public/img/country-flags/my.svg similarity index 100% rename from static/img/country-flags/my.svg rename to public/img/country-flags/my.svg diff --git a/static/img/country-flags/mz.svg b/public/img/country-flags/mz.svg similarity index 100% rename from static/img/country-flags/mz.svg rename to public/img/country-flags/mz.svg diff --git a/static/img/country-flags/na.svg b/public/img/country-flags/na.svg similarity index 100% rename from static/img/country-flags/na.svg rename to public/img/country-flags/na.svg diff --git a/static/img/country-flags/nc.svg b/public/img/country-flags/nc.svg similarity index 100% rename from static/img/country-flags/nc.svg rename to public/img/country-flags/nc.svg diff --git a/static/img/country-flags/ne.svg b/public/img/country-flags/ne.svg similarity index 100% rename from static/img/country-flags/ne.svg rename to public/img/country-flags/ne.svg diff --git a/static/img/country-flags/nf.svg b/public/img/country-flags/nf.svg similarity index 100% rename from static/img/country-flags/nf.svg rename to public/img/country-flags/nf.svg diff --git a/static/img/country-flags/ng.svg b/public/img/country-flags/ng.svg similarity index 100% rename from static/img/country-flags/ng.svg rename to public/img/country-flags/ng.svg diff --git a/static/img/country-flags/ni.svg b/public/img/country-flags/ni.svg similarity index 100% rename from static/img/country-flags/ni.svg rename to public/img/country-flags/ni.svg diff --git a/static/img/country-flags/nl.svg b/public/img/country-flags/nl.svg similarity index 100% rename from static/img/country-flags/nl.svg rename to public/img/country-flags/nl.svg diff --git a/static/img/country-flags/no.svg b/public/img/country-flags/no.svg similarity index 100% rename from static/img/country-flags/no.svg rename to public/img/country-flags/no.svg diff --git a/static/img/country-flags/np.svg b/public/img/country-flags/np.svg similarity index 100% rename from static/img/country-flags/np.svg rename to public/img/country-flags/np.svg diff --git a/static/img/country-flags/nr.svg b/public/img/country-flags/nr.svg similarity index 100% rename from static/img/country-flags/nr.svg rename to public/img/country-flags/nr.svg diff --git a/static/img/country-flags/nu.svg b/public/img/country-flags/nu.svg similarity index 100% rename from static/img/country-flags/nu.svg rename to public/img/country-flags/nu.svg diff --git a/static/img/country-flags/nz.svg b/public/img/country-flags/nz.svg similarity index 100% rename from static/img/country-flags/nz.svg rename to public/img/country-flags/nz.svg diff --git a/static/img/country-flags/om.svg b/public/img/country-flags/om.svg similarity index 100% rename from static/img/country-flags/om.svg rename to public/img/country-flags/om.svg diff --git a/static/img/country-flags/pa.svg b/public/img/country-flags/pa.svg similarity index 100% rename from static/img/country-flags/pa.svg rename to public/img/country-flags/pa.svg diff --git a/static/img/country-flags/pe.svg b/public/img/country-flags/pe.svg similarity index 100% rename from static/img/country-flags/pe.svg rename to public/img/country-flags/pe.svg diff --git a/static/img/country-flags/pf.svg b/public/img/country-flags/pf.svg similarity index 100% rename from static/img/country-flags/pf.svg rename to public/img/country-flags/pf.svg diff --git a/static/img/country-flags/pg.svg b/public/img/country-flags/pg.svg similarity index 100% rename from static/img/country-flags/pg.svg rename to public/img/country-flags/pg.svg diff --git a/static/img/country-flags/ph.svg b/public/img/country-flags/ph.svg similarity index 100% rename from static/img/country-flags/ph.svg rename to public/img/country-flags/ph.svg diff --git a/static/img/country-flags/pk.svg b/public/img/country-flags/pk.svg similarity index 100% rename from static/img/country-flags/pk.svg rename to public/img/country-flags/pk.svg diff --git a/static/img/country-flags/pl.svg b/public/img/country-flags/pl.svg similarity index 100% rename from static/img/country-flags/pl.svg rename to public/img/country-flags/pl.svg diff --git a/static/img/country-flags/pm.svg b/public/img/country-flags/pm.svg similarity index 100% rename from static/img/country-flags/pm.svg rename to public/img/country-flags/pm.svg diff --git a/static/img/country-flags/pn.svg b/public/img/country-flags/pn.svg similarity index 100% rename from static/img/country-flags/pn.svg rename to public/img/country-flags/pn.svg diff --git a/static/img/country-flags/pr.svg b/public/img/country-flags/pr.svg similarity index 100% rename from static/img/country-flags/pr.svg rename to public/img/country-flags/pr.svg diff --git a/static/img/country-flags/ps.svg b/public/img/country-flags/ps.svg similarity index 100% rename from static/img/country-flags/ps.svg rename to public/img/country-flags/ps.svg diff --git a/static/img/country-flags/pt.svg b/public/img/country-flags/pt.svg similarity index 100% rename from static/img/country-flags/pt.svg rename to public/img/country-flags/pt.svg diff --git a/static/img/country-flags/pw.svg b/public/img/country-flags/pw.svg similarity index 100% rename from static/img/country-flags/pw.svg rename to public/img/country-flags/pw.svg diff --git a/static/img/country-flags/py.svg b/public/img/country-flags/py.svg similarity index 100% rename from static/img/country-flags/py.svg rename to public/img/country-flags/py.svg diff --git a/static/img/country-flags/qa.svg b/public/img/country-flags/qa.svg similarity index 100% rename from static/img/country-flags/qa.svg rename to public/img/country-flags/qa.svg diff --git a/static/img/country-flags/re.svg b/public/img/country-flags/re.svg similarity index 100% rename from static/img/country-flags/re.svg rename to public/img/country-flags/re.svg diff --git a/static/img/country-flags/ro.svg b/public/img/country-flags/ro.svg similarity index 100% rename from static/img/country-flags/ro.svg rename to public/img/country-flags/ro.svg diff --git a/static/img/country-flags/rs.svg b/public/img/country-flags/rs.svg similarity index 100% rename from static/img/country-flags/rs.svg rename to public/img/country-flags/rs.svg diff --git a/static/img/country-flags/ru.svg b/public/img/country-flags/ru.svg similarity index 100% rename from static/img/country-flags/ru.svg rename to public/img/country-flags/ru.svg diff --git a/static/img/country-flags/rw.svg b/public/img/country-flags/rw.svg similarity index 100% rename from static/img/country-flags/rw.svg rename to public/img/country-flags/rw.svg diff --git a/static/img/country-flags/sa.svg b/public/img/country-flags/sa.svg similarity index 100% rename from static/img/country-flags/sa.svg rename to public/img/country-flags/sa.svg diff --git a/static/img/country-flags/sb.svg b/public/img/country-flags/sb.svg similarity index 100% rename from static/img/country-flags/sb.svg rename to public/img/country-flags/sb.svg diff --git a/static/img/country-flags/sc.svg b/public/img/country-flags/sc.svg similarity index 100% rename from static/img/country-flags/sc.svg rename to public/img/country-flags/sc.svg diff --git a/static/img/country-flags/sd.svg b/public/img/country-flags/sd.svg similarity index 100% rename from static/img/country-flags/sd.svg rename to public/img/country-flags/sd.svg diff --git a/static/img/country-flags/se.svg b/public/img/country-flags/se.svg similarity index 100% rename from static/img/country-flags/se.svg rename to public/img/country-flags/se.svg diff --git a/static/img/country-flags/sg.svg b/public/img/country-flags/sg.svg similarity index 100% rename from static/img/country-flags/sg.svg rename to public/img/country-flags/sg.svg diff --git a/static/img/country-flags/sh.svg b/public/img/country-flags/sh.svg similarity index 100% rename from static/img/country-flags/sh.svg rename to public/img/country-flags/sh.svg diff --git a/static/img/country-flags/si.svg b/public/img/country-flags/si.svg similarity index 100% rename from static/img/country-flags/si.svg rename to public/img/country-flags/si.svg diff --git a/static/img/country-flags/sj.svg b/public/img/country-flags/sj.svg similarity index 100% rename from static/img/country-flags/sj.svg rename to public/img/country-flags/sj.svg diff --git a/static/img/country-flags/sk.svg b/public/img/country-flags/sk.svg similarity index 100% rename from static/img/country-flags/sk.svg rename to public/img/country-flags/sk.svg diff --git a/static/img/country-flags/sl.svg b/public/img/country-flags/sl.svg similarity index 100% rename from static/img/country-flags/sl.svg rename to public/img/country-flags/sl.svg diff --git a/static/img/country-flags/sm.svg b/public/img/country-flags/sm.svg similarity index 100% rename from static/img/country-flags/sm.svg rename to public/img/country-flags/sm.svg diff --git a/static/img/country-flags/sn.svg b/public/img/country-flags/sn.svg similarity index 100% rename from static/img/country-flags/sn.svg rename to public/img/country-flags/sn.svg diff --git a/static/img/country-flags/so.svg b/public/img/country-flags/so.svg similarity index 100% rename from static/img/country-flags/so.svg rename to public/img/country-flags/so.svg diff --git a/static/img/country-flags/sr.svg b/public/img/country-flags/sr.svg similarity index 100% rename from static/img/country-flags/sr.svg rename to public/img/country-flags/sr.svg diff --git a/static/img/country-flags/ss.svg b/public/img/country-flags/ss.svg similarity index 100% rename from static/img/country-flags/ss.svg rename to public/img/country-flags/ss.svg diff --git a/static/img/country-flags/st.svg b/public/img/country-flags/st.svg similarity index 100% rename from static/img/country-flags/st.svg rename to public/img/country-flags/st.svg diff --git a/static/img/country-flags/sv.svg b/public/img/country-flags/sv.svg similarity index 100% rename from static/img/country-flags/sv.svg rename to public/img/country-flags/sv.svg diff --git a/static/img/country-flags/sx.svg b/public/img/country-flags/sx.svg similarity index 100% rename from static/img/country-flags/sx.svg rename to public/img/country-flags/sx.svg diff --git a/static/img/country-flags/sy.svg b/public/img/country-flags/sy.svg similarity index 100% rename from static/img/country-flags/sy.svg rename to public/img/country-flags/sy.svg diff --git a/static/img/country-flags/sz.svg b/public/img/country-flags/sz.svg similarity index 100% rename from static/img/country-flags/sz.svg rename to public/img/country-flags/sz.svg diff --git a/static/img/country-flags/ta.svg b/public/img/country-flags/ta.svg similarity index 100% rename from static/img/country-flags/ta.svg rename to public/img/country-flags/ta.svg diff --git a/static/img/country-flags/tc.svg b/public/img/country-flags/tc.svg similarity index 100% rename from static/img/country-flags/tc.svg rename to public/img/country-flags/tc.svg diff --git a/static/img/country-flags/td.svg b/public/img/country-flags/td.svg similarity index 100% rename from static/img/country-flags/td.svg rename to public/img/country-flags/td.svg diff --git a/static/img/country-flags/tf.svg b/public/img/country-flags/tf.svg similarity index 100% rename from static/img/country-flags/tf.svg rename to public/img/country-flags/tf.svg diff --git a/static/img/country-flags/tg.svg b/public/img/country-flags/tg.svg similarity index 100% rename from static/img/country-flags/tg.svg rename to public/img/country-flags/tg.svg diff --git a/static/img/country-flags/th.svg b/public/img/country-flags/th.svg similarity index 100% rename from static/img/country-flags/th.svg rename to public/img/country-flags/th.svg diff --git a/static/img/country-flags/tj.svg b/public/img/country-flags/tj.svg similarity index 100% rename from static/img/country-flags/tj.svg rename to public/img/country-flags/tj.svg diff --git a/static/img/country-flags/tk.svg b/public/img/country-flags/tk.svg similarity index 100% rename from static/img/country-flags/tk.svg rename to public/img/country-flags/tk.svg diff --git a/static/img/country-flags/tl.svg b/public/img/country-flags/tl.svg similarity index 100% rename from static/img/country-flags/tl.svg rename to public/img/country-flags/tl.svg diff --git a/static/img/country-flags/tm.svg b/public/img/country-flags/tm.svg similarity index 100% rename from static/img/country-flags/tm.svg rename to public/img/country-flags/tm.svg diff --git a/static/img/country-flags/tn.svg b/public/img/country-flags/tn.svg similarity index 100% rename from static/img/country-flags/tn.svg rename to public/img/country-flags/tn.svg diff --git a/static/img/country-flags/to.svg b/public/img/country-flags/to.svg similarity index 100% rename from static/img/country-flags/to.svg rename to public/img/country-flags/to.svg diff --git a/static/img/country-flags/tr.svg b/public/img/country-flags/tr.svg similarity index 100% rename from static/img/country-flags/tr.svg rename to public/img/country-flags/tr.svg diff --git a/static/img/country-flags/tt.svg b/public/img/country-flags/tt.svg similarity index 100% rename from static/img/country-flags/tt.svg rename to public/img/country-flags/tt.svg diff --git a/static/img/country-flags/tv.svg b/public/img/country-flags/tv.svg similarity index 100% rename from static/img/country-flags/tv.svg rename to public/img/country-flags/tv.svg diff --git a/static/img/country-flags/tw.svg b/public/img/country-flags/tw.svg similarity index 100% rename from static/img/country-flags/tw.svg rename to public/img/country-flags/tw.svg diff --git a/static/img/country-flags/tz.svg b/public/img/country-flags/tz.svg similarity index 100% rename from static/img/country-flags/tz.svg rename to public/img/country-flags/tz.svg diff --git a/static/img/country-flags/ua.svg b/public/img/country-flags/ua.svg similarity index 100% rename from static/img/country-flags/ua.svg rename to public/img/country-flags/ua.svg diff --git a/static/img/country-flags/ug.svg b/public/img/country-flags/ug.svg similarity index 100% rename from static/img/country-flags/ug.svg rename to public/img/country-flags/ug.svg diff --git a/static/img/country-flags/um.svg b/public/img/country-flags/um.svg similarity index 100% rename from static/img/country-flags/um.svg rename to public/img/country-flags/um.svg diff --git a/static/img/country-flags/un.svg b/public/img/country-flags/un.svg similarity index 100% rename from static/img/country-flags/un.svg rename to public/img/country-flags/un.svg diff --git a/static/img/country-flags/us.svg b/public/img/country-flags/us.svg similarity index 100% rename from static/img/country-flags/us.svg rename to public/img/country-flags/us.svg diff --git a/static/img/country-flags/uy.svg b/public/img/country-flags/uy.svg similarity index 100% rename from static/img/country-flags/uy.svg rename to public/img/country-flags/uy.svg diff --git a/static/img/country-flags/uz.svg b/public/img/country-flags/uz.svg similarity index 100% rename from static/img/country-flags/uz.svg rename to public/img/country-flags/uz.svg diff --git a/static/img/country-flags/va.svg b/public/img/country-flags/va.svg similarity index 100% rename from static/img/country-flags/va.svg rename to public/img/country-flags/va.svg diff --git a/static/img/country-flags/vc.svg b/public/img/country-flags/vc.svg similarity index 100% rename from static/img/country-flags/vc.svg rename to public/img/country-flags/vc.svg diff --git a/static/img/country-flags/ve.svg b/public/img/country-flags/ve.svg similarity index 100% rename from static/img/country-flags/ve.svg rename to public/img/country-flags/ve.svg diff --git a/static/img/country-flags/vg.svg b/public/img/country-flags/vg.svg similarity index 100% rename from static/img/country-flags/vg.svg rename to public/img/country-flags/vg.svg diff --git a/static/img/country-flags/vi.svg b/public/img/country-flags/vi.svg similarity index 100% rename from static/img/country-flags/vi.svg rename to public/img/country-flags/vi.svg diff --git a/static/img/country-flags/vn.svg b/public/img/country-flags/vn.svg similarity index 100% rename from static/img/country-flags/vn.svg rename to public/img/country-flags/vn.svg diff --git a/static/img/country-flags/vu.svg b/public/img/country-flags/vu.svg similarity index 100% rename from static/img/country-flags/vu.svg rename to public/img/country-flags/vu.svg diff --git a/static/img/country-flags/wf.svg b/public/img/country-flags/wf.svg similarity index 100% rename from static/img/country-flags/wf.svg rename to public/img/country-flags/wf.svg diff --git a/static/img/country-flags/ws.svg b/public/img/country-flags/ws.svg similarity index 100% rename from static/img/country-flags/ws.svg rename to public/img/country-flags/ws.svg diff --git a/static/img/country-flags/xk.svg b/public/img/country-flags/xk.svg similarity index 100% rename from static/img/country-flags/xk.svg rename to public/img/country-flags/xk.svg diff --git a/static/img/country-flags/xx.svg b/public/img/country-flags/xx.svg similarity index 100% rename from static/img/country-flags/xx.svg rename to public/img/country-flags/xx.svg diff --git a/static/img/country-flags/ye.svg b/public/img/country-flags/ye.svg similarity index 100% rename from static/img/country-flags/ye.svg rename to public/img/country-flags/ye.svg diff --git a/static/img/country-flags/yt.svg b/public/img/country-flags/yt.svg similarity index 100% rename from static/img/country-flags/yt.svg rename to public/img/country-flags/yt.svg diff --git a/static/img/country-flags/za.svg b/public/img/country-flags/za.svg similarity index 100% rename from static/img/country-flags/za.svg rename to public/img/country-flags/za.svg diff --git a/static/img/country-flags/zm.svg b/public/img/country-flags/zm.svg similarity index 100% rename from static/img/country-flags/zm.svg rename to public/img/country-flags/zm.svg diff --git a/static/img/country-flags/zw.svg b/public/img/country-flags/zw.svg similarity index 100% rename from static/img/country-flags/zw.svg rename to public/img/country-flags/zw.svg diff --git a/public/img/icons/android-chrome-192x192.png b/public/img/icons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..b02aa64d97167ad649e496908b35f14c603d9249 GIT binary patch literal 9416 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 literal 0 HcmV?d00001 diff --git a/public/img/icons/apple-touch-icon-120x120.png b/public/img/icons/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..1427cf62752646ad7217df0a61aa01fdef7475d1 GIT binary patch literal 3369 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 ROru=^AazZ3N)e9H{|11FNXq~K literal 0 HcmV?d00001 diff --git a/public/img/icons/apple-touch-icon-152x152.png b/public/img/icons/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..f24d454a2ecb8851bb893192b64ee09386d30e24 GIT binary patch literal 4046 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 cK^5JQ0?3d{m_4Kdj*!1;003@kYpI!lw*K!+ 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�MrHbYR_buu=L>f*wO=Er8~{qfkYT+HoHag8)VqJoC-#@ zNT})4xRE%sP-B9?xmL5!2Y8VLa?yj@Y@r1C)6o~9GF9nWG!SI2VJ$>ejtUE%Qv&r_ zYLgZ0h3iIrw7{TyurC(g^$XT%PP5`FB3aFpP&fM-8!J#3I_ujG?;7(Xv5ni%BjYP4 z^+oydy=)_&bdxYJx`X%G5PFkUB%3h6RiOs^F?#ojsB%DbfhqzGhuv4)S1%vw@PDyE z3xWF{Y^0>+=Wg! z{>z@$rD6ej*V- z^$zKIOWOfdN4~7@ndhru01+3cxwD&_Muyja({*O;-5VnF(e$WDALNStE{1{F#ts+VR{o zSlQ*@U=Du8fgKW$lU~)O)b6FS?H1SSnKVIC=DOvbo8IUvM zVf+U4YxG%qLGd%ew7Jp8>@U`ew+A#Q=2oJHNH@_f!WadS20$KZEZ+BHAvU@FB zzRCYN5r+Z#g`C^hrH$yW7ABstwjvMM*CHGzY41bbo2zy$6E8DAOPn zUnHG?e7?u7pQ}Kqbu1jEd+=mcGea4aL6V4g(m*b7x}z|ijsjb3e|tf-3&^JK{=sWz z8sqIu9jy)#J}n}cXqtXmkb-NDVPcAKn=G9uX42zYvufu_OCr>xJ=oTNp8WA5wEqvM z{r~m8;7_C>U68iRr@|rd7UYhON#(-S_+Uf>s)hhPU{{exlxc&eD literal 0 HcmV?d00001 diff --git a/public/img/icons/apple-touch-icon-60x60.png b/public/img/icons/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..cf10a5602e653bb126332934e2b7f34081c19a01 GIT binary patch literal 1491 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

aZW9cb|x>1jZDoAu$NpeWiVk@{x{! zmmBmDgx|qNN?LyIrl9$qmj{KjZ8zpa=4edK3FuFS$KFl}bWPoO*Ax#Z1c2#3JAN(O zYhi>`%H9fSnLkAq|5vs>+?U*bdfMc6TmDu+QqnN9xgfZsG25($^;v7U1nBl9Q^o*i z)&?UaYZ=~7XZa75xPKB1s~MB1m<*dN08pqiy*q!)_Kc|;EZs3&nNdMQ5#LFu+J z?*($vO)$hkMOVc16f-ep;K@_~&Y6t?0t9I0(lBkZBfic|u)3pK$Xv=A@jUQnB2sC` zbI)L9m;VNkWOao}2c3b4_u4+bg zuf-@d1$?asdD1~mORQ02#!&1Xm#41*xz}wETNqKb;kueQ*~OpcAXTpJFYUYcKoA&Z z8Ke=2Vh~cu_uTb&6AH75L!k8zo~&wRsDLs^3YkD2!~;%u6sFrzV2A5(FQ|3}+0-K- zWX)W2yq%?^)iKhyMGPB5*DnWBaLqAHLJ47;r5nvkeq3u_?J{Xaf_}6I+xpLwKS7NC z|KYU%zup)8i85jc)^Yt*I0W8;+zHUI3V7@o;3DUYasdq>DFK%im4J)F?;|B-<=}8R z>HESGa5)KyCnGII|E+YX&h4Y+xCRvyX@oGhhG4 j58+{W$RJv~NLLKlV4)8v^7hU(R-4l(}$teLl` literal 0 HcmV?d00001 diff --git a/public/img/icons/favicon-16x16.png b/public/img/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..42af00963d81b8e39a30435c60ac482d1f8756e0 GIT binary patch literal 799 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>WRE8{w#)hawXn|-Xp4{E;v!=;4B^%-x&;Cm1 zP>^*#n_J!T^1SBMI!C4h-R53dN8`?ylD}d{L%(vZvUKT)~-CgWFQy3lt zIqW5#zOL*K8HL%o&D;R|TePl5?VWhq^wrj^qed%lKKkpp-FogeyEi+p zE?K8rW7E1fuEJ{5jaaAp0~aIt+keS?T)@vXM=*X}V#VGMCm1~v-+0wr{w3CJ-R8wG zS@XVpzqP-5Mf0H?y-zh=XVL>S6E;rKnDmrMQlmoKbK9p$evXN`oe{6g>lvi)-+#c) zb+Al&$zRqtWk1@VTt6MPmq9d7^!kmXZn8k{sFt`!l%ynwlArU1(iRB6fMfqu& zIjIUIl?AB^nFS@u3=9=>9)IHDC=AokIOTu(jOWuJ24-b$y<~1-Wnu5hBFw@HE)6D! wQ<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{;RG<|Mp00i_>zopr0DGh}-~a#s literal 0 HcmV?d00001 diff --git a/public/img/icons/favicon-32x32.png b/public/img/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..46ca04dee251a4fa85a2891a145fbe20cc619d96 GIT binary patch literal 1271 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 + + diff --git a/static/img/igdb-logo.png b/public/img/igdb-logo.png similarity index 100% rename from static/img/igdb-logo.png rename to public/img/igdb-logo.png diff --git a/static/img/notepad-ruler.png b/public/img/notepad-ruler.png similarity index 100% rename from static/img/notepad-ruler.png rename to public/img/notepad-ruler.png diff --git a/static/img/screenshot-1.jpg b/public/img/screenshot-1.jpg similarity index 100% rename from static/img/screenshot-1.jpg rename to public/img/screenshot-1.jpg diff --git a/static/img/screenshot.png b/public/img/screenshot.png similarity index 100% rename from static/img/screenshot.png rename to public/img/screenshot.png diff --git a/public/index.html b/public/index.html new file mode 100644 index 00000000..467df440 --- /dev/null +++ b/public/index.html @@ -0,0 +1,37 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + +

+ + diff --git a/static/logo.png b/public/logo.png similarity index 100% rename from static/logo.png rename to public/logo.png diff --git a/static/logos/companies/android.svg b/public/logos/companies/android.svg similarity index 100% rename from static/logos/companies/android.svg rename to public/logos/companies/android.svg diff --git a/static/logos/companies/discord.svg b/public/logos/companies/discord.svg similarity index 100% rename from static/logos/companies/discord.svg rename to public/logos/companies/discord.svg diff --git a/static/logos/companies/epicgames.svg b/public/logos/companies/epicgames.svg similarity index 100% rename from static/logos/companies/epicgames.svg rename to public/logos/companies/epicgames.svg diff --git a/static/logos/companies/facebook.svg b/public/logos/companies/facebook.svg similarity index 100% rename from static/logos/companies/facebook.svg rename to public/logos/companies/facebook.svg diff --git a/static/logos/companies/fandom.svg b/public/logos/companies/fandom.svg similarity index 100% rename from static/logos/companies/fandom.svg rename to public/logos/companies/fandom.svg diff --git a/static/logos/companies/github.svg b/public/logos/companies/github.svg similarity index 100% rename from static/logos/companies/github.svg rename to public/logos/companies/github.svg diff --git a/static/logos/companies/gog.svg b/public/logos/companies/gog.svg similarity index 100% rename from static/logos/companies/gog.svg rename to public/logos/companies/gog.svg diff --git a/static/logos/companies/google.svg b/public/logos/companies/google.svg similarity index 100% rename from static/logos/companies/google.svg rename to public/logos/companies/google.svg diff --git a/static/logos/companies/instagram.svg b/public/logos/companies/instagram.svg similarity index 100% rename from static/logos/companies/instagram.svg rename to public/logos/companies/instagram.svg diff --git a/static/logos/companies/ipad.svg b/public/logos/companies/ipad.svg similarity index 100% rename from static/logos/companies/ipad.svg rename to public/logos/companies/ipad.svg diff --git a/static/logos/companies/iphone.svg b/public/logos/companies/iphone.svg similarity index 100% rename from static/logos/companies/iphone.svg rename to public/logos/companies/iphone.svg diff --git a/static/logos/companies/itch.svg b/public/logos/companies/itch.svg similarity index 100% rename from static/logos/companies/itch.svg rename to public/logos/companies/itch.svg diff --git a/static/logos/companies/microsoft.svg b/public/logos/companies/microsoft.svg similarity index 100% rename from static/logos/companies/microsoft.svg rename to public/logos/companies/microsoft.svg diff --git a/static/logos/companies/reddit.svg b/public/logos/companies/reddit.svg similarity index 100% rename from static/logos/companies/reddit.svg rename to public/logos/companies/reddit.svg diff --git a/static/logos/companies/steam.svg b/public/logos/companies/steam.svg similarity index 100% rename from static/logos/companies/steam.svg rename to public/logos/companies/steam.svg diff --git a/static/logos/companies/twitch.svg b/public/logos/companies/twitch.svg similarity index 100% rename from static/logos/companies/twitch.svg rename to public/logos/companies/twitch.svg diff --git a/static/logos/companies/twitter.svg b/public/logos/companies/twitter.svg similarity index 100% rename from static/logos/companies/twitter.svg rename to public/logos/companies/twitter.svg diff --git a/static/logos/companies/wikipedia.svg b/public/logos/companies/wikipedia.svg similarity index 100% rename from static/logos/companies/wikipedia.svg rename to public/logos/companies/wikipedia.svg diff --git a/static/logos/companies/youtube.svg b/public/logos/companies/youtube.svg similarity index 100% rename from static/logos/companies/youtube.svg rename to public/logos/companies/youtube.svg diff --git a/static/logos/news-sources/rps.svg b/public/logos/news-sources/rps.svg similarity index 100% rename from static/logos/news-sources/rps.svg rename to public/logos/news-sources/rps.svg diff --git a/static/logos/platforms-new/3do.png b/public/logos/platforms-new/3do.png similarity index 100% rename from static/logos/platforms-new/3do.png rename to public/logos/platforms-new/3do.png diff --git a/static/logos/platforms-new/action-max.png b/public/logos/platforms-new/action-max.png similarity index 100% rename from static/logos/platforms-new/action-max.png rename to public/logos/platforms-new/action-max.png diff --git a/static/logos/platforms-new/amiga-cd-32.png b/public/logos/platforms-new/amiga-cd-32.png similarity index 100% rename from static/logos/platforms-new/amiga-cd-32.png rename to public/logos/platforms-new/amiga-cd-32.png diff --git a/static/logos/platforms-new/arcadia-2001.png b/public/logos/platforms-new/arcadia-2001.png similarity index 100% rename from static/logos/platforms-new/arcadia-2001.png rename to public/logos/platforms-new/arcadia-2001.png diff --git a/static/logos/platforms-new/astrocade.png b/public/logos/platforms-new/astrocade.png similarity index 100% rename from static/logos/platforms-new/astrocade.png rename to public/logos/platforms-new/astrocade.png diff --git a/static/logos/platforms-new/atari-2600.png b/public/logos/platforms-new/atari-2600.png similarity index 100% rename from static/logos/platforms-new/atari-2600.png rename to public/logos/platforms-new/atari-2600.png diff --git a/static/logos/platforms-new/atari-5200.png b/public/logos/platforms-new/atari-5200.png similarity index 100% rename from static/logos/platforms-new/atari-5200.png rename to public/logos/platforms-new/atari-5200.png diff --git a/static/logos/platforms-new/atari-7800.png b/public/logos/platforms-new/atari-7800.png similarity index 100% rename from static/logos/platforms-new/atari-7800.png rename to public/logos/platforms-new/atari-7800.png diff --git a/static/logos/platforms-new/atari-xe.png b/public/logos/platforms-new/atari-xe.png similarity index 100% rename from static/logos/platforms-new/atari-xe.png rename to public/logos/platforms-new/atari-xe.png diff --git a/static/logos/platforms-new/beena.png b/public/logos/platforms-new/beena.png similarity index 100% rename from static/logos/platforms-new/beena.png rename to public/logos/platforms-new/beena.png diff --git a/static/logos/platforms-new/cassette-vision.png b/public/logos/platforms-new/cassette-vision.png similarity index 100% rename from static/logos/platforms-new/cassette-vision.png rename to public/logos/platforms-new/cassette-vision.png diff --git a/static/logos/platforms-new/cd-i.png b/public/logos/platforms-new/cd-i.png similarity index 100% rename from static/logos/platforms-new/cd-i.png rename to public/logos/platforms-new/cd-i.png diff --git a/static/logos/platforms-new/channel-f.png b/public/logos/platforms-new/channel-f.png similarity index 100% rename from static/logos/platforms-new/channel-f.png rename to public/logos/platforms-new/channel-f.png diff --git a/static/logos/platforms-new/coleco-vision.png b/public/logos/platforms-new/coleco-vision.png similarity index 100% rename from static/logos/platforms-new/coleco-vision.png rename to public/logos/platforms-new/coleco-vision.png diff --git a/static/logos/platforms-new/commodore-cdtv.png b/public/logos/platforms-new/commodore-cdtv.png similarity index 100% rename from static/logos/platforms-new/commodore-cdtv.png rename to public/logos/platforms-new/commodore-cdtv.png diff --git a/static/logos/platforms-new/commodore64.png b/public/logos/platforms-new/commodore64.png similarity index 100% rename from static/logos/platforms-new/commodore64.png rename to public/logos/platforms-new/commodore64.png diff --git a/static/logos/platforms-new/consoles-1.jpg b/public/logos/platforms-new/consoles-1.jpg similarity index 100% rename from static/logos/platforms-new/consoles-1.jpg rename to public/logos/platforms-new/consoles-1.jpg diff --git a/static/logos/platforms-new/cps-changer.png b/public/logos/platforms-new/cps-changer.png similarity index 100% rename from static/logos/platforms-new/cps-changer.png rename to public/logos/platforms-new/cps-changer.png diff --git a/static/logos/platforms-new/creativision.png b/public/logos/platforms-new/creativision.png similarity index 100% rename from static/logos/platforms-new/creativision.png rename to public/logos/platforms-new/creativision.png diff --git a/static/logos/platforms-new/dreamcast.png b/public/logos/platforms-new/dreamcast.png similarity index 100% rename from static/logos/platforms-new/dreamcast.png rename to public/logos/platforms-new/dreamcast.png diff --git a/static/logos/platforms-new/family-computer.png b/public/logos/platforms-new/family-computer.png similarity index 100% rename from static/logos/platforms-new/family-computer.png rename to public/logos/platforms-new/family-computer.png diff --git a/static/logos/platforms-new/fm-towns-marty.png b/public/logos/platforms-new/fm-towns-marty.png similarity index 100% rename from static/logos/platforms-new/fm-towns-marty.png rename to public/logos/platforms-new/fm-towns-marty.png diff --git a/static/logos/platforms-new/game-wave.png b/public/logos/platforms-new/game-wave.png similarity index 100% rename from static/logos/platforms-new/game-wave.png rename to public/logos/platforms-new/game-wave.png diff --git a/static/logos/platforms-new/gamecube.png b/public/logos/platforms-new/gamecube.png similarity index 100% rename from static/logos/platforms-new/gamecube.png rename to public/logos/platforms-new/gamecube.png diff --git a/static/logos/platforms-new/genesis-32x.png b/public/logos/platforms-new/genesis-32x.png similarity index 100% rename from static/logos/platforms-new/genesis-32x.png rename to public/logos/platforms-new/genesis-32x.png diff --git a/static/logos/platforms-new/genesis.png b/public/logos/platforms-new/genesis.png similarity index 100% rename from static/logos/platforms-new/genesis.png rename to public/logos/platforms-new/genesis.png diff --git a/static/logos/platforms-new/gx4000.png b/public/logos/platforms-new/gx4000.png similarity index 100% rename from static/logos/platforms-new/gx4000.png rename to public/logos/platforms-new/gx4000.png diff --git a/static/logos/platforms-new/halcyon.png b/public/logos/platforms-new/halcyon.png similarity index 100% rename from static/logos/platforms-new/halcyon.png rename to public/logos/platforms-new/halcyon.png diff --git a/static/logos/platforms-new/hyper-scan.png b/public/logos/platforms-new/hyper-scan.png similarity index 100% rename from static/logos/platforms-new/hyper-scan.png rename to public/logos/platforms-new/hyper-scan.png diff --git a/static/logos/platforms-new/imagination-machine.png b/public/logos/platforms-new/imagination-machine.png similarity index 100% rename from static/logos/platforms-new/imagination-machine.png rename to public/logos/platforms-new/imagination-machine.png diff --git a/static/logos/platforms-new/intellivision.png b/public/logos/platforms-new/intellivision.png similarity index 100% rename from static/logos/platforms-new/intellivision.png rename to public/logos/platforms-new/intellivision.png diff --git a/static/logos/platforms-new/interactive-vision.png b/public/logos/platforms-new/interactive-vision.png similarity index 100% rename from static/logos/platforms-new/interactive-vision.png rename to public/logos/platforms-new/interactive-vision.png diff --git a/static/logos/platforms-new/ique.png b/public/logos/platforms-new/ique.png similarity index 100% rename from static/logos/platforms-new/ique.png rename to public/logos/platforms-new/ique.png diff --git a/static/logos/platforms-new/jaguar-cd.png b/public/logos/platforms-new/jaguar-cd.png similarity index 100% rename from static/logos/platforms-new/jaguar-cd.png rename to public/logos/platforms-new/jaguar-cd.png diff --git a/static/logos/platforms-new/jaguar.png b/public/logos/platforms-new/jaguar.png similarity index 100% rename from static/logos/platforms-new/jaguar.png rename to public/logos/platforms-new/jaguar.png diff --git a/static/logos/platforms-new/konix.png b/public/logos/platforms-new/konix.png similarity index 100% rename from static/logos/platforms-new/konix.png rename to public/logos/platforms-new/konix.png diff --git a/static/logos/platforms-new/laser-active.png b/public/logos/platforms-new/laser-active.png similarity index 100% rename from static/logos/platforms-new/laser-active.png rename to public/logos/platforms-new/laser-active.png diff --git a/static/logos/platforms-new/leisure-vision.png b/public/logos/platforms-new/leisure-vision.png similarity index 100% rename from static/logos/platforms-new/leisure-vision.png rename to public/logos/platforms-new/leisure-vision.png diff --git a/static/logos/platforms-new/loopy.png b/public/logos/platforms-new/loopy.png similarity index 100% rename from static/logos/platforms-new/loopy.png rename to public/logos/platforms-new/loopy.png diff --git a/static/logos/platforms-new/mac.png b/public/logos/platforms-new/mac.png similarity index 100% rename from static/logos/platforms-new/mac.png rename to public/logos/platforms-new/mac.png diff --git a/static/logos/platforms-new/mark-iii.png b/public/logos/platforms-new/mark-iii.png similarity index 100% rename from static/logos/platforms-new/mark-iii.png rename to public/logos/platforms-new/mark-iii.png diff --git a/static/logos/platforms-new/mega-cd-ii.png b/public/logos/platforms-new/mega-cd-ii.png similarity index 100% rename from static/logos/platforms-new/mega-cd-ii.png rename to public/logos/platforms-new/mega-cd-ii.png diff --git a/static/logos/platforms-new/mega-cd.png b/public/logos/platforms-new/mega-cd.png similarity index 100% rename from static/logos/platforms-new/mega-cd.png rename to public/logos/platforms-new/mega-cd.png diff --git a/static/logos/platforms-new/mega-drive.png b/public/logos/platforms-new/mega-drive.png similarity index 100% rename from static/logos/platforms-new/mega-drive.png rename to public/logos/platforms-new/mega-drive.png diff --git a/static/logos/platforms-new/mega-ld.png b/public/logos/platforms-new/mega-ld.png similarity index 100% rename from static/logos/platforms-new/mega-ld.png rename to public/logos/platforms-new/mega-ld.png diff --git a/static/logos/platforms-new/mp1000.png b/public/logos/platforms-new/mp1000.png similarity index 100% rename from static/logos/platforms-new/mp1000.png rename to public/logos/platforms-new/mp1000.png diff --git a/static/logos/platforms-new/my-vision.png b/public/logos/platforms-new/my-vision.png similarity index 100% rename from static/logos/platforms-new/my-vision.png rename to public/logos/platforms-new/my-vision.png diff --git a/static/logos/platforms-new/neo-geo-cd.png b/public/logos/platforms-new/neo-geo-cd.png similarity index 100% rename from static/logos/platforms-new/neo-geo-cd.png rename to public/logos/platforms-new/neo-geo-cd.png diff --git a/static/logos/platforms-new/neo-geo.png b/public/logos/platforms-new/neo-geo.png similarity index 100% rename from static/logos/platforms-new/neo-geo.png rename to public/logos/platforms-new/neo-geo.png diff --git a/static/logos/platforms-new/nes.png b/public/logos/platforms-new/nes.png similarity index 100% rename from static/logos/platforms-new/nes.png rename to public/logos/platforms-new/nes.png diff --git a/static/logos/platforms-new/nintendo-64-dd.png b/public/logos/platforms-new/nintendo-64-dd.png similarity index 100% rename from static/logos/platforms-new/nintendo-64-dd.png rename to public/logos/platforms-new/nintendo-64-dd.png diff --git a/static/logos/platforms-new/nintendo-64.png b/public/logos/platforms-new/nintendo-64.png similarity index 100% rename from static/logos/platforms-new/nintendo-64.png rename to public/logos/platforms-new/nintendo-64.png diff --git a/static/logos/platforms-new/nsw.png b/public/logos/platforms-new/nsw.png similarity index 100% rename from static/logos/platforms-new/nsw.png rename to public/logos/platforms-new/nsw.png diff --git a/static/logos/platforms-new/nuon.png b/public/logos/platforms-new/nuon.png similarity index 100% rename from static/logos/platforms-new/nuon.png rename to public/logos/platforms-new/nuon.png diff --git a/static/logos/platforms-new/odyssey2.png b/public/logos/platforms-new/odyssey2.png similarity index 100% rename from static/logos/platforms-new/odyssey2.png rename to public/logos/platforms-new/odyssey2.png diff --git a/static/logos/platforms-new/pc-engine.png b/public/logos/platforms-new/pc-engine.png similarity index 100% rename from static/logos/platforms-new/pc-engine.png rename to public/logos/platforms-new/pc-engine.png diff --git a/static/logos/platforms-new/pc-fx.png b/public/logos/platforms-new/pc-fx.png similarity index 100% rename from static/logos/platforms-new/pc-fx.png rename to public/logos/platforms-new/pc-fx.png diff --git a/static/logos/platforms-new/picno.png b/public/logos/platforms-new/picno.png similarity index 100% rename from static/logos/platforms-new/picno.png rename to public/logos/platforms-new/picno.png diff --git a/static/logos/platforms-new/pico.png b/public/logos/platforms-new/pico.png similarity index 100% rename from static/logos/platforms-new/pico.png rename to public/logos/platforms-new/pico.png diff --git a/static/logos/platforms-new/pippin.png b/public/logos/platforms-new/pippin.png similarity index 100% rename from static/logos/platforms-new/pippin.png rename to public/logos/platforms-new/pippin.png diff --git a/static/logos/platforms-new/playdia.png b/public/logos/platforms-new/playdia.png similarity index 100% rename from static/logos/platforms-new/playdia.png rename to public/logos/platforms-new/playdia.png diff --git a/static/logos/platforms-new/playstation.png b/public/logos/platforms-new/playstation.png similarity index 100% rename from static/logos/platforms-new/playstation.png rename to public/logos/platforms-new/playstation.png diff --git a/static/logos/platforms-new/ps-2.png b/public/logos/platforms-new/ps-2.png similarity index 100% rename from static/logos/platforms-new/ps-2.png rename to public/logos/platforms-new/ps-2.png diff --git a/static/logos/platforms-new/ps3.png b/public/logos/platforms-new/ps3.png similarity index 100% rename from static/logos/platforms-new/ps3.png rename to public/logos/platforms-new/ps3.png diff --git a/static/logos/platforms-new/ps4.png b/public/logos/platforms-new/ps4.png similarity index 100% rename from static/logos/platforms-new/ps4.png rename to public/logos/platforms-new/ps4.png diff --git a/static/logos/platforms-new/ps5.png b/public/logos/platforms-new/ps5.png similarity index 100% rename from static/logos/platforms-new/ps5.png rename to public/logos/platforms-new/ps5.png diff --git a/static/logos/platforms-new/pv-1000.png b/public/logos/platforms-new/pv-1000.png similarity index 100% rename from static/logos/platforms-new/pv-1000.png rename to public/logos/platforms-new/pv-1000.png diff --git a/static/logos/platforms-new/rca-studio-ii.png b/public/logos/platforms-new/rca-studio-ii.png similarity index 100% rename from static/logos/platforms-new/rca-studio-ii.png rename to public/logos/platforms-new/rca-studio-ii.png diff --git a/static/logos/platforms-new/satellaview.png b/public/logos/platforms-new/satellaview.png similarity index 100% rename from static/logos/platforms-new/satellaview.png rename to public/logos/platforms-new/satellaview.png diff --git a/static/logos/platforms-new/sega-cd.png b/public/logos/platforms-new/sega-cd.png similarity index 100% rename from static/logos/platforms-new/sega-cd.png rename to public/logos/platforms-new/sega-cd.png diff --git a/static/logos/platforms-new/sega-master-system.png b/public/logos/platforms-new/sega-master-system.png similarity index 100% rename from static/logos/platforms-new/sega-master-system.png rename to public/logos/platforms-new/sega-master-system.png diff --git a/static/logos/platforms-new/sega-saturn.png b/public/logos/platforms-new/sega-saturn.png similarity index 100% rename from static/logos/platforms-new/sega-saturn.png rename to public/logos/platforms-new/sega-saturn.png diff --git a/static/logos/platforms-new/sg-1000.png b/public/logos/platforms-new/sg-1000.png similarity index 100% rename from static/logos/platforms-new/sg-1000.png rename to public/logos/platforms-new/sg-1000.png diff --git a/static/logos/platforms-new/socrates.png b/public/logos/platforms-new/socrates.png similarity index 100% rename from static/logos/platforms-new/socrates.png rename to public/logos/platforms-new/socrates.png diff --git a/static/logos/platforms-new/stadia.png b/public/logos/platforms-new/stadia.png similarity index 100% rename from static/logos/platforms-new/stadia.png rename to public/logos/platforms-new/stadia.png diff --git a/static/logos/platforms-new/super-acan.png b/public/logos/platforms-new/super-acan.png similarity index 100% rename from static/logos/platforms-new/super-acan.png rename to public/logos/platforms-new/super-acan.png diff --git a/static/logos/platforms-new/super-cassette-vision.png b/public/logos/platforms-new/super-cassette-vision.png similarity index 100% rename from static/logos/platforms-new/super-cassette-vision.png rename to public/logos/platforms-new/super-cassette-vision.png diff --git a/static/logos/platforms-new/super-cd-rom.png b/public/logos/platforms-new/super-cd-rom.png similarity index 100% rename from static/logos/platforms-new/super-cd-rom.png rename to public/logos/platforms-new/super-cd-rom.png diff --git a/static/logos/platforms-new/super-famicom.png b/public/logos/platforms-new/super-famicom.png similarity index 100% rename from static/logos/platforms-new/super-famicom.png rename to public/logos/platforms-new/super-famicom.png diff --git a/static/logos/platforms-new/super-grafx.png b/public/logos/platforms-new/super-grafx.png similarity index 100% rename from static/logos/platforms-new/super-grafx.png rename to public/logos/platforms-new/super-grafx.png diff --git a/static/logos/platforms-new/super-nintendo.png b/public/logos/platforms-new/super-nintendo.png similarity index 100% rename from static/logos/platforms-new/super-nintendo.png rename to public/logos/platforms-new/super-nintendo.png diff --git a/static/logos/platforms-new/super-vision-8000.png b/public/logos/platforms-new/super-vision-8000.png similarity index 100% rename from static/logos/platforms-new/super-vision-8000.png rename to public/logos/platforms-new/super-vision-8000.png diff --git a/static/logos/platforms-new/turbo-grafx-16.png b/public/logos/platforms-new/turbo-grafx-16.png similarity index 100% rename from static/logos/platforms-new/turbo-grafx-16.png rename to public/logos/platforms-new/turbo-grafx-16.png diff --git a/static/logos/platforms-new/tutor.png b/public/logos/platforms-new/tutor.png similarity index 100% rename from static/logos/platforms-new/tutor.png rename to public/logos/platforms-new/tutor.png diff --git a/static/logos/platforms-new/tv-boy.png b/public/logos/platforms-new/tv-boy.png similarity index 100% rename from static/logos/platforms-new/tv-boy.png rename to public/logos/platforms-new/tv-boy.png diff --git a/static/logos/platforms-new/ultravision.png b/public/logos/platforms-new/ultravision.png similarity index 100% rename from static/logos/platforms-new/ultravision.png rename to public/logos/platforms-new/ultravision.png diff --git a/static/logos/platforms-new/v-flash.png b/public/logos/platforms-new/v-flash.png similarity index 100% rename from static/logos/platforms-new/v-flash.png rename to public/logos/platforms-new/v-flash.png diff --git a/static/logos/platforms-new/v-smile.png b/public/logos/platforms-new/v-smile.png similarity index 100% rename from static/logos/platforms-new/v-smile.png rename to public/logos/platforms-new/v-smile.png diff --git a/static/logos/platforms-new/vc4000.png b/public/logos/platforms-new/vc4000.png similarity index 100% rename from static/logos/platforms-new/vc4000.png rename to public/logos/platforms-new/vc4000.png diff --git a/static/logos/platforms-new/vectrex.png b/public/logos/platforms-new/vectrex.png similarity index 100% rename from static/logos/platforms-new/vectrex.png rename to public/logos/platforms-new/vectrex.png diff --git a/static/logos/platforms-new/video-art.png b/public/logos/platforms-new/video-art.png similarity index 100% rename from static/logos/platforms-new/video-art.png rename to public/logos/platforms-new/video-art.png diff --git a/static/logos/platforms-new/video-challenger.png b/public/logos/platforms-new/video-challenger.png similarity index 100% rename from static/logos/platforms-new/video-challenger.png rename to public/logos/platforms-new/video-challenger.png diff --git a/static/logos/platforms-new/video-driver.png b/public/logos/platforms-new/video-driver.png similarity index 100% rename from static/logos/platforms-new/video-driver.png rename to public/logos/platforms-new/video-driver.png diff --git a/static/logos/platforms-new/videopac.png b/public/logos/platforms-new/videopac.png similarity index 100% rename from static/logos/platforms-new/videopac.png rename to public/logos/platforms-new/videopac.png diff --git a/static/logos/platforms-new/vis.png b/public/logos/platforms-new/vis.png similarity index 100% rename from static/logos/platforms-new/vis.png rename to public/logos/platforms-new/vis.png diff --git a/static/logos/platforms-new/wii-u.png b/public/logos/platforms-new/wii-u.png similarity index 100% rename from static/logos/platforms-new/wii-u.png rename to public/logos/platforms-new/wii-u.png diff --git a/static/logos/platforms-new/wii.png b/public/logos/platforms-new/wii.png similarity index 100% rename from static/logos/platforms-new/wii.png rename to public/logos/platforms-new/wii.png diff --git a/static/logos/platforms-new/windows.png b/public/logos/platforms-new/windows.png similarity index 100% rename from static/logos/platforms-new/windows.png rename to public/logos/platforms-new/windows.png diff --git a/static/logos/platforms-new/xavix.png b/public/logos/platforms-new/xavix.png similarity index 100% rename from static/logos/platforms-new/xavix.png rename to public/logos/platforms-new/xavix.png diff --git a/static/logos/platforms-new/xbox-360.png b/public/logos/platforms-new/xbox-360.png similarity index 100% rename from static/logos/platforms-new/xbox-360.png rename to public/logos/platforms-new/xbox-360.png diff --git a/static/logos/platforms-new/xbox-one.png b/public/logos/platforms-new/xbox-one.png similarity index 100% rename from static/logos/platforms-new/xbox-one.png rename to public/logos/platforms-new/xbox-one.png diff --git a/static/logos/platforms-new/xbox.png b/public/logos/platforms-new/xbox.png similarity index 100% rename from static/logos/platforms-new/xbox.png rename to public/logos/platforms-new/xbox.png diff --git a/static/logos/platforms-new/xboxsx.png b/public/logos/platforms-new/xboxsx.png similarity index 100% rename from static/logos/platforms-new/xboxsx.png rename to public/logos/platforms-new/xboxsx.png diff --git a/static/logos/platforms-new/zeebo.png b/public/logos/platforms-new/zeebo.png similarity index 100% rename from static/logos/platforms-new/zeebo.png rename to public/logos/platforms-new/zeebo.png diff --git a/static/logos/platforms-new/zemina.png b/public/logos/platforms-new/zemina.png similarity index 100% rename from static/logos/platforms-new/zemina.png rename to public/logos/platforms-new/zemina.png diff --git a/static/logos/platforms/3do-alt.svg b/public/logos/platforms/3do-alt.svg similarity index 100% rename from static/logos/platforms/3do-alt.svg rename to public/logos/platforms/3do-alt.svg diff --git a/static/logos/platforms/3do.svg b/public/logos/platforms/3do.svg similarity index 100% rename from static/logos/platforms/3do.svg rename to public/logos/platforms/3do.svg diff --git a/static/logos/platforms/3ds.svg b/public/logos/platforms/3ds.svg similarity index 100% rename from static/logos/platforms/3ds.svg rename to public/logos/platforms/3ds.svg diff --git a/static/logos/platforms/acpc.svg b/public/logos/platforms/acpc.svg similarity index 100% rename from static/logos/platforms/acpc.svg rename to public/logos/platforms/acpc.svg diff --git a/static/logos/platforms/amazon-fire-tv.png b/public/logos/platforms/amazon-fire-tv.png similarity index 100% rename from static/logos/platforms/amazon-fire-tv.png rename to public/logos/platforms/amazon-fire-tv.png diff --git a/static/logos/platforms/amiga-cd32.svg b/public/logos/platforms/amiga-cd32.svg similarity index 100% rename from static/logos/platforms/amiga-cd32.svg rename to public/logos/platforms/amiga-cd32.svg diff --git a/static/logos/platforms/amiga.svg b/public/logos/platforms/amiga.svg similarity index 100% rename from static/logos/platforms/amiga.svg rename to public/logos/platforms/amiga.svg diff --git a/static/logos/platforms/android.svg b/public/logos/platforms/android.svg similarity index 100% rename from static/logos/platforms/android.svg rename to public/logos/platforms/android.svg diff --git a/static/logos/platforms/appleii.svg b/public/logos/platforms/appleii.svg similarity index 100% rename from static/logos/platforms/appleii.svg rename to public/logos/platforms/appleii.svg diff --git a/static/logos/platforms/atari-st.svg b/public/logos/platforms/atari-st.svg similarity index 100% rename from static/logos/platforms/atari-st.svg rename to public/logos/platforms/atari-st.svg diff --git a/static/logos/platforms/atari2600.svg b/public/logos/platforms/atari2600.svg similarity index 100% rename from static/logos/platforms/atari2600.svg rename to public/logos/platforms/atari2600.svg diff --git a/static/logos/platforms/atari5200.svg b/public/logos/platforms/atari5200.svg similarity index 100% rename from static/logos/platforms/atari5200.svg rename to public/logos/platforms/atari5200.svg diff --git a/static/logos/platforms/atari7800.svg b/public/logos/platforms/atari7800.svg similarity index 100% rename from static/logos/platforms/atari7800.svg rename to public/logos/platforms/atari7800.svg diff --git a/static/logos/platforms/atari8bit.svg b/public/logos/platforms/atari8bit.svg similarity index 100% rename from static/logos/platforms/atari8bit.svg rename to public/logos/platforms/atari8bit.svg diff --git a/static/logos/platforms/atary-5200.svg b/public/logos/platforms/atary-5200.svg similarity index 100% rename from static/logos/platforms/atary-5200.svg rename to public/logos/platforms/atary-5200.svg diff --git a/static/logos/platforms/c-plus-4.svg b/public/logos/platforms/c-plus-4.svg similarity index 100% rename from static/logos/platforms/c-plus-4.svg rename to public/logos/platforms/c-plus-4.svg diff --git a/static/logos/platforms/c16.svg b/public/logos/platforms/c16.svg similarity index 100% rename from static/logos/platforms/c16.svg rename to public/logos/platforms/c16.svg diff --git a/static/logos/platforms/c64.svg b/public/logos/platforms/c64.svg similarity index 100% rename from static/logos/platforms/c64.svg rename to public/logos/platforms/c64.svg diff --git a/static/logos/platforms/casio-loopy.png b/public/logos/platforms/casio-loopy.png similarity index 100% rename from static/logos/platforms/casio-loopy.png rename to public/logos/platforms/casio-loopy.png diff --git a/static/logos/platforms/colecovision.svg b/public/logos/platforms/colecovision.svg similarity index 100% rename from static/logos/platforms/colecovision.svg rename to public/logos/platforms/colecovision.svg diff --git a/static/logos/platforms/commodore.svg b/public/logos/platforms/commodore.svg similarity index 100% rename from static/logos/platforms/commodore.svg rename to public/logos/platforms/commodore.svg diff --git a/static/logos/platforms/cpet.svg b/public/logos/platforms/cpet.svg similarity index 100% rename from static/logos/platforms/cpet.svg rename to public/logos/platforms/cpet.svg diff --git a/static/logos/platforms/daydream.png b/public/logos/platforms/daydream.png similarity index 100% rename from static/logos/platforms/daydream.png rename to public/logos/platforms/daydream.png diff --git a/static/logos/platforms/dc.svg b/public/logos/platforms/dc.svg similarity index 100% rename from static/logos/platforms/dc.svg rename to public/logos/platforms/dc.svg diff --git a/static/logos/platforms/dos.svg b/public/logos/platforms/dos.svg similarity index 100% rename from static/logos/platforms/dos.svg rename to public/logos/platforms/dos.svg diff --git a/static/logos/platforms/evercade.svg b/public/logos/platforms/evercade.svg similarity index 100% rename from static/logos/platforms/evercade.svg rename to public/logos/platforms/evercade.svg diff --git a/static/logos/platforms/famicom.svg b/public/logos/platforms/famicom.svg similarity index 100% rename from static/logos/platforms/famicom.svg rename to public/logos/platforms/famicom.svg diff --git a/static/logos/platforms/fds.png b/public/logos/platforms/fds.png similarity index 100% rename from static/logos/platforms/fds.png rename to public/logos/platforms/fds.png diff --git a/static/logos/platforms/game-and-watch.svg b/public/logos/platforms/game-and-watch.svg similarity index 100% rename from static/logos/platforms/game-and-watch.svg rename to public/logos/platforms/game-and-watch.svg diff --git a/static/logos/platforms/gamegear.svg b/public/logos/platforms/gamegear.svg similarity index 100% rename from static/logos/platforms/gamegear.svg rename to public/logos/platforms/gamegear.svg diff --git a/static/logos/platforms/gb.svg b/public/logos/platforms/gb.svg similarity index 100% rename from static/logos/platforms/gb.svg rename to public/logos/platforms/gb.svg diff --git a/static/logos/platforms/gba.svg b/public/logos/platforms/gba.svg similarity index 100% rename from static/logos/platforms/gba.svg rename to public/logos/platforms/gba.svg diff --git a/static/logos/platforms/gbc.svg b/public/logos/platforms/gbc.svg similarity index 100% rename from static/logos/platforms/gbc.svg rename to public/logos/platforms/gbc.svg diff --git a/static/logos/platforms/intellivision.svg b/public/logos/platforms/intellivision.svg similarity index 100% rename from static/logos/platforms/intellivision.svg rename to public/logos/platforms/intellivision.svg diff --git a/static/logos/platforms/ios.svg b/public/logos/platforms/ios.svg similarity index 100% rename from static/logos/platforms/ios.svg rename to public/logos/platforms/ios.svg diff --git a/static/logos/platforms/jaguar.svg b/public/logos/platforms/jaguar.svg similarity index 100% rename from static/logos/platforms/jaguar.svg rename to public/logos/platforms/jaguar.svg diff --git a/static/logos/platforms/linux.svg b/public/logos/platforms/linux.svg similarity index 100% rename from static/logos/platforms/linux.svg rename to public/logos/platforms/linux.svg diff --git a/static/logos/platforms/lynx.svg b/public/logos/platforms/lynx.svg similarity index 100% rename from static/logos/platforms/lynx.svg rename to public/logos/platforms/lynx.svg diff --git a/static/logos/platforms/mac.svg b/public/logos/platforms/mac.svg similarity index 100% rename from static/logos/platforms/mac.svg rename to public/logos/platforms/mac.svg diff --git a/static/logos/platforms/msx.svg b/public/logos/platforms/msx.svg similarity index 100% rename from static/logos/platforms/msx.svg rename to public/logos/platforms/msx.svg diff --git a/static/logos/platforms/msx2.svg b/public/logos/platforms/msx2.svg similarity index 100% rename from static/logos/platforms/msx2.svg rename to public/logos/platforms/msx2.svg diff --git a/static/logos/platforms/n64.svg b/public/logos/platforms/n64.svg similarity index 100% rename from static/logos/platforms/n64.svg rename to public/logos/platforms/n64.svg diff --git a/static/logos/platforms/nds.svg b/public/logos/platforms/nds.svg similarity index 100% rename from static/logos/platforms/nds.svg rename to public/logos/platforms/nds.svg diff --git a/static/logos/platforms/neo-geo-cd.svg b/public/logos/platforms/neo-geo-cd.svg similarity index 100% rename from static/logos/platforms/neo-geo-cd.svg rename to public/logos/platforms/neo-geo-cd.svg diff --git a/static/logos/platforms/neo-geo-pocket-color.svg b/public/logos/platforms/neo-geo-pocket-color.svg similarity index 100% rename from static/logos/platforms/neo-geo-pocket-color.svg rename to public/logos/platforms/neo-geo-pocket-color.svg diff --git a/static/logos/platforms/neo-geo-pocket.svg b/public/logos/platforms/neo-geo-pocket.svg similarity index 100% rename from static/logos/platforms/neo-geo-pocket.svg rename to public/logos/platforms/neo-geo-pocket.svg diff --git a/static/logos/platforms/neogeoaes.svg b/public/logos/platforms/neogeoaes.svg similarity index 100% rename from static/logos/platforms/neogeoaes.svg rename to public/logos/platforms/neogeoaes.svg diff --git a/static/logos/platforms/neogeomvs.svg b/public/logos/platforms/neogeomvs.svg similarity index 100% rename from static/logos/platforms/neogeomvs.svg rename to public/logos/platforms/neogeomvs.svg diff --git a/static/logos/platforms/nes.svg b/public/logos/platforms/nes.svg similarity index 100% rename from static/logos/platforms/nes.svg rename to public/logos/platforms/nes.svg diff --git a/static/logos/platforms/new-nintendo-3ds.svg b/public/logos/platforms/new-nintendo-3ds.svg similarity index 100% rename from static/logos/platforms/new-nintendo-3ds.svg rename to public/logos/platforms/new-nintendo-3ds.svg diff --git a/static/logos/platforms/ngage.svg b/public/logos/platforms/ngage.svg similarity index 100% rename from static/logos/platforms/ngage.svg rename to public/logos/platforms/ngage.svg diff --git a/static/logos/platforms/ngc.svg b/public/logos/platforms/ngc.svg similarity index 100% rename from static/logos/platforms/ngc.svg rename to public/logos/platforms/ngc.svg diff --git a/static/logos/platforms/nintendo-64.svg b/public/logos/platforms/nintendo-64.svg similarity index 100% rename from static/logos/platforms/nintendo-64.svg rename to public/logos/platforms/nintendo-64.svg diff --git a/static/logos/platforms/nintendo-dsi.svg b/public/logos/platforms/nintendo-dsi.svg similarity index 100% rename from static/logos/platforms/nintendo-dsi.svg rename to public/logos/platforms/nintendo-dsi.svg diff --git a/static/logos/platforms/nintendo-eshop.png b/public/logos/platforms/nintendo-eshop.png similarity index 100% rename from static/logos/platforms/nintendo-eshop.png rename to public/logos/platforms/nintendo-eshop.png diff --git a/static/logos/platforms/nintendo-switch-alt.svg b/public/logos/platforms/nintendo-switch-alt.svg similarity index 100% rename from static/logos/platforms/nintendo-switch-alt.svg rename to public/logos/platforms/nintendo-switch-alt.svg diff --git a/static/logos/platforms/oculus-vr.svg b/public/logos/platforms/oculus-vr.svg similarity index 100% rename from static/logos/platforms/oculus-vr.svg rename to public/logos/platforms/oculus-vr.svg diff --git a/static/logos/platforms/odyssey--1.svg b/public/logos/platforms/odyssey--1.svg similarity index 100% rename from static/logos/platforms/odyssey--1.svg rename to public/logos/platforms/odyssey--1.svg diff --git a/static/logos/platforms/ouya.svg b/public/logos/platforms/ouya.svg similarity index 100% rename from static/logos/platforms/ouya.svg rename to public/logos/platforms/ouya.svg diff --git a/static/logos/platforms/pc-engine.svg b/public/logos/platforms/pc-engine.svg similarity index 100% rename from static/logos/platforms/pc-engine.svg rename to public/logos/platforms/pc-engine.svg diff --git a/static/logos/platforms/philips-cd-i.svg b/public/logos/platforms/philips-cd-i.svg similarity index 100% rename from static/logos/platforms/philips-cd-i.svg rename to public/logos/platforms/philips-cd-i.svg diff --git a/static/logos/platforms/playstation-5.svg b/public/logos/platforms/playstation-5.svg similarity index 100% rename from static/logos/platforms/playstation-5.svg rename to public/logos/platforms/playstation-5.svg diff --git a/static/logos/platforms/playstation-vr.png b/public/logos/platforms/playstation-vr.png similarity index 100% rename from static/logos/platforms/playstation-vr.png rename to public/logos/platforms/playstation-vr.png diff --git a/static/logos/platforms/pokemon-mini.svg b/public/logos/platforms/pokemon-mini.svg similarity index 100% rename from static/logos/platforms/pokemon-mini.svg rename to public/logos/platforms/pokemon-mini.svg diff --git a/static/logos/platforms/ps.svg b/public/logos/platforms/ps.svg similarity index 100% rename from static/logos/platforms/ps.svg rename to public/logos/platforms/ps.svg diff --git a/static/logos/platforms/ps2.svg b/public/logos/platforms/ps2.svg similarity index 100% rename from static/logos/platforms/ps2.svg rename to public/logos/platforms/ps2.svg diff --git a/static/logos/platforms/ps3.svg b/public/logos/platforms/ps3.svg similarity index 100% rename from static/logos/platforms/ps3.svg rename to public/logos/platforms/ps3.svg diff --git a/static/logos/platforms/ps4--1.svg b/public/logos/platforms/ps4--1.svg similarity index 100% rename from static/logos/platforms/ps4--1.svg rename to public/logos/platforms/ps4--1.svg diff --git a/static/logos/platforms/ps5.svg b/public/logos/platforms/ps5.svg similarity index 100% rename from static/logos/platforms/ps5.svg rename to public/logos/platforms/ps5.svg diff --git a/static/logos/platforms/psn.png b/public/logos/platforms/psn.png similarity index 100% rename from static/logos/platforms/psn.png rename to public/logos/platforms/psn.png diff --git a/static/logos/platforms/psp.svg b/public/logos/platforms/psp.svg similarity index 100% rename from static/logos/platforms/psp.svg rename to public/logos/platforms/psp.svg diff --git a/static/logos/platforms/psvita.svg b/public/logos/platforms/psvita.svg similarity index 100% rename from static/logos/platforms/psvita.svg rename to public/logos/platforms/psvita.svg diff --git a/static/logos/platforms/satellaview.svg b/public/logos/platforms/satellaview.svg similarity index 100% rename from static/logos/platforms/satellaview.svg rename to public/logos/platforms/satellaview.svg diff --git a/static/logos/platforms/saturn.svg b/public/logos/platforms/saturn.svg similarity index 100% rename from static/logos/platforms/saturn.svg rename to public/logos/platforms/saturn.svg diff --git a/static/logos/platforms/sega-genesis.svg b/public/logos/platforms/sega-genesis.svg similarity index 100% rename from static/logos/platforms/sega-genesis.svg rename to public/logos/platforms/sega-genesis.svg diff --git a/static/logos/platforms/sega32.svg b/public/logos/platforms/sega32.svg similarity index 100% rename from static/logos/platforms/sega32.svg rename to public/logos/platforms/sega32.svg diff --git a/static/logos/platforms/segacd.svg b/public/logos/platforms/segacd.svg similarity index 100% rename from static/logos/platforms/segacd.svg rename to public/logos/platforms/segacd.svg diff --git a/static/logos/platforms/series-x.svg b/public/logos/platforms/series-x.svg similarity index 100% rename from static/logos/platforms/series-x.svg rename to public/logos/platforms/series-x.svg diff --git a/static/logos/platforms/sfam.svg b/public/logos/platforms/sfam.svg similarity index 100% rename from static/logos/platforms/sfam.svg rename to public/logos/platforms/sfam.svg diff --git a/static/logos/platforms/sg1000.svg b/public/logos/platforms/sg1000.svg similarity index 100% rename from static/logos/platforms/sg1000.svg rename to public/logos/platforms/sg1000.svg diff --git a/static/logos/platforms/smd.svg b/public/logos/platforms/smd.svg similarity index 100% rename from static/logos/platforms/smd.svg rename to public/logos/platforms/smd.svg diff --git a/static/logos/platforms/sms.svg b/public/logos/platforms/sms.svg similarity index 100% rename from static/logos/platforms/sms.svg rename to public/logos/platforms/sms.svg diff --git a/static/logos/platforms/snes--1.svg b/public/logos/platforms/snes--1.svg similarity index 100% rename from static/logos/platforms/snes--1.svg rename to public/logos/platforms/snes--1.svg diff --git a/static/logos/platforms/stadia.svg b/public/logos/platforms/stadia.svg similarity index 100% rename from static/logos/platforms/stadia.svg rename to public/logos/platforms/stadia.svg diff --git a/static/logos/platforms/steam--1.svg b/public/logos/platforms/steam--1.svg similarity index 100% rename from static/logos/platforms/steam--1.svg rename to public/logos/platforms/steam--1.svg diff --git a/static/logos/platforms/steam-vr.png b/public/logos/platforms/steam-vr.png similarity index 100% rename from static/logos/platforms/steam-vr.png rename to public/logos/platforms/steam-vr.png diff --git a/static/logos/platforms/supergrafx.svg b/public/logos/platforms/supergrafx.svg similarity index 100% rename from static/logos/platforms/supergrafx.svg rename to public/logos/platforms/supergrafx.svg diff --git a/static/logos/platforms/swancrystal.png b/public/logos/platforms/swancrystal.png similarity index 100% rename from static/logos/platforms/swancrystal.png rename to public/logos/platforms/swancrystal.png diff --git a/static/logos/platforms/switch.svg b/public/logos/platforms/switch.svg similarity index 100% rename from static/logos/platforms/switch.svg rename to public/logos/platforms/switch.svg diff --git a/static/logos/platforms/turbografx-16-slash-pc-engine-cd.png b/public/logos/platforms/turbografx-16-slash-pc-engine-cd.png similarity index 100% rename from static/logos/platforms/turbografx-16-slash-pc-engine-cd.png rename to public/logos/platforms/turbografx-16-slash-pc-engine-cd.png diff --git a/static/logos/platforms/turbografx16--1.svg b/public/logos/platforms/turbografx16--1.svg similarity index 100% rename from static/logos/platforms/turbografx16--1.svg rename to public/logos/platforms/turbografx16--1.svg diff --git a/static/logos/platforms/vc.png b/public/logos/platforms/vc.png similarity index 100% rename from static/logos/platforms/vc.png rename to public/logos/platforms/vc.png diff --git a/static/logos/platforms/vectrex.svg b/public/logos/platforms/vectrex.svg similarity index 100% rename from static/logos/platforms/vectrex.svg rename to public/logos/platforms/vectrex.svg diff --git a/static/logos/platforms/vic-20.svg b/public/logos/platforms/vic-20.svg similarity index 100% rename from static/logos/platforms/vic-20.svg rename to public/logos/platforms/vic-20.svg diff --git a/static/logos/platforms/virtualboy.svg b/public/logos/platforms/virtualboy.svg similarity index 100% rename from static/logos/platforms/virtualboy.svg rename to public/logos/platforms/virtualboy.svg diff --git a/static/logos/platforms/wii.svg b/public/logos/platforms/wii.svg similarity index 100% rename from static/logos/platforms/wii.svg rename to public/logos/platforms/wii.svg diff --git a/static/logos/platforms/wiiu.svg b/public/logos/platforms/wiiu.svg similarity index 100% rename from static/logos/platforms/wiiu.svg rename to public/logos/platforms/wiiu.svg diff --git a/static/logos/platforms/wiiware.svg b/public/logos/platforms/wiiware.svg similarity index 100% rename from static/logos/platforms/wiiware.svg rename to public/logos/platforms/wiiware.svg diff --git a/static/logos/platforms/win.svg b/public/logos/platforms/win.svg similarity index 100% rename from static/logos/platforms/win.svg rename to public/logos/platforms/win.svg diff --git a/static/logos/platforms/windows-mixed-reality.png b/public/logos/platforms/windows-mixed-reality.png similarity index 100% rename from static/logos/platforms/windows-mixed-reality.png rename to public/logos/platforms/windows-mixed-reality.png diff --git a/static/logos/platforms/wonderswan-color.png b/public/logos/platforms/wonderswan-color.png similarity index 100% rename from static/logos/platforms/wonderswan-color.png rename to public/logos/platforms/wonderswan-color.png diff --git a/static/logos/platforms/wonderswan.svg b/public/logos/platforms/wonderswan.svg similarity index 100% rename from static/logos/platforms/wonderswan.svg rename to public/logos/platforms/wonderswan.svg diff --git a/static/logos/platforms/x1.svg b/public/logos/platforms/x1.svg similarity index 100% rename from static/logos/platforms/x1.svg rename to public/logos/platforms/x1.svg diff --git a/static/logos/platforms/xbox.svg b/public/logos/platforms/xbox.svg similarity index 100% rename from static/logos/platforms/xbox.svg rename to public/logos/platforms/xbox.svg diff --git a/static/logos/platforms/xbox360.svg b/public/logos/platforms/xbox360.svg similarity index 100% rename from static/logos/platforms/xbox360.svg rename to public/logos/platforms/xbox360.svg diff --git a/static/logos/platforms/xboxone.svg b/public/logos/platforms/xboxone.svg similarity index 100% rename from static/logos/platforms/xboxone.svg rename to public/logos/platforms/xboxone.svg diff --git a/static/logos/platforms/xla.png b/public/logos/platforms/xla.png similarity index 100% rename from static/logos/platforms/xla.png rename to public/logos/platforms/xla.png diff --git a/static/logos/platforms/zxs.svg b/public/logos/platforms/zxs.svg similarity index 100% rename from static/logos/platforms/zxs.svg rename to public/logos/platforms/zxs.svg diff --git a/static/logos/rating-systems/CERO.png b/public/logos/rating-systems/CERO.png similarity index 100% rename from static/logos/rating-systems/CERO.png rename to public/logos/rating-systems/CERO.png diff --git a/static/logos/rating-systems/USK.svg b/public/logos/rating-systems/USK.svg similarity index 100% rename from static/logos/rating-systems/USK.svg rename to public/logos/rating-systems/USK.svg diff --git a/static/logos/rating-systems/acb.png b/public/logos/rating-systems/acb.png similarity index 100% rename from static/logos/rating-systems/acb.png rename to public/logos/rating-systems/acb.png diff --git a/static/logos/rating-systems/classind.png b/public/logos/rating-systems/classind.png similarity index 100% rename from static/logos/rating-systems/classind.png rename to public/logos/rating-systems/classind.png diff --git a/static/logos/rating-systems/esrb.svg b/public/logos/rating-systems/esrb.svg similarity index 100% rename from static/logos/rating-systems/esrb.svg rename to public/logos/rating-systems/esrb.svg diff --git a/static/logos/rating-systems/grac.svg b/public/logos/rating-systems/grac.svg similarity index 100% rename from static/logos/rating-systems/grac.svg rename to public/logos/rating-systems/grac.svg diff --git a/static/logos/rating-systems/pegi.svg b/public/logos/rating-systems/pegi.svg similarity index 100% rename from static/logos/rating-systems/pegi.svg rename to public/logos/rating-systems/pegi.svg diff --git a/static/no-image.jpg b/public/no-image.jpg similarity index 100% rename from static/no-image.jpg rename to public/no-image.jpg diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 00000000..eb053628 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/src/App.vue b/src/App.vue index d667912e..22ad1ae3 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,4 +1,4 @@ - + @@ -16,7 +16,7 @@ > - +
@@ -24,7 +24,7 @@
diff --git a/src/components/Board/MiniBoard.vue b/src/components/Board/MiniBoard.vue index 65ef406b..2b5499f7 100644 --- a/src/components/Board/MiniBoard.vue +++ b/src/components/Board/MiniBoard.vue @@ -1,9 +1,11 @@ +