From d9e4ff3ebd22a31306f564e7f8ad82879c8fb699 Mon Sep 17 00:00:00 2001 From: AAGaming Date: Tue, 12 Jul 2022 20:33:35 -0400 Subject: [PATCH] feat(ProgressBar): add new progress bars --- src/deck-components/ProgressBar.tsx | 34 ++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/src/deck-components/ProgressBar.tsx b/src/deck-components/ProgressBar.tsx index 170b71c..39e084d 100644 --- a/src/deck-components/ProgressBar.tsx +++ b/src/deck-components/ProgressBar.tsx @@ -1,18 +1,46 @@ -import { VFC } from 'react'; +import { VFC, ReactNode } from 'react'; import { findModuleChild } from '../webpack'; import { ItemProps } from './Item'; -export interface ProgressBarItem extends ItemProps { +export interface ProgressBarItemProps extends ItemProps { indeterminate?: boolean; nTransitionSec?: number; nProgress?: number; focusable?: boolean; } + +export interface ProgressBarProps { + indeterminate?: boolean; + nTransitionSec?: number; + nProgress?: number; + focusable?: boolean; +} + +export interface ProgressBarWithInfoProps extends ProgressBarProps { + sTimeRemaining?: ReactNode; + sOperationText?: ReactNode; +} + +export const ProgressBar = findModuleChild((m) => { + if (typeof m !== 'object') return undefined; + for (let prop in m) { + if (m[prop]?.toString()?.includes('.ProgressBar,"standard"==')) return m[prop]; + } +}) as VFC; + +export const ProgressBarWithInfo = findModuleChild((m) => { + if (typeof m !== 'object') return undefined; + for (let prop in m) { + if (m[prop]?.toString()?.includes('.ProgressBarFieldStatus},')) return m[prop]; + } +}) as VFC; + + export const ProgressBarItem = findModuleChild((m) => { if (typeof m !== 'object') return undefined; for (let prop in m) { if (m[prop]?.toString()?.includes('"indeterminate","nTransitionSec"')) return m[prop]; } -}) as VFC; +}) as VFC;