diff --git a/app/components/app-menu/about.gjs b/app/components/app-menu/about.gjs index b6d793e..22d057d 100644 --- a/app/components/app-menu/about.gjs +++ b/app/components/app-menu/about.gjs @@ -2,6 +2,7 @@ import { on } from '@ember/modifier'; import Icon from '#components/icon'; diff --git a/app/styles/app.css b/app/styles/app.css index 5fc475c..9c36378 100644 --- a/app/styles/app.css +++ b/app/styles/app.css @@ -285,6 +285,82 @@ body { height: 20px; } +.sidebar-content details { + margin: 0 -1rem; /* Top margin, negative side margins to span full width */ +} + +.sidebar-content details summary { + list-style: none; /* Hide default triangle */ + display: flex; + align-items: center; + gap: 0.8rem; + padding: 1rem; + padding-left: 1.4rem; + cursor: pointer; + font-size: 0.95rem; + color: #333; + transition: background-color 0.2s; +} + +.sidebar-content details summary::-webkit-details-marker { + display: none; /* Hide default triangle in WebKit */ +} + +.sidebar-content details summary:hover { + background-color: var(--hover-bg); +} + +.sidebar-content details summary .icon { + width: 20px; + height: 20px; +} + +.sidebar-content details summary::after { + content: ''; + width: 20px; + height: 20px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E"); + background-size: 20px 20px; + background-repeat: no-repeat; + background-position: center; + margin-left: auto; + transition: transform 0.2s ease; +} + +.sidebar-content details[open] summary::after { + transform: rotate(90deg); +} + +.sidebar-content details .details-content { + padding: 1rem 1.4rem; + animation: details-slide-down 0.2s ease-out; +} + +.sidebar-content details .link-list { + padding: 0; + margin: 0; +} + +@keyframes details-slide-down { + from { + opacity: 0; + transform: translateY(-5px); + } + + to { + opacity: 1; + transform: translateY(0); + } +} + +.sidebar-content details .link-list li { + margin-bottom: 0.5rem; +} + +.sidebar-content details .link-list li:last-child { + margin-bottom: 0; +} + .edit-form { margin: -1rem; margin-bottom: 1rem; diff --git a/app/utils/icons.js b/app/utils/icons.js index 83e0cf8..ec0d034 100644 --- a/app/utils/icons.js +++ b/app/utils/icons.js @@ -5,7 +5,9 @@ import checkSquare from 'feather-icons/dist/icons/check-square.svg?raw'; import clock from 'feather-icons/dist/icons/clock.svg?raw'; import edit from 'feather-icons/dist/icons/edit.svg?raw'; import facebook from 'feather-icons/dist/icons/facebook.svg?raw'; +import gift from 'feather-icons/dist/icons/gift.svg?raw'; import globe from 'feather-icons/dist/icons/globe.svg?raw'; +import heart from 'feather-icons/dist/icons/heart.svg?raw'; import home from 'feather-icons/dist/icons/home.svg?raw'; import info from 'feather-icons/dist/icons/info.svg?raw'; import instagram from 'feather-icons/dist/icons/instagram.svg?raw'; @@ -35,7 +37,9 @@ const ICONS = { clock, edit, facebook, + gift, globe, + heart, home, info, instagram,