fixed user sessions panel
This commit is contained in:
parent
c491b0545a
commit
7d45f3b278
@ -19,12 +19,20 @@ const Wrapper = styled.div`
|
||||
`;
|
||||
|
||||
const AllSessionsBlock = (props) => {
|
||||
const { t, allSessions } = props;
|
||||
const { t, allSessions, data } = props;
|
||||
|
||||
const onLogoutClick = () => {
|
||||
console.log("Logout all sessions");
|
||||
};
|
||||
|
||||
const foundSession = allSessions.find(
|
||||
(session) => session?.userId === data?.userId
|
||||
);
|
||||
|
||||
const sessionsData = foundSession
|
||||
? foundSession.sessions.map((data) => data)
|
||||
: [];
|
||||
|
||||
return (
|
||||
<>
|
||||
<Wrapper>
|
||||
@ -39,7 +47,7 @@ const AllSessionsBlock = (props) => {
|
||||
/>
|
||||
</Wrapper>
|
||||
|
||||
<RowWrapper t={t} sessionsData={allSessions} />
|
||||
<RowWrapper t={t} sessionsData={sessionsData} />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
@ -13,7 +13,7 @@ const SessionsRow = (props) => {
|
||||
|
||||
return (
|
||||
<StyledRow
|
||||
key={item.userId}
|
||||
key={item.id}
|
||||
data={item}
|
||||
sectionWidth={sectionWidth}
|
||||
contextButtonSpacerWidth="0"
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { observer, inject } from "mobx-react";
|
||||
import { Text } from "@docspace/shared/components/text";
|
||||
import { Box } from "@docspace/shared/components/box";
|
||||
import { convertTime } from "@docspace/shared/utils/convertTime";
|
||||
@ -73,22 +74,22 @@ const StyledRowContent = styled(RowContent)`
|
||||
const SessionsRowContent = ({
|
||||
item,
|
||||
sectionWidth,
|
||||
setSessionModalData,
|
||||
setPlatformModalData,
|
||||
setLogoutDialogVisible,
|
||||
}) => {
|
||||
const { date, platform, browser, country, city, userId } = item;
|
||||
const { id, platform, browser, country, city, date } = item;
|
||||
|
||||
const onClickDisable = () => {
|
||||
setLogoutDialogVisible(true);
|
||||
setSessionModalData({
|
||||
...item,
|
||||
setPlatformModalData({
|
||||
id: item.id,
|
||||
platform: item.platform,
|
||||
broser: item.browser,
|
||||
browser: item.browser,
|
||||
});
|
||||
};
|
||||
|
||||
const contentData = [
|
||||
<Box key={userId} className="session-info-wrapper">
|
||||
<Box key={id} className="session-info-wrapper">
|
||||
<Box className="session-content-wrapper">
|
||||
<Box className="main-row-content">
|
||||
<Text className="platform">{platform},</Text>
|
||||
@ -115,4 +116,10 @@ const SessionsRowContent = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default SessionsRowContent;
|
||||
export default inject(({ setup }) => {
|
||||
const { setPlatformModalData } = setup;
|
||||
|
||||
return {
|
||||
setPlatformModalData,
|
||||
};
|
||||
})(observer(SessionsRowContent));
|
||||
|
@ -89,6 +89,7 @@ const Sessions = ({
|
||||
setLogoutDialogVisible,
|
||||
setLogoutAllDialogVisible,
|
||||
sessionModalData,
|
||||
platformModalData,
|
||||
}) => {
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
@ -174,7 +175,7 @@ const Sessions = ({
|
||||
<LogoutSessionDialog
|
||||
t={t}
|
||||
visible={logoutDialogVisible}
|
||||
data={sessionModalData}
|
||||
data={platformModalData}
|
||||
isLoading={isLoading}
|
||||
onClose={() => setLogoutDialogVisible(false)}
|
||||
onRemoveSession={onClickRemoveSession}
|
||||
@ -213,6 +214,7 @@ export default inject(({ auth, setup, peopleStore }) => {
|
||||
setLogoutDialogVisible,
|
||||
setLogoutAllDialogVisible,
|
||||
sessionModalData,
|
||||
platformModalData,
|
||||
} = setup;
|
||||
|
||||
return {
|
||||
@ -230,6 +232,7 @@ export default inject(({ auth, setup, peopleStore }) => {
|
||||
setLogoutDialogVisible,
|
||||
setLogoutAllDialogVisible,
|
||||
sessionModalData,
|
||||
platformModalData,
|
||||
};
|
||||
})(
|
||||
withTranslation(["Settings", "Profile", "Common", "ChangeUserStatusDialog"])(
|
||||
|
@ -82,6 +82,7 @@ class SettingsSetupStore {
|
||||
sessions = [];
|
||||
currentSession = [];
|
||||
sessionModalData = {};
|
||||
platformModalData = {};
|
||||
|
||||
constructor() {
|
||||
this.selectionStore = new SelectionStore(this);
|
||||
@ -541,6 +542,14 @@ class SettingsSetupStore {
|
||||
...data,
|
||||
};
|
||||
};
|
||||
|
||||
setPlatformModalData = (data) => {
|
||||
this.platformModalData = {
|
||||
id: data.id,
|
||||
platform: data.platform,
|
||||
browser: data.browser,
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export default SettingsSetupStore;
|
||||
|
Loading…
Reference in New Issue
Block a user