Skip to content

Commit f781c46

Browse files
committed
Add iOS App Store badges with coming soon state
- Restructure store section with Android/iOS fieldsets side by side - Add disabled iOS badges (Free + Pro) with "Coming soon" overlay - Highlight active Android fieldset with accent border
1 parent c2f21d9 commit f781c46

2 files changed

Lines changed: 102 additions & 20 deletions

File tree

public/src/app/app.html

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -196,18 +196,45 @@ <h3 i18n="@@installation.step2.title">Install the Mobile App</h3>
196196
</div>
197197
<div class="doc-step-content">
198198
<p i18n="@@installation.step2.desc">Get AIPilot from Google Play or App Store</p>
199-
<div class="store-buttons-grid">
200-
<div class="store-option">
201-
<span class="store-label" i18n="@@installation.free">Free</span>
202-
<a href="https://play.google.com/store/apps/details?id=com.softwarity.aipilot" target="_blank" class="store-button">
203-
<img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" alt="Google Play Free" height="40">
204-
</a>
199+
<div class="store-ecosystems">
200+
<div class="store-fieldset-wrapper">
201+
<fieldset class="store-fieldset">
202+
<legend>Android</legend>
203+
<div class="store-fieldset-content">
204+
<div class="store-option">
205+
<span class="store-label" i18n="@@installation.free">Free</span>
206+
<a href="https://play.google.com/store/apps/details?id=com.softwarity.aipilot" target="_blank" class="store-badge">
207+
<img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" alt="Google Play Free">
208+
</a>
209+
</div>
210+
<div class="store-option">
211+
<span class="store-label pro" i18n="@@installation.pro">Pro</span>
212+
<a href="https://play.google.com/store/apps/details?id=com.softwarity.aipilot.pro" target="_blank" class="store-badge">
213+
<img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" alt="Google Play Pro">
214+
</a>
215+
</div>
216+
</div>
217+
</fieldset>
205218
</div>
206-
<div class="store-option">
207-
<span class="store-label pro" i18n="@@installation.pro">Pro</span>
208-
<a href="https://play.google.com/store/apps/details?id=com.softwarity.aipilot.pro" target="_blank" class="store-button">
209-
<img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" alt="Google Play Pro" height="40">
210-
</a>
219+
<div class="store-fieldset-wrapper">
220+
<fieldset class="store-fieldset disabled">
221+
<legend>iOS</legend>
222+
<div class="store-fieldset-content">
223+
<div class="store-option">
224+
<span class="store-label" i18n="@@installation.free">Free</span>
225+
<span class="store-badge">
226+
<img src="https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg" alt="App Store Free">
227+
</span>
228+
</div>
229+
<div class="store-option">
230+
<span class="store-label pro" i18n="@@installation.pro">Pro</span>
231+
<span class="store-badge">
232+
<img src="https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg" alt="App Store Pro">
233+
</span>
234+
</div>
235+
</div>
236+
</fieldset>
237+
<span class="store-coming-soon" i18n="@@installation.prerequisites.comingSoon">Coming soon</span>
211238
</div>
212239
</div>
213240
</div>

public/src/app/app.scss

Lines changed: 64 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -431,26 +431,78 @@
431431
margin-top: 12px;
432432
}
433433

434-
.store-buttons-grid {
434+
.store-ecosystems {
435435
display: flex;
436436
gap: 24px;
437-
margin-top: 12px;
438-
flex-wrap: wrap;
437+
margin-top: 16px;
438+
justify-content: center;
439+
align-items: stretch;
440+
}
441+
442+
.store-fieldset-wrapper {
443+
position: relative;
444+
flex: 1;
445+
min-width: 0;
446+
}
447+
448+
.store-fieldset {
449+
border: 1px solid var(--border-color);
450+
border-radius: 8px;
451+
padding: 16px 20px;
452+
margin: 0;
453+
height: 100%;
454+
455+
legend {
456+
font-size: 14px;
457+
font-weight: 500;
458+
color: var(--text-primary);
459+
padding: 0 8px;
460+
}
461+
462+
&:not(.disabled) {
463+
border-color: var(--accent-orange);
464+
}
465+
466+
&.disabled {
467+
opacity: 0.3;
468+
filter: grayscale(1);
469+
}
470+
}
471+
472+
.store-coming-soon {
473+
position: absolute;
474+
top: 50%;
475+
left: 50%;
476+
transform: translate(-50%, -50%);
477+
font-size: 0.85rem;
478+
font-weight: 600;
479+
color: var(--accent-orange);
480+
background: var(--bg-primary);
481+
padding: 4px 14px;
482+
border-radius: 6px;
483+
border: 1px solid var(--accent-orange);
484+
white-space: nowrap;
485+
}
486+
487+
.store-fieldset-content {
488+
display: flex;
489+
gap: 16px;
439490
justify-content: center;
491+
align-items: flex-end;
440492
}
441493

442494
.store-option {
443495
display: flex;
444496
flex-direction: column;
445497
align-items: center;
446-
gap: 8px;
498+
gap: 6px;
447499
}
448500

449501
.store-label {
450-
font-size: 14px;
502+
font-size: 12px;
451503
font-weight: 600;
452504
color: var(--text-secondary);
453-
padding: 4px 12px;
505+
padding: 2px 10px;
454506
background-color: var(--bg-secondary);
455507
border-radius: 4px;
456508

@@ -460,9 +512,12 @@
460512
}
461513
}
462514

463-
.store-button {
464-
display: inline-block;
465-
img { height: 40px; }
515+
.store-badge {
516+
display: inline-flex;
517+
align-items: center;
518+
justify-content: center;
519+
height: 40px;
520+
img { height: 40px; width: auto; }
466521
}
467522

468523
// Screenshots Grid

0 commit comments

Comments
 (0)