Account logout method and the latest changes published by Tuitio were implemented

master
Tudor Stanciu 2023-03-18 17:47:59 +02:00
parent d07e0742f7
commit 7cd40357ab
5 changed files with 1733 additions and 2264 deletions

3971
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@
"private": true, "private": true,
"dependencies": { "dependencies": {
"@flare/js-utils": "^1.0.3", "@flare/js-utils": "^1.0.3",
"@flare/tuitio-client-react": "^1.0.1", "@flare/tuitio-client-react": "^1.1.1",
"@material-ui/core": "^4.11.2", "@material-ui/core": "^4.11.2",
"@material-ui/icons": "^4.11.2", "@material-ui/icons": "^4.11.2",
"axios": "^1.3.4", "axios": "^1.3.4",

View File

@ -3,10 +3,16 @@ import { IconButton, Menu, MenuItem } from "@material-ui/core";
import AccountCircle from "@material-ui/icons/AccountCircle"; import AccountCircle from "@material-ui/icons/AccountCircle";
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
import { useTuitioClient } from "@flare/tuitio-client-react"; import { useTuitioClient } from "@flare/tuitio-client-react";
import { useToast } from "../../hooks";
const ProfileButton = () => { const ProfileButton = () => {
const history = useHistory(); const history = useHistory();
const { logout } = useTuitioClient(); const { error } = useToast();
const { logout } = useTuitioClient({
onLogoutFailed: errorMessage => error(errorMessage),
onLogoutError: err => error(err.message)
});
const [anchorEl, setAnchorEl] = useState(null); const [anchorEl, setAnchorEl] = useState(null);
const openUserMenu = Boolean(anchorEl); const openUserMenu = Boolean(anchorEl);
@ -53,7 +59,7 @@ const ProfileButton = () => {
> >
Profile Profile
</MenuItem> </MenuItem>
<MenuItem onClick={() => logout()}>Logout</MenuItem> <MenuItem onClick={logout}>Logout</MenuItem>
</Menu> </Menu>
</div> </div>
); );

View File

@ -27,20 +27,16 @@ const LoggedInComponent = ({ credentials, onChange, onLogin, onLogout }) => {
const { t } = useTranslation(); const { t } = useTranslation();
const [expanded, setExpanded] = useState(false); const [expanded, setExpanded] = useState(false);
const { info } = useToast(); const { info } = useToast();
const { lastLoginDate, userName } = useTuitioUser(); const { userName } = useTuitioUser();
const handleExpandLogin = () => { const handleExpandLogin = () => {
setExpanded(!expanded); setExpanded(!expanded);
}; };
const loginDate = useMemo(() => { const loginDate = useMemo(() => {
if (lastLoginDate) { const valueForDisplay = t("LONG_DATE", { date: new Date() });
const valueForDisplay = t("LONG_DATE", { date: lastLoginDate }); return valueForDisplay;
return valueForDisplay; }, [t]);
}
return "N/A";
}, [lastLoginDate, t]);
const handleLogin = async () => { const handleLogin = async () => {
const result = await onLogin(); const result = await onLogin();

View File

@ -8,7 +8,7 @@ function getHeaders() {
return { return {
"Content-Type": "application/json", "Content-Type": "application/json",
Authorization: `Basic ${token.raw}`, Authorization: `Tuitio ${token}`,
"Accept-Language": `${language}` "Accept-Language": `${language}`
}; };
} }