Skip to content

Commit 603c8e4

Browse files
committed
feat: add common loading card
1 parent 227719d commit 603c8e4

File tree

11 files changed

+49
-2
lines changed

11 files changed

+49
-2
lines changed
Lines changed: 4 additions & 0 deletions
Loading

src/Assets/IconV2/ic-lego.svg

Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

src/Common/Types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import {
2828
ButtonProps,
2929
ComponentLayoutType,
3030
StatusType,
31+
DeploymentStrategyType,
3132
} from '../Shared'
3233
import {
3334
ACTION_STATE,
@@ -845,7 +846,7 @@ export interface AppEnvironment {
845846
}
846847

847848
export interface Strategy {
848-
deploymentTemplate: string
849+
deploymentTemplate: DeploymentStrategyType
849850
config: any
850851
default?: boolean
851852
}

src/Pages/Applications/DevtronApps/Details/CDPipeline/services.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export const triggerCDNode = ({
7373
abortControllerRef,
7474
skipIfHibernated,
7575
isRollbackTrigger = false,
76+
strategy,
7677
}: TriggerCDNodeServiceProps) => {
7778
const areRuntimeParamsConfigured =
7879
runtimeParamsPayload && (stageType === DeploymentNodeType.POSTCD || stageType === DeploymentNodeType.PRECD)
@@ -85,6 +86,7 @@ export const triggerCDNode = ({
8586
isRollbackDeployment: isRollbackTrigger,
8687
...(areRuntimeParamsConfigured && runtimeParamsPayload),
8788
...(skipIfHibernated ? { skipIfHibernated: true } : {}),
89+
...(strategy ? { strategy } : {}),
8890
}
8991

9092
if (deploymentWithConfig) {

src/Pages/Applications/DevtronApps/Details/CDPipeline/types.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import { BuildStageType, FormType } from '@Common/CIPipeline.Types'
1818
import { APIOptions, DeploymentAppTypes, DeploymentNodeType } from '@Common/Types'
1919
import { DeploymentStrategy } from '@Shared/Components'
20-
import { EnvListMinDTO, RuntimeParamsTriggerPayloadType } from '@Shared/types'
20+
import { DeploymentStrategyType, EnvListMinDTO, RuntimeParamsTriggerPayloadType } from '@Shared/types'
2121
import { STAGE_MAP } from '@Pages/index'
2222

2323
interface ConfigSecretType {
@@ -136,6 +136,7 @@ export interface TriggerCDNodeServiceProps extends Pick<APIOptions, 'abortContro
136136
*/
137137
runtimeParamsPayload?: RuntimeParamsTriggerPayloadType
138138
isRollbackTrigger?: boolean
139+
strategy?: DeploymentStrategyType
139140
}
140141

141142
export interface TriggerCDPipelinePayloadType

src/Shared/Components/Icon/Icon.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import { ReactComponent as ICEcr } from '@IconsV2/ic-ecr.svg'
4747
import { ReactComponent as ICEnv } from '@IconsV2/ic-env.svg'
4848
import { ReactComponent as ICError } from '@IconsV2/ic-error.svg'
4949
import { ReactComponent as ICFailure } from '@IconsV2/ic-failure.svg'
50+
import { ReactComponent as ICFastForward } from '@IconsV2/ic-fast-forward.svg'
5051
import { ReactComponent as ICFileKey } from '@IconsV2/ic-file-key.svg'
5152
import { ReactComponent as ICFlask } from '@IconsV2/ic-flask.svg'
5253
import { ReactComponent as ICFolderUser } from '@IconsV2/ic-folder-user.svg'
@@ -73,11 +74,13 @@ import { ReactComponent as ICJobColor } from '@IconsV2/ic-job-color.svg'
7374
import { ReactComponent as ICK8sJob } from '@IconsV2/ic-k8s-job.svg'
7475
import { ReactComponent as ICKey } from '@IconsV2/ic-key.svg'
7576
import { ReactComponent as ICLdap } from '@IconsV2/ic-ldap.svg'
77+
import { ReactComponent as ICLego } from '@IconsV2/ic-lego.svg'
7678
import { ReactComponent as ICLightning } from '@IconsV2/ic-lightning.svg'
7779
import { ReactComponent as ICLightningFill } from '@IconsV2/ic-lightning-fill.svg'
7880
import { ReactComponent as ICLivspace } from '@IconsV2/ic-livspace.svg'
7981
import { ReactComponent as ICLoginDevtronLogo } from '@IconsV2/ic-login-devtron-logo.svg'
8082
import { ReactComponent as ICLogout } from '@IconsV2/ic-logout.svg'
83+
import { ReactComponent as ICMagnifyingGlass } from '@IconsV2/ic-magnifying-glass.svg'
8184
import { ReactComponent as ICMediumDelete } from '@IconsV2/ic-medium-delete.svg'
8285
import { ReactComponent as ICMediumPaintbucket } from '@IconsV2/ic-medium-paintbucket.svg'
8386
import { ReactComponent as ICMemory } from '@IconsV2/ic-memory.svg'
@@ -93,6 +96,7 @@ import { ReactComponent as ICOpenshift } from '@IconsV2/ic-openshift.svg'
9396
import { ReactComponent as ICOutOfSync } from '@IconsV2/ic-out-of-sync.svg'
9497
import { ReactComponent as ICPaperPlaneColor } from '@IconsV2/ic-paper-plane-color.svg'
9598
import { ReactComponent as ICPencil } from '@IconsV2/ic-pencil.svg'
99+
import { ReactComponent as ICPlayOutline } from '@IconsV2/ic-play-outline.svg'
96100
import { ReactComponent as ICQuay } from '@IconsV2/ic-quay.svg'
97101
import { ReactComponent as ICQuote } from '@IconsV2/ic-quote.svg'
98102
import { ReactComponent as ICRocketLaunch } from '@IconsV2/ic-rocket-launch.svg'
@@ -175,6 +179,7 @@ export const iconMap = {
175179
'ic-env': ICEnv,
176180
'ic-error': ICError,
177181
'ic-failure': ICFailure,
182+
'ic-fast-forward': ICFastForward,
178183
'ic-file-key': ICFileKey,
179184
'ic-flask': ICFlask,
180185
'ic-folder-user': ICFolderUser,
@@ -201,11 +206,13 @@ export const iconMap = {
201206
'ic-k8s-job': ICK8sJob,
202207
'ic-key': ICKey,
203208
'ic-ldap': ICLdap,
209+
'ic-lego': ICLego,
204210
'ic-lightning-fill': ICLightningFill,
205211
'ic-lightning': ICLightning,
206212
'ic-livspace': ICLivspace,
207213
'ic-login-devtron-logo': ICLoginDevtronLogo,
208214
'ic-logout': ICLogout,
215+
'ic-magnifying-glass': ICMagnifyingGlass,
209216
'ic-medium-delete': ICMediumDelete,
210217
'ic-medium-paintbucket': ICMediumPaintbucket,
211218
'ic-memory': ICMemory,
@@ -221,6 +228,7 @@ export const iconMap = {
221228
'ic-out-of-sync': ICOutOfSync,
222229
'ic-paper-plane-color': ICPaperPlaneColor,
223230
'ic-pencil': ICPencil,
231+
'ic-play-outline': ICPlayOutline,
224232
'ic-quay': ICQuay,
225233
'ic-quote': ICQuote,
226234
'ic-rocket-launch': ICRocketLaunch,
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
interface LoadingCardType {
2+
wider?: boolean
3+
}
4+
5+
const LoadingCard = ({ wider }: LoadingCardType) => (
6+
<div
7+
className={`app-details-info-card pointer flex left bg__primary br-8 mr-12 lh-20 ${wider ? 'w-250' : 'w-200'}`}
8+
>
9+
<div className="app-details-info-card__top-container">
10+
<div className="shimmer-loading w-120 h-14 br-2 mb-6" />
11+
<div className="shimmer-loading w-80px h-18 br-2 mb-6" />
12+
</div>
13+
<div className="app-details-info-card__bottom-container">
14+
<div className="shimmer-loading w-100 h-14 br-2" />
15+
</div>
16+
</div>
17+
)
18+
19+
export default LoadingCard

src/Shared/Components/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export * from './InfoIconTippy'
7272
export * from './InvalidYAMLTippy'
7373
export * from './KeyValueTable'
7474
export * from './License'
75+
export { default as LoadingCard } from './LoadingCard'
7576
export * from './LoginBanner'
7677
export * from './MaterialHistory'
7778
export * from './ModalSidebarPanel'

0 commit comments

Comments
 (0)