├── public ├── icon.png ├── heroes │ ├── ana.png │ ├── dva.png │ ├── mei.png │ ├── ashe.png │ ├── echo.png │ ├── freja.png │ ├── genji.png │ ├── hanzo.png │ ├── juno.png │ ├── lucio.png │ ├── mauga.png │ ├── mercy.png │ ├── moira.png │ ├── orisa.png │ ├── sigma.png │ ├── zarya.png │ ├── baptiste.png │ ├── bastion.png │ ├── brigitte.png │ ├── cassidy.png │ ├── default.png │ ├── doomfist.png │ ├── hazard.png │ ├── illari.png │ ├── junkrat.png │ ├── kiriko.png │ ├── pharah.png │ ├── ramattra.png │ ├── reaper.png │ ├── roadhog.png │ ├── sojourn.png │ ├── sombra.png │ ├── symmetra.png │ ├── torbjorn.png │ ├── tracer.png │ ├── venture.png │ ├── winston.png │ ├── wuyang.png │ ├── zenyatta.png │ ├── lifeweaver.png │ ├── reinhardt.png │ ├── soldier76.png │ ├── widowmaker.png │ ├── junkerqueen.png │ └── wreckingball.png ├── not-found.avif ├── parsertime.png ├── teams │ ├── o7.png │ └── vlln.png ├── maps │ ├── aatlis.webp │ ├── busan.webp │ ├── dorado.webp │ ├── havana.webp │ ├── ilios.webp │ ├── nepal.webp │ ├── oasis.webp │ ├── rialto.webp │ ├── samoa.webp │ ├── colosseo.webp │ ├── esperanca.webp │ ├── hanaoka.webp │ ├── hollywood.webp │ ├── kings-row.webp │ ├── midtown.webp │ ├── numbani.webp │ ├── paraiso.webp │ ├── route-66.webp │ ├── runasapi.webp │ ├── suravasa.webp │ ├── eichenwalde.webp │ ├── junkertown.webp │ ├── blizzard-world.webp │ ├── circuit-royal.webp │ ├── lijiang-tower.webp │ ├── new-junk-city.webp │ ├── kings-row-winter.webp │ ├── new-queen-street.webp │ ├── throne-of-anubis.webp │ ├── antarctic-peninsula.webp │ ├── hollywood-halloween.webp │ ├── shambali-monastery.webp │ ├── blizzard-world-winter.webp │ ├── eichenwalde-halloween.webp │ ├── watchpoint-gibraltar.webp │ └── lijiang-tower-lunar-new-year.webp ├── player_page.png ├── team_charts.png ├── marketing │ ├── coy.png │ ├── diego.jpg │ ├── kenny.jpg │ ├── lucas.jpg │ ├── robin.png │ ├── yai.jpg │ ├── adrian.jpg │ ├── daniel.png │ └── xavier.jpg ├── opengraph-image.png ├── player_page_light.png ├── team-invite-arrow.png └── team_charts_light.png ├── src ├── app │ ├── favicon.ico │ ├── opengraph-image.png │ ├── api │ │ ├── auth │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ ├── team │ │ │ ├── delete-expired-tokens │ │ │ │ └── route.ts │ │ │ ├── update-name │ │ │ │ └── route.ts │ │ │ ├── get-teams │ │ │ │ └── route.ts │ │ │ ├── get-teams-with-perms │ │ │ │ └── route.ts │ │ │ ├── remove-team │ │ │ │ └── route.ts │ │ │ ├── join-team │ │ │ │ └── route.ts │ │ │ ├── update-avatar │ │ │ │ └── route.ts │ │ │ ├── transfer-ownership │ │ │ │ └── route.ts │ │ │ ├── demote-user │ │ │ │ └── route.ts │ │ │ └── promote-user │ │ │ │ └── route.ts │ │ ├── (cron) │ │ │ ├── delete-empty-scrims │ │ │ │ └── route.ts │ │ │ └── delete-unused-blobs │ │ │ │ └── route.ts │ │ ├── user │ │ │ ├── delete-account │ │ │ │ └── route.ts │ │ │ ├── update-name │ │ │ │ └── route.ts │ │ │ └── update-avatar │ │ │ │ └── route.ts │ │ ├── reporting │ │ │ └── submit-bug-report │ │ │ │ └── route.ts │ │ ├── scrim │ │ │ ├── add-map │ │ │ │ └── route.ts │ │ │ ├── update-scrim-options │ │ │ │ └── route.ts │ │ │ └── create-scrim │ │ │ │ └── route.ts │ │ ├── admin │ │ │ └── impersonate-user │ │ │ │ └── route.ts │ │ ├── (email) │ │ │ └── send-contact-form-email │ │ │ │ └── route.ts │ │ └── og │ │ │ └── route.tsx │ ├── dashboard │ │ ├── layout.tsx │ │ └── loading.tsx │ ├── team │ │ ├── layout.tsx │ │ ├── [teamId] │ │ │ └── layout.tsx │ │ └── join │ │ │ ├── success │ │ │ └── page.tsx │ │ │ └── [token] │ │ │ └── page.tsx │ ├── debug │ │ └── layout.tsx │ ├── (auth) │ │ ├── auth-error │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ └── verify-request │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ ├── about │ │ └── layout.tsx │ ├── contact │ │ └── layout.tsx │ ├── pricing │ │ └── layout.tsx │ ├── privacy │ │ └── layout.tsx │ ├── demo │ │ └── layout.tsx │ ├── page.tsx │ ├── [team] │ │ └── scrim │ │ │ └── [scrimId] │ │ │ ├── layout.tsx │ │ │ ├── map │ │ │ └── [mapId] │ │ │ │ └── layout.tsx │ │ │ ├── loading.tsx │ │ │ └── edit │ │ │ └── page.tsx │ ├── settings │ │ ├── admin │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── accounts │ │ │ └── page.tsx │ │ └── page.tsx │ └── stats │ │ └── layout.tsx ├── types │ ├── next.ts │ ├── reset.d.ts │ ├── utils.ts │ ├── next-auth.d.ts │ ├── billing-plans.ts │ ├── app.d.ts │ └── map.ts ├── components │ ├── ui │ │ ├── aspect-ratio.tsx │ │ ├── skeleton.tsx │ │ ├── collapsible.tsx │ │ ├── card-icon.tsx │ │ ├── link.tsx │ │ ├── label.tsx │ │ ├── textarea.tsx │ │ ├── input.tsx │ │ ├── separator.tsx │ │ ├── progress.tsx │ │ ├── toaster.tsx │ │ ├── sonner.tsx │ │ ├── slider.tsx │ │ ├── checkbox.tsx │ │ ├── tooltip.tsx │ │ ├── switch.tsx │ │ ├── badge.tsx │ │ ├── hover-card.tsx │ │ ├── popover.tsx │ │ ├── toggle.tsx │ │ ├── avatar.tsx │ │ ├── radio-group.tsx │ │ ├── alert.tsx │ │ ├── scroll-area.tsx │ │ ├── button.tsx │ │ ├── tabs.tsx │ │ ├── card.tsx │ │ ├── accordion.tsx │ │ └── input-otp.tsx │ ├── scrim │ │ ├── client-date.tsx │ │ └── replay-code.tsx │ ├── staff-toolbar.tsx │ ├── theme-provider.tsx │ ├── dashboard │ │ ├── update-modal-wrapper.tsx │ │ ├── add-scrim-card.tsx │ │ ├── empty-scrim-list.tsx │ │ ├── create-scrim.tsx │ │ ├── search.tsx │ │ ├── admin-scrim-view.tsx │ │ ├── scrim-card.tsx │ │ ├── main-nav.tsx │ │ ├── update-modal.tsx │ │ └── scrim-list.tsx │ ├── auth │ │ ├── auth-components.tsx │ │ └── no-auth.tsx │ ├── team-switcher-provider.tsx │ ├── settings │ │ ├── discord-login-button.tsx │ │ └── sidebar-nav.tsx │ ├── command-menu-provider.tsx │ ├── map │ │ ├── mobile-banner.tsx │ │ ├── map-events.tsx │ │ └── killfeed-export.tsx │ ├── team │ │ ├── add-member-card.tsx │ │ └── empty-team-view.tsx │ ├── theme-switcher.tsx │ ├── guest-nav.tsx │ ├── locale-switcher.tsx │ ├── home │ │ └── banner.tsx │ ├── tailwind-indicator.tsx │ ├── dashboard-layout.tsx │ ├── demo │ │ └── banner.tsx │ └── stats │ │ └── searchbar.tsx ├── i18n │ ├── config.ts │ └── request.ts ├── lib │ ├── client-only.tsx │ ├── locale.ts │ ├── link-service.ts │ ├── invite-token.ts │ ├── prisma.ts │ ├── email.ts │ ├── query.tsx │ ├── logger.ts │ ├── stripe.ts │ └── winrate.ts └── data │ ├── player-dto.tsx │ └── user-dto.tsx ├── postcss.config.js ├── .prettierignore ├── test ├── samples │ ├── Log-2023-12-12-22-15-10_parsed.xlsx │ ├── Log-2024-01-10-20-38-42_parsed.xlsx │ ├── Log-2024-01-22-20-02-45_parsed.xlsx │ ├── Log-2024-01-22-20-21-43_parsed.xlsx │ ├── Log-2024-01-22-21-35-38_parsed.xlsx │ ├── Log-2024-02-05-20-07-38_parsed.xlsx │ └── Log-2024-06-16-22-24-33_parsed.xlsx ├── scrim-dto.test.ts ├── heroSwap.test.ts ├── mercyRez.test.ts └── objectiveCapture.test.ts ├── prisma └── migrations │ └── migration_lock.toml ├── .prettierrc ├── vitest.config.ts ├── vercel.json ├── components.json ├── .github └── workflows │ ├── typecheck.yml │ ├── format.yml │ ├── lint.yml │ └── vitest.yml ├── .gitignore ├── tsconfig.json ├── .vscode ├── launch.json └── extensions.json ├── LICENSE ├── .eslintrc.json └── .env.example /public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/icon.png -------------------------------------------------------------------------------- /public/heroes/ana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/ana.png -------------------------------------------------------------------------------- /public/heroes/dva.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/dva.png -------------------------------------------------------------------------------- /public/heroes/mei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/mei.png -------------------------------------------------------------------------------- /public/not-found.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/not-found.avif -------------------------------------------------------------------------------- /public/parsertime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/parsertime.png -------------------------------------------------------------------------------- /public/teams/o7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/teams/o7.png -------------------------------------------------------------------------------- /public/teams/vlln.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/teams/vlln.png -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/types/next.ts: -------------------------------------------------------------------------------- 1 | export type SearchParams = { [key: string]: string | string[] | undefined }; 2 | -------------------------------------------------------------------------------- /public/heroes/ashe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/ashe.png -------------------------------------------------------------------------------- /public/heroes/echo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/echo.png -------------------------------------------------------------------------------- /public/heroes/freja.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/freja.png -------------------------------------------------------------------------------- /public/heroes/genji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/genji.png -------------------------------------------------------------------------------- /public/heroes/hanzo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/hanzo.png -------------------------------------------------------------------------------- /public/heroes/juno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/juno.png -------------------------------------------------------------------------------- /public/heroes/lucio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/lucio.png -------------------------------------------------------------------------------- /public/heroes/mauga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/mauga.png -------------------------------------------------------------------------------- /public/heroes/mercy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/mercy.png -------------------------------------------------------------------------------- /public/heroes/moira.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/moira.png -------------------------------------------------------------------------------- /public/heroes/orisa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/orisa.png -------------------------------------------------------------------------------- /public/heroes/sigma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/sigma.png -------------------------------------------------------------------------------- /public/heroes/zarya.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/zarya.png -------------------------------------------------------------------------------- /public/maps/aatlis.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/aatlis.webp -------------------------------------------------------------------------------- /public/maps/busan.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/busan.webp -------------------------------------------------------------------------------- /public/maps/dorado.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/dorado.webp -------------------------------------------------------------------------------- /public/maps/havana.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/havana.webp -------------------------------------------------------------------------------- /public/maps/ilios.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/ilios.webp -------------------------------------------------------------------------------- /public/maps/nepal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/nepal.webp -------------------------------------------------------------------------------- /public/maps/oasis.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/oasis.webp -------------------------------------------------------------------------------- /public/maps/rialto.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/rialto.webp -------------------------------------------------------------------------------- /public/maps/samoa.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/samoa.webp -------------------------------------------------------------------------------- /public/player_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/player_page.png -------------------------------------------------------------------------------- /public/team_charts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/team_charts.png -------------------------------------------------------------------------------- /public/heroes/baptiste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/baptiste.png -------------------------------------------------------------------------------- /public/heroes/bastion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/bastion.png -------------------------------------------------------------------------------- /public/heroes/brigitte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/brigitte.png -------------------------------------------------------------------------------- /public/heroes/cassidy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/cassidy.png -------------------------------------------------------------------------------- /public/heroes/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/default.png -------------------------------------------------------------------------------- /public/heroes/doomfist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/doomfist.png -------------------------------------------------------------------------------- /public/heroes/hazard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/hazard.png -------------------------------------------------------------------------------- /public/heroes/illari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/illari.png -------------------------------------------------------------------------------- /public/heroes/junkrat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/junkrat.png -------------------------------------------------------------------------------- /public/heroes/kiriko.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/kiriko.png -------------------------------------------------------------------------------- /public/heroes/pharah.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/pharah.png -------------------------------------------------------------------------------- /public/heroes/ramattra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/ramattra.png -------------------------------------------------------------------------------- /public/heroes/reaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/reaper.png -------------------------------------------------------------------------------- /public/heroes/roadhog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/roadhog.png -------------------------------------------------------------------------------- /public/heroes/sojourn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/sojourn.png -------------------------------------------------------------------------------- /public/heroes/sombra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/sombra.png -------------------------------------------------------------------------------- /public/heroes/symmetra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/symmetra.png -------------------------------------------------------------------------------- /public/heroes/torbjorn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/torbjorn.png -------------------------------------------------------------------------------- /public/heroes/tracer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/tracer.png -------------------------------------------------------------------------------- /public/heroes/venture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/venture.png -------------------------------------------------------------------------------- /public/heroes/winston.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/winston.png -------------------------------------------------------------------------------- /public/heroes/wuyang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/wuyang.png -------------------------------------------------------------------------------- /public/heroes/zenyatta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/zenyatta.png -------------------------------------------------------------------------------- /public/maps/colosseo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/colosseo.webp -------------------------------------------------------------------------------- /public/maps/esperanca.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/esperanca.webp -------------------------------------------------------------------------------- /public/maps/hanaoka.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/hanaoka.webp -------------------------------------------------------------------------------- /public/maps/hollywood.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/hollywood.webp -------------------------------------------------------------------------------- /public/maps/kings-row.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/kings-row.webp -------------------------------------------------------------------------------- /public/maps/midtown.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/midtown.webp -------------------------------------------------------------------------------- /public/maps/numbani.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/numbani.webp -------------------------------------------------------------------------------- /public/maps/paraiso.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/paraiso.webp -------------------------------------------------------------------------------- /public/maps/route-66.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/route-66.webp -------------------------------------------------------------------------------- /public/maps/runasapi.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/runasapi.webp -------------------------------------------------------------------------------- /public/maps/suravasa.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/suravasa.webp -------------------------------------------------------------------------------- /public/marketing/coy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/coy.png -------------------------------------------------------------------------------- /public/marketing/diego.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/diego.jpg -------------------------------------------------------------------------------- /public/marketing/kenny.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/kenny.jpg -------------------------------------------------------------------------------- /public/marketing/lucas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/lucas.jpg -------------------------------------------------------------------------------- /public/marketing/robin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/robin.png -------------------------------------------------------------------------------- /public/marketing/yai.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/yai.jpg -------------------------------------------------------------------------------- /public/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/opengraph-image.png -------------------------------------------------------------------------------- /public/heroes/lifeweaver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/lifeweaver.png -------------------------------------------------------------------------------- /public/heroes/reinhardt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/reinhardt.png -------------------------------------------------------------------------------- /public/heroes/soldier76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/soldier76.png -------------------------------------------------------------------------------- /public/heroes/widowmaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/widowmaker.png -------------------------------------------------------------------------------- /public/maps/eichenwalde.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/eichenwalde.webp -------------------------------------------------------------------------------- /public/maps/junkertown.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/junkertown.webp -------------------------------------------------------------------------------- /public/marketing/adrian.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/adrian.jpg -------------------------------------------------------------------------------- /public/marketing/daniel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/daniel.png -------------------------------------------------------------------------------- /public/marketing/xavier.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/marketing/xavier.jpg -------------------------------------------------------------------------------- /public/player_page_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/player_page_light.png -------------------------------------------------------------------------------- /public/team-invite-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/team-invite-arrow.png -------------------------------------------------------------------------------- /public/team_charts_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/team_charts_light.png -------------------------------------------------------------------------------- /src/app/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/src/app/opengraph-image.png -------------------------------------------------------------------------------- /public/heroes/junkerqueen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/junkerqueen.png -------------------------------------------------------------------------------- /public/heroes/wreckingball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/heroes/wreckingball.png -------------------------------------------------------------------------------- /public/maps/blizzard-world.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/blizzard-world.webp -------------------------------------------------------------------------------- /public/maps/circuit-royal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/circuit-royal.webp -------------------------------------------------------------------------------- /public/maps/lijiang-tower.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/lijiang-tower.webp -------------------------------------------------------------------------------- /public/maps/new-junk-city.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/new-junk-city.webp -------------------------------------------------------------------------------- /src/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | // Do not add any other lines of code to this file! 2 | import "@total-typescript/ts-reset"; 3 | -------------------------------------------------------------------------------- /public/maps/kings-row-winter.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/kings-row-winter.webp -------------------------------------------------------------------------------- /public/maps/new-queen-street.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/new-queen-street.webp -------------------------------------------------------------------------------- /public/maps/throne-of-anubis.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/throne-of-anubis.webp -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /public/maps/antarctic-peninsula.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/antarctic-peninsula.webp -------------------------------------------------------------------------------- /public/maps/hollywood-halloween.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/hollywood-halloween.webp -------------------------------------------------------------------------------- /public/maps/shambali-monastery.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/shambali-monastery.webp -------------------------------------------------------------------------------- /src/app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- 1 | import { handlers } from "@/lib/auth"; 2 | export const { GET, POST } = handlers; 3 | -------------------------------------------------------------------------------- /public/maps/blizzard-world-winter.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/blizzard-world-winter.webp -------------------------------------------------------------------------------- /public/maps/eichenwalde-halloween.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/eichenwalde-halloween.webp -------------------------------------------------------------------------------- /public/maps/watchpoint-gibraltar.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/watchpoint-gibraltar.webp -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | **/.next/** 3 | **/_next/** 4 | **/dist/** 5 | **/__tmp__/** 6 | lerna.json 7 | .github 8 | pnpm-lock.yaml -------------------------------------------------------------------------------- /public/maps/lijiang-tower-lunar-new-year.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/public/maps/lijiang-tower-lunar-new-year.webp -------------------------------------------------------------------------------- /test/samples/Log-2023-12-12-22-15-10_parsed.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/test/samples/Log-2023-12-12-22-15-10_parsed.xlsx -------------------------------------------------------------------------------- /test/samples/Log-2024-01-10-20-38-42_parsed.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/test/samples/Log-2024-01-10-20-38-42_parsed.xlsx -------------------------------------------------------------------------------- /test/samples/Log-2024-01-22-20-02-45_parsed.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/test/samples/Log-2024-01-22-20-02-45_parsed.xlsx -------------------------------------------------------------------------------- /test/samples/Log-2024-01-22-20-21-43_parsed.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/test/samples/Log-2024-01-22-20-21-43_parsed.xlsx -------------------------------------------------------------------------------- /test/samples/Log-2024-01-22-21-35-38_parsed.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/test/samples/Log-2024-01-22-21-35-38_parsed.xlsx -------------------------------------------------------------------------------- /test/samples/Log-2024-02-05-20-07-38_parsed.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/test/samples/Log-2024-02-05-20-07-38_parsed.xlsx -------------------------------------------------------------------------------- /test/samples/Log-2024-06-16-22-24-33_parsed.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luxdotdev/parsertime/HEAD/test/samples/Log-2024-06-16-22-24-33_parsed.xlsx -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "postgresql" -------------------------------------------------------------------------------- /src/types/utils.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/no-explicit-any */ 2 | 3 | export type TODO = any; 4 | 5 | export type Prettify = { 6 | [K in keyof T]: T[K]; 7 | } & {}; 8 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 2, 4 | "semi": true, 5 | "singleQuote": false, 6 | "printWidth": 80, 7 | "plugins": ["prettier-plugin-tailwindcss"] 8 | } 9 | -------------------------------------------------------------------------------- /src/components/ui/aspect-ratio.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio"; 4 | 5 | const AspectRatio = AspectRatioPrimitive.Root; 6 | 7 | export { AspectRatio }; 8 | -------------------------------------------------------------------------------- /src/components/scrim/client-date.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { ClientOnly } from "@/lib/client-only"; 4 | 5 | export function ClientDate({ date }: { date: Date }) { 6 | return {date.toDateString()}; 7 | } 8 | -------------------------------------------------------------------------------- /src/app/dashboard/layout.tsx: -------------------------------------------------------------------------------- 1 | import DashboardLayout from "@/components/dashboard-layout"; 2 | 3 | export default function Layout({ children }: { children: React.ReactNode }) { 4 | return {children}; 5 | } 6 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | import { defineConfig } from "vitest/config"; 3 | 4 | export default defineConfig({ 5 | test: { 6 | alias: { 7 | "@": path.resolve(__dirname, "./src"), 8 | }, 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /src/app/team/layout.tsx: -------------------------------------------------------------------------------- 1 | import DashboardLayout from "@/components/dashboard-layout"; 2 | 3 | export default function TeamLayout({ 4 | children, 5 | }: { 6 | children: React.ReactNode; 7 | }) { 8 | return {children}; 9 | } 10 | -------------------------------------------------------------------------------- /src/app/debug/layout.tsx: -------------------------------------------------------------------------------- 1 | import DashboardLayout from "@/components/dashboard-layout"; 2 | 3 | export default function DebugLayout({ 4 | children, 5 | }: { 6 | children: React.ReactNode; 7 | }) { 8 | return {children}; 9 | } 10 | -------------------------------------------------------------------------------- /src/i18n/config.ts: -------------------------------------------------------------------------------- 1 | export type Locale = (typeof locales)[number]["code"]; 2 | 3 | export const locales = [ 4 | { code: "en", name: "English" }, 5 | { code: "zh", name: "中文" }, 6 | { code: "ko", name: "한국어" }, 7 | ] as const; 8 | export const defaultLocale: Locale = "en"; 9 | -------------------------------------------------------------------------------- /src/components/staff-toolbar.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import { VercelToolbar } from "@vercel/toolbar/next"; 4 | 5 | export function StaffToolbar() { 6 | const isDevEnvironment = process.env.NODE_ENV === "development"; 7 | return isDevEnvironment ? : null; 8 | } 9 | -------------------------------------------------------------------------------- /src/types/next-auth.d.ts: -------------------------------------------------------------------------------- 1 | import NextAuth, { DefaultSession } from "next-auth"; 2 | 3 | declare module "next-auth" { 4 | interface Session { 5 | user: { 6 | /** The user's email address. */ 7 | email: string; 8 | } & DefaultSession["user"]; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/types/billing-plans.ts: -------------------------------------------------------------------------------- 1 | import { $Enums } from "@prisma/client"; 2 | 3 | export type BillingPlans = { 4 | id: string; 5 | testId: string; 6 | name: $Enums.BillingPlan; 7 | price: number; 8 | priceId: string; 9 | testPriceId: string; 10 | teamSize: number; 11 | }[]; 12 | -------------------------------------------------------------------------------- /src/app/(auth)/auth-error/layout.tsx: -------------------------------------------------------------------------------- 1 | import Footer from "@/components/footer"; 2 | 3 | export default function AuthErrorLayout({ 4 | children, 5 | }: { 6 | children: React.ReactNode; 7 | }) { 8 | return ( 9 | <> 10 | {children} 11 |