fixed user sessions panel

This commit is contained in:
Elyor Djalilov 2024-02-01 18:22:12 +05:00
parent c491b0545a
commit 7d45f3b278
5 changed files with 38 additions and 11 deletions

View File

@ -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} />
</>
);
};

View File

@ -13,7 +13,7 @@ const SessionsRow = (props) => {
return (
<StyledRow
key={item.userId}
key={item.id}
data={item}
sectionWidth={sectionWidth}
contextButtonSpacerWidth="0"

View File

@ -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));

View File

@ -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"])(

View File

@ -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;