circles/src/app/static/css/nav_island.css
2025-06-19 05:17:14 +03:00

98 lines
2.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Navigation Island - from original Yew project CSS */
/* Navigation Island - simplified transform-based collapse/expand */
.nav-island {
position: fixed;
right: 28px;
bottom: 16px;
display: flex;
flex-direction: row;
align-items: flex-end;
background: var(--bg-medium); /* Was rgba(30,32,40,0.98), using common.css variable, assuming full opacity is acceptable */
border-radius: var(--border-radius-large); /* Was 14px, using common.css variable (16px) */
box-shadow: 0 8px 32px 0 rgba(0,0,0,0.18), 0 1.5px 8px 0 rgba(0,0,0,0.10); /* Keeping specific shadow */
padding: 4px 9px;
z-index: 9000;
overflow: hidden;
transition: width 0.42s ease;
will-change: width;
}
.nav-island.collapsed {
width: 88px;
}
.nav-island.collapsed:hover:not(.clicked),
.nav-island.collapsed:focus-within:not(.clicked) {
width: 720px; /* 9 buttons × (82px + 6px margin) + padding = ~816px */
}
.nav-island.clicked {
width: 88px !important;
}
.nav-island-buttons {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 0;
white-space: nowrap;
transition: transform 0.42s ease;
will-change: transform;
}
.nav-island.collapsed .nav-island-buttons {
transform: translateX(-6px); /* Small offset to keep first button visible */
}
.nav-island.collapsed:hover:not(.clicked) .nav-island-buttons,
.nav-island.collapsed:focus-within:not(.clicked) .nav-island-buttons {
transform: translateX(0);
}
.nav-island.clicked .nav-island-buttons {
transform: translateX(-6px) !important;
}
.nav-button {
width: 82px;
background-color: transparent;
color: var(--text-secondary); /* Common.css variable */
border: 1px solid transparent;
border-radius: var(--border-radius-medium); /* Was 10px, using common.css variable (8px) */
font-size: 0.85em;
font-weight: 400;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
cursor: pointer;
transition: background 0.2s, color 0.2s, border 0.2s;
margin-right: 6px;
outline: none;
padding: 10px 15px;
flex-shrink: 0;
}
.nav-button i {
font-size: 1.2em;
}
.nav-button:hover {
background-color: color-mix(in srgb, var(--primary-accent) 10%, transparent); /* Common.css primary with alpha */
color: var(--primary-accent); /* Common.css variable */
border-color: var(--primary-accent); /* Common.css variable */
}
.nav-button.active {
background-color: var(--primary-accent); /* Common.css variable */
color: var(--bg-dark); /* Common.css variable */
font-weight: 600;
box-shadow: 0 0 10px var(--primary-accent); /* Glow with common primary */
}
.nav-button.active:hover {
background-color: var(--primary-accent); /* Common.css variable, keep active color on hover */
color: var(--bg-dark); /* Common.css variable */
}