%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/emergentqj/actioncivile/pre-auth/def/static/js/components/
Upload File :
Create Path :
Current File : /home/emergentqj/actioncivile/pre-auth/def/static/js/components/alreadyLoggedIn.js

import React from "react";
import { useDispatch, useSelector } from "react-redux";
import { useTranslation } from "react-i18next";
import { object } from "prop-types";
import Grid from "@material-ui/core/Grid";
import { withStyles } from "@material-ui/core/styles";

import getConfig from "config/config";
import { Box, Button, styles } from "common/components";
import { logout } from "actions/api_actions";

import HelpText from "../common/components/HelpText";

const isBusinessAccount = (accesses) => accesses?.customerType === "CORPORATE";

function AlreadyLoggedIn({ classes }) {
  const dispatch = useDispatch();
  const config = getConfig();
  const username = useSelector((state) => state.user.getIn(["current", "login", "username"]));
  const isCorporate = useSelector((state) => isBusinessAccount(state.user.getIn(["current", "accesses"])));
  const [t] = useTranslation();
  const adminUrl = isCorporate ? config.businessUrl : `${config.desktopShort}/profile`;

  const isLoading = username === undefined;

  return !isLoading ? (
    <Grid item className={classes.narrowedForm}>
      <Box>
        <HelpText>{t("auth.logout.you-are-logged-in").replace("$userName", username)}</HelpText>
      </Box>

      <Box>
        <Button
          primary
          onClick={() => dispatch(logout())}
          type="button"
          fullWidth
        >
          {t("auth.logout.logout-button")}
        </Button>
      </Box>

      <Box extraSpaceBefore>
        <a
          className={classes.link}
          href={adminUrl}
        >
          {t("general-continue")}
        </a>
      </Box>
    </Grid>
  ) : null;
}

AlreadyLoggedIn.propTypes = {
  classes: object.isRequired,
};

export default withStyles(styles)(AlreadyLoggedIn);

Zerion Mini Shell 1.0