Skip to content

Commit 1250d9f

Browse files
committed
fixup! feat(validate_image): update form for validate image project & tutorial creation
1 parent d9f531c commit 1250d9f

File tree

7 files changed

+51
-32
lines changed

7 files changed

+51
-32
lines changed

manager-dashboard/app/Base/styles.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ p {
105105
--height-mobile-preview-builarea-content: 30rem;
106106
--height-mobile-preview-footprint-content: 22rem;
107107
--height-mobile-preview-change-detection-content: 14rem;
108+
--height-mobile-preview-validate-image-content: 22rem;
108109

109110
--radius-popup-border: 0.25rem;
110111
--radius-scrollbar-border: 0.25rem;

manager-dashboard/app/views/NewProject/index.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,13 @@ function NewProject(props: Props) {
512512
}));
513513
return;
514514
}
515+
if (result.right.images.length > MAX_IMAGES) {
516+
setError((err) => ({
517+
...getErrorObject(err),
518+
[nonFieldError]: `Too many images ${result.right.images.length} uploaded. Please do not exceed ${MAX_IMAGES} images.`,
519+
}));
520+
return;
521+
}
515522
setFieldValue(
516523
() => result.right.images.map((image) => ({
517524
sourceIdentifier: String(image.id),

manager-dashboard/app/views/NewProject/utils.ts

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,7 @@ export const projectFormSchema: ProjectFormSchema = {
271271
validations: [getNoMoreThanNCharacterCondition(XL_TEXT_MAX_LENGTH)],
272272
},
273273
tutorialId: {
274-
// TODO(tnagorra): we need to make this required later
275-
// required: true,
274+
required: true,
276275
},
277276
projectImage: {
278277
required: true,
@@ -342,31 +341,6 @@ export const projectFormSchema: ProjectFormSchema = {
342341
},
343342
);
344343

345-
baseSchema = addCondition(
346-
baseSchema,
347-
value,
348-
['projectType'],
349-
['tileServer'],
350-
(v) => {
351-
const projectType = v?.projectType;
352-
if (
353-
projectType === PROJECT_TYPE_BUILD_AREA
354-
|| projectType === PROJECT_TYPE_COMPLETENESS
355-
|| projectType === PROJECT_TYPE_CHANGE_DETECTION
356-
|| projectType === PROJECT_TYPE_FOOTPRINT
357-
) {
358-
return {
359-
tileServer: {
360-
fields: tileServerFieldsSchema,
361-
},
362-
};
363-
}
364-
return {
365-
tileServer: { forceValue: nullValue },
366-
};
367-
},
368-
);
369-
370344
baseSchema = addCondition(
371345
baseSchema,
372346
value,
@@ -476,6 +450,31 @@ export const projectFormSchema: ProjectFormSchema = {
476450
},
477451
);
478452

453+
baseSchema = addCondition(
454+
baseSchema,
455+
value,
456+
['projectType'],
457+
['tileServer'],
458+
(v) => {
459+
const projectType = v?.projectType;
460+
if (
461+
projectType === PROJECT_TYPE_BUILD_AREA
462+
|| projectType === PROJECT_TYPE_COMPLETENESS
463+
|| projectType === PROJECT_TYPE_CHANGE_DETECTION
464+
|| projectType === PROJECT_TYPE_FOOTPRINT
465+
) {
466+
return {
467+
tileServer: {
468+
fields: tileServerFieldsSchema,
469+
},
470+
};
471+
}
472+
return {
473+
tileServer: { forceValue: nullValue },
474+
};
475+
},
476+
);
477+
479478
// Validate
480479

481480
baseSchema = addCondition(

manager-dashboard/app/views/NewTutorial/ScenarioPageInput/ValidateImagePreview/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export default function ValidateImagePreview(props: Props) {
3636

3737
return (
3838
<MobilePreview
39-
className={_cs(styles.footprintGeoJsonPreview, className)}
39+
className={_cs(styles.validateImagePreview, className)}
4040
contentClassName={styles.content}
4141
heading={lookFor || '{look for}'}
4242
headingLabel="You are looking for:"
@@ -45,7 +45,7 @@ export default function ValidateImagePreview(props: Props) {
4545
popupDescription={previewPopUp?.description || '{description}'}
4646
>
4747
<img
48-
className={styles.mapPreview}
48+
className={styles.imagePreview}
4949
src={image?.url}
5050
alt="Preview"
5151
/>

manager-dashboard/app/views/NewTutorial/ScenarioPageInput/ValidateImagePreview/styles.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
.footprint-geo-json-preview {
1+
.validate-image-preview {
22
.content {
33
display: flex;
44
flex-direction: column;
55
gap: var(--spacing-large);
66

7-
.map-preview {
7+
.image-preview {
88
position: relative;
99
border: 1px solid red;
1010
width: 100%;
11-
height: var(--height-mobile-preview-footprint-content);
11+
height: var(--height-mobile-preview-validate-image-content);
1212
}
1313

1414
.options {

manager-dashboard/app/views/NewTutorial/index.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ import {
9999
BuildAreaProperties,
100100
ChangeDetectionProperties,
101101
ImageType,
102+
MAX_IMAGES,
102103
} from './utils';
103104

104105
import CustomOptionPreview from './CustomOptionInput/CustomOptionPreview';
@@ -694,6 +695,13 @@ function NewTutorial(props: Props) {
694695
}));
695696
return;
696697
}
698+
if (result.right.images.length > MAX_IMAGES) {
699+
setError((err) => ({
700+
...getErrorObject(err),
701+
[nonFieldError]: `Too many images ${result.right.images.length} uploaded. Please do not exceed ${MAX_IMAGES} images.`,
702+
}));
703+
return;
704+
}
697705

698706
const newImages = result.right.images.map((image, index) => ({
699707
sourceIdentifier: String(image.id),

manager-dashboard/app/views/NewTutorial/utils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,8 @@ export const tutorialFormSchema: TutorialFormSchema = {
612612
},
613613
};
614614

615+
// common
616+
615617
baseSchema = addCondition(
616618
baseSchema,
617619
value,
@@ -914,6 +916,8 @@ export const tutorialFormSchema: TutorialFormSchema = {
914916
},
915917
);
916918

919+
// validate image
920+
917921
baseSchema = addCondition(
918922
baseSchema,
919923
value,

0 commit comments

Comments
 (0)