mirror of
https://github.com/remnawave/frontend.git
synced 2026-05-13 12:16:40 +00:00
refactor: update user modal handling in sessions explorer card
This commit is contained in:
parent
422413e1ff
commit
9c6b0a3ab6
3 changed files with 5 additions and 13 deletions
|
|
@ -2111,9 +2111,8 @@
|
|||
"no-active-sessions-found-on-any-node": "No active sessions found on any node.",
|
||||
"restart-scan": "Restart scan",
|
||||
"clear-results": "Clear results",
|
||||
"description": "Scan all online nodes to collect active user sessions and IP addresses",
|
||||
"search-by-ip": "Search by IP address...",
|
||||
"no-results-for-ip": "No users found with IP matching \"{{ip}}\""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -18,19 +18,17 @@ import {
|
|||
Text,
|
||||
Tooltip
|
||||
} from '@mantine/core'
|
||||
import { createSearchParams } from 'react-router-dom'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { PiUserCircle } from 'react-icons/pi'
|
||||
import { memo } from 'react'
|
||||
import clsx from 'clsx'
|
||||
|
||||
import { formatRelativeDateUtil, formatTimeUtil } from '@shared/utils/time-utils'
|
||||
import { useUserModalStoreActions } from '@entities/dashboard/user-modal-store'
|
||||
import { CopyableFieldShared } from '@shared/ui/copyable-field/copyable-field'
|
||||
import { BaseOverlayHeader } from '@shared/ui/overlays/base-overlay-header'
|
||||
import { SEARCH_PARAMS } from '@shared/constants/search-params'
|
||||
import { SectionCard } from '@shared/ui/section-card'
|
||||
import { useResolveUser } from '@shared/api/hooks'
|
||||
import { ROUTES } from '@shared/constants'
|
||||
|
||||
import type { AggregatedUser } from './use-sessions-explorer'
|
||||
|
||||
|
|
@ -61,6 +59,7 @@ export const SessionsExplorerCard = memo(
|
|||
({ user, midThreshold, highThreshold, ipSearchQuery }: IProps) => {
|
||||
const { t, i18n } = useTranslation()
|
||||
const { mutateAsync: resolveUser, isPending: isLoading } = useResolveUser()
|
||||
const userModalActions = useUserModalStoreActions()
|
||||
|
||||
const handleViewUser = async () => {
|
||||
const result = await resolveUser({
|
||||
|
|
@ -70,13 +69,8 @@ export const SessionsExplorerCard = memo(
|
|||
})
|
||||
|
||||
if (result.uuid) {
|
||||
const searchParams = createSearchParams({
|
||||
[SEARCH_PARAMS.USER]: String(result.uuid)
|
||||
})
|
||||
window.open(
|
||||
`${ROUTES.DASHBOARD.MANAGEMENT.USERS}?${searchParams.toString()}`,
|
||||
'_blank'
|
||||
)
|
||||
await userModalActions.setUserUuid(result.uuid)
|
||||
userModalActions.changeModalState(true)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -275,7 +275,6 @@ export function SessionsExplorerWidget() {
|
|||
)}
|
||||
</Group>
|
||||
}
|
||||
description={t('sessions-explorer.widget.description')}
|
||||
icon={<TbRadar2 size={24} />}
|
||||
title={t('constants.sessions-explorer')}
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue