diff --git a/src/assets/floating-button.svg b/src/assets/floating-button.svg new file mode 100644 index 00000000..6a9ad117 --- /dev/null +++ b/src/assets/floating-button.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/multi-column.svg b/src/assets/multi-column.svg new file mode 100644 index 00000000..5e8deff7 --- /dev/null +++ b/src/assets/multi-column.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/tab-menu-bar.svg b/src/assets/tab-menu-bar.svg new file mode 100644 index 00000000..64b48b03 --- /dev/null +++ b/src/assets/tab-menu-bar.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/components/shortcuts-settings.css b/src/components/shortcuts-settings.css index 0758f967..7cd8e494 100644 --- a/src/components/shortcuts-settings.css +++ b/src/components/shortcuts-settings.css @@ -33,7 +33,55 @@ #shortcuts-settings-container .shortcuts-view-mode { display: flex; align-items: center; + gap: 2px; + margin: 8px 0 0; +} +#shortcuts-settings-container .shortcuts-view-mode label { + border-radius: 4px; + background-color: var(--bg-faded-color); + padding: 16px; + text-align: center; + cursor: pointer; + display: block; + flex-grow: 1; + display: flex; gap: 8px; + flex-direction: column; + align-items: center; +} +#shortcuts-settings-container .shortcuts-view-mode label:first-child { + border-top-left-radius: 16px; + border-bottom-left-radius: 16px; +} +#shortcuts-settings-container .shortcuts-view-mode label:last-child { + border-top-right-radius: 16px; + border-bottom-right-radius: 16px; +} +#shortcuts-settings-container .shortcuts-view-mode label img { + max-height: 64px; +} +#shortcuts-settings-container .shortcuts-view-mode label span { + text-align: center; + font-size: 80%; +} +#shortcuts-settings-container .shortcuts-view-mode label input { + position: absolute; + opacity: 0; + pointer-events: none; +} +#shortcuts-settings-container .shortcuts-view-mode label input ~ * { + opacity: 0.5; + transition: opacity 0.2s; +} +#shortcuts-settings-container .shortcuts-view-mode label:has(input:checked) { + box-shadow: inset 0 0 0 3px var(--link-color); +} +#shortcuts-settings-container + .shortcuts-view-mode + label + input:is(:hover, :active, :checked) + ~ * { + opacity: 1; } #shortcuts-settings-container summary { diff --git a/src/components/shortcuts-settings.jsx b/src/components/shortcuts-settings.jsx index ecf39c3d..77bdbf0b 100644 --- a/src/components/shortcuts-settings.jsx +++ b/src/components/shortcuts-settings.jsx @@ -4,6 +4,9 @@ import mem from 'mem'; import { useEffect, useState } from 'preact/hooks'; import { useSnapshot } from 'valtio'; +import floatingButtonUrl from '../assets/floating-button.svg'; +import multiColumnUrl from '../assets/multi-column.svg'; +import tabMenuBarUrl from '../assets/tab-menu-bar.svg'; import { api } from '../utils/api'; import states from '../utils/states'; @@ -208,9 +211,40 @@ function ShortcutsSettings() {

- + ))} + + {/* - + */}

{/*