@@ -264,7 +264,21 @@ import MatchOverviewDrawer from "~/components/match/MatchOverviewDrawer.vue";
264264 }"
265265 :title =" match.lineup_1.name"
266266 >
267- {{ match.lineup_1.name }}
267+ <component
268+ :is =" match.lineup_1.team_id ? 'NuxtLink' : 'span'"
269+ :to ="
270+ match.lineup_1.team_id
271+ ? `/teams/${match.lineup_1.team_id}`
272+ : undefined
273+ "
274+ :class ="
275+ match.lineup_1.team_id &&
276+ 'transition-colors hover:text-[hsl(var(--tac-amber))]'
277+ "
278+ @click =" match.lineup_1.team_id && $event.stopPropagation()"
279+ >
280+ {{ match.lineup_1.name }}
281+ </component >
268282 </h3 >
269283 <div class =" flex shrink-0 items-baseline gap-1.5" >
270284 <span
@@ -295,7 +309,21 @@ import MatchOverviewDrawer from "~/components/match/MatchOverviewDrawer.vue";
295309 }"
296310 :title =" match.lineup_2.name"
297311 >
298- {{ match.lineup_2.name }}
312+ <component
313+ :is =" match.lineup_2.team_id ? 'NuxtLink' : 'span'"
314+ :to ="
315+ match.lineup_2.team_id
316+ ? `/teams/${match.lineup_2.team_id}`
317+ : undefined
318+ "
319+ :class ="
320+ match.lineup_2.team_id &&
321+ 'transition-colors hover:text-[hsl(var(--tac-amber))]'
322+ "
323+ @click =" match.lineup_2.team_id && $event.stopPropagation()"
324+ >
325+ {{ match.lineup_2.name }}
326+ </component >
299327 </h3 >
300328 <div class =" flex shrink-0 items-baseline gap-1.5" >
301329 <span
@@ -332,14 +360,25 @@ import MatchOverviewDrawer from "~/components/match/MatchOverviewDrawer.vue";
332360 focusPlayerLineupId === match.lineup_1_id,
333361 }"
334362 >
335- <span
336- :class =" {
337- 'border-b border-primary/40':
338- playerLineup === match.lineup_1_id,
339- }"
363+ <component
364+ :is =" match.lineup_1.team_id ? 'NuxtLink' : 'span'"
365+ :to ="
366+ match.lineup_1.team_id
367+ ? `/teams/${match.lineup_1.team_id}`
368+ : undefined
369+ "
370+ :class =" [
371+ {
372+ 'border-b border-primary/40':
373+ playerLineup === match.lineup_1_id,
374+ },
375+ match.lineup_1.team_id &&
376+ 'transition-colors hover:text-[hsl(var(--tac-amber))]',
377+ ]"
378+ @click =" match.lineup_1.team_id && $event.stopPropagation()"
340379 >
341380 {{ match.lineup_1.name }}
342- </span >
381+ </component >
343382 </h3 >
344383 <div
345384 v-if =" match.status === e_match_status_enum.PickingPlayers"
@@ -357,7 +396,7 @@ import MatchOverviewDrawer from "~/components/match/MatchOverviewDrawer.vue";
357396 </div >
358397
359398 <div
360- class =" flex items-center justify-center order-first lg:order-none py-2 lg:py-0"
399+ class =" flex flex-col items-center justify-center order-first lg:order-none py-2 lg:py-0"
361400 >
362401 <div class =" text-2xl md:text-3xl font-bold" >
363402 <span :class =" getScoreColorClasses(match.lineup_1.id)" >{{
@@ -368,6 +407,12 @@ import MatchOverviewDrawer from "~/components/match/MatchOverviewDrawer.vue";
368407 getTeamScore(match, match.lineup_2.id)
369408 }}</span >
370409 </div >
410+ <span
411+ v-if =" isTie"
412+ class =" mt-0.5 font-mono text-[0.6rem] font-bold uppercase tracking-[0.18em] text-muted-foreground"
413+ >
414+ {{ $t("match.status.tied") }}
415+ </span >
371416 </div >
372417
373418 <div class =" flex items-center space-x-3 justify-end" >
@@ -379,14 +424,25 @@ import MatchOverviewDrawer from "~/components/match/MatchOverviewDrawer.vue";
379424 focusPlayerLineupId === match.lineup_2_id,
380425 }"
381426 >
382- <span
383- :class =" {
384- 'border-b border-primary/40':
385- playerLineup === match.lineup_2_id,
386- }"
427+ <component
428+ :is =" match.lineup_2.team_id ? 'NuxtLink' : 'span'"
429+ :to ="
430+ match.lineup_2.team_id
431+ ? `/teams/${match.lineup_2.team_id}`
432+ : undefined
433+ "
434+ :class =" [
435+ {
436+ 'border-b border-primary/40':
437+ playerLineup === match.lineup_2_id,
438+ },
439+ match.lineup_2.team_id &&
440+ 'transition-colors hover:text-[hsl(var(--tac-amber))]',
441+ ]"
442+ @click =" match.lineup_2.team_id && $event.stopPropagation()"
387443 >
388444 {{ match.lineup_2.name }}
389- </span >
445+ </component >
390446 </h3 >
391447 <div
392448 v-if =" match.status === e_match_status_enum.PickingPlayers"
@@ -1410,6 +1466,10 @@ export default {
14101466 return " text-foreground" ;
14111467 }
14121468
1469+ if (this .isTie ) {
1470+ return " text-muted-foreground" ;
1471+ }
1472+
14131473 if (this .match .status === e_match_status_enum .Finished ) {
14141474 if (this .playerLineup ) {
14151475 if (this .playerLineup === lineupId ) {
@@ -1450,6 +1510,13 @@ export default {
14501510 },
14511511 },
14521512 computed: {
1513+ isTie(): boolean {
1514+ const status = this .match ?.status ;
1515+ const finishedLike =
1516+ status === e_match_status_enum .Finished ||
1517+ status === e_match_status_enum .Tie ;
1518+ return finishedLike && ! this .match ?.winning_lineup_id ;
1519+ },
14531520 isTournamentMatch(): boolean {
14541521 return Boolean (
14551522 this .match ?.is_tournament_match ||
0 commit comments