mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-10 21:00:37 -05:00
* Read in x rank placements script
* Xsearch initial
* XSearch initial
* XSearch with select
* Add badges
* XSearch player page initial
* Consider only one build by user for popular builds Closes #1312
* Revert "Side nav labels on hover (#1290)"
This reverts commit 6e839c6c2d.
* Added and fixed DAnish translations (#1315)
* Added Danish translations
Added Danish translations for the builds.json file.
Translations for the following variables have been added
stats.count.title # used the Danish word for "average" instead of "stats", as it makes more sense in Danish.
stats.ap.title
stats.percentage.title
stats.all
linkButton.abilityStats
linkButton.popularBuilds
noPopularBuilds
* Added Danish translations
Added Danish translations in the calander.json file
tag.desc.SZ
tag.desc.TW
tag.desc.S1
tag.desc.S2
tag.desc.SR
tag.desc.CARDS
* Added Danish translations
Added Danish translations in the common.json file
The following translations have been added
pages.vods
tag.name.SZ
tag.name.TW
tag.name.S1
tag.name.S2
tag.name.SR
tag.name.CARDS
* Added Danish translations in the faq.json file
Added the following Danish translations in the faq.json file
q7
a7
* Updated the DA/game-misc.json file
Added the names for the 3.0 maps.
* Added Danish translation for team.json
Added the following Danish translations for team.json file
- roles.MIDLINE
Fixed the following translation for the team.json file
- "roles.FRONTLINE": # fixed a typo
* Created a vods.json file for the Danish trans
* Fixed typo
Fixed the following translation in the Da\contributions.json file
"yaga" # fixed a Typo of "våben"
* Add Chinese Translation (#1314)
* Update contributions.json
* Update contributions.json
* Update faq.json
* Update user.json
* Create team.json
* Update common.json
* Update analyzer.json
* Prettier
* Prettier
* Prettier
* Update builds.json
* Update calendar.json
* Update common.json
* Update faq.json
* Update team.json
* Create vods.json
* Admin link player action
* Make PlacementTable rounded if only child
* Fix arrow disappeared
* Placements on user page initial
* Remove S2 site link
* Add badge
* Add feature to README
* Fix type error
* Different badge text if XP badge
* Add badge winners script
* Better user avatar + name wrapping for mobile
* Allow script to skip users
* Fix bad align when no weapons in weapon pool
* Add aliases to player name
* Add division icon to placements table
* Link to user page
* Link to xsearch on player details page
* Top 500 icons to user build page
* Working query but slow for weapons page
* Fix lint complaints
* Add cache to builds
* Remove useless SWR value
* Group months in xsearch
* Add xsearch to nav
* Add meta
* Remove TW for now
* Add splatoon3.ink as contributor
* Remove unneeded TODO
* Fix TODOs related to fetching monthYears
* Add FAQ question
* Leaderboards to nav
* Fix sploosh build stat pages returning 404
* Add badge
* Add article
* Patch 3.1
* Fix Prettier issue
* Add badge
* Add April SR gear
* Add badges
* Rename badge
* Add badge
* Add zh badge translation (#1322)
* Splatoon Competitive Guide article (#1316)
* Create splatoon-competitive-guide.md
* Update splatoon-competitive-guide.md
* Fix ToC Issues
* Update splatoon-competitive-guide.md
* Update splatoon-competitive-guide.md
* Update splatoon-competitive-guide.md
* Corrections
* Formatting
---------
Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
* Fix typos
* Rename table and adjust columns
* Make cache ttl 0 in dev
* Make placements container a bit nicer for mobile
* Rename leftover xxx
* Placements script allow passing number as arg
* Skip leaderboards for now
* Add translations
* Rename placements folder to top-search
* Add placements to seed
* Add E2E tests
* Read in x rank placements script
* Xsearch initial
* XSearch initial
* XSearch with select
* XSearch player page initial
* Admin link player action
* Make PlacementTable rounded if only child
* Fix arrow disappeared
* Placements on user page initial
* Fix bad align when no weapons in weapon pool
* Add aliases to player name
* Add division icon to placements table
* Link to user page
* Link to xsearch on player details page
* Top 500 icons to user build page
* Working query but slow for weapons page
* Fix lint complaints
* Add cache to builds
* Remove useless SWR value
* Group months in xsearch
* Add xsearch to nav
* Add meta
* Remove TW for now
* Add splatoon3.ink as contributor
* Remove unneeded TODO
* Fix TODOs related to fetching monthYears
* Add FAQ question
* Leaderboards to nav
* Fix sploosh build stat pages returning 404
* Rename table and adjust columns
* Make cache ttl 0 in dev
* Make placements container a bit nicer for mobile
* Rename leftover xxx
* Placements script allow passing number as arg
* Skip leaderboards for now
* Add translations
* Rename placements folder to top-search
* Add placements to seed
* Add E2E tests
* Rename url variable and unify
* Tweaks
---------
Co-authored-by: Frederik <112972665+FrederikFraJylland@users.noreply.github.com>
Co-authored-by: Gell <61431488+gellneko@users.noreply.github.com>
Co-authored-by: Zen <99558412+zenpk@users.noreply.github.com>
Co-authored-by: Teddi <83455454+teddinotteddy@users.noreply.github.com>
79 lines
1.9 KiB
TypeScript
79 lines
1.9 KiB
TypeScript
import { sql } from "~/db/sql";
|
|
import type { XRankPlacement, User } from "~/db/types";
|
|
|
|
const query = (byPlayer?: boolean) => /* sql */ `
|
|
select
|
|
"XRankPlacement"."id",
|
|
"XRankPlacement"."weaponSplId",
|
|
"XRankPlacement"."name",
|
|
"XRankPlacement"."power",
|
|
"XRankPlacement"."rank",
|
|
"XRankPlacement"."month",
|
|
"XRankPlacement"."year",
|
|
"XRankPlacement"."region",
|
|
"XRankPlacement"."playerId",
|
|
"XRankPlacement"."month",
|
|
"XRankPlacement"."year",
|
|
"XRankPlacement"."mode",
|
|
"User"."discordId",
|
|
"User"."customUrl"
|
|
from
|
|
"XRankPlacement"
|
|
left join "SplatoonPlayer" on
|
|
"SplatoonPlayer"."id" = "XRankPlacement"."playerId"
|
|
left join "User" on
|
|
"User"."id" = "SplatoonPlayer"."userId"
|
|
${
|
|
byPlayer
|
|
? /* sql */ `
|
|
where
|
|
"XRankPlacement"."playerId" = @playerId
|
|
order by
|
|
"XRankPlacement"."year" desc,
|
|
"XRankPlacement"."month" desc,
|
|
"XRankPlacement"."rank" asc
|
|
`
|
|
: /* sql */ `
|
|
where
|
|
"XRankPlacement"."mode" = @mode and
|
|
"XRankPlacement"."region" = @region and
|
|
"XRankPlacement"."month" = @month and
|
|
"XRankPlacement"."year" = @year
|
|
order by
|
|
"XRankPlacement"."rank" asc`
|
|
}
|
|
`;
|
|
|
|
const ofMonthStm = sql.prepare(query());
|
|
const byPlayerStm = sql.prepare(query(true));
|
|
|
|
export type FindPlacement = Pick<
|
|
XRankPlacement,
|
|
| "id"
|
|
| "weaponSplId"
|
|
| "name"
|
|
| "power"
|
|
| "rank"
|
|
| "month"
|
|
| "year"
|
|
| "region"
|
|
| "playerId"
|
|
| "month"
|
|
| "year"
|
|
| "mode"
|
|
> &
|
|
Pick<User, "customUrl" | "discordId">;
|
|
|
|
export function findPlacementsOfMonth(
|
|
args: Pick<XRankPlacement, "mode" | "region" | "month" | "year">
|
|
) {
|
|
return ofMonthStm.all(args) as Array<FindPlacement>;
|
|
}
|
|
|
|
export function findPlacementsByPlayerId(playerId: XRankPlacement["playerId"]) {
|
|
const results = byPlayerStm.all({ playerId }) as Array<FindPlacement>;
|
|
if (!results) return null;
|
|
|
|
return results;
|
|
}
|