animations is the most important part of this project
This commit is contained in:
@ -14,11 +14,14 @@ import {
|
|||||||
import { MessageContext } from "../App";
|
import { MessageContext } from "../App";
|
||||||
import { store, updateToken, updateUser } from "../config/store";
|
import { store, updateToken, updateUser } from "../config/store";
|
||||||
import tr from "../config/translation";
|
import tr from "../config/translation";
|
||||||
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
const AuthModal = (props: {
|
const AuthModal = (props: {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
setOpen: (arg0: boolean) => void;
|
setOpen: (arg0: boolean) => void;
|
||||||
}) => {
|
}) => {
|
||||||
|
const navigate = useNavigate();
|
||||||
|
|
||||||
const [loginForm] = Form.useForm();
|
const [loginForm] = Form.useForm();
|
||||||
const [registerForm] = Form.useForm();
|
const [registerForm] = Form.useForm();
|
||||||
|
|
||||||
@ -47,6 +50,7 @@ const AuthModal = (props: {
|
|||||||
})
|
})
|
||||||
.then(() => refetch())
|
.then(() => refetch())
|
||||||
.then(() => props.setOpen(false))
|
.then(() => props.setOpen(false))
|
||||||
|
.then(() => navigate("/dashboard"))
|
||||||
.catch(() => messageApi.error(tr("Login failed!")));
|
.catch(() => messageApi.error(tr("Login failed!")));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import "./styles.css";
|
|||||||
import { StorePrototype, logOut, store } from "../config/store";
|
import { StorePrototype, logOut, store } from "../config/store";
|
||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import tr from "../config/translation";
|
import tr from "../config/translation";
|
||||||
import { Link, useLocation, useNavigate } from "react-router-dom";
|
import { Link, useNavigate } from "react-router-dom";
|
||||||
import logo from "../../static/android-chrome-192x192.png";
|
import logo from "../../static/android-chrome-192x192.png";
|
||||||
|
|
||||||
const { Header } = Layout;
|
const { Header } = Layout;
|
||||||
@ -39,7 +39,7 @@ const HeaderComponent = () => {
|
|||||||
key: "logout",
|
key: "logout",
|
||||||
icon: <LogoutOutlined />,
|
icon: <LogoutOutlined />,
|
||||||
danger: true,
|
danger: true,
|
||||||
onClick: () => store.dispatch(logOut()),
|
onClick: () => store.dispatch(logOut()) && navigate("/"),
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,23 @@
|
|||||||
background-color: #001529;
|
background-color: #001529;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes cardPopup {
|
||||||
|
0% {
|
||||||
|
transform: translateY(20%);
|
||||||
|
opacity: 0%;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 20%;
|
||||||
|
transform: translateY(3%);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translateY(0);
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
|
animation: 0.5s ease-out 0s 1 cardPopup;
|
||||||
background: #001529;
|
background: #001529;
|
||||||
margin-top: 0.5rem;
|
margin-top: 0.5rem;
|
||||||
margin-right: 1rem;
|
margin-right: 1rem;
|
||||||
|
|||||||
@ -1,4 +1,21 @@
|
|||||||
|
|
||||||
|
@keyframes cardPopup {
|
||||||
|
0% {
|
||||||
|
transform: translateY(20%);
|
||||||
|
opacity: 0%;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 20%;
|
||||||
|
transform: translateY(3%);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translateY(0);
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
|
animation: 0.5s ease-out 0s 1 cardPopup;
|
||||||
background: #001529;
|
background: #001529;
|
||||||
margin-top: 0.5rem;
|
margin-top: 0.5rem;
|
||||||
margin-right: 1rem;
|
margin-right: 1rem;
|
||||||
|
|||||||
Reference in New Issue
Block a user