4.24.3: Обновление данных экрана доступа
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 1m18s

This commit is contained in:
poignatov
2026-02-06 15:59:33 +03:00
parent 49eff37399
commit 867e8803bd
4 changed files with 22 additions and 12 deletions

View File

@@ -1,9 +1,9 @@
import React, { useState, useEffect } from 'react'
import React, { useState, useEffect, useRef, useCallback } from 'react'
import { useAuth } from './auth/AuthContext'
import Toast from './Toast'
import './Tracking.css'
function TrackingAccess({ onNavigate }) {
function TrackingAccess({ onNavigate, activeTab }) {
const { authFetch } = useAuth()
const [generating, setGenerating] = useState(false)
const [copied, setCopied] = useState(false)
@@ -11,13 +11,9 @@ function TrackingAccess({ onNavigate }) {
const [tracked, setTracked] = useState([])
const [loading, setLoading] = useState(true)
const [toastMessage, setToastMessage] = useState(null)
const prevActiveTabRef = useRef(null)
// Загрузка списков при монтировании
useEffect(() => {
fetchAccessData()
}, [])
const fetchAccessData = async () => {
const fetchAccessData = useCallback(async () => {
setLoading(true)
try {
const res = await authFetch('/api/tracking/access')
@@ -31,7 +27,21 @@ function TrackingAccess({ onNavigate }) {
} finally {
setLoading(false)
}
}
}, [authFetch])
// Загрузка списков при монтировании
useEffect(() => {
fetchAccessData()
}, [fetchAccessData])
// Обновление данных при открытии экрана
useEffect(() => {
// Проверяем, что экран только что открылся (activeTab стал 'tracking-access')
if (activeTab === 'tracking-access' && prevActiveTabRef.current !== 'tracking-access') {
fetchAccessData()
}
prevActiveTabRef.current = activeTab
}, [activeTab, fetchAccessData])
const handleCreateInvite = async () => {
setGenerating(true)