Skip to content

Commit 2668839

Browse files
JacobCoffeeclaude
andauthored
Fix Open Space detail view spacing (#245)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent bb8da0d commit 2668839

3 files changed

Lines changed: 35 additions & 5 deletions

File tree

src/app/pages/session-detail/session-detail.html

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,14 @@ <h2>{{speaker.name}}</h2>
5353
</ion-item>
5454
</div>
5555

56-
<div *ngIf="session.imageUrl" class="session-image-container">
57-
<img [src]="session.imageUrl" class="session-image">
56+
<div *ngIf="session.imageUrl" class="session-image-container" [class.open-space-image-container]="isOpenSpace">
57+
<img [src]="session.imageUrl" class="session-image" [class.open-space-hero-image]="isOpenSpace">
5858
</div>
5959

60-
<div class="session-description" [innerHtml]="session?.description" (click)="onDescriptionClick($event)">
60+
<div class="session-description"
61+
[class.open-space-description]="isOpenSpace"
62+
[innerHtml]="session?.description"
63+
(click)="onDescriptionClick($event)">
6164
</div>
6265
</div>
6366
</ion-content>

src/app/pages/session-detail/session-detail.scss

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@
2626
gap: 10px;
2727
}
2828

29+
// When image or description directly follows meta-card (no speakers section),
30+
// add extra top spacing for visual breathing room
31+
.session-meta-card + .session-image-container,
32+
.session-meta-card + .session-description {
33+
margin-top: 4px;
34+
}
35+
2936
:host-context(.dark-theme) .session-meta-card {
3037
background: var(--ion-color-step-100, #1a1a1a);
3138
}
@@ -70,15 +77,27 @@
7077
}
7178

7279
.session-image-container {
73-
margin: 16px 0;
80+
margin: 16px 0 20px;
7481
text-align: center;
82+
83+
&.open-space-image-container {
84+
margin: 4px 0 24px;
85+
}
7586
}
7687

7788
.session-image {
7889
max-width: 100%;
7990
max-height: 300px;
8091
border-radius: 12px;
8192
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
93+
94+
&.open-space-hero-image {
95+
max-height: 220px;
96+
width: 100%;
97+
object-fit: cover;
98+
border-radius: 12px;
99+
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
100+
}
82101
}
83102

84103
.session-description {
@@ -94,4 +113,10 @@
94113
color: var(--ion-color-primary);
95114
text-decoration: none;
96115
}
116+
117+
&.open-space-description {
118+
padding-top: 4px;
119+
white-space: pre-line;
120+
word-wrap: break-word;
121+
}
97122
}

src/app/pages/session-detail/session-detail.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { environment } from '../../../environments/environment';
1616
export class SessionDetailPage {
1717
session: any;
1818
isFavorite = false;
19+
isOpenSpace = false;
1920
defaultHref = '';
2021

2122
constructor(
@@ -33,7 +34,8 @@ export class SessionDetailPage {
3334
const foundSession = data.sessions.find(
3435
(s: any) => String(s.id) === String(sessionId)
3536
)
36-
this.session = foundSession
37+
this.session = foundSession;
38+
this.isOpenSpace = this.session?.tracks?.includes('open-space');
3739

3840
this.isFavorite = this.userProvider.hasFavorite(
3941
String(this.session.id)

0 commit comments

Comments
 (0)