From bce74d6c5685f746e13d5d788852e2c3e262a545 Mon Sep 17 00:00:00 2001 From: Maurice Date: Fri, 23 Oct 2026 22:39:41 +0200 Subject: [PATCH] fix(studio): one import of each locale file, and a photo's cut edge in the split out photo view --- client/src/components/Studio/PhotoView.tsx | 13 ++++++++----- shared/src/i18n/ar/index.ts | 1 - shared/src/i18n/az/index.ts | 1 - shared/src/i18n/br/index.ts | 1 - shared/src/i18n/ca/index.ts | 1 - shared/src/i18n/cs/index.ts | 1 - shared/src/i18n/de/index.ts | 1 - shared/src/i18n/en/index.ts | 1 - shared/src/i18n/es/index.ts | 1 - shared/src/i18n/et/index.ts | 1 - shared/src/i18n/fr/index.ts | 1 - shared/src/i18n/gr/index.ts | 1 - shared/src/i18n/hu/index.ts | 1 - shared/src/i18n/id/index.ts | 1 - shared/src/i18n/it/index.ts | 1 - shared/src/i18n/ja/index.ts | 1 - shared/src/i18n/ko/index.ts | 1 - shared/src/i18n/nl/index.ts | 1 - shared/src/i18n/pl/index.ts | 1 - shared/src/i18n/ru/index.ts | 1 - shared/src/i18n/sk/index.ts | 1 - shared/src/i18n/sv/index.ts | 1 - shared/src/i18n/th/index.ts | 1 - shared/src/i18n/tr/index.ts | 1 - shared/src/i18n/uk/index.ts | 1 - shared/src/i18n/vi/index.ts | 1 - shared/src/i18n/zh-TW/index.ts | 1 - shared/src/i18n/zh/index.ts | 1 - 28 files changed, 8 insertions(+), 32 deletions(-) diff --git a/client/src/components/Studio/PhotoView.tsx b/client/src/components/Studio/PhotoView.tsx index a7d24574d..d2d7b68cd 100644 --- a/client/src/components/Studio/PhotoView.tsx +++ b/client/src/components/Studio/PhotoView.tsx @@ -5,7 +5,8 @@ import { fontStack } from './bookFonts'; import { photoSrc } from './bookRender'; import { usePaintId } from './paint/usePaintId'; import { pictureFilter, silhouetteShadows, svgFilterMatrices, zoomPlacement } from './photo/photoLook'; -import { HOLED_SHAPES, SHAPE_PATHS, scalePath, unitPath } from './shapes'; +import { HOLED_SHAPES, SHAPE_PATHS, scalePath } from './shapes'; +import { photoClip } from './shapeOutline'; /** * A picture on the page: possibly cut to a shape, possibly sitting in @@ -271,7 +272,9 @@ export function PhotoView({ const filterRef = usePaintId(`f-${el.id}`); // The shape the picture is cut to; a rect mask is no mask at all. const mask = el.mask && el.mask !== 'rect' ? el.mask : null; - const clipped = mask !== null; + // The cut as a unit path: the mask, its cut edge, or a cut edge on the rectangle (shapeOutline.ts). + const clip = photoClip(el, el.frame.w - pad * 2, el.frame.h - pad - (bottom || pad)); + const clipped = clip !== null; // An empty frame wears the frame style but none of the look: a border or a // shadow around a hatch would read as part of the picture to come. const empty = el.photoId == null; @@ -356,12 +359,12 @@ export function PhotoView({ )} - {(mask || filterId) && ( + {(clip || filterId) && ( - {mask && ( + {clip && ( - + )} {filterId && ( diff --git a/shared/src/i18n/ar/index.ts b/shared/src/i18n/ar/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/ar/index.ts +++ b/shared/src/i18n/ar/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/az/index.ts b/shared/src/i18n/az/index.ts index d2d07b42a..0e4a62031 100644 --- a/shared/src/i18n/az/index.ts +++ b/shared/src/i18n/az/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/br/index.ts b/shared/src/i18n/br/index.ts index a4005f70c..d042b5e6d 100644 --- a/shared/src/i18n/br/index.ts +++ b/shared/src/i18n/br/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/ca/index.ts b/shared/src/i18n/ca/index.ts index 2ab00a9dd..9d031fc47 100644 --- a/shared/src/i18n/ca/index.ts +++ b/shared/src/i18n/ca/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/cs/index.ts b/shared/src/i18n/cs/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/cs/index.ts +++ b/shared/src/i18n/cs/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/de/index.ts b/shared/src/i18n/de/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/de/index.ts +++ b/shared/src/i18n/de/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/en/index.ts b/shared/src/i18n/en/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/en/index.ts +++ b/shared/src/i18n/en/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/es/index.ts b/shared/src/i18n/es/index.ts index c49f174ce..4c8c66d78 100644 --- a/shared/src/i18n/es/index.ts +++ b/shared/src/i18n/es/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/et/index.ts b/shared/src/i18n/et/index.ts index d2d07b42a..0e4a62031 100644 --- a/shared/src/i18n/et/index.ts +++ b/shared/src/i18n/et/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/fr/index.ts b/shared/src/i18n/fr/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/fr/index.ts +++ b/shared/src/i18n/fr/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/gr/index.ts b/shared/src/i18n/gr/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/gr/index.ts +++ b/shared/src/i18n/gr/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/hu/index.ts b/shared/src/i18n/hu/index.ts index a4005f70c..d042b5e6d 100644 --- a/shared/src/i18n/hu/index.ts +++ b/shared/src/i18n/hu/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/id/index.ts b/shared/src/i18n/id/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/id/index.ts +++ b/shared/src/i18n/id/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/it/index.ts b/shared/src/i18n/it/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/it/index.ts +++ b/shared/src/i18n/it/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/ja/index.ts b/shared/src/i18n/ja/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/ja/index.ts +++ b/shared/src/i18n/ja/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/ko/index.ts b/shared/src/i18n/ko/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/ko/index.ts +++ b/shared/src/i18n/ko/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/nl/index.ts b/shared/src/i18n/nl/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/nl/index.ts +++ b/shared/src/i18n/nl/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/pl/index.ts b/shared/src/i18n/pl/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/pl/index.ts +++ b/shared/src/i18n/pl/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/ru/index.ts b/shared/src/i18n/ru/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/ru/index.ts +++ b/shared/src/i18n/ru/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/sk/index.ts b/shared/src/i18n/sk/index.ts index d2d07b42a..0e4a62031 100644 --- a/shared/src/i18n/sk/index.ts +++ b/shared/src/i18n/sk/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/sv/index.ts b/shared/src/i18n/sv/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/sv/index.ts +++ b/shared/src/i18n/sv/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/th/index.ts b/shared/src/i18n/th/index.ts index d2d07b42a..0e4a62031 100644 --- a/shared/src/i18n/th/index.ts +++ b/shared/src/i18n/th/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/tr/index.ts b/shared/src/i18n/tr/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/tr/index.ts +++ b/shared/src/i18n/tr/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/uk/index.ts b/shared/src/i18n/uk/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/uk/index.ts +++ b/shared/src/i18n/uk/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/vi/index.ts b/shared/src/i18n/vi/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/vi/index.ts +++ b/shared/src/i18n/vi/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/zh-TW/index.ts b/shared/src/i18n/zh-TW/index.ts index d33915b22..2ab9e237b 100644 --- a/shared/src/i18n/zh-TW/index.ts +++ b/shared/src/i18n/zh-TW/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo'; diff --git a/shared/src/i18n/zh/index.ts b/shared/src/i18n/zh/index.ts index 487b263e1..d7ad5e665 100644 --- a/shared/src/i18n/zh/index.ts +++ b/shared/src/i18n/zh/index.ts @@ -66,7 +66,6 @@ import studioPhoto from './studioPhoto'; import studioStickers from './studioStickers'; import studioShapes from './studioShapes'; import studioThemes from './studioThemes'; -import studioStickers from './studioStickers'; import studioText from './studioText'; import system_notice from './system_notice'; import todo from './todo';