Skip to content

Commit a668cc2

Browse files
committed
chore: renaming of component
1 parent f343b7c commit a668cc2

File tree

6 files changed

+39
-20
lines changed

6 files changed

+39
-20
lines changed

src/Pages/App/CreateAppModal/AppClone/AppCloneList.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { useState } from 'react'
22

33
import {
44
Button,
5+
ButtonStyleType,
6+
ButtonVariantType,
57
ComponentSizeType,
68
DetectBottom,
79
GenericInfoCardBorderVariant,
@@ -11,10 +13,11 @@ import {
1113
useStateFilters,
1214
} from '@devtron-labs/devtron-fe-common-lib'
1315

16+
import { CreationMethodType } from '../types'
1417
import { AppCloneListProps } from './types'
1518
import { useDevtronCloneList } from './useDevtronCloneList'
1619

17-
export const AppCloneList = ({ handleCloneAppClick, isJobView }: AppCloneListProps) => {
20+
export const AppCloneList = ({ handleCloneAppClick, isJobView, handleCreationMethodChange }: AppCloneListProps) => {
1821
const { searchKey, handleSearch, clearFilters } = useStateFilters()
1922
const [isLoadingMoreJobList, setIsLoadingMoreJobList] = useState<boolean>(false)
2023
const [hasError, setHasError] = useState<boolean>(false)
@@ -38,14 +41,17 @@ export const AppCloneList = ({ handleCloneAppClick, isJobView }: AppCloneListPro
3841
}
3942

4043
const handleCreateFromScratch = () => {
41-
// TODO: Implement create from scratch functionality
44+
handleCreationMethodChange(CreationMethodType.blank)
4245
}
4346

4447
const renderCreateFromScratchButton = () => (
4548
<Button
4649
dataTestId="create-app-modal-create-from-scratch-btn"
4750
text="Create from scratch"
4851
onClick={handleCreateFromScratch}
52+
size={ComponentSizeType.medium}
53+
variant={ButtonVariantType.primary}
54+
style={ButtonStyleType.default}
4955
/>
5056
)
5157

src/Pages/App/CreateAppModal/AppClone/types.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@ import { BaseAppMetaData } from '@devtron-labs/devtron-fe-common-lib'
33
import { JobList } from '@Components/Jobs/Types'
44
import { AppListMin } from '@Services/service.types'
55

6-
export interface AppCloneListProps {
6+
import { SidebarProps } from '../types'
7+
8+
export interface AppCloneListProps extends Pick<SidebarProps, 'handleCreationMethodChange'> {
79
handleCloneAppClick: ({ appId, appName }: BaseAppMetaData) => void
810
isJobView?: boolean
911
}
1012

1113
export type DevtronListResponse = { type: 'job'; data: JobList } | { type: 'app'; data: AppListMin }
14+
15+
export interface DevtronAppCloneListProps extends Pick<AppCloneListProps, 'handleCloneAppClick' | 'isJobView'> {}

src/Pages/App/CreateAppModal/AppClone/useDevtronCloneList.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import { APP_TYPE } from '@Config/constants'
1515
import { getAppIconWithBackground } from '@Config/utils'
1616
import { getAppListMin } from '@Services/service'
1717

18-
import { AppCloneListProps, DevtronListResponse } from './types'
18+
import { DevtronAppCloneListProps, DevtronListResponse } from './types'
1919

20-
export const useDevtronCloneList = ({ handleCloneAppClick, isJobView }: AppCloneListProps) => {
20+
export const useDevtronCloneList = ({ handleCloneAppClick, isJobView }: DevtronAppCloneListProps) => {
2121
const cloneListAbortControllerRef = useRef(new AbortController())
2222
const [isLoadingMore, setIsLoadingMore] = useState(false)
2323

src/Pages/App/CreateAppModal/ApplicationSelectionList.tsx renamed to src/Pages/App/CreateAppModal/CloneApplicationSelectionList.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import UpdateTemplateConfig from './UpdateTemplateConfig'
2424

2525
const TemplateList = importComponentFromFELibrary('TemplateList', null, 'function')
2626

27-
export const ApplicationSelectionList = ({
27+
export const CloneApplicationSelectionList = ({
2828
formState,
2929
selectedCreationMethod,
3030
isJobView,
@@ -33,6 +33,7 @@ export const ApplicationSelectionList = ({
3333
handleTagErrorChange,
3434
isTagsAccordionExpanded,
3535
toggleIsTagsAccordionExpanded,
36+
handleCreationMethodChange,
3637
}: ApplicationSelectionListProps) => {
3738
const isCreationMethodTemplate = selectedCreationMethod === CreationMethodType.template
3839

@@ -73,7 +74,13 @@ export const ApplicationSelectionList = ({
7374
/>
7475
)
7576
case CreationMethodType.clone:
76-
return <AppCloneList handleCloneAppClick={handleCloneAppClick} isJobView={isJobView} />
77+
return (
78+
<AppCloneList
79+
handleCloneAppClick={handleCloneAppClick}
80+
isJobView={isJobView}
81+
handleCreationMethodChange={handleCreationMethodChange}
82+
/>
83+
)
7784
default:
7885
return null
7986
}

src/Pages/App/CreateAppModal/CreateAppModal.component.tsx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import { APP_COMPOSE_STAGE, getAppComposeURL, URLS } from '@Config/routes'
3535
import { getHostURLConfiguration } from '@Services/service'
3636

3737
import ApplicationInfoForm from './ApplicationInfoForm'
38-
import { ApplicationSelectionList } from './ApplicationSelectionList'
38+
import { CloneApplicationSelectionList } from './CloneApplicationSelectionList'
3939
import { createAppInitialFormErrorState, createAppInitialFormState } from './constants'
4040
import HeaderSection from './HeaderSection'
4141
import { createApp } from './service'
@@ -327,6 +327,16 @@ const CreateAppModal = ({ isJobView, handleClose }: CreateAppModalProps) => {
327327
}
328328
}
329329

330+
const handleCreationMethodChange = (method: CreationMethodType) => {
331+
setFormState((prev) => ({
332+
...prev,
333+
templateConfig: null,
334+
cloneAppConfig: null,
335+
}))
336+
337+
setSelectedCreationMethod(method)
338+
}
339+
330340
const getSelectedMethodContent = () => {
331341
switch (selectedCreationMethod) {
332342
case CreationMethodType.blank:
@@ -345,7 +355,7 @@ const CreateAppModal = ({ isJobView, handleClose }: CreateAppModalProps) => {
345355
case CreationMethodType.clone:
346356
case CreationMethodType.template:
347357
return (
348-
<ApplicationSelectionList
358+
<CloneApplicationSelectionList
349359
formState={formState}
350360
formErrorState={formErrorState}
351361
selectedCreationMethod={selectedCreationMethod}
@@ -354,23 +364,14 @@ const CreateAppModal = ({ isJobView, handleClose }: CreateAppModalProps) => {
354364
isJobView={isJobView}
355365
isTagsAccordionExpanded={isTagsAccordionExpanded}
356366
toggleIsTagsAccordionExpanded={toggleIsTagsAccordionExpanded}
367+
handleCreationMethodChange={handleCreationMethodChange}
357368
/>
358369
)
359370
default:
360371
return null
361372
}
362373
}
363374

364-
const handleCreationMethodChange = (method: CreationMethodType) => {
365-
setFormState((prev) => ({
366-
...prev,
367-
templateConfig: null,
368-
cloneAppConfig: null,
369-
}))
370-
371-
setSelectedCreationMethod(method)
372-
}
373-
374375
return (
375376
<Drawer position="right" width="1024px" onEscape={handleClose}>
376377
<div className="h-100 bg__modal--primary flexbox-col dc__overflow-hidden">

src/Pages/App/CreateAppModal/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,4 +184,5 @@ export interface ApplicationSelectionListProps
184184
| 'handleFormStateChange'
185185
| 'formErrorState'
186186
| 'handleTagErrorChange'
187-
> {}
187+
>,
188+
Pick<SidebarProps, 'handleCreationMethodChange'> {}

0 commit comments

Comments
 (0)