ai generated solutions to our ai generated problems
This commit is contained in:
+8
-8
@@ -845,8 +845,8 @@ fn team_summary_for(conn: &Connection, team_name: &str) -> Result<TeamSummary, A
|
||||
conn.query_row(
|
||||
"SELECT
|
||||
COUNT(DISTINCT session_id),
|
||||
SUM(CASE WHEN victor_bool = 'Win' THEN 1 ELSE 0 END),
|
||||
SUM(CASE WHEN victor_bool != 'Win' THEN 1 ELSE 0 END),
|
||||
COUNT(DISTINCT CASE WHEN victor_bool = 'Win' THEN session_id END),
|
||||
COUNT(DISTINCT CASE WHEN victor_bool != 'Win' THEN session_id END),
|
||||
COALESCE(SUM(ground_kills), 0),
|
||||
COALESCE(SUM(air_kills), 0),
|
||||
COALESCE(SUM(assists), 0),
|
||||
@@ -898,8 +898,8 @@ fn team_summaries_for(
|
||||
"SELECT
|
||||
team_name,
|
||||
COUNT(DISTINCT session_id),
|
||||
SUM(CASE WHEN victor_bool = 'Win' THEN 1 ELSE 0 END),
|
||||
SUM(CASE WHEN victor_bool != 'Win' THEN 1 ELSE 0 END),
|
||||
COUNT(DISTINCT CASE WHEN victor_bool = 'Win' THEN session_id END),
|
||||
COUNT(DISTINCT CASE WHEN victor_bool != 'Win' THEN session_id END),
|
||||
COALESCE(SUM(ground_kills), 0),
|
||||
COALESCE(SUM(air_kills), 0),
|
||||
COALESCE(SUM(assists), 0),
|
||||
@@ -999,8 +999,8 @@ fn player_summaries_for(
|
||||
"SELECT
|
||||
UID,
|
||||
COUNT(DISTINCT session_id),
|
||||
SUM(CASE WHEN victor_bool = 'Win' THEN 1 ELSE 0 END),
|
||||
SUM(CASE WHEN victor_bool != 'Win' THEN 1 ELSE 0 END),
|
||||
COUNT(DISTINCT CASE WHEN victor_bool = 'Win' THEN session_id END),
|
||||
COUNT(DISTINCT CASE WHEN victor_bool != 'Win' THEN session_id END),
|
||||
COALESCE(SUM(ground_kills), 0),
|
||||
COALESCE(SUM(air_kills), 0),
|
||||
COALESCE(SUM(assists), 0),
|
||||
@@ -1336,8 +1336,8 @@ fn period_history_for(conn: &Connection, team_name: &str) -> Result<Vec<PeriodHi
|
||||
"SELECT
|
||||
strftime('%Y-%m', endtime_unix, 'unixepoch') AS period,
|
||||
COUNT(DISTINCT session_id),
|
||||
SUM(CASE WHEN victor_bool = 'Win' THEN 1 ELSE 0 END),
|
||||
SUM(CASE WHEN victor_bool != 'Win' THEN 1 ELSE 0 END)
|
||||
COUNT(DISTINCT CASE WHEN victor_bool = 'Win' THEN session_id END),
|
||||
COUNT(DISTINCT CASE WHEN victor_bool != 'Win' THEN session_id END)
|
||||
FROM player_games_hist
|
||||
WHERE team_name = ?1 COLLATE NOCASE AND endtime_unix > 0
|
||||
GROUP BY period
|
||||
|
||||
+41
-22
@@ -54,25 +54,43 @@ const siteGateEnabled = String(import.meta.env.VITE_SITE_GATE || 'false').toLowe
|
||||
const staticDataBase = (import.meta.env.VITE_STATIC_DATA_BASE || '/data').replace(/\/+$/, '')
|
||||
const staticDataEnabled = String(import.meta.env.VITE_STATIC_DATA || 'false').toLowerCase() === 'true'
|
||||
const missingStaticDataPaths = new Set()
|
||||
const pixelSunSvg = `data:image/svg+xml,${encodeURIComponent(`
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" shape-rendering="crispEdges">
|
||||
<rect width="16" height="16" fill="none"/>
|
||||
<path fill="currentColor" d="M5 1h6v1h2v2h1v2h1v4h-1v2h-1v2h-2v1H5v-1H3v-2H2v-2H1V6h1V4h1V2h2z"/>
|
||||
<path fill="var(--sprite-light)" d="M5 3h5v1h2v2h1v3h-1v2h-2v1H5v-1H4V9H3V6h1V4h1z"/>
|
||||
<path fill="var(--sprite-shine)" d="M5 3h3v1h2v2H8v1H5z"/>
|
||||
<path fill="var(--sprite-shadow)" d="M11 9h2v2h-2v1H6v-1h3v-1h2z"/>
|
||||
</svg>
|
||||
`)}`
|
||||
const pixelMoonSvg = `data:image/svg+xml,${encodeURIComponent(`
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" shape-rendering="crispEdges">
|
||||
<rect width="16" height="16" fill="none"/>
|
||||
<path fill="var(--sprite-light)" d="M7 1h5v1h2v2h1v7h-1v2h-2v1H6v-1H4v-2H3V5h1V3h3z"/>
|
||||
<path fill="var(--sprite-mid)" d="M5 4h2v2H5zm5-1h2v1h1v2h-2V5h-1zm-4 6h2v2H6zm4 2h3v1h-1v1h-2zM4 7h1v3H4z"/>
|
||||
<path fill="var(--sprite-shadow)" d="M5 10h1v2h2v1H6v-1H5zm7-5h1v2h-2V6h1zM8 3h1v2H7V4h1z"/>
|
||||
<path fill="currentColor" d="M7 0h5v1h2v1h1v2h1v7h-1v2h-1v1h-2v1H6v-1H4v-1H3v-2H2V5h1V3h1V2h3zm0 1v1H5v1H4v2H3v6h1v2h2v1h6v-1h2v-2h1V4h-1V2h-2V1z"/>
|
||||
<path fill="var(--sprite-shine)" d="M6 3h2v1H7v2H5V5h1zm4 4h2v1h1v1h-3zM8 11h1v1H7v-1z"/>
|
||||
</svg>
|
||||
`)}`
|
||||
// Rendered inline (not via <img src="data:...">) so the SVGs live in the page's
|
||||
// CSS scope and can resolve currentColor and the --sprite-* / --color-* theme
|
||||
// variables. An external SVG image renders in an isolated document and would
|
||||
// fall back to black for every themed fill.
|
||||
function PixelSun(props) {
|
||||
return (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
shapeRendering="crispEdges"
|
||||
{...props}
|
||||
>
|
||||
<rect width="16" height="16" fill="none" />
|
||||
<path fill="currentColor" d="M5 1h6v1h2v2h1v2h1v4h-1v2h-1v2h-2v1H5v-1H3v-2H2v-2H1V6h1V4h1V2h2z" />
|
||||
<path fill="var(--sprite-light)" d="M5 3h5v1h2v2h1v3h-1v2h-2v1H5v-1H4V9H3V6h1V4h1z" />
|
||||
<path fill="var(--sprite-shine)" d="M5 3h3v1h2v2H8v1H5z" />
|
||||
<path fill="var(--sprite-shadow)" d="M11 9h2v2h-2v1H6v-1h3v-1h2z" />
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
function PixelMoon(props) {
|
||||
return (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
shapeRendering="crispEdges"
|
||||
{...props}
|
||||
>
|
||||
<rect width="16" height="16" fill="none" />
|
||||
<path fill="var(--sprite-light)" d="M7 1h5v1h2v2h1v7h-1v2h-2v1H6v-1H4v-2H3V5h1V3h3z" />
|
||||
<path fill="var(--sprite-mid)" d="M5 4h2v2H5zm5-1h2v1h1v2h-2V5h-1zm-4 6h2v2H6zm4 2h3v1h-1v1h-2zM4 7h1v3H4z" />
|
||||
<path fill="var(--sprite-shadow)" d="M5 10h1v2h2v1H6v-1H5zm7-5h1v2h-2V6h1zM8 3h1v2H7V4h1z" />
|
||||
<path fill="currentColor" d="M7 0h5v1h2v1h1v2h1v7h-1v2h-1v1h-2v1H6v-1H4v-1H3v-2H2V5h1V3h1V2h3zm0 1v1H5v1H4v2H3v6h1v2h2v1h6v-1h2v-2h1V4h-1V2h-2V1z" />
|
||||
<path fill="var(--sprite-shine)" d="M6 3h2v1H7v2H5V5h1zm4 4h2v1h1v1h-3zM8 11h1v1H7v-1z" />
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
const defaultAnalyticsPreferences = {
|
||||
chosen: false,
|
||||
@@ -2900,9 +2918,9 @@ function PixelMountains() {
|
||||
ref={skyRef}
|
||||
style={skyPaths}
|
||||
>
|
||||
<img alt="" className="pixel-sun" src={pixelSunSvg} />
|
||||
<PixelSun className="pixel-sun" aria-hidden="true" />
|
||||
<span className="pixel-moon-group">
|
||||
<img alt="" className="pixel-moon" src={pixelMoonSvg} />
|
||||
<PixelMoon className="pixel-moon" aria-hidden="true" />
|
||||
<span className="pixel-star pixel-star-a" />
|
||||
<span className="pixel-star pixel-star-b" />
|
||||
<span className="pixel-star pixel-star-c" />
|
||||
@@ -3063,10 +3081,11 @@ function TeamProfilePage({ navigate, profile, requestedTeam, teams }) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mt-6 grid gap-5 sm:grid-cols-2 xl:grid-cols-4">
|
||||
<div className="mt-6 grid gap-5 sm:grid-cols-2 xl:grid-cols-5">
|
||||
<Stat label="Roster" value={formatNumber(summary?.player_count)} />
|
||||
<Stat label="Battles" value={formatNumber(summary?.total_battles)} />
|
||||
<Stat label="Wins" value={formatNumber(summary?.wins)} />
|
||||
<Stat label="Win rate" value={`${Number(summary?.win_rate || 0).toFixed(1)}%`} />
|
||||
<Stat label="KDR" value={Number(summary?.kdr || 0).toFixed(1)} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user