4 Commits

4 changed files with 18 additions and 5 deletions

View File

@@ -23,6 +23,7 @@ module.exports = {
features: {
'challenge-admin': {
'use-chain-submissions-api': { value: 'true' },
'submissions-polling-interval-ms': { value: '1200' },
},
},
config: {

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "challenge-admin-pl",
"version": "1.3.1",
"version": "1.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "challenge-admin-pl",
"version": "1.3.1",
"version": "1.5.0",
"license": "ISC",
"dependencies": {
"@brojs/cli": "^1.9.4",

View File

@@ -1,6 +1,6 @@
{
"name": "challenge-admin",
"version": "1.3.1",
"version": "1.5.0",
"description": "",
"main": "./src/index.tsx",
"scripts": {

View File

@@ -41,9 +41,18 @@ export const SubmissionsPage: React.FC = () => {
const navigate = useNavigate()
const { chainId } = useParams<{ chainId?: string }>()
// Проверяем feature flag
// Проверяем feature flags
const featureValue = getFeatureValue('challenge-admin', 'use-chain-submissions-api')
const useNewApi = featureValue?.value === 'true'
const pollingIntervalFeatureValue = getFeatureValue(
'challenge-admin',
'submissions-polling-interval-ms'
)
const pollingIntervalMs = (() => {
const rawValue = pollingIntervalFeatureValue?.value ?? ''
const parsed = Number.parseInt(rawValue, 10)
return Number.isFinite(parsed) && parsed > 0 ? parsed : 1200
})()
// Состояние для выбранного пользователя и фильтров
const [selectedUserId, setSelectedUserId] = useState<string | null>(null)
@@ -70,7 +79,10 @@ export const SubmissionsPage: React.FC = () => {
userId: selectedUserId || undefined,
status: statusFilter !== 'all' ? statusFilter : undefined,
},
{ skip: !chainId || !useNewApi }
{
skip: !chainId || !useNewApi,
pollingInterval: pollingIntervalMs,
}
)
// Старый API: получаем общую статистику и submissions отдельно