Skip to content

Commit fdc29e8

Browse files
deepakglobantdeepakglobant
andauthored
fix: resolved arrow keys to show all the images (#594)
Co-authored-by: deepakglobant <[email protected]>
1 parent 786c54e commit fdc29e8

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

packages/inspection-report/src/components/DamageReport/DamageReport.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ export default function DamageReport({
172172
inspectionId,
173173
damages,
174174
setDamages,
175+
pictures,
175176
});
176177

177178
const {

packages/inspection-report/src/components/DamageReport/hooks/useDamageReportStateHandlers.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export default function useDamageReportStateHandlers({
66
inspectionId,
77
damages,
88
setDamages,
9+
pictures,
910
}) {
1011
const [editedDamage, setEditedDamage] = useState(undefined);
1112
const [editedDamagePart, setEditedDamagePart] = useState(undefined);
@@ -84,7 +85,14 @@ export default function useDamageReportStateHandlers({
8485
throw new Error(`Unable to find damage with corresponding pill part "${partName}"`);
8586
}
8687
const { images } = damage;
87-
const partDamageImages = images.filter(img => img.base_image_type === "beauty_shot");
88+
const damagedPartImage = pictures.find(img => img.id === damage?.images[0]?.id)?.rendered_outputs?.map(img => ({
89+
id: img.id + '1',
90+
url: img.url,
91+
})) ?? [];
92+
const partDamageImages = images.filter(img => img.base_image_type === "beauty_shot").map((img, index) => ({
93+
...img,
94+
rendered_outputs: index === 0 ? pictures.find(pic => pic.id === img?.id)?.rendered_outputs : []
95+
}));
8896
const zoomedDamageImages = images.filter(img => img.base_image_type === "close_up");
8997
setEditedDamage(damage);
9098
setEditedDamagePart(partName);

packages/inspection-report/src/components/DamageReport/hooks/useProcessInspection.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ function getPictures(inspection) {
3939
.filter((damage) => damage?.additional_data?.description === 'rendering of detected damages')
4040
.map((damagedImage) => {
4141
return {
42+
id: image.id,
4243
isRendered: true,
4344
label: image.additional_data?.label ?? undefined,
4445
url: damagedImage.path,
@@ -56,6 +57,7 @@ function getDamages(inspection) {
5657
(inspectionPart) => (inspectionPart.id === severityResult.related_item_id),
5758
)?.related_images?.map(
5859
(relatedImage) => ({
60+
id: relatedImage.base_image_id,
5961
base_image_type: relatedImage.base_image_type,
6062
object_type: relatedImage.object_type,
6163
url: relatedImage.path,

packages/inspection-report/src/components/Gallery/index.js

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,27 @@ function Gallery({ pictures }) {
171171
const currentPictureIndex = pictures.findIndex(pic => pic.id === focusedPhoto.id);
172172
switch (event.key) {
173173
case "ArrowLeft":
174-
if (currentPictureIndex - 1 >= 0) {
175-
setFocusedPhoto(pictures[currentPictureIndex - 1]);
174+
if ((focusedPhoto?.isRendered && currentPictureIndex >= 0) || currentPictureIndex - 1 >= 0) {
175+
if (focusedPhoto.isRendered) {
176+
setFocusedPhoto(pictures[currentPictureIndex]);
177+
} else {
178+
setFocusedPhoto(
179+
pictures[currentPictureIndex - 1]?.rendered_outputs?.length > 0 ?
180+
pictures[currentPictureIndex - 1]?.rendered_outputs[0] : pictures[currentPictureIndex]
181+
);
182+
}
176183
}
177184
break;
178185
case "ArrowRight":
179-
if (currentPictureIndex + 1 < pictures.length) {
180-
setFocusedPhoto(pictures[currentPictureIndex + 1]);
186+
if ((!focusedPhoto?.isRendered && currentPictureIndex < pictures.length) || currentPictureIndex + 1 < pictures.length) {
187+
if (focusedPhoto.isRendered) {
188+
setFocusedPhoto(pictures[currentPictureIndex + 1]);
189+
} else {
190+
setFocusedPhoto(
191+
pictures[currentPictureIndex]?.rendered_outputs?.length > 0 ?
192+
pictures[currentPictureIndex]?.rendered_outputs[0] : pictures[currentPictureIndex + 1]
193+
);
194+
}
181195
}
182196
break;
183197
default:
@@ -224,7 +238,9 @@ function Gallery({ pictures }) {
224238
>
225239
<View style={{ flex: 1, backgroundColor: '#000000', position: 'relative' }}>
226240
<View style={[styles.header]}>
227-
<Text style={[styles.title]}>{(focusedPhoto?.label) ? focusedPhoto.label[i18n.language] : ''}</Text>
241+
<Text style={[styles.title]}>
242+
{(focusedPhoto?.label) ? focusedPhoto.label[i18n.language] : ''} {focusedPhoto?.isRendered && t('gallery.withDamages')}
243+
</Text>
228244
</View>
229245
<Pressable
230246
onPress={handleUnfocusPhoto}

0 commit comments

Comments
 (0)