d1548572d4
This change improves privacy/security by ensuring all local storage (which includes settings, etc.) is destroyed on sign out or when revoking a remote session. Because signing out is now more "risky", the button has been moved to the settings along with other existing sessions. This commit: - Removes the power/sign-out icon from the sidebar footer (gives additional room for when the admin panel gets added) - Adds a "Sign out" button next to the current session info in the settings session list - Renames "Disconnect" buttons into "Revoke" to better clarify the intent (I will admit that I borrowed the wording from Telegram) - Fixes incorrect `localStorage.remove` method - Uses Sinon.js to mock wrappers for `window.localStorage` and `window.location` (does not mock those themselves, in the "Do not mock what you do not own" fashion, mock our layer instead). I expect we will be able to test a bit more from the UI with this. A good next candidate will be the `mockLogger` things.
26 lines
449 B
Smarty
26 lines
449 B
Smarty
<p>
|
|
<button
|
|
class="btn pull-right remove-session"
|
|
{{#unless current}}data-token="{{token}}"{{/unless}}
|
|
>
|
|
{{#if current}}
|
|
Sign out
|
|
{{else}}
|
|
Revoke
|
|
{{/if}}
|
|
</button>
|
|
|
|
<strong>{{agent}}</strong>
|
|
|
|
<a href="https://ipinfo.io/{{ip}}" target="_blank" rel="noopener">{{ip}}</a>
|
|
|
|
{{#unless current}}
|
|
<br>
|
|
{{#if active}}
|
|
<em>Currently active</em>
|
|
{{else}}
|
|
Last used on <time>{{localetime lastUse}}</time>
|
|
{{/if}}
|
|
{{/unless}}
|
|
</p>
|