diff --git a/documentation/static/img/animated-logo.svg b/documentation/static/img/animated-logo.svg
index 61247e2d3..cb012227f 100644
--- a/documentation/static/img/animated-logo.svg
+++ b/documentation/static/img/animated-logo.svg
@@ -1,7 +1 @@
-
+
\ No newline at end of file
diff --git a/documentation/static/img/undraw_agreement.svg b/documentation/static/img/undraw_agreement.svg
index 4b43c1df5..9f70b6faa 100644
--- a/documentation/static/img/undraw_agreement.svg
+++ b/documentation/static/img/undraw_agreement.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/documentation/static/img/undraw_city_driver.svg b/documentation/static/img/undraw_city_driver.svg
index 1d597d79c..5f99cac02 100644
--- a/documentation/static/img/undraw_city_driver.svg
+++ b/documentation/static/img/undraw_city_driver.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/documentation/static/img/undraw_data_extraction.svg b/documentation/static/img/undraw_data_extraction.svg
index bcea3e3fa..5c1b75cf8 100644
--- a/documentation/static/img/undraw_data_extraction.svg
+++ b/documentation/static/img/undraw_data_extraction.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/documentation/static/img/undraw_detailed_analysis.svg b/documentation/static/img/undraw_detailed_analysis.svg
index ea38bc3aa..c05e75518 100644
--- a/documentation/static/img/undraw_detailed_analysis.svg
+++ b/documentation/static/img/undraw_detailed_analysis.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/documentation/static/img/undraw_hacker_mindset.svg b/documentation/static/img/undraw_hacker_mindset.svg
index f675c4a20..3ac6c1f62 100644
--- a/documentation/static/img/undraw_hacker_mindset.svg
+++ b/documentation/static/img/undraw_hacker_mindset.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/documentation/static/img/undraw_upload_image.svg b/documentation/static/img/undraw_upload_image.svg
index cbd41646a..6f8401137 100644
--- a/documentation/static/img/undraw_upload_image.svg
+++ b/documentation/static/img/undraw_upload_image.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/packages/public/common/README/INTERNATIONALIZATION.md b/packages/public/common/README/INTERNATIONALIZATION.md
index a3fc79674..ff3444571 100644
--- a/packages/public/common/README/INTERNATIONALIZATION.md
+++ b/packages/public/common/README/INTERNATIONALIZATION.md
@@ -3,7 +3,7 @@ This README page is aimed at providing documentation on a specific part of the `
internationalization. You can refer to [this page](README.md). for more general information on the package.
This package exports utility functions and hooks tools that help you manage the internationalization support of the Monk
-SDK.
+SDK, as well as common translations that can be useful when interacting with the SDK.
# react-i18next
The internationalization in the Monk SDK (and in Monk Webapps) is handled using [i18n](https://www.i18next.com/) and
@@ -78,3 +78,14 @@ export function App() {
...
}
```
+
+# Common Translations
+## Car Parts
+You can import the car parts translations like this :
+
+```typescript
+import { cartPartLabels } from '@monkvision/common';
+```
+
+The `cartPartLabels` object maps each `VehiclePart` name (enum from `@monkvision/types`) to a `TranslationObject`
+containing a label for each supported language.
diff --git a/packages/public/common/src/i18n/index.ts b/packages/public/common/src/i18n/index.ts
index 04bca77e0..94dab86a0 100644
--- a/packages/public/common/src/i18n/index.ts
+++ b/packages/public/common/src/i18n/index.ts
@@ -1 +1,2 @@
export * from './utils';
+export * from './translations';
diff --git a/packages/public/common/src/i18n/translations/carParts.ts b/packages/public/common/src/i18n/translations/carParts.ts
new file mode 100644
index 000000000..a84a6daea
--- /dev/null
+++ b/packages/public/common/src/i18n/translations/carParts.ts
@@ -0,0 +1,374 @@
+import { TranslationObject, VehiclePart } from '@monkvision/types';
+
+export type TranslatedVehiclePart = Exclude<
+ VehiclePart,
+ VehiclePart.IGNORE | VehiclePart.BACKGROUND
+>;
+
+export const cartPartLabels: Record = {
+ [VehiclePart.BUMPER_BACK]: {
+ en: 'Rear Bumper',
+ fr: 'Pare-chocs arrière',
+ de: 'Hintere Stoßstange',
+ },
+ [VehiclePart.BUMPER_FRONT]: {
+ en: 'Front Bumper',
+ fr: 'Pare-chocs avant',
+ de: 'Vordere Stoßstange',
+ },
+ [VehiclePart.DOOR_BACK_LEFT]: {
+ en: 'Rear Door Left',
+ fr: 'Portière arrière droite',
+ de: 'Tür hinten rechts',
+ },
+ [VehiclePart.DOOR_BACK_RIGHT]: {
+ en: 'Rear Door Right',
+ fr: 'Portière arrière gauche',
+ de: 'Tür hinten links',
+ },
+ [VehiclePart.DOOR_FRONT_LEFT]: {
+ en: 'Front Door Left',
+ fr: 'Portière avant droite',
+ de: 'Vordertür rechts',
+ },
+ [VehiclePart.DOOR_FRONT_RIGHT]: {
+ en: 'Front Door Right',
+ fr: 'Portière avant gauche',
+ de: 'Tür vorne links',
+ },
+ [VehiclePart.FENDER_BACK_LEFT]: {
+ en: 'Rear Fender Left',
+ fr: 'Aile arrière gauche',
+ de: 'Kotflügel hinten links',
+ },
+ [VehiclePart.FENDER_BACK_RIGHT]: {
+ en: 'Rear Fender Right',
+ fr: 'Aile arrière droite',
+ de: 'Kotflügel hinten rechts',
+ },
+ [VehiclePart.FENDER_FRONT_LEFT]: {
+ en: 'Front Fender Left',
+ fr: 'Aile avant gauche',
+ de: 'Linker vorderer Kotflügel',
+ },
+ [VehiclePart.FENDER_FRONT_RIGHT]: {
+ en: 'Front Fender Right',
+ fr: 'Aile avant droite',
+ de: 'Rechter vorderer Flügel',
+ },
+ [VehiclePart.FOG_LIGHT_BACK_LEFT]: {
+ en: 'Rear Fog Light Left',
+ fr: 'Phare anti-brouillard arrière gauche',
+ de: 'Nebelscheinwerfer hinten links',
+ },
+ [VehiclePart.FOG_LIGHT_BACK_RIGHT]: {
+ en: 'Rear Fog Light Right',
+ fr: 'Phare anti-brouillard arrière droit',
+ de: 'Nebelscheinwerfer hinten rechts',
+ },
+ [VehiclePart.FOG_LIGHT_FRONT_LEFT]: {
+ en: 'Front Fog Light Left',
+ fr: 'Phare anti-brouillard avant gauche',
+ de: 'Nebelscheinwerfer vorne links',
+ },
+ [VehiclePart.FOG_LIGHT_FRONT_RIGHT]: {
+ en: 'Front Fog Light Right',
+ fr: 'Phare anti-brouillard avant droit',
+ de: 'Nebelscheinwerfer vorne rechts',
+ },
+ [VehiclePart.GRILL]: {
+ en: 'Grill',
+ fr: 'Grille',
+ de: 'Gitter',
+ },
+ [VehiclePart.GRILL_LOW]: {
+ en: 'Grill Low',
+ fr: 'Grille bas',
+ de: 'Gitter unten',
+ },
+ [VehiclePart.GRILL_RADIATOR]: {
+ en: 'Radiator Grill',
+ fr: 'Grille radiateur',
+ de: 'Heizkörpergitter',
+ },
+ [VehiclePart.HANDLE_BACK_LEFT]: {
+ en: 'Rear Handle Left',
+ fr: 'Poignée arrière gauche',
+ de: 'Griff hinten links',
+ },
+ [VehiclePart.HANDLE_BACK_RIGHT]: {
+ en: 'Rear Handle Right',
+ fr: 'Poignée arrière droite',
+ de: 'Griff hinten rechts',
+ },
+ [VehiclePart.HANDLE_FRONT_LEFT]: {
+ en: 'Front Handle Left',
+ fr: 'Poignée avant gauche',
+ de: 'Griff vorne links',
+ },
+ [VehiclePart.HANDLE_FRONT_RIGHT]: {
+ en: 'Front Handle Right',
+ fr: 'Poignée avant droite',
+ de: 'Griff vorne rechts',
+ },
+ [VehiclePart.HEADER_PANEL]: {
+ en: 'Header Panel',
+ fr: 'Panneau de tête',
+ de: 'Kopfleiste',
+ },
+ [VehiclePart.HEAD_LIGHT_LEFT]: {
+ en: 'Head Light Left',
+ fr: 'Phare gauche',
+ de: 'Linker Scheinwerfer',
+ },
+ [VehiclePart.HEAD_LIGHT_RIGHT]: {
+ en: 'Head Light Right',
+ fr: 'Phare droit',
+ de: 'Rechter Scheinwerfer',
+ },
+ [VehiclePart.HOOK]: {
+ en: 'Tow Hook',
+ fr: 'Crochet de remorquage',
+ de: 'Abschlepphaken',
+ },
+ [VehiclePart.HUBCAP]: {
+ en: 'Hubcap',
+ fr: 'Enjoliveur',
+ de: 'Radkappe',
+ },
+ [VehiclePart.HUBCAP_BACK_LEFT]: {
+ en: 'Rear Hubcap Left',
+ fr: 'Enjoliveur arrière gauche',
+ de: 'Radkappe hinten links',
+ },
+ [VehiclePart.HUBCAP_BACK_RIGHT]: {
+ en: 'Rear Hubcap Right',
+ fr: 'Enjoliveur arrière droit',
+ de: 'Radkappe hinten rechts',
+ },
+ [VehiclePart.HUBCAP_FRONT_LEFT]: {
+ en: 'Front Hubcap Left',
+ fr: 'Enjoliveur avant gauche',
+ de: 'Radkappe vorne links',
+ },
+ [VehiclePart.HUBCAP_FRONT_RIGHT]: {
+ en: 'Front Hubcap Right',
+ fr: 'Enjoliveur avant droite',
+ de: 'Radkappe vorne rechts',
+ },
+ [VehiclePart.INDICATOR_LIGHT_LEFT]: {
+ en: 'Indicator Light Left',
+ fr: 'Clignotant gauche',
+ de: 'Blinkend links',
+ },
+ [VehiclePart.INDICATOR_LIGHT_RIGHT]: {
+ en: 'Indicator Light Right',
+ fr: 'Clignotant droit',
+ de: 'Blinkend rechts',
+ },
+ [VehiclePart.LICENSE_PLATE_BACK]: {
+ en: 'Rear License Plate',
+ fr: "Plaque d'immatriculation arrière",
+ de: 'Autokennzeichen hinten',
+ },
+ [VehiclePart.LICENSE_PLATE_FRONT]: {
+ en: 'Front License Plate',
+ fr: "Plaque d'immatriculation avant",
+ de: 'Autokennzeichen vorne',
+ },
+ [VehiclePart.LOGO]: {
+ en: 'Logo',
+ fr: 'Logo',
+ de: 'Logo',
+ },
+ [VehiclePart.MIRROR_LEFT]: {
+ en: 'Mirror Left',
+ fr: 'Rétroviseur gauche',
+ de: 'Linker Spiegel',
+ },
+ [VehiclePart.MIRROR_RIGHT]: {
+ en: 'Mirror Right',
+ fr: 'Rétroviseur droit',
+ de: 'Rechter Spiegel',
+ },
+ [VehiclePart.MIRROR_SUPPORT]: {
+ en: 'Mirror Support',
+ fr: 'Support de rétroviseur',
+ de: 'Spiegelhalterung',
+ },
+ [VehiclePart.QUARTER_WINDOW_BACK_LEFT]: {
+ en: 'Rear Quarter Window Left',
+ fr: 'Vitres latérale arrière gauche',
+ de: 'Seitenfenster hinten links',
+ },
+ [VehiclePart.QUARTER_WINDOW_BACK_RIGHT]: {
+ en: 'Rear Quarter Window Right',
+ fr: 'Vitres latérale arrière droite',
+ de: 'Seitenfenster hinten rechts',
+ },
+ [VehiclePart.QUARTER_WINDOW_FRONT_LEFT]: {
+ en: 'Front Quarter Window Left',
+ fr: 'Vitres latérale avant gauche',
+ de: 'Seitenfenster vorne links',
+ },
+ [VehiclePart.QUARTER_WINDOW_FRONT_RIGHT]: {
+ en: 'Front Quarter Window Right',
+ fr: 'Vitres latérale avant droite',
+ de: 'Seitenfenster vorne rechts',
+ },
+ [VehiclePart.ROCKER_PANEL]: {
+ en: 'Rocker Panel',
+ fr: 'Bas de caisse',
+ de: 'Schweller',
+ },
+ [VehiclePart.ROCKER_PANEL_LEFT]: {
+ en: 'Rocker Panel Left',
+ fr: 'Bas de caisse gauche',
+ de: 'Schweller links',
+ },
+ [VehiclePart.ROCKER_PANEL_RIGHT]: {
+ en: 'Rocker Panel Right',
+ fr: 'Bas de caisse droit',
+ de: 'Rechter Schweller',
+ },
+ [VehiclePart.TAIL_LIGHT_CENTER]: {
+ en: 'Tail Light Left',
+ fr: 'Feu arrière centre',
+ de: 'Rücklicht Mitte',
+ },
+ [VehiclePart.TAIL_LIGHT_LEFT]: {
+ en: 'Tail Light Left',
+ fr: 'Feu arrière gauche',
+ de: 'Rücklicht links',
+ },
+ [VehiclePart.TAIL_LIGHT_RIGHT]: {
+ en: 'Tail Light Right',
+ fr: 'Feu arrière droite',
+ de: 'Rücklicht rechts',
+ },
+ [VehiclePart.TURN_SIGNAL_FRONT_LATERAL_LEFT]: {
+ en: 'Front Turn Signal Lateral Left',
+ fr: 'Clignotant avant latéral gauche',
+ de: 'Blinker vorne seitlich links',
+ },
+ [VehiclePart.TURN_SIGNAL_FRONT_LATERAL_RIGHT]: {
+ en: 'Front Turn Signal Lateral Right',
+ fr: 'Clignotant avant latéral droit',
+ de: 'Blinker vorne seitlich rechts',
+ },
+ [VehiclePart.WHEEL]: {
+ en: 'Wheel',
+ fr: 'Roue',
+ de: 'Rad',
+ },
+ [VehiclePart.WHEEL_BACK_LEFT]: {
+ en: 'Rear Wheel Left',
+ fr: 'Roue arrière gauche',
+ de: 'Linkes Hinterrad',
+ },
+ [VehiclePart.WHEEL_BACK_RIGHT]: {
+ en: 'Rear Wheel Right',
+ fr: 'Roue arrière droite',
+ de: 'Rechtes Hinterrad',
+ },
+ [VehiclePart.WHEEL_FRONT_LEFT]: {
+ en: 'Front Wheel Left',
+ fr: 'Roue avant gauche',
+ de: 'Vorderrad links',
+ },
+ [VehiclePart.WHEEL_FRONT_RIGHT]: {
+ en: 'Front Wheel Right',
+ fr: 'Roue avant droite',
+ de: 'Vorderrad rechts',
+ },
+ [VehiclePart.WINDOW_BACK_LEFT]: {
+ en: 'Rear Window Left',
+ fr: 'Vitre arrière gauche',
+ de: 'Hintere linke Scheibe',
+ },
+ [VehiclePart.WINDOW_BACK_RIGHT]: {
+ en: 'Rear Window Right',
+ fr: 'Vitre arrière droite',
+ de: 'Fenster hinten rechts',
+ },
+ [VehiclePart.WINDOW_CORNER_LEFT]: {
+ en: 'Corner Window Left',
+ fr: "Vitre d'angle gauche",
+ de: 'Fenster in der linken Ecke',
+ },
+ [VehiclePart.WINDOW_CORNER_RIGHT]: {
+ en: 'Corner Window Right',
+ fr: "Vitre d'angle droite",
+ de: 'Fenster in der rechten Ecke',
+ },
+ [VehiclePart.WINDOW_FRONT_LEFT]: {
+ en: 'Front Window Left',
+ fr: 'Vitre avant gauche',
+ de: 'Linke vordere Fensterscheibe',
+ },
+ [VehiclePart.WINDOW_FRONT_RIGHT]: {
+ en: 'Front Window Right',
+ fr: 'Vitre avant droite',
+ de: 'Fenster vorne rechts',
+ },
+ [VehiclePart.WINDSHIELD_BACK]: {
+ en: 'Windshield Back',
+ fr: 'Pare-brise arrière',
+ de: 'Hintere Windschutzscheibe',
+ },
+ [VehiclePart.WINDSHIELD_FRONT]: {
+ en: 'Windshield Front',
+ fr: 'Pare-brise avant',
+ de: 'Windschutzscheibe vorne',
+ },
+ [VehiclePart.WIPER]: {
+ en: 'Wiper',
+ fr: 'Essuie-glace',
+ de: 'Scheibenwischer',
+ },
+ [VehiclePart.WIPER_BACK]: {
+ en: 'Rear Wiper',
+ fr: 'Essuie-glace arrière',
+ de: 'Heckscheibenwischer',
+ },
+ [VehiclePart.WIPER_FRONT]: {
+ en: 'Front Wiper',
+ fr: 'Essuie-glace avant',
+ de: 'Scheibenwischer vorne',
+ },
+ [VehiclePart.FRONT_SPOILER]: {
+ en: 'Front Spoiler',
+ fr: 'Aileron avant',
+ de: 'Frontspoiler',
+ },
+ [VehiclePart.REAR_SPOILER]: {
+ en: 'Rear Spoiler',
+ fr: 'Aileron arrière',
+ de: 'Heckspoiler',
+ },
+ [VehiclePart.HOOD]: {
+ en: 'Hood',
+ fr: 'Capot',
+ de: 'Motorhaube',
+ },
+ [VehiclePart.PETROL_DOOR]: {
+ en: 'Petrol Door',
+ fr: 'Trappe à essence',
+ de: 'Tankklappe',
+ },
+ [VehiclePart.PILLAR]: {
+ en: 'Pillar',
+ fr: 'Carrosserie',
+ de: 'Karosserie',
+ },
+ [VehiclePart.ROOF]: {
+ en: 'Roof',
+ fr: 'Toit',
+ de: 'Dach',
+ },
+ [VehiclePart.TRUNK]: {
+ en: 'Trunk',
+ fr: 'Coffre',
+ de: 'Kofferraum',
+ },
+};
diff --git a/packages/public/common/src/i18n/translations/index.ts b/packages/public/common/src/i18n/translations/index.ts
new file mode 100644
index 000000000..270153a70
--- /dev/null
+++ b/packages/public/common/src/i18n/translations/index.ts
@@ -0,0 +1 @@
+export * from './carParts';
diff --git a/packages/public/network/src/api/apiModels/image.ts b/packages/public/network/src/api/apiModels/image.ts
index a21d1484a..950cc7ca9 100644
--- a/packages/public/network/src/api/apiModels/image.ts
+++ b/packages/public/network/src/api/apiModels/image.ts
@@ -1,3 +1,4 @@
+import { TranslationObject } from '@monkvision/types';
import type { ApiAdditionalData, ApiCenterOnElement, ApiLabelPrediction } from './common';
import type { ApiRenderedOutputs } from './renderedOutput';
import type { ApiImageComplianceResults } from './compliance';
@@ -22,8 +23,13 @@ export interface ApiViewpointComponent {
is_exterior?: boolean;
}
+export interface ApiImageAdditionalData extends ApiAdditionalData {
+ sightId?: string;
+ label?: TranslationObject;
+}
+
export interface ApiImageWithViews {
- additional_data?: ApiAdditionalData;
+ additional_data?: ApiImageAdditionalData;
binary_size: number;
compliances?: ApiImageComplianceResults;
detailed_viewpoint?: ApiViewpointComponent;
diff --git a/packages/public/network/src/api/requests/inspections/mappers.ts b/packages/public/network/src/api/requests/inspections/mappers.ts
index de22c772a..75b17c9a0 100644
--- a/packages/public/network/src/api/requests/inspections/mappers.ts
+++ b/packages/public/network/src/api/requests/inspections/mappers.ts
@@ -191,6 +191,8 @@ function mapImages(response: ApiInspectionGet): {
images.push({
id: image.id,
entityType: MonkEntityType.IMAGE,
+ inspectionId: response.id,
+ label: image.additional_data?.label,
path: image.path,
width: image.image_width,
height: image.image_height,
diff --git a/packages/public/network/test/api/requests/inspections/getInspection.testdata.json b/packages/public/network/test/api/requests/inspections/getInspection.testdata.json
index c4972c5b6..c6c8568e2 100644
--- a/packages/public/network/test/api/requests/inspections/getInspection.testdata.json
+++ b/packages/public/network/test/api/requests/inspections/getInspection.testdata.json
@@ -108,7 +108,7 @@
{
"additional_data": {
"category": "exterior",
- "id": "ffocus18-S3kgFOBb",
+ "sightId": "ffocus18-S3kgFOBb",
"label": {
"de": "Hinten Seitlich Niedrig Links",
"en": "Rear Lateral Low Left",
@@ -5571,7 +5571,7 @@
{
"additional_data": {
"category": "exterior",
- "id": "ffocus18-3TiCVAaN",
+ "sightId": "ffocus18-3TiCVAaN",
"label": {
"de": "Motorhaube",
"en": "Hood",
diff --git a/packages/public/network/test/api/requests/inspections/getInspectionParsed.testdata.ts b/packages/public/network/test/api/requests/inspections/getInspectionParsed.testdata.ts
index 366b44849..13d016214 100644
--- a/packages/public/network/test/api/requests/inspections/getInspectionParsed.testdata.ts
+++ b/packages/public/network/test/api/requests/inspections/getInspectionParsed.testdata.ts
@@ -55,6 +55,7 @@ export default {
{
id: '6a5e9a4c-8752-c1e6-6a34-38338074eda1',
entityType: 'IMAGE',
+ inspectionId: '42242f0b-378b-1325-424e-8d7430ad3f62',
path: 'https://www.googleapis.com/download/storage/v1/b/core-preview-images/o/rear_lateral_low_left.jpeg-eefefe38-b25b-471f-89ad-8adb2cbcca1f.jpeg?generation=1702474029543236&alt=media',
width: 1920,
height: 1080,
@@ -65,6 +66,11 @@ export default {
confidence: 0.9847987294197083,
prediction: 'left'
},
+ label: {
+ de: 'Hinten Seitlich Niedrig Links',
+ en: 'Rear Lateral Low Left',
+ fr: 'Arrière Gauche Latéral - vue basse',
+ },
renderedOutputs: [
'87650e8f-b8c9-6c6b-870f-acf0bfef402c',
'd44c1e3d-fcab-dd30-d426-bc42fb8df177'
@@ -96,7 +102,7 @@ export default {
],
additionalData: {
category: 'exterior',
- id: 'ffocus18-S3kgFOBb',
+ sightId: 'ffocus18-S3kgFOBb',
label: {
de: 'Hinten Seitlich Niedrig Links',
en: 'Rear Lateral Low Left',
@@ -115,9 +121,15 @@ export default {
type: 'beauty_shot',
viewpoint: {
confidence: 0.4582550525665283,
- prediction: 'front_left'
+ prediction: 'front_left',
},
compliances: {},
+ inspectionId: '42242f0b-378b-1325-424e-8d7430ad3f62',
+ label: {
+ de: 'Motorhaube',
+ en: 'Hood',
+ fr: 'Capot',
+ },
renderedOutputs: [
'd14655ab-f662-3898-d12c-f7d4f14414df',
'ffee30b3-6d49-58ea-ff84-92cc6a6f74ad'
@@ -137,7 +149,7 @@ export default {
],
additionalData: {
category: 'exterior',
- id: 'ffocus18-3TiCVAaN',
+ sightId: 'ffocus18-3TiCVAaN',
label: {
de: 'Motorhaube',
en: 'Hood',
@@ -147,6 +159,7 @@ export default {
},
{
id: '8ad728c4-90ee-7983-8abd-8abb97c855c4',
+ inspectionId: '42242f0b-378b-1325-424e-8d7430ad3f62',
entityType: 'IMAGE',
path: 'https://www.googleapis.com/download/storage/v1/b/core-preview-images/o/close_up_roof.jpeg-2a10933e-0e7d-4499-9586-82b932bd0b37.jpeg?generation=1702474029574675&alt=media',
width: 1920,
@@ -157,7 +170,12 @@ export default {
detailedViewpoint: {
centersOn: [
'roof'
- ]
+ ],
+ },
+ label: {
+ de: 'Dach',
+ en: 'Roof',
+ fr: 'Toit'
},
renderedOutputs: [
'00b314cf-c28d-d75e-00d9-b6b0c5abfb19',
diff --git a/packages/public/types/src/index.ts b/packages/public/types/src/index.ts
index bb70ec584..158e5ec39 100644
--- a/packages/public/types/src/index.ts
+++ b/packages/public/types/src/index.ts
@@ -4,4 +4,4 @@ export * from './theme';
export * from './jsx';
export * from './i18n';
export * from './utils';
-export * from './type-utils';
+export * from './typeUtils';
diff --git a/packages/public/types/src/state/image.ts b/packages/public/types/src/state/image.ts
index ee08d3059..c142f1489 100644
--- a/packages/public/types/src/state/image.ts
+++ b/packages/public/types/src/state/image.ts
@@ -1,6 +1,7 @@
import { AdditionalData, ProgressStatus, LabelPrediction } from './common';
import { MonkEntity, MonkEntityType } from './entity';
import { VehiclePart } from './part';
+import { TranslationObject } from '../i18n';
/**
* The type of image.
@@ -164,6 +165,10 @@ export interface Image extends MonkEntity {
* The type of the entity.
*/
entityType: MonkEntityType.IMAGE;
+ /**
+ * The ID of the inspection that this image was uploaded to.
+ */
+ inspectionId: string;
/**
* The URL at which the image can be downloaded.
*/
@@ -188,6 +193,10 @@ export interface Image extends MonkEntity {
* The type of the image.
*/
type: ImageType;
+ /**
+ * The labels (one for each language) of this image.
+ */
+ label?: TranslationObject;
/**
* The subtype of the image.
*/
diff --git a/packages/public/types/src/theme/colors.ts b/packages/public/types/src/theme/colors.ts
index d68bbf0cc..938bdef07 100644
--- a/packages/public/types/src/theme/colors.ts
+++ b/packages/public/types/src/theme/colors.ts
@@ -1,4 +1,4 @@
-import { DashConcat } from '../type-utils';
+import { DashConcat } from '../typeUtils';
/**
* Type definition for a color code. For now, this type is just an alias for `string`.
diff --git a/packages/public/types/src/type-utils.ts b/packages/public/types/src/typeUtils.ts
similarity index 100%
rename from packages/public/types/src/type-utils.ts
rename to packages/public/types/src/typeUtils.ts