Skip to content

Commit 52cf2a8

Browse files
committed
feat(frontend): stabilize scan layout
1 parent a47f71b commit 52cf2a8

2 files changed

Lines changed: 33 additions & 7 deletions

File tree

apps/frontend/src/app/globals.css

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,9 @@ body {
238238
backdrop-filter: blur(12px);
239239
display: grid;
240240
gap: 18px;
241+
width: 100%;
242+
max-width: 520px;
243+
justify-self: end;
241244
}
242245

243246
.card-header {
@@ -269,12 +272,20 @@ body {
269272
border: 2px dashed rgba(140, 82, 255, 0.25);
270273
border-radius: 20px;
271274
padding: 24px;
272-
display: grid;
273-
gap: 12px;
275+
display: flex;
276+
flex-direction: column;
277+
gap: 14px;
278+
align-items: center;
274279
text-align: center;
275280
background: rgba(140, 82, 255, 0.06);
276281
}
277282

283+
.dropzone-content {
284+
display: grid;
285+
gap: 8px;
286+
justify-items: center;
287+
}
288+
278289
.dropzone span {
279290
display: block;
280291
font-size: 12px;
@@ -295,6 +306,10 @@ body {
295306
gap: 8px;
296307
}
297308

309+
.upload-actions .primary-button {
310+
width: 100%;
311+
}
312+
298313
.upload-actions button:disabled {
299314
opacity: 0.6;
300315
cursor: not-allowed;
@@ -333,6 +348,12 @@ body {
333348
.result-header {
334349
font-weight: 600;
335350
margin-bottom: 8px;
351+
cursor: pointer;
352+
list-style: none;
353+
}
354+
355+
.result-card summary::-webkit-details-marker {
356+
display: none;
336357
}
337358

338359
.card-footer {
@@ -392,4 +413,8 @@ body {
392413
flex-direction: column;
393414
align-items: flex-start;
394415
}
416+
417+
.hero-card {
418+
justify-self: stretch;
419+
}
395420
}

apps/frontend/src/app/page.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ export default function Home() {
145145
<span className="chip">Profile: Full</span>
146146
</div>
147147
<div className="dropzone">
148-
<div className="drop-icon"></div>
149-
<div>
148+
<div className="dropzone-content">
149+
<div className="drop-icon"></div>
150150
<strong>Drag &amp; drop your bundle</strong>
151151
<span>.ipa or .app, up to 1GB</span>
152152
</div>
@@ -156,6 +156,7 @@ export default function Home() {
156156
type="file"
157157
accept=".ipa,.app"
158158
onChange={handleFileChange}
159+
hidden
159160
/>
160161
<button className="secondary-button" type="button" onClick={handleChooseFile}>
161162
Choose file
@@ -176,10 +177,10 @@ export default function Home() {
176177
</div>
177178
{status ? <div className="status-pill">{status}</div> : null}
178179
{result ? (
179-
<div className="result-card">
180-
<div className="result-header">Latest report</div>
180+
<details className="result-card" open>
181+
<summary className="result-header">Latest report</summary>
181182
<pre>{result}</pre>
182-
</div>
183+
</details>
183184
) : null}
184185
<div className="card-footer">
185186
<div>

0 commit comments

Comments
 (0)