| author | |
| committer | |
| log | 08d400c2cd4212f7438a51ea0993a4fe19944a62 |
| tree | a1311591dfdf132b349c4f9a5c586263cd1c0e6e |
| parent | 29bec7f52888c6acb305478e67c31be37a5d3edd |
| signature | Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU |
New Page, New Section and the rest share the page, tab and notebook art under a
badge (add, remove, check, history, link, lock and so on), layered in art.rs.
The palette, the toolbar menus, and the page, tab, notebook, text and version
menus show them; a disabled row fades its icon, colours and all.
Assisted-by: claude-opus-5.571 files changed, 877 insertions(+), 40 deletions(-)
crates/snowbound/assets/icons/badge-add.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#86e88a"/><stop offset="1" stop-color="#1f9a3e"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path class="badge" d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#16762e" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.35 10.7A2.4 2.4 0 0 1 11.1 9.05" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.5"/> | ||
| 8 | <path d="M9.6 10.85H13.4V12.15H9.6ZM10.85 9.6H12.15V13.4H10.85Z" fill="#ffffff"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/badge-brush.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffe27a"/><stop offset="1" stop-color="#f5a31a"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#b86e00" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.9 13.1L11.5 11.5" fill="none" stroke="#ffffff" stroke-width="1.2" stroke-linecap="round"/> | ||
| 8 | <path d="M11.2 10.6L12.4 9.4L13.6 10.6L12.4 11.8Z" fill="#ffffff" stroke="#ffffff" stroke-width="0.5" stroke-linejoin="round"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/badge-check.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#8fe39a"/><stop offset="1" stop-color="#28a745"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#1b7a33" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.75 11.5L11 12.75L13.25 10.25" fill="none" stroke="#ffffff" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-close.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#5a6676" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M10.15 10.15L12.85 12.85M12.85 10.15L10.15 12.85" fill="none" stroke="#ffffff" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-command.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#6a7482"/><stop offset="1" stop-color="#3b4350"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#2b323b" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M10.1 10.1L11.5 11.5L10.1 12.9M12 12.9H13.3" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-drop.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffb07a"/><stop offset="1" stop-color="#f0603a"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M11.5 7.5C11.5 7.5 8.5 10.5 8.5 12.25A3 3 0 0 0 14.5 12.25C14.5 10.5 11.5 7.5 11.5 7.5Z" fill="none" stroke="#ffffff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 6 | <path d="M11.5 8.25C11.5 8.25 8.5 11.25 8.5 13A3 3 0 0 0 14.5 13C14.5 11.25 11.5 8.25 11.5 8.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M11.5 7.5C11.5 7.5 8.5 10.5 8.5 12.25A3 3 0 0 0 14.5 12.25C14.5 10.5 11.5 7.5 11.5 7.5Z" fill="url(#g0)" stroke="#c4401a" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M10 11.9A1.6 1.6 0 0 0 10.6 13.3" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/badge-edit.svg created+13| ... | @@ -0,0 +1,13 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffe27a"/><stop offset="1" stop-color="#f5a31a"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#ffb3c1"/><stop offset="1" stop-color="#e86a85"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#f6dfb8"/><stop offset="1" stop-color="#d9b07a"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M8.5 15L10.727 14.399L14.687 10.439L13.061 8.813L9.101 12.773Z" fill="none" stroke="#ffffff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M10.727 15.149L13.839 12.038L12.212 10.411L9.101 13.523Z" fill="#000000" fill-opacity="0.16"/> | ||
| 9 | <path d="M10.727 14.399L13.839 11.288L12.212 9.661L9.101 12.773Z" fill="url(#g0)" stroke="#b86e00" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M13.839 11.288L14.687 10.439L13.061 8.813L12.212 9.661Z" fill="url(#g1)" stroke="#b8455e" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M8.5 15L10.727 14.399L9.101 12.773Z" fill="url(#g2)" stroke="#94632a" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M8.5 15L9.335 14.775L8.725 14.165Z" fill="#3b4350"/> | ||
| 13 | </svg> | ||
crates/snowbound/assets/icons/badge-go.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.7 11.5H13.1M11.7 10.1L13.1 11.5L11.7 12.9" fill="none" stroke="#ffffff" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-history.svg created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#5a6676" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M8.85 11.5A2.65 2.65 0 1 1 14.15 11.5A2.65 2.65 0 1 1 8.85 11.5Z" fill="url(#g1)"/> | ||
| 9 | <path d="M11.5 9.75V11.5H13" fill="none" stroke="#3b4350" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | </svg> | ||
crates/snowbound/assets/icons/badge-link.svg created+18| ... | @@ -0,0 +1,18 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" gradientUnits="userSpaceOnUse" x2="0" y1="8" y2="15"><stop offset="0" stop-color="#9cd0ff"/><stop offset="1" stop-color="#2f86f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" gradientUnits="userSpaceOnUse" x2="0" y1="8" y2="15"><stop offset="0" stop-color="#9cd0ff"/><stop offset="1" stop-color="#2f86f0"/></linearGradient> | ||
| 5 | <linearGradient id="g2" gradientUnits="userSpaceOnUse" x2="0" y1="8" y2="15"><stop offset="0" stop-color="#9cd0ff"/><stop offset="1" stop-color="#2f86f0"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M8.762 11.259L10.285 10.192A1.86 1.86 -35 0 1 12.876 10.649L12.876 10.649A1.86 1.86 -35 0 1 12.419 13.239L10.895 14.306A1.86 1.86 -35 0 1 8.305 13.849L8.305 13.849A1.86 1.86 -35 0 1 8.762 11.259Z" fill="none" stroke="#ffffff" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M11.301 9.481L12.825 8.414A1.86 1.86 -35 0 1 15.415 8.871L15.415 8.871A1.86 1.86 -35 0 1 14.958 11.461L13.435 12.528A1.86 1.86 -35 0 1 10.844 12.071L10.844 12.071A1.86 1.86 -35 0 1 11.301 9.481Z" fill="none" stroke="#ffffff" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M8.762 11.859L10.285 10.792A1.86 1.86 -35 0 1 12.876 11.249L12.876 11.249A1.86 1.86 -35 0 1 12.419 13.839L10.895 14.906A1.86 1.86 -35 0 1 8.305 14.449L8.305 14.449A1.86 1.86 -35 0 1 8.762 11.859Z" fill="none" stroke="#000000" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 10 | <path class="accent" d="M8.762 11.259L10.285 10.192A1.86 1.86 -35 0 1 12.876 10.649L12.876 10.649A1.86 1.86 -35 0 1 12.419 13.239L10.895 14.306A1.86 1.86 -35 0 1 8.305 13.849L8.305 13.849A1.86 1.86 -35 0 1 8.762 11.259Z" fill="none" stroke="#1a62c0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path class="accent" d="M8.762 11.259L10.285 10.192A1.86 1.86 -35 0 1 12.876 10.649L12.876 10.649A1.86 1.86 -35 0 1 12.419 13.239L10.895 14.306A1.86 1.86 -35 0 1 8.305 13.849L8.305 13.849A1.86 1.86 -35 0 1 8.762 11.259Z" fill="none" stroke="url(#g0)" stroke-width="0.65" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M11.301 10.081L12.825 9.014A1.86 1.86 -35 0 1 15.415 9.471L15.415 9.471A1.86 1.86 -35 0 1 14.958 12.061L13.435 13.128A1.86 1.86 -35 0 1 10.844 12.671L10.844 12.671A1.86 1.86 -35 0 1 11.301 10.081Z" fill="none" stroke="#000000" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 13 | <path class="accent" d="M11.301 9.481L12.825 8.414A1.86 1.86 -35 0 1 15.415 8.871L15.415 8.871A1.86 1.86 -35 0 1 14.958 11.461L13.435 12.528A1.86 1.86 -35 0 1 10.844 12.071L10.844 12.071A1.86 1.86 -35 0 1 11.301 9.481Z" fill="none" stroke="#1a62c0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 14 | <path class="accent" d="M11.301 9.481L12.825 8.414A1.86 1.86 -35 0 1 15.415 8.871L15.415 8.871A1.86 1.86 -35 0 1 14.958 11.461L13.435 12.528A1.86 1.86 -35 0 1 10.844 12.071L10.844 12.071A1.86 1.86 -35 0 1 11.301 9.481Z" fill="none" stroke="url(#g1)" stroke-width="0.65" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 15 | <path d="M12.876 11.249A1.86 1.86 -35 0 1 12.419 13.839" fill="none" stroke="#000000" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 16 | <path class="accent" d="M12.876 10.649A1.86 1.86 -35 0 1 12.419 13.239" fill="none" stroke="#1a62c0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 17 | <path class="accent" d="M12.876 10.649A1.86 1.86 -35 0 1 12.419 13.239" fill="none" stroke="url(#g2)" stroke-width="0.65" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 18 | </svg> | ||
crates/snowbound/assets/icons/badge-live.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffb08a"/><stop offset="1" stop-color="#f0582a"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#b8381a" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M11.5 10.8A0.7 0.7 0 1 1 11.5 12.2A0.7 0.7 0 1 1 11.5 10.8Z" fill="#ffffff"/> | ||
| 8 | <path d="M10.37 10.37A1.6 1.6 0 0 0 10.37 12.63M12.63 10.37A1.6 1.6 0 0 1 12.63 12.63M9.73 9.73A2.5 2.5 0 0 0 9.73 13.27M13.27 9.73A2.5 2.5 0 0 1 13.27 13.27" fill="none" stroke="#ffffff" stroke-width="0.8" stroke-linecap="round"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/badge-lock.svg created+12| ... | @@ -0,0 +1,12 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" gradientUnits="userSpaceOnUse" x2="0" y1="8" y2="11.5"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#ffe27a"/><stop offset="1" stop-color="#f5a31a"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M9.9 11.25V9.9A1.6 1.6 0 0 1 13.1 9.9V11.25" fill="none" stroke="#ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.9 11.25V9.9A1.6 1.6 0 0 1 13.1 9.9V11.25" fill="none" stroke="#5a6676" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M9.9 11.25V9.9A1.6 1.6 0 0 1 13.1 9.9V11.25" fill="none" stroke="url(#g0)" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M9.4 11H13.6A0.8 0.8 0 0 1 14.4 11.8V14.2A0.8 0.8 0 0 1 13.6 15H9.4A0.8 0.8 0 0 1 8.6 14.2V11.8A0.8 0.8 0 0 1 9.4 11Z" fill="none" stroke="#ffffff" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M9.4 11H13.6A0.8 0.8 0 0 1 14.4 11.8V14.2A0.8 0.8 0 0 1 13.6 15H9.4A0.8 0.8 0 0 1 8.6 14.2V11.8A0.8 0.8 0 0 1 9.4 11Z" fill="url(#g1)" stroke="#b86e00" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M10.9 12.6A0.6 0.6 0 1 1 12.1 12.6A0.6 0.6 0 1 1 10.9 12.6ZM11.15 12.9H11.85L12 14H11Z" fill="#4a3000"/> | ||
| 12 | </svg> | ||
crates/snowbound/assets/icons/badge-merge.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#9be08a"/><stop offset="1" stop-color="#3aa83a"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#24802a" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.8 9.6L11.5 11.3L13.2 9.6M11.5 11.3V13.5" fill="none" stroke="#ffffff" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-picture.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#8fd6ff"/><stop offset="1" stop-color="#2a8fe0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.4 13.2L10.9 11.1L11.9 12.3L12.5 11.6L13.6 13.2Z" fill="#ffffff" stroke="#ffffff" stroke-width="0.5" stroke-linejoin="round"/> | ||
| 8 | <path d="M12.6 9.4A0.6 0.6 0 1 1 12.6 10.6A0.6 0.6 0 1 1 12.6 9.4Z" fill="#ffe27a"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/badge-play.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#86e88a"/><stop offset="1" stop-color="#28b04a"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#1b8a36" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M10.5 9.7L13.4 11.5L10.5 13.3Z" fill="#ffffff"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-remove.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ff8f80"/><stop offset="1" stop-color="#f03b30"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#c42418" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M10.15 10.15L12.85 12.85M12.85 10.15L10.15 12.85" fill="none" stroke="#ffffff" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-search.svg created+17| ... | @@ -0,0 +1,17 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" gradientUnits="userSpaceOnUse" x2="0" y1="11.21" y2="14.75"><stop offset="0" stop-color="#6a7482"/><stop offset="1" stop-color="#3b4350"/></linearGradient> | ||
| 4 | <linearGradient id="g1" gradientUnits="userSpaceOnUse" x2="0" y1="9.65" y2="10.35"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#eaf6ff"/><stop offset="1" stop-color="#aed8ff"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M7 10A3 3 0 1 1 13 10A3 3 0 1 1 7 10Z" fill="none" stroke="#ffffff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M12.16 12.16L13.8 13.8" fill="none" stroke="#ffffff" stroke-width="3.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M12.16 12.91L13.8 14.55" fill="none" stroke="#000000" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 10 | <path d="M12.16 12.16L13.8 13.8" fill="none" stroke="#2b323b" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M12.16 12.16L13.8 13.8" fill="none" stroke="url(#g0)" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M7 10.75A3 3 0 1 1 13 10.75A3 3 0 1 1 7 10.75Z" fill="none" stroke="#000000" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 13 | <path d="M7 10A3 3 0 1 1 13 10A3 3 0 1 1 7 10Z" fill="none" stroke="#5a6676" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 14 | <path d="M7 10A3 3 0 1 1 13 10A3 3 0 1 1 7 10Z" fill="none" stroke="url(#g1)" stroke-width="0.7" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 15 | <path d="M7.5 10A2.5 2.5 0 1 1 12.5 10A2.5 2.5 0 1 1 7.5 10Z" fill="url(#g2)"/> | ||
| 16 | <path d="M8.4 10.2A1.7 1.7 0 0 1 9.9 8.4" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 17 | </svg> | ||
crates/snowbound/assets/icons/badge-text.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M9.9 13.3L11.5 9.5L13.1 13.3M10.45 12H12.55" fill="none" stroke="#ffffff" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/badge-unread.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffe27a"/><stop offset="1" stop-color="#f5a31a"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M9.4 12.75A2.6 2.6 0 1 1 14.6 12.75A2.6 2.6 0 1 1 9.4 12.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M9.4 12A2.6 2.6 0 1 1 14.6 12A2.6 2.6 0 1 1 9.4 12Z" fill="url(#g0)" stroke="#b86e00" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M10.35 11.8A1.7 1.7 0 0 1 11.8 10.35" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/citation.svg created+4| ... | @@ -0,0 +1,4 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path class="accent" d="M1.5 8H4.5" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 3 | <path d="M6.5 5.5H14.5M6 8H13M5.5 10.5H11" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.6"/> | ||
| 4 | </svg> | ||
crates/snowbound/assets/icons/code.svg created+5| ... | @@ -0,0 +1,5 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path d="M5 5L1.75 8.75L5 12.5M11 5L14.25 8.75L11 12.5" fill="none" stroke="#000000" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 3 | <path class="accent" d="M5 4.25L1.75 8L5 11.75M11 4.25L14.25 8L11 11.75" fill="none" stroke="#1f6fe0" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 4 | <path d="M9.25 3.25L6.75 12.75" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 5 | </svg> | ||
crates/snowbound/assets/icons/delete.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" gradientUnits="userSpaceOnUse" x2="0" y1="3" y2="13"><stop offset="0" stop-color="#ff8f80"/><stop offset="1" stop-color="#f03b30"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M4 4.75L12 12.75M12 4.75L4 12.75" fill="none" stroke="#000000" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 6 | <path d="M4 4L12 12M12 4L4 12" fill="none" stroke="#c42418" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M4 4L12 12M12 4L4 12" fill="none" stroke="url(#g0)" stroke-width="2.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M4.4 4.4L6.5 6.5M11.6 4.4L9.5 6.5" fill="none" stroke="#ffffff" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.6"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/digit-1.svg created+3| ... | @@ -0,0 +1,3 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path class="accent" d="M10.9 7.7L12.6 6.5V13" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 3 | </svg> | ||
crates/snowbound/assets/icons/digit-2.svg created+3| ... | @@ -0,0 +1,3 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path class="accent" d="M10.8 7.9A1.7 1.6 0 0 1 14 8.3C14 9.9 10.8 11 10.8 13H14.2" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 3 | </svg> | ||
crates/snowbound/assets/icons/digit-3.svg created+3| ... | @@ -0,0 +1,3 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path class="accent" d="M10.9 7.3A1.6 1.4 0 0 1 13.9 8.1C13.9 9 13.2 9.6 12.1 9.6C13.4 9.6 14.1 10.3 14.1 11.3C14.1 12.4 13.3 13.05 12.3 13.05C11.6 13.05 11.1 12.75 10.8 12.3" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 3 | </svg> | ||
crates/snowbound/assets/icons/digit-4.svg created+3| ... | @@ -0,0 +1,3 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path class="accent" d="M13.3 13V6.5L10.7 11.2H14.4" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 3 | </svg> | ||
crates/snowbound/assets/icons/digit-5.svg created+3| ... | @@ -0,0 +1,3 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path class="accent" d="M13.9 6.5H11.3L11 9.5C11.4 9.2 11.9 9.1 12.4 9.1C13.4 9.1 14.2 9.9 14.2 11C14.2 12.3 13.3 13.05 12.3 13.05C11.6 13.05 11.1 12.75 10.8 12.3" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 3 | </svg> | ||
crates/snowbound/assets/icons/digit-6.svg created+3| ... | @@ -0,0 +1,3 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path class="accent" d="M13.8 7.1C13.5 6.7 13.1 6.5 12.6 6.5C11.4 6.5 10.8 7.7 10.8 9.6V11.2C10.8 12.3 11.4 13.05 12.45 13.05C13.4 13.05 14.1 12.3 14.1 11.25C14.1 10.2 13.4 9.5 12.45 9.5C11.6 9.5 10.9 10.1 10.8 11" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 3 | </svg> | ||
crates/snowbound/assets/icons/fast-forward.svg created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M1.5 4V13.5L7.75 8.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path class="accent" d="M1.5 3.25V12.75L7.75 8Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M8.25 4V13.5L14.5 8.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 9 | <path class="accent" d="M8.25 3.25V12.75L14.5 8Z" fill="url(#g1)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | </svg> | ||
crates/snowbound/assets/icons/folder-open.svg created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#6fb0f5"/><stop offset="1" stop-color="#2a76d8"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#9fd2ff"/><stop offset="1" stop-color="#3b8ff0"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M1.5 14.25V4.25A1 1 0 0 1 2.5 3.25H6L7.5 4.75H12.5A1 1 0 0 1 13.5 5.75V14.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 8 | <path class="accent" d="M1.5 13.5V3.5A1 1 0 0 1 2.5 2.5H6L7.5 4H12.5A1 1 0 0 1 13.5 5V13.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M3.5 8V5.25H11.5V8Z" fill="url(#g1)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path class="accent" d="M5 6.6H10" fill="none" stroke="#8cc0f5" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M1.5 14.25L3.4 8.25A0.8 0.8 0 0 1 4.15 7.75H14.4A0.6 0.6 0 0 1 14.97 8.53L13.25 13.85A0.6 0.6 0 0 1 12.68 14.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 12 | <path class="accent" d="M1.5 13.5L3.4 7.5A0.8 0.8 0 0 1 4.15 7H14.4A0.6 0.6 0 0 1 14.97 7.78L13.25 13.1A0.6 0.6 0 0 1 12.68 13.5Z" fill="url(#g2)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M3.3 12L4.6 8H13.6" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.7"/> | ||
| 14 | </svg> | ||
crates/snowbound/assets/icons/full-page.svg created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M4.5 5.25H11.5V12.25H4.5Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M4.5 4.5H11.5V11.5H4.5Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path class="accent" d="M5.75 7H10.25M5.75 9H10.25" fill="none" stroke="#8cc0f5" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M1.5 5.25V2.25H4.5M1.5 2.25L3.5 4.25M11.5 2.25H14.5V5.25M14.5 2.25L12.5 4.25M14.5 12.25V15.25H11.5M14.5 15.25L12.5 13.25M4.5 15.25H1.5V12.25M1.5 15.25L3.5 13.25" fill="none" stroke="#000000" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 9 | <path class="accent" d="M1.5 4.5V1.5H4.5M1.5 1.5L3.5 3.5M11.5 1.5H14.5V4.5M14.5 1.5L12.5 3.5M14.5 11.5V14.5H11.5M14.5 14.5L12.5 12.5M4.5 14.5H1.5V11.5M1.5 14.5L3.5 12.5" fill="none" stroke="#1f6fe0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | </svg> | ||
crates/snowbound/assets/icons/heading.svg created+3| ... | @@ -0,0 +1,3 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path d="M1.5 3H3.6V7H7V3H9.1V13H7V8.9H3.6V13H1.5Z" fill="currentColor"/> | ||
| 3 | </svg> | ||
crates/snowbound/assets/icons/help.svg created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#6fb5fb"/><stop offset="1" stop-color="#1b58b0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M1 8.6A7 7 0 1 0 15 8.6A7 7 0 1 0 1 8.6Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M1 8A7 7 0 1 0 15 8A7 7 0 1 0 1 8Z" fill="url(#g0)" stroke="#16489a" stroke-width="0.8"/> | ||
| 7 | <path d="M3.6 6.4A4.8 4.8 0 0 1 12.4 6.4" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.55"/> | ||
| 8 | <path d="M6.1 6.2A1.9 1.9 0 1 1 8.9 7.9C8.3 8.3 8 8.7 8 9.5" fill="none" stroke="#ffffff" stroke-width="1.45" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M7.1 11.75A0.9 0.9 0 1 1 8.9 11.75A0.9 0.9 0 1 1 7.1 11.75Z" fill="#ffffff"/> | ||
| 10 | </svg> | ||
crates/snowbound/assets/icons/lock.svg created+13| ... | @@ -0,0 +1,13 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" gradientUnits="userSpaceOnUse" x2="0" y1="1.75" y2="7.5"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#ffe27a"/><stop offset="1" stop-color="#f5a31a"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M4.75 8.25V6A3.25 3.25 0 0 1 11.25 6V8.25" fill="none" stroke="#000000" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 7 | <path d="M4.75 7.5V5.25A3.25 3.25 0 0 1 11.25 5.25V7.5" fill="none" stroke="#5a6676" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M4.75 7.5V5.25A3.25 3.25 0 0 1 11.25 5.25V7.5" fill="none" stroke="url(#g0)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M3.7 7.75H12.3A1.2 1.2 0 0 1 13.5 8.95V14.05A1.2 1.2 0 0 1 12.3 15.25H3.7A1.2 1.2 0 0 1 2.5 14.05V8.95A1.2 1.2 0 0 1 3.7 7.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 10 | <path d="M3.7 7H12.3A1.2 1.2 0 0 1 13.5 8.2V13.3A1.2 1.2 0 0 1 12.3 14.5H3.7A1.2 1.2 0 0 1 2.5 13.3V8.2A1.2 1.2 0 0 1 3.7 7Z" fill="url(#g1)" stroke="#b86e00" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M3.6 13.2V8.7A0.6 0.6 0 0 1 4.2 8.1H11.6" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.7"/> | ||
| 12 | <path d="M6.85 10.1A1.15 1.15 0 1 1 9.15 10.1A1.15 1.15 0 1 1 6.85 10.1ZM7.45 10.6H8.55L8.85 12.75H7.15Z" fill="#4a3000"/> | ||
| 13 | </svg> | ||
crates/snowbound/assets/icons/markdown.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M2.5 4.75H13.5A1 1 0 0 1 14.5 5.75V12.25A1 1 0 0 1 13.5 13.25H2.5A1 1 0 0 1 1.5 12.25V5.75A1 1 0 0 1 2.5 4.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M2.5 4H13.5A1 1 0 0 1 14.5 5V11.5A1 1 0 0 1 13.5 12.5H2.5A1 1 0 0 1 1.5 11.5V5A1 1 0 0 1 2.5 4Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M3.5 10.25V6.25L5.25 8.25L7 6.25V10.25" fill="none" stroke="#3a4656" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path class="accent" d="M11 6.25V10.25M9.5 8.75L11 10.25L12.5 8.75" fill="none" stroke="#1f7cf0" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/move-down.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 15.25L13.5 9.5H10.25V2.25H5.75V9.5H2.5Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path class="accent" d="M8 14.5L13.5 8.75H10.25V1.5H5.75V8.75H2.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M6.9 2.6V9.6H5.2" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/move-up.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M8 2.25L13.5 8H10.25V15.25H5.75V8H2.5Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path class="accent" d="M8 1.5L13.5 7.25H10.25V14.5H5.75V7.25H2.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M6.9 13.4V6.4H5.2" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/normal.svg created+4| ... | @@ -0,0 +1,4 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path d="M9.5 2.5H7.25A3 3 0 0 0 7.25 8.5H9.5Z" fill="currentColor"/> | ||
| 3 | <path d="M8 2.5H13.5M9.5 2.5V13.5M12 2.5V13.5" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 4 | </svg> | ||
crates/snowbound/assets/icons/notebook-accent.svg created+6| ... | @@ -0,0 +1,6 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path class="accent" d="M3.5 1.5H11.5A1 1 0 0 1 12.5 2.5V13.5A1 1 0 0 1 11.5 14.5H3.5A1 1 0 0 1 2.5 13.5V2.5A1 1 0 0 1 3.5 1.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 6 | </svg> | ||
crates/snowbound/assets/icons/page-list.svg created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#e9f4ff"/><stop offset="1" stop-color="#cfe6ff"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M2.5 3.25H13.5A1 1 0 0 1 14.5 4.25V13.25A1 1 0 0 1 13.5 14.25H2.5A1 1 0 0 1 1.5 13.25V4.25A1 1 0 0 1 2.5 3.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 8 | <path d="M2.5 2.5H13.5A1 1 0 0 1 14.5 3.5V12.5A1 1 0 0 1 13.5 13.5H2.5A1 1 0 0 1 1.5 12.5V3.5A1 1 0 0 1 2.5 2.5Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path class="accent" d="M2.5 3H13.5A0.5 0.5 0 0 1 14 3.5V4.5A0.5 0.5 0 0 1 13.5 5H2.5A0.5 0.5 0 0 1 2 4.5V3.5A0.5 0.5 0 0 1 2.5 3Z" fill="url(#g1)"/> | ||
| 10 | <path class="accent" d="M9.5 5H14V13H9.5Z" fill="url(#g2)"/> | ||
| 11 | <path d="M9.5 5V13" fill="none" stroke="#b7c5d6" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path class="accent" d="M10.6 6.9H13M10.6 8.9H13M11.6 10.9H13" fill="none" stroke="#1f6fe0" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M3.25 7H8M3.25 9H7.25M3.25 11H8" fill="none" stroke="#b7c5d6" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 14 | </svg> | ||
crates/snowbound/assets/icons/page-title.svg created+6| ... | @@ -0,0 +1,6 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <path d="M1.5 2.5H11.5V5H1.5Z" fill="currentColor"/> | ||
| 3 | <path class="accent" d="M1.5 7H14.5" fill="none" stroke="#1f6fe0" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 4 | <path d="M1.5 9H5M6.25 9H8.5" fill="none" stroke="#98a4b3" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 5 | <path d="M1.5 12H14.5M1.5 14H10" fill="none" stroke="#b7c5d6" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 6 | </svg> | ||
crates/snowbound/assets/icons/pages-match-theme.svg created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#5a6676"/><stop offset="1" stop-color="#2b323b"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#f1f4f8"/><stop offset="1" stop-color="#c9d3df"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M3.5 2.25L10 2.25L13.5 5.75L13.5 15.25L3.5 15.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 8 | <path d="M3.5 1.5L10 1.5L13.5 5L13.5 14.5L3.5 14.5Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M8.5 1.9H10L13.1 5V14.1H8.5Z" fill="url(#g1)"/> | ||
| 10 | <path d="M10 1.5L10 5L13.5 5Z" fill="url(#g2)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path class="accent" d="M5 7.5H8M5 9.5H8M5 11.5H8" fill="none" stroke="#8cc0f5" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M9.5 7.5H12M9.5 9.5H12M9.5 11.5H12" fill="none" stroke="#c9d3df" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M4.5 13.5V2.5H8" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 14 | </svg> | ||
crates/snowbound/assets/icons/palette.svg created+13| ... | @@ -0,0 +1,13 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#cfe6ff"/><stop offset="1" stop-color="#a9d3ff"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M2.5 2.25H13.5A1 1 0 0 1 14.5 3.25V13.75A1 1 0 0 1 13.5 14.75H2.5A1 1 0 0 1 1.5 13.75V3.25A1 1 0 0 1 2.5 2.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M2.5 1.5H13.5A1 1 0 0 1 14.5 2.5V13A1 1 0 0 1 13.5 14H2.5A1 1 0 0 1 1.5 13V2.5A1 1 0 0 1 2.5 1.5Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path class="accent" d="M3.6 3H12.4A0.6 0.6 0 0 1 13 3.6V5.15A0.6 0.6 0 0 1 12.4 5.75H3.6A0.6 0.6 0 0 1 3 5.15V3.6A0.6 0.6 0 0 1 3.6 3Z" fill="#ffffff" stroke="#1f7cf0" stroke-width="0.8"/> | ||
| 9 | <path d="M4.25 4.4H7" fill="none" stroke="#3b4350" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path class="accent" d="M3.5 7H12.5A0.5 0.5 0 0 1 13 7.5V8.4A0.5 0.5 0 0 1 12.5 8.9H3.5A0.5 0.5 0 0 1 3 8.4V7.5A0.5 0.5 0 0 1 3.5 7Z" fill="url(#g1)"/> | ||
| 11 | <path class="accent" d="M4.25 7.95H9.5" fill="none" stroke="#1f4f9a" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M4.25 10.5H10.5M4.25 12.4H8.5" fill="none" stroke="#b7c5d6" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | </svg> | ||
crates/snowbound/assets/icons/pause.svg created+12| ... | @@ -0,0 +1,12 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M3.8 3.25H5.7A0.8 0.8 0 0 1 6.5 4.05V13.45A0.8 0.8 0 0 1 5.7 14.25H3.8A0.8 0.8 0 0 1 3 13.45V4.05A0.8 0.8 0 0 1 3.8 3.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path class="accent" d="M3.8 2.5H5.7A0.8 0.8 0 0 1 6.5 3.3V12.7A0.8 0.8 0 0 1 5.7 13.5H3.8A0.8 0.8 0 0 1 3 12.7V3.3A0.8 0.8 0 0 1 3.8 2.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M4.25 3.9V8" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 9 | <path d="M10.3 3.25H12.2A0.8 0.8 0 0 1 13 4.05V13.45A0.8 0.8 0 0 1 12.2 14.25H10.3A0.8 0.8 0 0 1 9.5 13.45V4.05A0.8 0.8 0 0 1 10.3 3.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 10 | <path class="accent" d="M10.3 2.5H12.2A0.8 0.8 0 0 1 13 3.3V12.7A0.8 0.8 0 0 1 12.2 13.5H10.3A0.8 0.8 0 0 1 9.5 12.7V3.3A0.8 0.8 0 0 1 10.3 2.5Z" fill="url(#g1)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M10.75 3.9V8" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 12 | </svg> | ||
crates/snowbound/assets/icons/pdf.svg created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#f1f4f8"/><stop offset="1" stop-color="#c9d3df"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#ff8f80"/><stop offset="1" stop-color="#f03b30"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M4.5 2.25L10.5 2.25L13.5 5.25L13.5 15.25L4.5 15.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 8 | <path d="M4.5 1.5L10.5 1.5L13.5 4.5L13.5 14.5L4.5 14.5Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M10.5 1.5L10.5 4.5L13.5 4.5Z" fill="url(#g1)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path class="accent" d="M6 5.5H9.5M6 7.25H12" fill="none" stroke="#8cc0f5" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M2.3 9.25H11.2A0.8 0.8 0 0 1 12 10.05V13.7A0.8 0.8 0 0 1 11.2 14.5H2.3A0.8 0.8 0 0 1 1.5 13.7V10.05A0.8 0.8 0 0 1 2.3 9.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 12 | <path d="M2.3 8.5H11.2A0.8 0.8 0 0 1 12 9.3V12.95A0.8 0.8 0 0 1 11.2 13.75H2.3A0.8 0.8 0 0 1 1.5 12.95V9.3A0.8 0.8 0 0 1 2.3 8.5Z" fill="url(#g2)" stroke="#c42418" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M3.1 12.6V9.7H4.1A0.75 0.75 0 0 1 4.1 11.2H3.1M5.7 12.6V9.7H6.3A1.15 1.45 0 0 1 6.3 12.6ZM8.9 12.6V9.7H10.4M8.9 11.1H10" fill="none" stroke="#ffffff" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 14 | </svg> | ||
crates/snowbound/assets/icons/print.svg created+17| ... | @@ -0,0 +1,17 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#eef1f5"/><stop offset="1" stop-color="#98a2b0"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M4.5 2.25H11.5V6.75H4.5Z" fill="#000000" fill-opacity="0.16"/> | ||
| 8 | <path d="M4.5 1.5H11.5V6H4.5Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M2.5 6.25H13.5A1 1 0 0 1 14.5 7.25V11.25A1 1 0 0 1 13.5 12.25H2.5A1 1 0 0 1 1.5 11.25V7.25A1 1 0 0 1 2.5 6.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 10 | <path d="M2.5 5.5H13.5A1 1 0 0 1 14.5 6.5V10.5A1 1 0 0 1 13.5 11.5H2.5A1 1 0 0 1 1.5 10.5V6.5A1 1 0 0 1 2.5 5.5Z" fill="url(#g1)" stroke="#5a6676" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M2.5 10.5V7A0.5 0.5 0 0 1 3 6.5H13.5" fill="none" stroke="#ffffff" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 12 | <path d="M3.5 9.5H12.5" fill="none" stroke="#3b4350" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M12.25 7.75H12.3" fill="none" stroke="#28b04a" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 14 | <path d="M4.5 10.25H11.5V15.25H4.5Z" fill="#000000" fill-opacity="0.16"/> | ||
| 15 | <path d="M4.5 9.5H11.5V14.5H4.5Z" fill="url(#g2)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 16 | <path class="accent" d="M6 11.25H10M6 12.9H9" fill="none" stroke="#8cc0f5" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 17 | </svg> | ||
crates/snowbound/assets/icons/properties.svg created+13| ... | @@ -0,0 +1,13 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M2.5 2.75H13.5A1 1 0 0 1 14.5 3.75V13.75A1 1 0 0 1 13.5 14.75H2.5A1 1 0 0 1 1.5 13.75V3.75A1 1 0 0 1 2.5 2.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M2.5 2H13.5A1 1 0 0 1 14.5 3V13A1 1 0 0 1 13.5 14H2.5A1 1 0 0 1 1.5 13V3A1 1 0 0 1 2.5 2Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path class="accent" d="M2.5 2.5H13.5A0.5 0.5 0 0 1 14 3V4.25H2V3A0.5 0.5 0 0 1 2.5 2.5Z" fill="url(#g1)"/> | ||
| 9 | <path d="M3.5 6.75H5.75M3.5 9.25H5.75M3.5 11.75H5.75" fill="none" stroke="#7b8796" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M7.3 6H12.7A0.3 0.3 0 0 1 13 6.3V7.2A0.3 0.3 0 0 1 12.7 7.5H7.3A0.3 0.3 0 0 1 7 7.2V6.3A0.3 0.3 0 0 1 7.3 6Z" fill="#ffffff" stroke="#98a4b3" stroke-width="0.6"/> | ||
| 11 | <path d="M7.3 8.5H12.7A0.3 0.3 0 0 1 13 8.8V9.7A0.3 0.3 0 0 1 12.7 10H7.3A0.3 0.3 0 0 1 7 9.7V8.8A0.3 0.3 0 0 1 7.3 8.5Z" fill="#ffffff" stroke="#98a4b3" stroke-width="0.6"/> | ||
| 12 | <path d="M7.3 11H12.7A0.3 0.3 0 0 1 13 11.3V12.2A0.3 0.3 0 0 1 12.7 12.5H7.3A0.3 0.3 0 0 1 7 12.2V11.3A0.3 0.3 0 0 1 7.3 11Z" fill="#ffffff" stroke="#98a4b3" stroke-width="0.6"/> | ||
| 13 | </svg> | ||
crates/snowbound/assets/icons/quote.svg created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M1.75 8.15A2.15 2.15 0 1 1 6.05 8.35C6.05 11.05 4.95 12.85 2.35 13.55L2.05 12.75C3.35 12.15 3.9 11.35 3.9 10.35A2.15 2.15 0 0 1 1.75 8.15Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path class="accent" d="M1.75 7.4A2.15 2.15 0 1 1 6.05 7.6C6.05 10.3 4.95 12.1 2.35 12.8L2.05 12C3.35 11.4 3.9 10.6 3.9 9.6A2.15 2.15 0 0 1 1.75 7.4Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M8.5 8.15A2.15 2.15 0 1 1 12.8 8.35C12.8 11.05 11.7 12.85 9.1 13.55L8.8 12.75C10.1 12.15 10.65 11.35 10.65 10.35A2.15 2.15 0 0 1 8.5 8.15Z" fill="#000000" fill-opacity="0.16"/> | ||
| 9 | <path class="accent" d="M8.5 7.4A2.15 2.15 0 1 1 12.8 7.6C12.8 10.3 11.7 12.1 9.1 12.8L8.8 12C10.1 11.4 10.65 10.6 10.65 9.6A2.15 2.15 0 0 1 8.5 7.4Z" fill="url(#g1)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | </svg> | ||
crates/snowbound/assets/icons/recycle-bin.svg created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#f4f6fa"/><stop offset="1" stop-color="#aeb8c6"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M3 6.25H13L12.1 14.75A1 1 0 0 1 11.1 15.65H4.9A1 1 0 0 1 3.9 14.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M3 5.5H13L12.1 14A1 1 0 0 1 11.1 14.9H4.9A1 1 0 0 1 3.9 14Z" fill="url(#g0)" stroke="#6b7686" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M6 7.25L6.25 13.25M8 7.25V13.25M10 7.25L9.75 13.25" fill="none" stroke="#8e99a7" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M6 4.25V3.35A0.6 0.6 0 0 1 6.6 2.75H9.4A0.6 0.6 0 0 1 10 3.35V4.25" fill="none" stroke="#000000" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 10 | <path d="M6 3.5V2.6A0.6 0.6 0 0 1 6.6 2H9.4A0.6 0.6 0 0 1 10 2.6V3.5" fill="none" stroke="#5a6676" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M2.35 4H13.65A0.6 0.6 0 0 1 14.25 4.6V5.65A0.6 0.6 0 0 1 13.65 6.25H2.35A0.6 0.6 0 0 1 1.75 5.65V4.6A0.6 0.6 0 0 1 2.35 4Z" fill="#000000" fill-opacity="0.16"/> | ||
| 12 | <path d="M2.35 3.25H13.65A0.6 0.6 0 0 1 14.25 3.85V4.9A0.6 0.6 0 0 1 13.65 5.5H2.35A0.6 0.6 0 0 1 1.75 4.9V3.85A0.6 0.6 0 0 1 2.35 3.25Z" fill="url(#g1)" stroke="#5a6676" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M2.75 4.25H13" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.6"/> | ||
| 14 | </svg> | ||
crates/snowbound/assets/icons/rename.svg created+11| ... | @@ -0,0 +1,11 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#cfe6ff"/><stop offset="1" stop-color="#a9d3ff"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M2.5 4.75H13.5A1 1 0 0 1 14.5 5.75V11.75A1 1 0 0 1 13.5 12.75H2.5A1 1 0 0 1 1.5 11.75V5.75A1 1 0 0 1 2.5 4.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M2.5 4H13.5A1 1 0 0 1 14.5 5V11A1 1 0 0 1 13.5 12H2.5A1 1 0 0 1 1.5 11V5A1 1 0 0 1 2.5 4Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path class="accent" d="M3 6H8.75V10H3Z" fill="url(#g1)"/> | ||
| 9 | <path class="accent" d="M4 8H7.75" fill="none" stroke="#1f4f9a" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M10.75 2.75V13.25M9.5 2.75H12M9.5 13.25H12" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | </svg> | ||
crates/snowbound/assets/icons/rewind.svg created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M7.75 4V13.5L1.5 8.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path class="accent" d="M7.75 3.25V12.75L1.5 8Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M14.5 4V13.5L8.25 8.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 9 | <path class="accent" d="M14.5 3.25V12.75L8.25 8Z" fill="url(#g1)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | </svg> | ||
crates/snowbound/assets/icons/save.svg created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M2.5 2.25H12.3L14.5 4.45V14.25A1 1 0 0 1 13.5 15.25H2.5A1 1 0 0 1 1.5 14.25V3.25A1 1 0 0 1 2.5 2.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 8 | <path class="accent" d="M2.5 1.5H12.3L14.5 3.7V13.5A1 1 0 0 1 13.5 14.5H2.5A1 1 0 0 1 1.5 13.5V2.5A1 1 0 0 1 2.5 1.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M4.5 1.5H11.5V5.25A0.5 0.5 0 0 1 11 5.75H5A0.5 0.5 0 0 1 4.5 5.25Z" fill="url(#g1)" stroke="#5a6676" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M9.1 2.4H10.4V4.85H9.1Z" fill="#3b4350"/> | ||
| 11 | <path d="M3.75 8.25H12.25V14.5H3.75Z" fill="url(#g2)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M5.25 10.25H10.75M5.25 12.25H10.75" fill="none" stroke="#b7c5d6" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M2.5 13.5V2.5H4" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.6"/> | ||
| 14 | </svg> | ||
crates/snowbound/assets/icons/select-all.svg created+11| ... | @@ -0,0 +1,11 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#cfe6ff"/><stop offset="1" stop-color="#a9d3ff"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M2.3 2.75H13.7A0.8 0.8 0 0 1 14.5 3.55V13.95A0.8 0.8 0 0 1 13.7 14.75H2.3A0.8 0.8 0 0 1 1.5 13.95V3.55A0.8 0.8 0 0 1 2.3 2.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M2.3 2H13.7A0.8 0.8 0 0 1 14.5 2.8V13.2A0.8 0.8 0 0 1 13.7 14H2.3A0.8 0.8 0 0 1 1.5 13.2V2.8A0.8 0.8 0 0 1 2.3 2Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path class="accent" d="M3 4H13V11.5H3Z" fill="url(#g1)"/> | ||
| 9 | <path class="accent" d="M4 5.75H12M4 7.75H12M4 9.75H10" fill="none" stroke="#1f4f9a" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M3 12.75H8" fill="none" stroke="#b7c5d6" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | </svg> | ||
crates/snowbound/assets/icons/snap-to-grid.svg created+10| ... | @@ -0,0 +1,10 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M1.5 2.5H14.5M1.5 5.5H14.5M1.5 8.5H14.5M1.5 11.5H14.5M1.5 14.5H14.5M2.5 1.5V15M5.5 1.5V15M8.5 1.5V15M11.5 1.5V15M14.5 1.5V15" fill="none" stroke="#b7c5d6" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 6 | <path d="M5.5 6.25H11.5V12.25H5.5Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path class="accent" d="M5.5 5.5H11.5V11.5H5.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M6.6 10.4V6.6H10.4" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 9 | <path d="M4.75 4.75H6.25V6.25H4.75ZM10.75 4.75H12.25V6.25H10.75ZM4.75 10.75H6.25V12.25H4.75ZM10.75 10.75H12.25V12.25H10.75Z" fill="#3b4350"/> | ||
| 10 | </svg> | ||
crates/snowbound/assets/icons/stop.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M3.7 3.25H12.3A1.2 1.2 0 0 1 13.5 4.45V13.05A1.2 1.2 0 0 1 12.3 14.25H3.7A1.2 1.2 0 0 1 2.5 13.05V4.45A1.2 1.2 0 0 1 3.7 3.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path class="accent" d="M3.7 2.5H12.3A1.2 1.2 0 0 1 13.5 3.7V12.3A1.2 1.2 0 0 1 12.3 13.5H3.7A1.2 1.2 0 0 1 2.5 12.3V3.7A1.2 1.2 0 0 1 3.7 2.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M3.9 11V4.5A0.6 0.6 0 0 1 4.5 3.9H10" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/subpage.svg created+13| ... | @@ -0,0 +1,13 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#f1f4f8"/><stop offset="1" stop-color="#c9d3df"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M2.5 2.25V9.25H5.25M4 8L5.25 9.25L4 10.5" fill="none" stroke="#000000" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 7 | <path d="M2.5 1.5V8.5H5.25M4 7.25L5.25 8.5L4 9.75" fill="none" stroke="#7b8796" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 8 | <path d="M6.5 3.75L11 3.75L14 6.75L14 15.25L6.5 15.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 9 | <path d="M6.5 3L11 3L14 6L14 14.5L6.5 14.5Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M11 3L11 6L14 6Z" fill="url(#g1)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path class="accent" d="M8 8.5H12.5M8 10.5H12.5M8 12.5H12.5" fill="none" stroke="#8cc0f5" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M7.5 13.5V4H10.5" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 13 | </svg> | ||
crates/snowbound/assets/icons/sync-now.svg created+13| ... | @@ -0,0 +1,13 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#f4f6fa"/><stop offset="1" stop-color="#aeb8c6"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 5 | </defs> | ||
| 6 | <path d="M4 13.25H11.75A3 3 0 0 0 12.2 7.3A4.3 4.3 0 0 0 4 6.4A3.45 3.45 0 0 0 4 13.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 7 | <path d="M4 12.5H11.75A3 3 0 0 0 12.2 6.55A4.3 4.3 0 0 0 4 5.65A3.45 3.45 0 0 0 4 12.5Z" fill="url(#g0)" stroke="#6b7686" stroke-width="0.8" stroke-linejoin="round"/> | ||
| 8 | <path d="M3.1 8.9A2.2 2.2 0 0 1 5.2 6.9M6.2 5.4A3 3 0 0 1 10.6 5.6" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 9 | <path d="M8 12.25A3.5 3.5 0 1 1 15 12.25A3.5 3.5 0 1 1 8 12.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 10 | <path d="M8 11.5A3.5 3.5 0 1 1 15 11.5A3.5 3.5 0 1 1 8 11.5Z" fill="url(#g1)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M9.85 11.1A1.75 1.75 0 0 1 13 10.3M13.15 11.9A1.75 1.75 0 0 1 10 12.7" fill="none" stroke="#ffffff" stroke-width="0.9" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M13.55 9.2V10.9H11.85ZM9.45 13.8V12.1H11.15Z" fill="#ffffff"/> | ||
| 13 | </svg> | ||
crates/snowbound/assets/icons/tab.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M1.5 13.25V6.25A1.5 1.5 0 0 1 3 4.75H10.9C11.7 4.75 12 5.05 12.4 5.65L14.5 13.25Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path class="accent" d="M1.5 12.5V5.5A1.5 1.5 0 0 1 3 4H10.9C11.7 4 12 4.3 12.4 4.9L14.5 12.5Z" fill="url(#g0)" stroke="#1560c4" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M2.5 11.5V5.7A0.7 0.7 0 0 1 3.2 5H10.3" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.85"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/tag.svg created+8| ... | @@ -0,0 +1,8 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#fff590"/><stop offset="1" stop-color="#ffc800"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M1.5 4.75L8.5 4.75L13 9.25L8.5 13.75L1.5 13.75ZM3 9.25A1.1 1.1 0 1 1 5.2 9.25A1.1 1.1 0 1 1 3 9.25Z" fill="#000000" fill-rule="evenodd" fill-opacity="0.16"/> | ||
| 6 | <path d="M1.5 4L8.5 4L13 8.5L8.5 13L1.5 13ZM3 8.5A1.1 1.1 0 1 1 5.2 8.5A1.1 1.1 0 1 1 3 8.5Z" fill="url(#g0)" fill-rule="evenodd" stroke="#d9a300" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M2.5 12V5H8.2" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.7"/> | ||
| 8 | </svg> | ||
crates/snowbound/assets/icons/theme.svg created+18| ... | @@ -0,0 +1,18 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#f0c98a"/><stop offset="1" stop-color="#c48a3e"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#ff8f80"/><stop offset="1" stop-color="#f03b30"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#ffe27a"/><stop offset="1" stop-color="#f5a31a"/></linearGradient> | ||
| 6 | <linearGradient id="g3" x2="0" y2="1"><stop offset="0" stop-color="#86e88a"/><stop offset="1" stop-color="#28b04a"/></linearGradient> | ||
| 7 | <linearGradient id="g4" x2="0" y2="1"><stop offset="0" stop-color="#79c2ff"/><stop offset="1" stop-color="#1f7cf0"/></linearGradient> | ||
| 8 | <linearGradient id="g5" x2="0" y2="1"><stop offset="0" stop-color="#e6a3ff"/><stop offset="1" stop-color="#9b4fd6"/></linearGradient> | ||
| 9 | </defs> | ||
| 10 | <path d="M8 2.5C4.2 2.5 1.5 5.05 1.5 8.35C1.5 11.65 4.1 14.5 7.6 14.5C9.1 14.5 9.5 13.65 9 12.65C8.5 11.65 9 10.75 10.2 10.75H11.6C13.3 10.75 14.5 9.65 14.5 7.95C14.5 4.85 11.7 2.5 8 2.5Z" fill="#000000" fill-opacity="0.16"/> | ||
| 11 | <path d="M8 1.75C4.2 1.75 1.5 4.3 1.5 7.6C1.5 10.9 4.1 13.75 7.6 13.75C9.1 13.75 9.5 12.9 9 11.9C8.5 10.9 9 10 10.2 10H11.6C13.3 10 14.5 8.9 14.5 7.2C14.5 4.1 11.7 1.75 8 1.75Z" fill="url(#g0)" stroke="#94632a" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M2.6 7.4C2.7 5 4.5 3 7.5 2.85" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.6"/> | ||
| 13 | <path d="M3.45 7.4A1.15 1.15 0 1 1 5.75 7.4A1.15 1.15 0 1 1 3.45 7.4Z" fill="url(#g1)" stroke="#c42418" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 14 | <path d="M4.95 4.6A1.15 1.15 0 1 1 7.25 4.6A1.15 1.15 0 1 1 4.95 4.6Z" fill="url(#g2)" stroke="#b86e00" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 15 | <path d="M8.25 3.9A1.15 1.15 0 1 1 10.55 3.9A1.15 1.15 0 1 1 8.25 3.9Z" fill="url(#g3)" stroke="#1b8a36" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 16 | <path class="accent" d="M10.85 6.4A1.15 1.15 0 1 1 13.15 6.4A1.15 1.15 0 1 1 10.85 6.4Z" fill="url(#g4)" stroke="#1560c4" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 17 | <path d="M4.15 10.6A1.15 1.15 0 1 1 6.45 10.6A1.15 1.15 0 1 1 4.15 10.6Z" fill="url(#g5)" stroke="#7a33b0" stroke-width="0.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 18 | </svg> | ||
crates/snowbound/assets/icons/to-do.svg created+14| ... | @@ -0,0 +1,14 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 4 | <linearGradient id="g1" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e3e9f0"/></linearGradient> | ||
| 5 | <linearGradient id="g2" gradientUnits="userSpaceOnUse" x2="0" y1="1.8" y2="5.9"><stop offset="0" stop-color="#86e88a"/><stop offset="1" stop-color="#28b04a"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M2.1 2.75H5.9A0.6 0.6 0 0 1 6.5 3.35V7.15A0.6 0.6 0 0 1 5.9 7.75H2.1A0.6 0.6 0 0 1 1.5 7.15V3.35A0.6 0.6 0 0 1 2.1 2.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 8 | <path d="M2.1 2H5.9A0.6 0.6 0 0 1 6.5 2.6V6.4A0.6 0.6 0 0 1 5.9 7H2.1A0.6 0.6 0 0 1 1.5 6.4V2.6A0.6 0.6 0 0 1 2.1 2Z" fill="url(#g0)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M2.1 9.75H5.9A0.6 0.6 0 0 1 6.5 10.35V14.15A0.6 0.6 0 0 1 5.9 14.75H2.1A0.6 0.6 0 0 1 1.5 14.15V10.35A0.6 0.6 0 0 1 2.1 9.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 10 | <path d="M2.1 9H5.9A0.6 0.6 0 0 1 6.5 9.6V13.4A0.6 0.6 0 0 1 5.9 14H2.1A0.6 0.6 0 0 1 1.5 13.4V9.6A0.6 0.6 0 0 1 2.1 9Z" fill="url(#g1)" stroke="#98a4b3" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 11 | <path d="M2.6 4.5L3.9 5.9L7.2 1.8" fill="none" stroke="#1b8a36" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M2.6 4.5L3.9 5.9L7.2 1.8" fill="none" stroke="url(#g2)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M8.5 4H14.5V5H8.5ZM8.5 11H14.5V12H8.5Z" fill="currentColor"/> | ||
| 14 | </svg> | ||
crates/snowbound/assets/icons/update.svg created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" x2="0" y2="1"><stop offset="0" stop-color="#86e88a"/><stop offset="1" stop-color="#1f9a3e"/></linearGradient> | ||
| 4 | </defs> | ||
| 5 | <path d="M1.5 8.75A6.5 6.5 0 1 1 14.5 8.75A6.5 6.5 0 1 1 1.5 8.75Z" fill="#000000" fill-opacity="0.16"/> | ||
| 6 | <path d="M1.5 8A6.5 6.5 0 1 1 14.5 8A6.5 6.5 0 1 1 1.5 8Z" fill="url(#g0)" stroke="#16762e" stroke-width="0.8" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 7 | <path d="M3.5 6.5A4.75 4.75 0 0 1 8 2.75" fill="none" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.5"/> | ||
| 8 | <path d="M8 4.25V10.5M5.4 7.9L8 10.5L10.6 7.9" fill="none" stroke="#ffffff" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | </svg> | ||
crates/snowbound/assets/icons/zoom-actual.svg created+15| ... | @@ -0,0 +1,15 @@ | ||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> | ||
| 2 | <defs> | ||
| 3 | <linearGradient id="g0" gradientUnits="userSpaceOnUse" x2="0" y1="8.85" y2="14.85"><stop offset="0" stop-color="#6a7482"/><stop offset="1" stop-color="#3b4350"/></linearGradient> | ||
| 4 | <linearGradient id="g1" gradientUnits="userSpaceOnUse" x2="0" y1="1.15" y2="11.85"><stop offset="0" stop-color="#d3d9e0"/><stop offset="1" stop-color="#7b8796"/></linearGradient> | ||
| 5 | <linearGradient id="g2" x2="0" y2="1"><stop offset="0" stop-color="#eaf6ff"/><stop offset="1" stop-color="#aed8ff"/></linearGradient> | ||
| 6 | </defs> | ||
| 7 | <path d="M10.2 10.95L13.5 14.25" fill="none" stroke="#000000" stroke-width="3.6" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 8 | <path d="M10.2 10.2L13.5 13.5" fill="none" stroke="#2b323b" stroke-width="3.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 9 | <path d="M10.2 10.2L13.5 13.5" fill="none" stroke="url(#g0)" stroke-width="2.7" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 10 | <path d="M2 7.25A4.5 4.5 0 1 1 11 7.25A4.5 4.5 0 1 1 2 7.25Z" fill="none" stroke="#000000" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16"/> | ||
| 11 | <path d="M2 6.5A4.5 4.5 0 1 1 11 6.5A4.5 4.5 0 1 1 2 6.5Z" fill="none" stroke="#5a6676" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 12 | <path d="M2 6.5A4.5 4.5 0 1 1 11 6.5A4.5 4.5 0 1 1 2 6.5Z" fill="none" stroke="url(#g1)" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/> | ||
| 13 | <path d="M3 6.5A3.5 3.5 0 1 1 10 6.5A3.5 3.5 0 1 1 3 6.5Z" fill="url(#g2)"/> | ||
| 14 | <path class="accent" d="M4.4 4.7H5.4V8.5H4.4ZM8.1 4.7H9.1V8.5H8.1ZM6.35 5.4H7.15V6.2H6.35ZM6.35 7.2H7.15V8H6.35Z" fill="#1f6fe0"/> | ||
| 15 | </svg> | ||
crates/snowbound/src/art.rs+104-2| ... | @@ -1,8 +1,9 @@ | ... | @@ -1,8 +1,9 @@ |
| 1 | //! Artwork for the window's chrome: tinted interface icons and the toolbar's tag buttons. | 1 | //! Artwork for the window's chrome: tinted interface icons and the toolbar's tag buttons. |
| 2 | 2 | ||
| 3 | /// Artwork of one or more files under `assets/`, painted in order, as a badge over its icon. | ||
| 3 | macro_rules! art { | 4 | macro_rules! art { |
| 4 | ($path:literal) => { | 5 | ($($path:literal),+) => { |
| 5 | &[include_str!(concat!("../assets/", $path, ".svg"))] | 6 | &[$(include_str!(concat!("../assets/", $path, ".svg"))),+] |
| 6 | }; | 7 | }; |
| 7 | } | 8 | } |
| 8 | 9 | ||
| ... | @@ -97,3 +98,104 @@ pub const SHAPE_ARROW: &[&str] = art!("icons/shape-arrow"); | ... | @@ -97,3 +98,104 @@ pub const SHAPE_ARROW: &[&str] = art!("icons/shape-arrow"); |
| 97 | pub const SHAPE_LINE: &[&str] = art!("icons/shape-line"); | 98 | pub const SHAPE_LINE: &[&str] = art!("icons/shape-line"); |
| 98 | pub const SHAPE_OVAL: &[&str] = art!("icons/shape-oval"); | 99 | pub const SHAPE_OVAL: &[&str] = art!("icons/shape-oval"); |
| 99 | pub const SHAPE_RECTANGLE: &[&str] = art!("icons/shape-rectangle"); | 100 | pub const SHAPE_RECTANGLE: &[&str] = art!("icons/shape-rectangle"); |
| 101 | |||
| 102 | pub const ADD_TO_DICTIONARY: &[&str] = art!("icons/spelling", "icons/badge-add"); | ||
| 103 | pub const CITATION: &[&str] = art!("icons/citation"); | ||
| 104 | pub const CLOSE_NOTEBOOK: &[&str] = art!( | ||
| 105 | "icons/notebook-back", | ||
| 106 | "icons/notebook-accent", | ||
| 107 | "icons/notebook", | ||
| 108 | "icons/badge-close" | ||
| 109 | ); | ||
| 110 | pub const CODE: &[&str] = art!("icons/code"); | ||
| 111 | pub const COMMAND_PALETTE: &[&str] = art!("icons/palette", "icons/badge-command"); | ||
| 112 | pub const COPY_LINK: &[&str] = art!("icons/page", "icons/badge-link"); | ||
| 113 | pub const CUSTOMIZE_THEME: &[&str] = art!("icons/theme", "icons/badge-edit"); | ||
| 114 | pub const CUSTOMIZE_TAGS: &[&str] = art!("icons/tag", "icons/badge-edit"); | ||
| 115 | pub const DELETE: &[&str] = art!("icons/delete"); | ||
| 116 | pub const EMPTY_RECYCLE_BIN: &[&str] = art!("icons/recycle-bin", "icons/badge-remove"); | ||
| 117 | pub const EXPORT_PDF: &[&str] = art!("icons/pdf"); | ||
| 118 | pub const FAST_FORWARD: &[&str] = art!("icons/fast-forward"); | ||
| 119 | pub const FIND: &[&str] = art!("icons/page", "icons/badge-search"); | ||
| 120 | pub const FULL_PAGE: &[&str] = art!("icons/full-page"); | ||
| 121 | pub const GO_TO: &[&str] = art!("icons/palette", "icons/badge-go"); | ||
| 122 | /// Heading 1 to 6, in order. | ||
| 123 | pub const HEADINGS: [&[&str]; 6] = [ | ||
| 124 | art!("icons/heading", "icons/digit-1"), | ||
| 125 | art!("icons/heading", "icons/digit-2"), | ||
| 126 | art!("icons/heading", "icons/digit-3"), | ||
| 127 | art!("icons/heading", "icons/digit-4"), | ||
| 128 | art!("icons/heading", "icons/digit-5"), | ||
| 129 | art!("icons/heading", "icons/digit-6"), | ||
| 130 | ]; | ||
| 131 | pub const HELP: &[&str] = art!("icons/help"); | ||
| 132 | pub const KEEP_SOURCE_FORMATTING: &[&str] = art!("icons/paste", "icons/badge-brush"); | ||
| 133 | pub const KEEP_TEXT_ONLY: &[&str] = art!("icons/paste", "icons/badge-text"); | ||
| 134 | pub const LIVE_SHARE: &[&str] = art!( | ||
| 135 | "icons/notebook-back", | ||
| 136 | "icons/notebook-accent", | ||
| 137 | "icons/notebook", | ||
| 138 | "icons/badge-live" | ||
| 139 | ); | ||
| 140 | pub const LOCK: &[&str] = art!("icons/lock"); | ||
| 141 | pub const MARKDOWN: &[&str] = art!("icons/markdown"); | ||
| 142 | pub const MARK_NOTEBOOK_READ: &[&str] = art!( | ||
| 143 | "icons/notebook-back", | ||
| 144 | "icons/notebook-accent", | ||
| 145 | "icons/notebook", | ||
| 146 | "icons/badge-check" | ||
| 147 | ); | ||
| 148 | pub const MARK_READ: &[&str] = art!("icons/page", "icons/badge-check"); | ||
| 149 | pub const MERGE_FORMATTING: &[&str] = art!("icons/paste", "icons/badge-merge"); | ||
| 150 | pub const MOVE: &[&str] = art!("icons/page", "icons/badge-go"); | ||
| 151 | pub const MOVE_DOWN: &[&str] = art!("icons/move-down"); | ||
| 152 | pub const MOVE_UP: &[&str] = art!("icons/move-up"); | ||
| 153 | pub const NEW_NOTEBOOK: &[&str] = art!( | ||
| 154 | "icons/notebook-back", | ||
| 155 | "icons/notebook-accent", | ||
| 156 | "icons/notebook", | ||
| 157 | "icons/badge-add" | ||
| 158 | ); | ||
| 159 | pub const NEW_PAGE: &[&str] = art!("icons/page", "icons/badge-add"); | ||
| 160 | pub const NEW_SECTION: &[&str] = art!("icons/tab", "icons/badge-add"); | ||
| 161 | pub const NEW_SECTION_GROUP: &[&str] = art!("icons/section-group", "icons/badge-add"); | ||
| 162 | pub const NEW_SUBPAGE: &[&str] = art!("icons/subpage", "icons/badge-add"); | ||
| 163 | pub const NEXT_UNREAD: &[&str] = art!("icons/page", "icons/badge-unread"); | ||
| 164 | pub const NORMAL: &[&str] = art!("icons/normal"); | ||
| 165 | pub const OPEN: &[&str] = art!("icons/folder-open"); | ||
| 166 | pub const OPEN_SHARED: &[&str] = art!("icons/folder-open", "icons/badge-live"); | ||
| 167 | pub const PAGE_LIST: &[&str] = art!("icons/page-list"); | ||
| 168 | pub const PAGE_TITLE: &[&str] = art!("icons/page-title"); | ||
| 169 | pub const PAGE_VERSIONS: &[&str] = art!("icons/page", "icons/badge-history"); | ||
| 170 | pub const PAGES_MATCH_THEME: &[&str] = art!("icons/pages-match-theme"); | ||
| 171 | pub const PASSWORD: &[&str] = art!("icons/tab", "icons/badge-lock"); | ||
| 172 | pub const PASTE_PICTURE: &[&str] = art!("icons/paste", "icons/badge-picture"); | ||
| 173 | pub const PAUSE: &[&str] = art!("icons/pause"); | ||
| 174 | pub const PRINT: &[&str] = art!("icons/print"); | ||
| 175 | pub const PROPERTIES: &[&str] = art!("icons/properties"); | ||
| 176 | pub const QUOTE: &[&str] = art!("icons/quote"); | ||
| 177 | pub const RECYCLE_BIN: &[&str] = art!("icons/recycle-bin"); | ||
| 178 | pub const REMOVE_LINK: &[&str] = art!("icons/link", "icons/badge-remove"); | ||
| 179 | pub const REMOVE_TAG: &[&str] = art!("icons/tag", "icons/badge-remove"); | ||
| 180 | pub const RENAME: &[&str] = art!("icons/rename"); | ||
| 181 | pub const REWIND: &[&str] = art!("icons/rewind"); | ||
| 182 | pub const SAVE: &[&str] = art!("icons/save"); | ||
| 183 | pub const SEARCH_RESULTS: &[&str] = art!("icons/page-list", "icons/badge-search"); | ||
| 184 | pub const SECTION_COLOR: &[&str] = art!("icons/tab", "icons/badge-drop"); | ||
| 185 | pub const SEE_PLAYBACK: &[&str] = art!("icons/page", "icons/badge-play"); | ||
| 186 | pub const SEEK: &[&str] = art!("icons/clock", "icons/badge-go"); | ||
| 187 | pub const SELECT_ALL: &[&str] = art!("icons/select-all"); | ||
| 188 | pub const SHOW_UNREAD: &[&str] = art!( | ||
| 189 | "icons/notebook-back", | ||
| 190 | "icons/notebook-accent", | ||
| 191 | "icons/notebook", | ||
| 192 | "icons/badge-unread" | ||
| 193 | ); | ||
| 194 | pub const SNAP_TO_GRID: &[&str] = art!("icons/snap-to-grid"); | ||
| 195 | pub const STOP: &[&str] = art!("icons/stop"); | ||
| 196 | pub const SUBPAGE: &[&str] = art!("icons/subpage"); | ||
| 197 | pub const SYNC_NOW: &[&str] = art!("icons/sync-now"); | ||
| 198 | pub const THEME: &[&str] = art!("icons/theme"); | ||
| 199 | pub const TO_DO: &[&str] = art!("icons/to-do"); | ||
| 200 | pub const UPDATE: &[&str] = art!("icons/update"); | ||
| 201 | pub const ZOOM_ACTUAL: &[&str] = art!("icons/zoom-actual"); |
crates/snowbound/src/history.rs+11-7| ... | @@ -96,25 +96,29 @@ pub fn menu( | ... | @@ -96,25 +96,29 @@ pub fn menu( |
| 96 | text, | 96 | text, |
| 97 | ..Default::default() | 97 | ..Default::default() |
| 98 | }; | 98 | }; |
| 99 | let drawn = |text, icon| ui::popup::Item { | ||
| 100 | icon: Some(icon), | ||
| 101 | ..item(text) | ||
| 102 | }; | ||
| 99 | let items = [ | 103 | let items = [ |
| 100 | item("Restore Version"), | 104 | drawn("Restore Version", art::UNDO), |
| 101 | item("Delete Version"), | 105 | drawn("Delete Version", art::DELETE), |
| 102 | ui::popup::Item { | 106 | ui::popup::Item { |
| 103 | disabled: sections.is_empty(), | 107 | disabled: sections.is_empty(), |
| 104 | ..item("Copy Page To…") | 108 | ..drawn("Copy Page To…", art::COPY) |
| 105 | }, | 109 | }, |
| 106 | ui::popup::Item { | 110 | ui::popup::Item { |
| 107 | separated: true, | 111 | separated: true, |
| 108 | ..item("Delete All Versions in Section") | 112 | ..drawn("Delete All Versions in Section", art::DELETE) |
| 109 | }, | 113 | }, |
| 110 | ui::popup::Item { | 114 | ui::popup::Item { |
| 111 | disabled: !grouped, | 115 | disabled: !grouped, |
| 112 | ..item("Delete All Versions in Section Group") | 116 | ..drawn("Delete All Versions in Section Group", art::DELETE) |
| 113 | }, | 117 | }, |
| 114 | item("Delete All Versions in Notebook"), | 118 | drawn("Delete All Versions in Notebook", art::DELETE), |
| 115 | ui::popup::Item { | 119 | ui::popup::Item { |
| 116 | separated: true, | 120 | separated: true, |
| 117 | ..item("Hide Page Versions") | 121 | ..drawn("Hide Page Versions", art::PAGE_VERSIONS) |
| 118 | }, | 122 | }, |
| 119 | ]; | 123 | ]; |
| 120 | let chosen = match ui::popup::menu(ui, menu, anchor, &items, None) { | 124 | let chosen = match ui::popup::menu(ui, menu, anchor, &items, None) { |
crates/snowbound/src/link.rs+23-18| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | //! the page's context menu, and following a clicked link, to a page | 2 | //! the page's context menu, and following a clicked link, to a page |
| 3 | //! of the notebook or with the system's handler. | 3 | //! of the notebook or with the system's handler. |
| 4 | 4 | ||
| 5 | use crate::{Command, State, commands, page, platform}; | 5 | use crate::{Command, State, art, commands, page, platform}; |
| 6 | use onestore::ExGuid; | 6 | use onestore::ExGuid; |
| 7 | use onestore::page::link::{LinkTarget, internal_link}; | 7 | use onestore::page::link::{LinkTarget, internal_link}; |
| 8 | use std::error::Error; | 8 | use std::error::Error; |
| ... | @@ -292,14 +292,18 @@ impl State { | ... | @@ -292,14 +292,18 @@ impl State { |
| 292 | text, | 292 | text, |
| 293 | ..Item::default() | 293 | ..Item::default() |
| 294 | }; | 294 | }; |
| 295 | let drawn = |text, icon| Item { | ||
| 296 | icon: Some(icon), | ||
| 297 | ..item(text) | ||
| 298 | }; | ||
| 295 | // OneNote 2010 heads the menu on a marked word with its corrections. | 299 | // OneNote 2010 heads the menu on a marked word with its corrections. |
| 296 | let mut items = match &context.spelling { | 300 | let mut items = match &context.spelling { |
| 297 | Some(correction) if correction.repeated => vec![ | 301 | Some(correction) if correction.repeated => vec![ |
| 298 | item("Delete Repeated Word"), | 302 | drawn("Delete Repeated Word", art::DELETE), |
| 299 | item("Ignore"), | 303 | item("Ignore"), |
| 300 | Item { | 304 | Item { |
| 301 | separated: true, | 305 | separated: true, |
| 302 | ..item("Spelling…") | 306 | ..drawn("Spelling…", art::SPELLING) |
| 303 | }, | 307 | }, |
| 304 | ], | 308 | ], |
| 305 | Some(correction) => { | 309 | Some(correction) => { |
| ... | @@ -319,10 +323,10 @@ impl State { | ... | @@ -319,10 +323,10 @@ impl State { |
| 319 | separated: true, | 323 | separated: true, |
| 320 | ..item("Ignore") | 324 | ..item("Ignore") |
| 321 | }, | 325 | }, |
| 322 | item("Add to Dictionary"), | 326 | drawn("Add to Dictionary", art::ADD_TO_DICTIONARY), |
| 323 | Item { | 327 | Item { |
| 324 | separated: true, | 328 | separated: true, |
| 325 | ..item("Spelling…") | 329 | ..drawn("Spelling…", art::SPELLING) |
| 326 | }, | 330 | }, |
| 327 | ]); | 331 | ]); |
| 328 | items | 332 | items |
| ... | @@ -340,45 +344,46 @@ impl State { | ... | @@ -340,45 +344,46 @@ impl State { |
| 340 | .collect::<Vec<_>>(); | 344 | .collect::<Vec<_>>(); |
| 341 | items.extend(if context.attachment.is_some() { | 345 | items.extend(if context.attachment.is_some() { |
| 342 | // OneNote 2010's commands for the file itself; its clipboard holds text alone. | 346 | // OneNote 2010's commands for the file itself; its clipboard holds text alone. |
| 343 | vec![item("Open"), item("Save As…")] | 347 | vec![drawn("Open", art::OPEN), drawn("Save As…", art::SAVE)] |
| 344 | } else { | 348 | } else { |
| 345 | let mut items = vec![ | 349 | let mut items = vec![ |
| 346 | Item { | 350 | Item { |
| 347 | disabled: !context.selected, | 351 | disabled: !context.selected, |
| 348 | separated: corrections > 0, | 352 | separated: corrections > 0, |
| 349 | ..item("Cut") | 353 | ..drawn("Cut", art::CUT) |
| 350 | }, | 354 | }, |
| 351 | Item { | 355 | Item { |
| 352 | disabled: !context.selected, | 356 | disabled: !context.selected, |
| 353 | ..item("Copy") | 357 | ..drawn("Copy", art::COPY) |
| 354 | }, | 358 | }, |
| 355 | item("Paste"), | 359 | drawn("Paste", art::PASTE), |
| 356 | ]; | 360 | ]; |
| 357 | match &context.link { | 361 | match &context.link { |
| 358 | Some(_) => items.extend([ | 362 | Some(_) => items.extend([ |
| 359 | Item { | 363 | Item { |
| 360 | separated: true, | 364 | separated: true, |
| 361 | ..item("Edit Link…") | 365 | ..drawn("Edit Link…", art::LINK) |
| 362 | }, | 366 | }, |
| 363 | item("Copy Link to Paragraph"), | 367 | drawn("Copy Link to Paragraph", art::COPY_LINK), |
| 364 | Item { | 368 | Item { |
| 365 | separated: true, | 369 | separated: true, |
| 366 | ..item("Copy Link") | 370 | ..drawn("Copy Link", art::COPY_LINK) |
| 367 | }, | 371 | }, |
| 368 | item("Select Link"), | 372 | drawn("Select Link", art::SELECT), |
| 369 | item("Remove Link"), | 373 | drawn("Remove Link", art::REMOVE_LINK), |
| 370 | ]), | 374 | ]), |
| 371 | None => items.extend([ | 375 | None => items.extend([ |
| 372 | Item { | 376 | Item { |
| 373 | separated: true, | 377 | separated: true, |
| 374 | ..item("Link…") | 378 | ..drawn("Link…", art::LINK) |
| 375 | }, | 379 | }, |
| 376 | item("Copy Link to Paragraph"), | 380 | drawn("Copy Link to Paragraph", art::COPY_LINK), |
| 377 | ]), | 381 | ]), |
| 378 | } | 382 | } |
| 379 | for (at, id) in lists.iter().enumerate() { | 383 | for (at, id) in lists.iter().enumerate() { |
| 380 | items.push(Item { | 384 | items.push(Item { |
| 381 | separated: at == 0, | 385 | separated: at == 0, |
| 386 | icon: crate::artwork(*id), | ||
| 382 | ..item(commands::command(*id).title) | 387 | ..item(commands::command(*id).title) |
| 383 | }); | 388 | }); |
| 384 | } | 389 | } |
| ... | @@ -386,9 +391,9 @@ impl State { | ... | @@ -386,9 +391,9 @@ impl State { |
| 386 | items.extend([ | 391 | items.extend([ |
| 387 | Item { | 392 | Item { |
| 388 | separated: true, | 393 | separated: true, |
| 389 | ..item("Professional") | 394 | ..drawn("Professional", art::EQUATION) |
| 390 | }, | 395 | }, |
| 391 | item("Linear"), | 396 | drawn("Linear", art::EQUATION), |
| 392 | ]); | 397 | ]); |
| 393 | } | 398 | } |
| 394 | items | 399 | items |
crates/snowbound/src/main.rs+71-7| ... | @@ -2227,18 +2227,19 @@ impl State { | ... | @@ -2227,18 +2227,19 @@ impl State { |
| 2227 | choice = dropdown(ui, "menu", head, &entries, status_of).or(choice); | 2227 | choice = dropdown(ui, "menu", head, &entries, status_of).or(choice); |
| 2228 | // Pasting keeps only the text until #25. | 2228 | // Pasting keeps only the text until #25. |
| 2229 | let options = [ | 2229 | let options = [ |
| 2230 | ("Keep Source Formatting", false), | 2230 | ("Keep Source Formatting", false, art::KEEP_SOURCE_FORMATTING), |
| 2231 | ("Merge Formatting", false), | 2231 | ("Merge Formatting", false, art::MERGE_FORMATTING), |
| 2232 | ("Keep Text Only", true), | 2232 | ("Keep Text Only", true, art::KEEP_TEXT_ONLY), |
| 2233 | ("Picture", false), | 2233 | ("Picture", false, art::PASTE_PICTURE), |
| 2234 | ]; | 2234 | ]; |
| 2235 | let mut items = vec![ui::popup::Item { | 2235 | let mut items = vec![ui::popup::Item { |
| 2236 | text: "Paste Options", | 2236 | text: "Paste Options", |
| 2237 | heading: true, | 2237 | heading: true, |
| 2238 | ..Default::default() | 2238 | ..Default::default() |
| 2239 | }]; | 2239 | }]; |
| 2240 | items.extend(options.map(|(text, enabled)| ui::popup::Item { | 2240 | items.extend(options.map(|(text, enabled, icon)| ui::popup::Item { |
| 2241 | text, | 2241 | text, |
| 2242 | icon: Some(icon), | ||
| 2242 | disabled: !enabled, | 2243 | disabled: !enabled, |
| 2243 | ..Default::default() | 2244 | ..Default::default() |
| 2244 | })); | 2245 | })); |
| ... | @@ -4710,21 +4711,25 @@ fn conflict_bar(ui: &mut Ui, bar: Bar, sections: &[&str], steps: [bool; 2]) -> O | ... | @@ -4710,21 +4711,25 @@ fn conflict_bar(ui: &mut Ui, bar: Bar, sections: &[&str], steps: [bool; 2]) -> O |
| 4710 | let items = [ | 4711 | let items = [ |
| 4711 | ui::popup::Item { | 4712 | ui::popup::Item { |
| 4712 | text: "Delete Conflict Page", | 4713 | text: "Delete Conflict Page", |
| 4714 | icon: Some(art::DELETE), | ||
| 4713 | ..Default::default() | 4715 | ..Default::default() |
| 4714 | }, | 4716 | }, |
| 4715 | ui::popup::Item { | 4717 | ui::popup::Item { |
| 4716 | text: "Copy Page To…", | 4718 | text: "Copy Page To…", |
| 4719 | icon: Some(art::COPY), | ||
| 4717 | disabled: sections.is_empty(), | 4720 | disabled: sections.is_empty(), |
| 4718 | ..Default::default() | 4721 | ..Default::default() |
| 4719 | }, | 4722 | }, |
| 4720 | ui::popup::Item { | 4723 | ui::popup::Item { |
| 4721 | text: "Select Previous Conflicting Change", | 4724 | text: "Select Previous Conflicting Change", |
| 4725 | icon: Some(art::MOVE_UP), | ||
| 4722 | disabled: !steps[0], | 4726 | disabled: !steps[0], |
| 4723 | separated: true, | 4727 | separated: true, |
| 4724 | ..Default::default() | 4728 | ..Default::default() |
| 4725 | }, | 4729 | }, |
| 4726 | ui::popup::Item { | 4730 | ui::popup::Item { |
| 4727 | text: "Select Next Conflicting Change", | 4731 | text: "Select Next Conflicting Change", |
| 4732 | icon: Some(art::MOVE_DOWN), | ||
| 4728 | disabled: !steps[1], | 4733 | disabled: !steps[1], |
| 4729 | ..Default::default() | 4734 | ..Default::default() |
| 4730 | }, | 4735 | }, |
| ... | @@ -5545,10 +5550,12 @@ fn tag_tool( | ... | @@ -5545,10 +5550,12 @@ fn tag_tool( |
| 5545 | clicked.then_some(commands::Choice::Command(commands::Id::Tag(place))) | 5550 | clicked.then_some(commands::Choice::Command(commands::Id::Tag(place))) |
| 5546 | } | 5551 | } |
| 5547 | 5552 | ||
| 5548 | /// The artwork the toolbar and its menus show for command `id`. | 5553 | /// The artwork the toolbar, the menus and the palette show for command `id`; none for a |
| 5554 | /// tag, which shows its own. | ||
| 5549 | fn artwork(id: commands::Id) -> Option<&'static [&'static str]> { | 5555 | fn artwork(id: commands::Id) -> Option<&'static [&'static str]> { |
| 5550 | use canvas::editor::{Alignment, Toggle}; | 5556 | use canvas::editor::{Alignment, Toggle}; |
| 5551 | use commands::Id as Cmd; | 5557 | use commands::Id as Cmd; |
| 5558 | use recording::Transport; | ||
| 5552 | Some(match id { | 5559 | Some(match id { |
| 5553 | Cmd::Back => art::BACK, | 5560 | Cmd::Back => art::BACK, |
| 5554 | Cmd::Forward => art::FORWARD, | 5561 | Cmd::Forward => art::FORWARD, |
| ... | @@ -5601,7 +5608,64 @@ fn artwork(id: commands::Id) -> Option<&'static [&'static str]> { | ... | @@ -5601,7 +5608,64 @@ fn artwork(id: commands::Id) -> Option<&'static [&'static str]> { |
| 5601 | Cmd::ZoomIn => art::ZOOM_IN, | 5608 | Cmd::ZoomIn => art::ZOOM_IN, |
| 5602 | Cmd::ZoomOut => art::ZOOM_OUT, | 5609 | Cmd::ZoomOut => art::ZOOM_OUT, |
| 5603 | Cmd::HideSpelling | Cmd::Spelling => art::SPELLING, | 5610 | Cmd::HideSpelling | Cmd::Spelling => art::SPELLING, |
| 5604 | _ => return None, | 5611 | Cmd::Settings => art::OPTIONS, |
| 5612 | Cmd::NewNotebook => art::NEW_NOTEBOOK, | ||
| 5613 | Cmd::OpenNotebook => art::OPEN, | ||
| 5614 | Cmd::OpenFromServer => art::SERVER, | ||
| 5615 | Cmd::CloseNotebook => art::CLOSE_NOTEBOOK, | ||
| 5616 | Cmd::NewSection => art::NEW_SECTION, | ||
| 5617 | Cmd::NewSectionGroup => art::NEW_SECTION_GROUP, | ||
| 5618 | Cmd::NewPage => art::NEW_PAGE, | ||
| 5619 | Cmd::NewSubpage => art::NEW_SUBPAGE, | ||
| 5620 | Cmd::PageVersions => art::PAGE_VERSIONS, | ||
| 5621 | Cmd::CopyPageLink => art::COPY_LINK, | ||
| 5622 | Cmd::PasswordProtect => art::PASSWORD, | ||
| 5623 | Cmd::LockAll => art::LOCK, | ||
| 5624 | Cmd::ShowNotebook => art::FOLDER, | ||
| 5625 | Cmd::SaveAs => art::SAVE, | ||
| 5626 | Cmd::RecycleBin => art::RECYCLE_BIN, | ||
| 5627 | Cmd::EmptyRecycleBin => art::EMPTY_RECYCLE_BIN, | ||
| 5628 | Cmd::MarkRead => art::MARK_READ, | ||
| 5629 | Cmd::MarkNotebookRead => art::MARK_NOTEBOOK_READ, | ||
| 5630 | Cmd::ShowUnread => art::SHOW_UNREAD, | ||
| 5631 | Cmd::NextUnread => art::NEXT_UNREAD, | ||
| 5632 | Cmd::ExportPdf => art::EXPORT_PDF, | ||
| 5633 | Cmd::Print => art::PRINT, | ||
| 5634 | Cmd::SelectAll => art::SELECT_ALL, | ||
| 5635 | Cmd::Find => art::FIND, | ||
| 5636 | Cmd::Search => art::SEARCH, | ||
| 5637 | Cmd::SearchResults => art::SEARCH_RESULTS, | ||
| 5638 | Cmd::GoTo => art::GO_TO, | ||
| 5639 | Cmd::CommandPalette => art::COMMAND_PALETTE, | ||
| 5640 | Cmd::ActualSize => art::ZOOM_ACTUAL, | ||
| 5641 | Cmd::Sidebar => art::SIDEBAR_EXPAND, | ||
| 5642 | Cmd::PageList => art::PAGE_LIST, | ||
| 5643 | Cmd::PagesMatchTheme => art::PAGES_MATCH_THEME, | ||
| 5644 | Cmd::FullPageView => art::FULL_PAGE, | ||
| 5645 | Cmd::Transport(Transport::Pause) => art::PAUSE, | ||
| 5646 | Cmd::Transport(Transport::Stop) => art::STOP, | ||
| 5647 | Cmd::Transport(Transport::Skip(seconds)) if seconds < 0 => art::REWIND, | ||
| 5648 | Cmd::Transport(Transport::Skip(_)) => art::FAST_FORWARD, | ||
| 5649 | Cmd::Transport(Transport::SeekTo) => art::SEEK, | ||
| 5650 | Cmd::Transport(Transport::SeePlayback) => art::SEE_PLAYBACK, | ||
| 5651 | Cmd::SnapToGrid => art::SNAP_TO_GRID, | ||
| 5652 | Cmd::Style(level @ 0..6) => art::HEADINGS[level], | ||
| 5653 | Cmd::Style(6) => art::PAGE_TITLE, | ||
| 5654 | Cmd::Style(7) => art::CITATION, | ||
| 5655 | Cmd::Style(8) => art::QUOTE, | ||
| 5656 | Cmd::Style(9) => art::CODE, | ||
| 5657 | Cmd::Style(_) => art::NORMAL, | ||
| 5658 | Cmd::Themes => art::CUSTOMIZE_THEME, | ||
| 5659 | Cmd::OpenShared => art::OPEN_SHARED, | ||
| 5660 | Cmd::LiveShare => art::LIVE_SHARE, | ||
| 5661 | Cmd::MarkdownShortcuts => art::MARKDOWN, | ||
| 5662 | Cmd::CustomizeTags => art::CUSTOMIZE_TAGS, | ||
| 5663 | Cmd::RemoveTags => art::REMOVE_TAG, | ||
| 5664 | Cmd::ToDoList => art::TO_DO, | ||
| 5665 | Cmd::BulletedList => art::BULLETS, | ||
| 5666 | Cmd::Help => art::HELP, | ||
| 5667 | Cmd::CheckForUpdates => art::UPDATE, | ||
| 5668 | Cmd::Tag(_) => return None, | ||
| 5605 | }) | 5669 | }) |
| 5606 | } | 5670 | } |
| 5607 | 5671 |
crates/snowbound/src/menus.rs+44| ... | @@ -127,6 +127,49 @@ pub enum Action { | ... | @@ -127,6 +127,49 @@ pub enum Action { |
| 127 | LiveShare, | 127 | LiveShare, |
| 128 | } | 128 | } |
| 129 | 129 | ||
| 130 | impl Action { | ||
| 131 | /// The artwork its menu item shows; none for a place or colour, which shows its own. | ||
| 132 | pub(crate) fn art(&self) -> Option<&'static [&'static str]> { | ||
| 133 | use crate::art; | ||
| 134 | Some(match self { | ||
| 135 | Action::Open => art::OPEN, | ||
| 136 | Action::Rename => art::RENAME, | ||
| 137 | Action::Delete => art::DELETE, | ||
| 138 | Action::Move => art::MOVE, | ||
| 139 | Action::Copy => art::COPY, | ||
| 140 | Action::SaveAs => art::SAVE, | ||
| 141 | Action::RecycleBin => art::RECYCLE_BIN, | ||
| 142 | Action::EmptyRecycleBin => art::EMPTY_RECYCLE_BIN, | ||
| 143 | Action::MarkNotebookRead => art::MARK_NOTEBOOK_READ, | ||
| 144 | Action::CopyLink => art::COPY_LINK, | ||
| 145 | Action::NewPage => art::NEW_PAGE, | ||
| 146 | Action::NewSubpage => art::NEW_SUBPAGE, | ||
| 147 | Action::MakeSubpage => art::SUBPAGE, | ||
| 148 | Action::PromoteSubpage => art::OUTDENT, | ||
| 149 | Action::Versions(_) => art::PAGE_VERSIONS, | ||
| 150 | Action::NewSection => art::NEW_SECTION, | ||
| 151 | Action::NewGroup => art::NEW_SECTION_GROUP, | ||
| 152 | Action::Reveal => art::FOLDER, | ||
| 153 | Action::Close => art::CLOSE_NOTEBOOK, | ||
| 154 | Action::Theme => art::THEME, | ||
| 155 | Action::Colors => art::SECTION_COLOR, | ||
| 156 | Action::Sync => art::SYNC_NOW, | ||
| 157 | Action::NewNotebook => art::NEW_NOTEBOOK, | ||
| 158 | Action::Raise(true) => art::MOVE_UP, | ||
| 159 | Action::Raise(false) => art::MOVE_DOWN, | ||
| 160 | Action::Properties => art::PROPERTIES, | ||
| 161 | Action::Password => art::PASSWORD, | ||
| 162 | #[cfg(feature = "live")] | ||
| 163 | Action::LiveShare => art::LIVE_SHARE, | ||
| 164 | Action::Run | ||
| 165 | | Action::MoveTo(_) | ||
| 166 | | Action::CopyTo(_) | ||
| 167 | | Action::SyncStatus | ||
| 168 | | Action::Color(_) => return None, | ||
| 169 | }) | ||
| 170 | } | ||
| 171 | } | ||
| 172 | |||
| 130 | /// OneNote 2010's section and notebook colours, COLORREF, with their names in its Section | 173 | /// OneNote 2010's section and notebook colours, COLORREF, with their names in its Section |
| 131 | /// Color menu's order (`corpus/section-color/native`). | 174 | /// Color menu's order (`corpus/section-color/native`). |
| 132 | pub(crate) const SECTION_COLORS: [(u32, &str); 16] = [ | 175 | pub(crate) const SECTION_COLORS: [(u32, &str); 16] = [ |
| ... | @@ -281,6 +324,7 @@ impl State { | ... | @@ -281,6 +324,7 @@ impl State { |
| 281 | let badge = None; | 324 | let badge = None; |
| 282 | let item = Item { | 325 | let item = Item { |
| 283 | text, | 326 | text, |
| 327 | icon: action.art(), | ||
| 284 | disabled, | 328 | disabled, |
| 285 | separated, | 329 | separated, |
| 286 | submenu, | 330 | submenu, |
crates/snowbound/src/palette.rs+2| ... | @@ -196,6 +196,7 @@ impl State { | ... | @@ -196,6 +196,7 @@ impl State { |
| 196 | Action::Run, | 196 | Action::Run, |
| 197 | Item { | 197 | Item { |
| 198 | text: "Run", | 198 | text: "Run", |
| 199 | icon: crate::artwork(id), | ||
| 199 | disabled: !self.status(&Choice::Command(id), &format).enabled, | 200 | disabled: !self.status(&Choice::Command(id), &format).enabled, |
| 200 | ..Item::default() | 201 | ..Item::default() |
| 201 | }, | 202 | }, |
| ... | @@ -207,6 +208,7 @@ impl State { | ... | @@ -207,6 +208,7 @@ impl State { |
| 207 | Action::Open, | 208 | Action::Open, |
| 208 | Item { | 209 | Item { |
| 209 | text: "Open", | 210 | text: "Open", |
| 211 | icon: Action::Open.art(), | ||
| 210 | ..Item::default() | 212 | ..Item::default() |
| 211 | }, | 213 | }, |
| 212 | ), | 214 | ), |
crates/snowbound/src/themes.rs+5| ... | @@ -604,6 +604,11 @@ impl State { | ... | @@ -604,6 +604,11 @@ impl State { |
| 604 | .enumerate() | 604 | .enumerate() |
| 605 | .map(|(at, (scope, _))| Item { | 605 | .map(|(at, (scope, _))| Item { |
| 606 | text: scope.name(), | 606 | text: scope.name(), |
| 607 | icon: Some(match scope { | ||
| 608 | Scope::Page => crate::art::PAGE, | ||
| 609 | Scope::Section => crate::art::SECTION, | ||
| 610 | Scope::Notebook => crate::art::NOTEBOOK, | ||
| 611 | }), | ||
| 607 | current: at == 0, | 612 | current: at == 0, |
| 608 | ..Item::default() | 613 | ..Item::default() |
| 609 | }) | 614 | }) |
crates/ui/src/popup.rs+10-6| ... | @@ -656,19 +656,23 @@ fn menu_row(ui: &mut Ui, style: &Menu, matches: &Matches, owner: Role, row: Row) | ... | @@ -656,19 +656,23 @@ fn menu_row(ui: &mut Ui, style: &Menu, matches: &Matches, owner: Role, row: Row) |
| 656 | if matches.icons { | 656 | if matches.icons { |
| 657 | let checked = item.checked == Some(true); | 657 | let checked = item.checked == Some(true); |
| 658 | let tint = match item.tint { | 658 | let tint = match item.tint { |
| 659 | Some([red, green, blue, _]) if !checked => [red, green, blue, color[3]], | 659 | Some([red, green, blue, _]) if !checked => [red, green, blue, 1.0], |
| 660 | _ if item.disabled => style.text, | ||
| 660 | _ => color, | 661 | _ => color, |
| 661 | }; | 662 | }; |
| 663 | // Fading the whole icon dims art in its own colours too, as the toolbar does. | ||
| 664 | let [red, green, blue, alpha] = tint; | ||
| 662 | ui.leaf( | 665 | ui.leaf( |
| 663 | "icon", | 666 | "icon", |
| 664 | Spec { | 667 | Spec { |
| 665 | size: [px(ICON), fill()], | 668 | size: [px(ICON), fill()], |
| 666 | icon: if checked { Some(CHECK) } else { item.icon }, | 669 | icon: if checked { Some(CHECK) } else { item.icon }, |
| 667 | color: Some(if item.disabled { | 670 | color: Some([ |
| 668 | mix(tint, style.fill, 0.5) | 671 | red, |
| 669 | } else { | 672 | green, |
| 670 | tint | 673 | blue, |
| 671 | }), | 674 | alpha * if item.disabled { 0.4 } else { 1.0 }, |
| 675 | ]), | ||
| 672 | ..Spec::default() | 676 | ..Spec::default() |
| 673 | }, | 677 | }, |
| 674 | ); | 678 | ); |