Files
computer-playbook/roles/web-app-littlejs/files/style.css
Kevin Veen-Birkenbach 6fda85788a feat(web-app-littlejs): add JS submenu support, left-expand menus, improve headline & cleanup examples
This update introduces full JavaScript-based nested submenu handling for the
Apps menu, enabling reliable click-based toggling without interference from
Bootstrap’s native dropdown logic. Submenus now expand to the left via custom
CSS and no longer require dropstart or data-bs-toggle attributes.

Changes include:
- Add javascript feature flag and enable inline eval in CSP
- Add javascript.js implementing custom submenu toggle logic
- Add CSS rules for left-expanding nested dropdown menus
- Replace hardcoded headline with LITTLEJS_HEADLINE variable
- Modernize “Play” → “Start” labels in cards
- Remove unused/legacy examples from examples.yml (commented out, not deleted)
- Cleanup nav_top.html.j2 to remove conflicting Bootstrap attributes

Conversation reference:
https://chatgpt.com/share/6928b4c7-19ec-800f-a087-9af304ef4ed9
2025-11-27 21:30:15 +01:00

68 lines
1.5 KiB
CSS

/* Global Base Styling */
body {
/* Use Infinito.Nexus color scheme variables */
background-color: var(--color-01-90);
color: var(--color-01-05);
min-height: 100vh;
padding-bottom: 4rem; /* Space for footer bar */
}
/* Card Styling (Infinito.Nexus Homepage Style) */
.app-card {
border-radius: 1rem;
background: radial-gradient(
circle at top left,
rgba(var(--color-rgb-01-10), 0.95),
rgba(var(--color-rgb-01-20), 0.90)
);
border: 1px solid rgba(var(--color-rgb-01-40), 0.35);
box-shadow: 0 18px 45px rgba(var(--color-rgb-01-90), 0.65);
transition: transform .12s ease-out, box-shadow .12s ease-out, border-color .12s ease-out;
}
.app-card:hover {
transform: translateY(-3px);
box-shadow: 0 22px 60px rgba(var(--color-rgb-01-90), 0.90);
border-color: rgba(var(--color-rgb-01-30), 0.70);
}
.app-icon {
font-size: 2.6rem;
}
.app-badge {
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: .12em;
}
/* Footer Bar */
.footer-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 1030;
}
.footer-bar .btn-link {
text-decoration: none;
font-size: 0.8rem;
}
.footer-bar .btn-link:hover {
text-decoration: underline;
}
/* Nested dropdown - open to the left */
.dropdown-menu .dropdown-submenu {
position: relative;
}
.dropdown-menu .dropdown-submenu > .dropdown-menu {
top: 0;
right: 100%; /* statt left:100%; */
left: auto; /* überschreibt Bootstrap default */
margin-right: .1rem;
}