|
76 | 76 | </a> |
77 | 77 | </nav> |
78 | 78 | <div class="sidebar-footer"> |
79 | | - CashPilot v0.1 |
| 79 | + <div class="sidebar-footer-links"> |
| 80 | + <a href="https://github.com/GeiserX/CashPilot" target="_blank" rel="noopener" title="GitHub"> |
| 81 | + <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg> |
| 82 | + </a> |
| 83 | + <a href="https://github.com/sponsors/GeiserX" target="_blank" rel="noopener" title="Sponsor" class="sidebar-sponsor-link"> |
| 84 | + <svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor"><path d="M4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.6 20.6 0 008 13.393a20.6 20.6 0 003.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 01-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5z"/></svg> |
| 85 | + </a> |
| 86 | + </div> |
| 87 | + <span class="sidebar-footer-version">CashPilot v0.2</span> |
80 | 88 | </div> |
81 | 89 | </aside> |
82 | 90 |
|
|
97 | 105 | <span id="topbar-total">--</span> |
98 | 106 | <select id="topbar-currency" class="topbar-currency-select" title="Display currency"></select> |
99 | 107 | </div> |
100 | | - <div class="topbar-actions"> |
101 | | - <div class="topbar-notifications" id="topbar-notifications"> |
102 | | - <button class="topbar-icon-btn topbar-notify-btn" id="notify-toggle" title="Collector alerts" aria-label="Collector alerts"> |
103 | | - <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> |
104 | | - <path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 01-3.46 0"/> |
105 | | - </svg> |
106 | | - <span class="notify-badge" id="notify-badge" style="display:none;">0</span> |
107 | | - </button> |
108 | | - <div class="notify-dropdown" id="notify-dropdown"> |
109 | | - <div class="notify-header">Collector Alerts</div> |
110 | | - <div class="notify-list" id="notify-list"></div> |
111 | | - </div> |
112 | | - </div> |
113 | | - <button class="topbar-icon-btn" id="theme-toggle" title="Toggle theme" aria-label="Toggle theme"> |
114 | | - <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-sun"> |
115 | | - <circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/> |
116 | | - </svg> |
117 | | - <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-moon"> |
118 | | - <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/> |
| 108 | + <div class="topbar-notifications" id="topbar-notifications"> |
| 109 | + <button class="topbar-icon-btn topbar-notify-btn" id="notify-toggle" title="Collector alerts" aria-label="Collector alerts"> |
| 110 | + <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> |
| 111 | + <path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 01-3.46 0"/> |
119 | 112 | </svg> |
| 113 | + <span class="notify-badge" id="notify-badge" style="display:none;">0</span> |
120 | 114 | </button> |
121 | | - <a href="https://github.com/GeiserX/CashPilot" target="_blank" rel="noopener" class="topbar-icon-btn" title="GitHub"> |
122 | | - <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"> |
123 | | - <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/> |
124 | | - </svg> |
125 | | - </a> |
126 | | - <a href="https://github.com/sponsors/GeiserX" target="_blank" rel="noopener" class="topbar-icon-btn topbar-sponsor" title="Sponsor"> |
127 | | - <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor"> |
128 | | - <path d="M4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.6 20.6 0 008 13.393a20.6 20.6 0 003.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 01-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5z"/> |
129 | | - </svg> |
130 | | - </a> |
| 115 | + <div class="notify-dropdown" id="notify-dropdown"> |
| 116 | + <div class="notify-header">Collector Alerts</div> |
| 117 | + <div class="notify-list" id="notify-list"></div> |
| 118 | + </div> |
131 | 119 | </div> |
132 | 120 | {% if user %} |
133 | | - <div class="topbar-divider"></div> |
134 | | - <div class="topbar-user"> |
135 | | - <span class="topbar-username">{{ user.u }}</span> |
136 | | - <span class="topbar-role badge badge-{{ user.r }}">{{ user.r }}</span> |
137 | | - <a href="/logout" class="topbar-logout" title="Sign out"> |
138 | | - <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> |
139 | | - <path d="M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/> |
140 | | - </svg> |
141 | | - </a> |
| 121 | + <div class="topbar-avatar-wrap" id="avatar-wrap"> |
| 122 | + <button class="topbar-avatar" id="avatar-toggle" aria-label="User menu">{{ user.u[0] | upper }}</button> |
| 123 | + <div class="avatar-dropdown" id="avatar-dropdown"> |
| 124 | + <div class="avatar-dropdown-header"> |
| 125 | + <span class="avatar-dropdown-name">{{ user.u }}</span> |
| 126 | + <span class="topbar-role badge badge-{{ user.r }}">{{ user.r }}</span> |
| 127 | + </div> |
| 128 | + <div class="avatar-dropdown-divider"></div> |
| 129 | + <button class="avatar-dropdown-item" id="theme-toggle"> |
| 130 | + <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-sun"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg> |
| 131 | + <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-moon"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg> |
| 132 | + <span class="theme-label">Light mode</span> |
| 133 | + </button> |
| 134 | + <div class="avatar-dropdown-divider"></div> |
| 135 | + <a href="/logout" class="avatar-dropdown-item avatar-dropdown-logout"> |
| 136 | + <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></svg> |
| 137 | + Sign out |
| 138 | + </a> |
| 139 | + </div> |
142 | 140 | </div> |
143 | 141 | {% endif %} |
144 | 142 | </div> |
|
0 commit comments