fix: training runner

This commit is contained in:
rngsurrounded
2025-03-01 19:50:13 +09:00
parent c9ec020756
commit ab002f42f8
3 changed files with 15 additions and 66 deletions
@@ -41,17 +41,16 @@ const CompetitionRunnerPage = () => {
};
return (
<>
<div className="sticky top-16 z-10 bg-white border-b border-gray-200 shadow-sm">
<div className="container mx-auto px-4">
<div className="py-4">
<h1 className="text-xl font-semibold font-hse-sans">{competitionTitle}</h1>
<>
<div className="sticky top-0 z-10 bg-white">
<div className="max-w-6xl mx-auto px-4">
<div className="py-3 text-center">
<h1 className="text-lg font-semibold font-hse-sans">{competitionTitle}</h1>
</div>
<div className="flex items-center justify-center gap-2 pb-3 overflow-x-auto no-scrollbar">
{tasks.map((task) => (
<div
<div
key={task.id}
className={`${getTaskBgColor(task.status)} ${getTaskTextColor(task.status)}
rounded-lg px-3 py-1.5 font-medium text-sm font-hse-sans cursor-pointer
@@ -1,6 +1,7 @@
import { Competition, CompetitionStatus } from "@/shared/types";
import { cn } from "@/shared/lib/utils";
import { Card, CardContent } from "@/components/ui/card";
import { useNavigate } from "react-router";
interface CompetitionCardProps {
competition: Competition;
@@ -11,12 +12,19 @@ export function CompetitionCard({
competition,
className,
}: CompetitionCardProps) {
const navigate = useNavigate();
const handleClick = () => {
navigate(`/competition/${competition.id}`);
};
return (
<Card
className={cn(
"aspect-square h-full max-h-80 w-auto overflow-hidden",
className,
)}
onClick={handleClick}
>
<div className="relative h-full overflow-hidden">
<img
@@ -2,65 +2,7 @@ import { useState, useEffect } from "react";
import { Competition, CompetitionStatus } from "@/shared/types";
import { CompetitionGrid } from "./modules/CompetitionGrid";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
const mockCompetitions: Competition[] = [
{
id: "1",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: true,
status: CompetitionStatus.InProgress,
},
{
id: "2",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: false,
status: CompetitionStatus.NotParticipating,
},
{
id: "3",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: false,
status: CompetitionStatus.InProgress,
},
{
id: "4",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: true,
status: CompetitionStatus.Completed,
},
{
id: "5",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: false,
status: CompetitionStatus.Completed,
},
{
id: "6",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: true,
status: CompetitionStatus.NotParticipating,
},
{
id: "6",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: true,
status: CompetitionStatus.NotParticipating,
},
{
id: "6",
name: "Олимпиада DANO 2025. Индивидуальный этап",
imageUrl: "/DANO.png",
isOlympics: true,
status: CompetitionStatus.NotParticipating,
},
];
import { mockCompetitions } from "@/shared/mocks/mocks";
const CompetitionsPage = () => {
const [competitions] = useState<Competition[]>(mockCompetitions);