376 lines
7.6 KiB
JavaScript
376 lines
7.6 KiB
JavaScript
export default function useTabProps(
|
|
taskSettings,
|
|
accountsTab,
|
|
proxiesTab,
|
|
logsTab,
|
|
queueTab,
|
|
apiTraceTab,
|
|
eventsTab,
|
|
settingsTab
|
|
) {
|
|
const {
|
|
selectedTaskName,
|
|
taskForm,
|
|
setTaskForm,
|
|
activePreset,
|
|
setActivePreset,
|
|
applyTaskPreset,
|
|
formatAccountLabel,
|
|
accountById,
|
|
competitorText,
|
|
setCompetitorText,
|
|
roleMode,
|
|
applyRoleMode,
|
|
normalizeIntervals,
|
|
taskStatus,
|
|
perAccountInviteSum,
|
|
hasSelectedTask,
|
|
inviteAccessStatus,
|
|
inviteAccessCheckedAt,
|
|
confirmAccessStatus,
|
|
confirmAccessCheckedAt,
|
|
formatTimestamp,
|
|
checkInviteAccess,
|
|
checkConfirmAccess,
|
|
accounts,
|
|
showNotification,
|
|
copyToClipboard,
|
|
sanitizeTaskForm,
|
|
hasPerAccountInviteLimits,
|
|
fileImportResult,
|
|
importInviteFile,
|
|
fileImportForm,
|
|
setFileImportForm,
|
|
criticalErrorAccounts
|
|
} = taskSettings;
|
|
const {
|
|
accountStatsMap,
|
|
settings,
|
|
proxies,
|
|
membershipStatus,
|
|
assignedAccountMap,
|
|
accountBuckets,
|
|
filterFreeAccounts,
|
|
selectedAccountIds,
|
|
taskAccountRoles,
|
|
rolesMode,
|
|
setRolesMode,
|
|
separateConfirmRoles,
|
|
inviteAdminMasterId,
|
|
refreshMembership,
|
|
refreshIdentity,
|
|
formatAccountStatus,
|
|
resetCooldown,
|
|
deleteAccount,
|
|
updateAccountRole,
|
|
updateAccountInviteLimit,
|
|
setInviteLimitForAllInviters,
|
|
setAccountRolesAll,
|
|
applyRolePreset,
|
|
computeAdminConfirmConfigRisk,
|
|
fixAdminConfirmConfigRisk,
|
|
computeConfirmAccessRisk,
|
|
fixConfirmAccessRisk,
|
|
computeWatcherInviteRisk,
|
|
fixWatcherInviteRisk,
|
|
removeAccountFromTask,
|
|
moveAccountToTask,
|
|
setAccountProxy,
|
|
setAccountsProxyBulk,
|
|
setAccountsProxyMap,
|
|
saveProxy,
|
|
testProxy,
|
|
removeProxy,
|
|
reloadProxies
|
|
} = accountsTab;
|
|
const {
|
|
logsTab: logsTabName,
|
|
setLogsTab,
|
|
exportLogs,
|
|
clearLogs,
|
|
exportInvites,
|
|
exportProblemInvites,
|
|
exportFallback,
|
|
updateFallbackStatus,
|
|
clearFallback,
|
|
clearInvites,
|
|
logSearch,
|
|
setLogSearch,
|
|
logPage,
|
|
setLogPage,
|
|
logPageCount,
|
|
pagedLogs,
|
|
inviteSearch,
|
|
setInviteSearch,
|
|
invitePage,
|
|
setInvitePage,
|
|
invitePageCount,
|
|
inviteFilter,
|
|
setInviteFilter,
|
|
pagedInvites,
|
|
fallbackSearch,
|
|
setFallbackSearch,
|
|
fallbackPage,
|
|
setFallbackPage,
|
|
fallbackPageCount,
|
|
pagedFallback,
|
|
confirmQueue,
|
|
confirmSearch,
|
|
setConfirmSearch,
|
|
confirmPage,
|
|
setConfirmPage,
|
|
confirmPageCount,
|
|
pagedConfirmQueue,
|
|
confirmStats,
|
|
clearConfirmQueue,
|
|
auditSearch,
|
|
setAuditSearch,
|
|
auditPage,
|
|
setAuditPage,
|
|
auditPageCount,
|
|
pagedAudit,
|
|
explainInviteError,
|
|
expandedInviteId,
|
|
setExpandedInviteId,
|
|
inviteStats,
|
|
invites,
|
|
selectedTask,
|
|
accessStatus,
|
|
roleSummary,
|
|
mutualContactDiagnostics
|
|
} = logsTab;
|
|
const {
|
|
selectedTaskId,
|
|
refreshQueue,
|
|
queueStats,
|
|
queueSearch,
|
|
setQueueSearch,
|
|
queuePage,
|
|
setQueuePage,
|
|
queuePageCount,
|
|
pagedQueue
|
|
} = queueTab;
|
|
const {
|
|
hasSelectedTask: hasSelectedTaskForApiTrace,
|
|
selectedTaskName: selectedTaskNameForApiTrace,
|
|
apiTraceLogs,
|
|
clearApiTrace,
|
|
exportApiTraceJson,
|
|
exportApiTraceCsv
|
|
} = apiTraceTab;
|
|
const {
|
|
accountEvents,
|
|
onClearEvents
|
|
} = eventsTab;
|
|
const {
|
|
onSettingsChange,
|
|
saveSettings
|
|
} = settingsTab;
|
|
const taskSettingsProps = {
|
|
selectedTaskName,
|
|
taskForm,
|
|
setTaskForm,
|
|
activePreset,
|
|
setActivePreset,
|
|
applyTaskPreset,
|
|
formatAccountLabel,
|
|
accountById,
|
|
competitorText,
|
|
setCompetitorText,
|
|
roleMode,
|
|
applyRoleMode,
|
|
normalizeIntervals,
|
|
taskStatus,
|
|
perAccountInviteSum,
|
|
hasSelectedTask,
|
|
inviteAccessStatus,
|
|
inviteAccessCheckedAt,
|
|
confirmAccessStatus,
|
|
confirmAccessCheckedAt,
|
|
formatTimestamp,
|
|
checkInviteAccess,
|
|
checkConfirmAccess,
|
|
accounts,
|
|
showNotification,
|
|
copyToClipboard,
|
|
sanitizeTaskForm,
|
|
hasPerAccountInviteLimits,
|
|
fileImportResult,
|
|
importInviteFile,
|
|
fileImportForm,
|
|
setFileImportForm,
|
|
criticalErrorAccounts
|
|
};
|
|
|
|
const accountsTabProps = {
|
|
accounts,
|
|
accountStatsMap,
|
|
settings,
|
|
proxies,
|
|
membershipStatus,
|
|
assignedAccountMap,
|
|
accountBuckets,
|
|
filterFreeAccounts,
|
|
selectedAccountIds,
|
|
taskAccountRoles,
|
|
rolesMode,
|
|
setRolesMode,
|
|
separateConfirmRoles,
|
|
hasSelectedTask,
|
|
inviteAccessStatus,
|
|
inviteAccessCheckedAt,
|
|
inviteAdminMasterId,
|
|
refreshMembership,
|
|
refreshIdentity,
|
|
formatAccountStatus,
|
|
formatAccountLabel,
|
|
resetCooldown,
|
|
deleteAccount,
|
|
updateAccountRole,
|
|
updateAccountInviteLimit,
|
|
setInviteLimitForAllInviters,
|
|
setAccountRolesAll,
|
|
applyRolePreset,
|
|
computeAdminConfirmConfigRisk,
|
|
fixAdminConfirmConfigRisk,
|
|
computeConfirmAccessRisk,
|
|
fixConfirmAccessRisk,
|
|
computeWatcherInviteRisk,
|
|
fixWatcherInviteRisk,
|
|
removeAccountFromTask,
|
|
moveAccountToTask,
|
|
setAccountProxy,
|
|
setAccountsProxyBulk,
|
|
setAccountsProxyMap,
|
|
saveProxy,
|
|
testProxy,
|
|
removeProxy,
|
|
reloadProxies
|
|
};
|
|
|
|
const logsTabProps = {
|
|
logsTab: logsTabName,
|
|
setLogsTab,
|
|
hasSelectedTask,
|
|
exportLogs,
|
|
clearLogs,
|
|
exportInvites,
|
|
exportProblemInvites,
|
|
exportFallback,
|
|
updateFallbackStatus,
|
|
clearFallback,
|
|
clearInvites,
|
|
logSearch,
|
|
setLogSearch,
|
|
logPage,
|
|
setLogPage,
|
|
logPageCount,
|
|
pagedLogs,
|
|
inviteSearch,
|
|
setInviteSearch,
|
|
invitePage,
|
|
setInvitePage,
|
|
invitePageCount,
|
|
inviteFilter,
|
|
setInviteFilter,
|
|
pagedInvites,
|
|
fallbackSearch,
|
|
setFallbackSearch,
|
|
fallbackPage,
|
|
setFallbackPage,
|
|
fallbackPageCount,
|
|
pagedFallback,
|
|
confirmQueue,
|
|
confirmSearch,
|
|
setConfirmSearch,
|
|
confirmPage,
|
|
setConfirmPage,
|
|
confirmPageCount,
|
|
pagedConfirmQueue,
|
|
confirmStats,
|
|
clearConfirmQueue,
|
|
auditSearch,
|
|
setAuditSearch,
|
|
auditPage,
|
|
setAuditPage,
|
|
auditPageCount,
|
|
pagedAudit,
|
|
formatTimestamp,
|
|
explainInviteError,
|
|
expandedInviteId,
|
|
setExpandedInviteId,
|
|
inviteStats,
|
|
invites,
|
|
selectedTask,
|
|
taskAccountRoles,
|
|
accessStatus,
|
|
inviteAccessStatus,
|
|
selectedTaskName,
|
|
roleSummary,
|
|
mutualContactDiagnostics,
|
|
accountById,
|
|
formatAccountLabel
|
|
};
|
|
const proxiesTabProps = {
|
|
proxies: proxiesTab.proxies || [],
|
|
accounts: proxiesTab.accounts || [],
|
|
selectedAccountIds: proxiesTab.selectedAccountIds || [],
|
|
saveProxy: proxiesTab.saveProxy,
|
|
testProxy: proxiesTab.testProxy,
|
|
removeProxy: proxiesTab.removeProxy,
|
|
reloadProxies: proxiesTab.reloadProxies,
|
|
setAccountsProxyBulk: proxiesTab.setAccountsProxyBulk,
|
|
setAccountsProxyMap: proxiesTab.setAccountsProxyMap
|
|
};
|
|
const queueTabProps = {
|
|
hasSelectedTask,
|
|
selectedTaskId,
|
|
refreshQueue,
|
|
queueStats,
|
|
queueSearch,
|
|
setQueueSearch,
|
|
queuePage,
|
|
setQueuePage,
|
|
queuePageCount,
|
|
pagedQueue,
|
|
accountById,
|
|
formatAccountLabel,
|
|
formatTimestamp
|
|
};
|
|
|
|
const eventsTabProps = {
|
|
accountEvents,
|
|
formatTimestamp,
|
|
onClearEvents,
|
|
accountById,
|
|
formatAccountLabel
|
|
};
|
|
|
|
const apiTraceTabProps = {
|
|
hasSelectedTask: hasSelectedTaskForApiTrace,
|
|
selectedTaskName: selectedTaskNameForApiTrace,
|
|
apiTraceLogs,
|
|
formatTimestamp,
|
|
clearApiTrace,
|
|
exportApiTraceJson,
|
|
exportApiTraceCsv
|
|
};
|
|
|
|
const settingsTabProps = {
|
|
settings,
|
|
onSettingsChange,
|
|
saveSettings
|
|
};
|
|
|
|
return {
|
|
taskSettingsProps,
|
|
accountsTabProps,
|
|
proxiesTabProps,
|
|
logsTabProps,
|
|
queueTabProps,
|
|
apiTraceTabProps,
|
|
eventsTabProps,
|
|
settingsTabProps
|
|
};
|
|
}
|