upload mission
This commit is contained in:
@@ -4,7 +4,7 @@ import { Input } from "../../../components/input/Input";
|
||||
import { useAppDispatch, useAppSelector } from "../../../redux/hooks";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { loginUser } from "../../../redux/slices/auth";
|
||||
import { cn } from "../../../lib/cn";
|
||||
// import { cn } from "../../../lib/cn";
|
||||
import { setMenuActivePage } from "../../../redux/slices/store";
|
||||
import { Balloon } from "../../../assets/icons/auth";
|
||||
import { SecondaryButton } from "../../../components/button/SecondaryButton";
|
||||
@@ -18,13 +18,14 @@ const Login = () => {
|
||||
const [password, setPassword] = useState<string>("");
|
||||
const [submitClicked, setSubmitClicked] = useState<boolean>(false);
|
||||
|
||||
const { status, error, jwt } = useAppSelector((state) => state.auth);
|
||||
const { status, jwt } = useAppSelector((state) => state.auth);
|
||||
|
||||
|
||||
const [err, setErr] = useState<string>("");
|
||||
// const [err, setErr] = useState<string>("");
|
||||
|
||||
// После успешного логина
|
||||
useEffect(() => {
|
||||
console.log(submitClicked);
|
||||
dispatch(setMenuActivePage("account"))
|
||||
}, []);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Input } from "../../../components/input/Input";
|
||||
import { useAppDispatch, useAppSelector } from "../../../redux/hooks";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { registerUser } from "../../../redux/slices/auth";
|
||||
import { cn } from "../../../lib/cn";
|
||||
// import { cn } from "../../../lib/cn";
|
||||
import { setMenuActivePage } from "../../../redux/slices/store";
|
||||
import { Balloon } from "../../../assets/icons/auth";
|
||||
import { Link } from "react-router-dom";
|
||||
@@ -23,11 +23,12 @@ const Register = () => {
|
||||
const [confirmPassword, setConfirmPassword] = useState<string>("");
|
||||
const [submitClicked, setSubmitClicked] = useState<boolean>(false);
|
||||
|
||||
const { status, error, jwt } = useAppSelector((state) => state.auth);
|
||||
const { status, jwt } = useAppSelector((state) => state.auth);
|
||||
|
||||
// После успешной регистрации — переход в систему
|
||||
|
||||
useEffect(() => {
|
||||
console.log(submitClicked);
|
||||
dispatch(setMenuActivePage("account"))
|
||||
}, []);
|
||||
|
||||
|
||||
@@ -6,11 +6,12 @@ import { useAppSelector } from "../../../redux/hooks";
|
||||
const Menu = () => {
|
||||
const menuItems = [
|
||||
{text: "Главная", href: "/home", icon: Home, page: "home" },
|
||||
{text: "Задачи", href: "/home/problems", icon: Clipboard, page: "problems" },
|
||||
{text: "Задачи", href: "/home/missions", icon: Clipboard, page: "missions" },
|
||||
{text: "Статьи", href: "/home/articles", icon: Openbook, page: "articles" },
|
||||
{text: "Группы", href: "/home/groups", icon: Users, page: "groups" },
|
||||
{text: "Контесты", href: "/home/contests", icon: Cup, page: "contests" },
|
||||
{text: "Аккаунт", href: "/home/account", icon: Account, page: "account" },
|
||||
{text: "Загрузка", href: "/upload", icon: Account, page: "p" },
|
||||
];
|
||||
const activePage = useAppSelector((state) => state.store.menu.activePage);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { cn } from "../../../lib/cn";
|
||||
import { IconError, IconSuccess } from "../../../assets/icons/problems";
|
||||
import { IconError, IconSuccess } from "../../../assets/icons/missions";
|
||||
|
||||
export interface ProblemItemProps {
|
||||
export interface MissionItemProps {
|
||||
id: number;
|
||||
authorId: number;
|
||||
name: string;
|
||||
@@ -26,7 +26,7 @@ export function formatBytesToMB(bytes: number): string {
|
||||
return `${megabytes} МБ`;
|
||||
}
|
||||
|
||||
const ProblemItem: React.FC<ProblemItemProps> = ({
|
||||
const MissionItem: React.FC<MissionItemProps> = ({
|
||||
id, name, difficulty, timeLimit, memoryLimit, type, status
|
||||
}) => {
|
||||
console.log(id);
|
||||
@@ -66,4 +66,4 @@ const ProblemItem: React.FC<ProblemItemProps> = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default ProblemItem;
|
||||
export default MissionItem;
|
||||
@@ -1,11 +1,11 @@
|
||||
import ProblemItem from "./ProblemItem";
|
||||
import MissionItem from "./MissionItem";
|
||||
import { SecondaryButton } from "../../../components/button/SecondaryButton";
|
||||
import { useAppDispatch } from "../../../redux/hooks";
|
||||
import { useEffect } from "react";
|
||||
import { setMenuActivePage } from "../../../redux/slices/store";
|
||||
|
||||
|
||||
export interface Problem {
|
||||
export interface Mission {
|
||||
id: number;
|
||||
authorId: number;
|
||||
name: string;
|
||||
@@ -18,11 +18,11 @@ export interface Problem {
|
||||
}
|
||||
|
||||
|
||||
const Problems = () => {
|
||||
const Missions = () => {
|
||||
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
const problems: Problem[] = [
|
||||
const missions: Mission[] = [
|
||||
{
|
||||
"id": 1,
|
||||
"authorId": 1,
|
||||
@@ -466,7 +466,7 @@ const Problems = () => {
|
||||
];
|
||||
|
||||
useEffect(() => {
|
||||
dispatch(setMenuActivePage("problems"))
|
||||
dispatch(setMenuActivePage("missions"))
|
||||
}, []);
|
||||
|
||||
return (
|
||||
@@ -490,8 +490,8 @@ const Problems = () => {
|
||||
|
||||
<div>
|
||||
|
||||
{problems.map((v, i) => (
|
||||
<ProblemItem key={i} {...v} type={i % 2 == 0 ? "first" : "second"} status={i == 0 || i == 3 || i == 7 ? "success" : (i == 2 || i == 4 || i == 9 ? "error" : "empty")}/>
|
||||
{missions.map((v, i) => (
|
||||
<MissionItem key={i} {...v} type={i % 2 == 0 ? "first" : "second"} status={i == 0 || i == 3 || i == 7 ? "success" : (i == 2 || i == 4 || i == 9 ? "error" : "empty")}/>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -504,4 +504,4 @@ const Problems = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default Problems;
|
||||
export default Missions;
|
||||
Reference in New Issue
Block a user