Skip to content

Commit cbd2a01

Browse files
Improve app gallery image sizing (no cropping) (#20287)
<img width="908" height="808" alt="Screenshot 2026-05-05 at 7 38 46 PM" src="https://github.com/user-attachments/assets/a6f0a9b7-f676-46a3-8642-48c4bd06c7f4" />
1 parent 8253fb6 commit cbd2a01

2 files changed

Lines changed: 11 additions & 5 deletions

File tree

packages/twenty-docs/developers/extend/apps/publishing.mdx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,14 @@ export default defineApplication({
198198

199199
See the [defineApplication accordion](/developers/extend/apps/building#defineentity-functions) in the Building Apps page for the full list of marketplace fields (`author`, `category`, `aboutDescription`, `websiteUrl`, `termsUrl`, etc.).
200200

201+
#### Recommended screenshot dimensions
202+
203+
The marketplace renders `screenshots` in a fixed `8:5` container (for example, `1600×1000 px`).
204+
205+
<Note>
206+
Screenshots of any aspect ratio are displayed in full and are never cropped, but anything significantly taller or narrower than `8:5` will show empty bands on the sides.
207+
</Note>
208+
201209
### Publish
202210

203211
```bash filename="Terminal"

packages/twenty-front/src/modules/settings/applications/components/SettingsApplicationScreenshotGallery.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ const StyledScreenshotsContainer = styled.div`
2929

3030
const StyledScreenshotImage = styled.img`
3131
height: 100%;
32-
object-fit: cover;
33-
object-position: center;
32+
object-fit: contain;
3433
width: 100%;
3534
`;
3635

@@ -43,6 +42,7 @@ const StyledScreenshotThumbnails = styled.div`
4342

4443
const StyledThumbnail = styled.div<{ isSelected?: boolean }>`
4544
align-items: center;
45+
aspect-ratio: 8 / 5;
4646
background-color: ${themeCssVariables.background.secondary};
4747
border: 1px solid
4848
${({ isSelected }) =>
@@ -53,7 +53,6 @@ const StyledThumbnail = styled.div<{ isSelected?: boolean }>`
5353
cursor: pointer;
5454
display: flex;
5555
flex: 0 0 96px;
56-
height: 56px;
5756
justify-content: center;
5857
overflow: hidden;
5958
@@ -64,8 +63,7 @@ const StyledThumbnail = styled.div<{ isSelected?: boolean }>`
6463

6564
const StyledThumbnailImage = styled.img`
6665
height: 100%;
67-
object-fit: cover;
68-
object-position: center;
66+
object-fit: contain;
6967
width: 100%;
7068
`;
7169

0 commit comments

Comments
 (0)