import React from "react" import * as antd from "antd" import SessionModel from "models/session" import classnames from "classnames" import moment from "moment" import UAParser from "ua-parser-js" import { Icons } from "components/Icons" import ChromeIcon from "./icons/chrome" import MobileIcon from "./icons/mobile" import FirefoxIcon from "./icons/firefox" import "./index.less" const DeviceIcon = (props) => { if (!props.ua) { return null } if (props.ua.ua === "capacitor") { return } switch (props.ua.browser.name) { case "Chrome": { return } case "Firefox": { return } default: { return } } } const SessionItem = (props) => { const { session } = props const [collapsed, setCollapsed] = React.useState(true) const onClickCollapse = () => { setCollapsed((prev) => { return !prev }) } const onClickRevoke = () => { // if (typeof props.onClickRevoke === "function") { // props.onClickRevoke(session) // } } const isCurrentSession = React.useMemo(() => { const currentUUID = SessionModel.session_uuid return session.session_uuid === currentUUID }) const ua = React.useMemo(() => { return UAParser(session.client) }) return

{session.session_uuid}

{moment(session.date).format("DD/MM/YYYY HH:mm")}
{session.ip_address}
Revoke
{session.location}
{ ua.device.vendor &&
{ua.device.vendor} | {ua.device.model}
}
} export default SessionItem