fix: keep mobile tabs immediately reachable
This commit is contained in:
+15
-15
@@ -728,6 +728,21 @@ function App() {
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<nav className="tab-bar" aria-label="BuildPulse v0.1 views" role="tablist">
|
||||
{TABS.map((tab) => (
|
||||
<button
|
||||
key={tab.key}
|
||||
type="button"
|
||||
role="tab"
|
||||
aria-selected={tab.key === activeTab}
|
||||
className={tab.key === activeTab ? 'tab active' : 'tab'}
|
||||
onClick={() => setActiveTab(tab.key)}
|
||||
>
|
||||
{tab.label}
|
||||
</button>
|
||||
))}
|
||||
</nav>
|
||||
|
||||
<section className="status-strip card">
|
||||
<div className="status-strip-row">
|
||||
<span className={`pill status-${backendMode === 'appwrite' ? 'healthy' : backendMode === 'connecting' ? 'connecting' : 'degraded'}`}>
|
||||
@@ -785,21 +800,6 @@ function App() {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<nav className="tab-bar" aria-label="BuildPulse v0.1 views" role="tablist">
|
||||
{TABS.map((tab) => (
|
||||
<button
|
||||
key={tab.key}
|
||||
type="button"
|
||||
role="tab"
|
||||
aria-selected={tab.key === activeTab}
|
||||
className={tab.key === activeTab ? 'tab active' : 'tab'}
|
||||
onClick={() => setActiveTab(tab.key)}
|
||||
>
|
||||
{tab.label}
|
||||
</button>
|
||||
))}
|
||||
</nav>
|
||||
|
||||
<div className="quick-actions card">
|
||||
<button type="button" className="ghost" onClick={() => setActiveTab('functionalities')}>
|
||||
Show Functionalities
|
||||
|
||||
@@ -1052,3 +1052,44 @@ select {
|
||||
.project-card {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Mobile reachability patch: tabs live immediately under the hero, and the page itself never side-scrolls. */
|
||||
html,
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.hero-stats,
|
||||
.hero-stats div,
|
||||
.hero-copy,
|
||||
.hero-goal {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.hero-copy,
|
||||
.hero-goal {
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
@media (max-width: 860px) {
|
||||
.tab-bar {
|
||||
top: 0.4rem;
|
||||
margin-top: 0.65rem;
|
||||
}
|
||||
|
||||
.hero-card {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.hero-stats {
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.hero-stats div {
|
||||
padding: 0.7rem;
|
||||
}
|
||||
|
||||
.hero-stats strong {
|
||||
font-size: 1.35rem;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user