generated from nhcarrigan/template
fix: improve responsive design for navigation and status bars
- Add flex-wrap to StatusBar icon container to prevent overflow - Add responsive media queries to hide button text on small screens (< 640px) - Stack StatusBar sections vertically on mobile (< 768px) - Add flex-wrap to InputBar controls to prevent bottom status info cutoff - Make control buttons show icons only on small screens - All buttons now use flex-shrink: 0 to prevent unwanted squishing - Ensures Connect button, clock, and CLI version remain visible at all screen sizes
This commit is contained in:
@@ -1071,6 +1071,7 @@ User: ${formattedMessage}`;
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.control-button {
|
.control-button {
|
||||||
@@ -1087,6 +1088,18 @@ User: ${formattedMessage}`;
|
|||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide button text on smaller screens, show icons only */
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
.control-button span {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.control-button {
|
||||||
|
padding: 10px;
|
||||||
|
min-width: 40px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.control-button:hover {
|
.control-button:hover {
|
||||||
|
|||||||
@@ -381,16 +381,16 @@
|
|||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-2 flex-wrap min-w-0">
|
||||||
{#if streamerModeActive}
|
{#if streamerModeActive}
|
||||||
<div
|
<div
|
||||||
class="w-2.5 h-2.5 rounded-full bg-red-500 animate-pulse"
|
class="w-2.5 h-2.5 rounded-full bg-red-500 animate-pulse shrink-0"
|
||||||
title="Streamer mode active (Ctrl+Shift+S to toggle)"
|
title="Streamer mode active (Ctrl+Shift+S to toggle)"
|
||||||
></div>
|
></div>
|
||||||
{/if}
|
{/if}
|
||||||
<button
|
<button
|
||||||
onclick={() => (showProfile = true)}
|
onclick={() => (showProfile = true)}
|
||||||
class="p-1 text-gray-500 icon-trans-hover"
|
class="p-1 text-gray-500 icon-trans-hover shrink-0"
|
||||||
title="Profile"
|
title="Profile"
|
||||||
>
|
>
|
||||||
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
@@ -744,3 +744,32 @@
|
|||||||
{#if showMcpPanel}
|
{#if showMcpPanel}
|
||||||
<McpManagementPanel onClose={() => (showMcpPanel = false)} />
|
<McpManagementPanel onClose={() => (showMcpPanel = false)} />
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* Responsive status bar styling */
|
||||||
|
.status-bar {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make all icon buttons shrink but not grow */
|
||||||
|
.status-bar button {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide version text on very small screens */
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
.status-bar button span:last-of-type {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Stack left and right sections on very small screens */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.status-bar {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.75rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user