update page titles to granblue.team
This commit is contained in:
parent
d90d4e76bf
commit
54c1bd4e41
7 changed files with 47 additions and 10 deletions
|
|
@ -41,7 +41,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>{data.user.username}'s Favorites | Hensei</title>
|
<title>{data.user.username}'s Favorites / granblue.team</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<section class="profile">
|
<section class="profile">
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>Crew | Hensei</title>
|
<title>Crew / granblue.team</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>Create Crew | Hensei</title>
|
<title>Create Crew / granblue.team</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="create-crew-page">
|
<div class="create-crew-page">
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@
|
||||||
import { crewStore } from '$lib/stores/crew.store.svelte'
|
import { crewStore } from '$lib/stores/crew.store.svelte'
|
||||||
import Button from '$lib/components/ui/Button.svelte'
|
import Button from '$lib/components/ui/Button.svelte'
|
||||||
import Dialog from '$lib/components/ui/Dialog.svelte'
|
import Dialog from '$lib/components/ui/Dialog.svelte'
|
||||||
|
import DropdownMenu from '$lib/components/ui/DropdownMenu.svelte'
|
||||||
|
import { DropdownMenu as DropdownMenuBase } from 'bits-ui'
|
||||||
import ModalHeader from '$lib/components/ui/ModalHeader.svelte'
|
import ModalHeader from '$lib/components/ui/ModalHeader.svelte'
|
||||||
import ModalBody from '$lib/components/ui/ModalBody.svelte'
|
import ModalBody from '$lib/components/ui/ModalBody.svelte'
|
||||||
import ModalFooter from '$lib/components/ui/ModalFooter.svelte'
|
import ModalFooter from '$lib/components/ui/ModalFooter.svelte'
|
||||||
|
|
@ -15,7 +17,8 @@
|
||||||
import Select from '$lib/components/ui/Select.svelte'
|
import Select from '$lib/components/ui/Select.svelte'
|
||||||
import Checkbox from '$lib/components/ui/checkbox/Checkbox.svelte'
|
import Checkbox from '$lib/components/ui/checkbox/Checkbox.svelte'
|
||||||
import CrewHeader from '$lib/components/crew/CrewHeader.svelte'
|
import CrewHeader from '$lib/components/crew/CrewHeader.svelte'
|
||||||
import { GW_ROUND_LABELS, type GwRound } from '$lib/types/api/gw'
|
import EditScoreModal from '$lib/components/crew/EditScoreModal.svelte'
|
||||||
|
import { GW_ROUND_LABELS, type GwRound, type GwIndividualScore } from '$lib/types/api/gw'
|
||||||
import type { PageData } from './$types'
|
import type { PageData } from './$types'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
@ -69,6 +72,7 @@
|
||||||
type: 'member' | 'phantom'
|
type: 'member' | 'phantom'
|
||||||
totalScore: number
|
totalScore: number
|
||||||
isRetired?: boolean
|
isRetired?: boolean
|
||||||
|
scores: GwIndividualScore[] // Individual score records for this player
|
||||||
}
|
}
|
||||||
|
|
||||||
const playerScores = $derived.by(() => {
|
const playerScores = $derived.by(() => {
|
||||||
|
|
@ -82,7 +86,8 @@
|
||||||
name: member.user.username,
|
name: member.user.username,
|
||||||
type: 'member',
|
type: 'member',
|
||||||
totalScore: 0,
|
totalScore: 0,
|
||||||
isRetired: member.retired
|
isRetired: member.retired,
|
||||||
|
scores: []
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -95,6 +100,7 @@
|
||||||
|
|
||||||
if (existing) {
|
if (existing) {
|
||||||
existing.totalScore += score.score
|
existing.totalScore += score.score
|
||||||
|
existing.scores.push(score)
|
||||||
} else {
|
} else {
|
||||||
// Phantom player or member not in membersDuringEvent
|
// Phantom player or member not in membersDuringEvent
|
||||||
scoreMap.set(playerId, {
|
scoreMap.set(playerId, {
|
||||||
|
|
@ -102,7 +108,8 @@
|
||||||
name: score.playerName,
|
name: score.playerName,
|
||||||
type: score.playerType,
|
type: score.playerType,
|
||||||
totalScore: score.score,
|
totalScore: score.score,
|
||||||
isRetired: score.member?.retired
|
isRetired: score.member?.retired,
|
||||||
|
scores: [score]
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -309,10 +316,19 @@
|
||||||
isSubmitting = false
|
isSubmitting = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ==================== Edit Score Modal ====================
|
||||||
|
let showEditScoreModal = $state(false)
|
||||||
|
let editingPlayer = $state<PlayerScore | null>(null)
|
||||||
|
|
||||||
|
function openEditScoreModal(player: PlayerScore) {
|
||||||
|
editingPlayer = player
|
||||||
|
showEditScoreModal = true
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>GW #{eventNumber} | Crew | Hensei</title>
|
<title>GW #{eventNumber} / granblue.team</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
|
@ -391,6 +407,27 @@
|
||||||
<span class="player-type">Phantom</span>
|
<span class="player-type">Phantom</span>
|
||||||
{/if}
|
{/if}
|
||||||
<span class="player-score">{formatScore(player.totalScore)}</span>
|
<span class="player-score">{formatScore(player.totalScore)}</span>
|
||||||
|
{#if crewStore.isOfficer && player.scores.length > 0}
|
||||||
|
<DropdownMenu>
|
||||||
|
{#snippet trigger({ props })}
|
||||||
|
<Button
|
||||||
|
variant="secondary"
|
||||||
|
size="small"
|
||||||
|
iconOnly
|
||||||
|
icon="ellipsis"
|
||||||
|
{...props}
|
||||||
|
/>
|
||||||
|
{/snippet}
|
||||||
|
{#snippet menu()}
|
||||||
|
<DropdownMenuBase.Item
|
||||||
|
class="dropdown-menu-item"
|
||||||
|
onclick={() => openEditScoreModal(player)}
|
||||||
|
>
|
||||||
|
Edit score...
|
||||||
|
</DropdownMenuBase.Item>
|
||||||
|
{/snippet}
|
||||||
|
</DropdownMenu>
|
||||||
|
{/if}
|
||||||
</li>
|
</li>
|
||||||
{/each}
|
{/each}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>Join Crew | Hensei</title>
|
<title>Join Crew / granblue.team</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="join-page">
|
<div class="join-page">
|
||||||
|
|
|
||||||
|
|
@ -314,7 +314,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>Crew Members | Hensei</title>
|
<title>Crew Members / granblue.team</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>Crew Settings | Hensei</title>
|
<title>Crew Settings / granblue.team</title>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<div class="settings-page">
|
<div class="settings-page">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue