|
20 | 20 | </div> |
21 | 21 | </nav> |
22 | 22 |
|
23 | | - |
24 | 23 | <p class="lead"> |
25 | 24 | <span> |
26 | 25 | This is a public homepage of {{#if name}}{{name}}, whose WebID is{{else}}a user with WebID{{/if}} |
@@ -54,46 +53,44 @@ <h1>Apps</h1> |
54 | 53 | </a> |
55 | 54 | </div> |
56 | 55 | </section> |
57 | | - <section class="row"> |
58 | | - <div class="col-md-12"> |
59 | | - <h1>Settings</h1> |
60 | | - <div class="list-group"> |
61 | | - <a href="/account/delete/" class="list-group-item"> |
62 | | - <span class="lead">Delete account</span> |
63 | | - </a> |
64 | | - </div> |
65 | | - </div> |
66 | | - </section> |
67 | | - <section class="row"> |
68 | | - <div class="col-md-12"> |
69 | | - <h1>Settings</h1> |
70 | | - <div class="list-group"> |
71 | | - <a href="/account/delete/" class="list-group-item"> |
72 | | - <span class="lead">Delete account</span> |
73 | | - </a> |
74 | | - </div> |
| 56 | + |
| 57 | + <section class="hidden" id="account-settings"> |
| 58 | + <h1>Account settings</h1> |
| 59 | + <div class="list-group"> |
| 60 | + <a href="/account/delete/" class="list-group-item"> |
| 61 | + <span class="lead">Delete account</span> |
| 62 | + </a> |
75 | 63 | </div> |
76 | 64 | </section> |
77 | 65 | </div> |
78 | 66 |
|
79 | 67 | <script src="/common/js/solid-auth-client.bundle.js"></script> |
80 | 68 | <script type="text/javascript"> |
81 | 69 | (function () { |
82 | | - 'use strict' |
83 | | - var button = document.getElementById('session-action') |
84 | | - var loggedIn = false |
| 70 | + 'use strict'; |
| 71 | + var button = document.getElementById('session-action'); |
| 72 | + var loggedIn = false; |
| 73 | + var accountSettings = document.getElementById('account-settings'); |
85 | 74 |
|
86 | | - solid.auth.trackSession(session => { |
87 | | - loggedIn = !!session |
88 | | - button.innerText = loggedIn ? 'Log out' : 'Log in' |
| 75 | + solid.auth.trackSession(function(session) { |
| 76 | + loggedIn = !!session; |
| 77 | + button.innerText = loggedIn ? 'Log out' : 'Log in'; |
89 | 78 | button.classList.remove('btn-default'); |
90 | | - button.classList.add(loggedIn ? 'btn-danger' : 'btn-primary') |
91 | | - }) |
| 79 | + button.classList.add(loggedIn ? 'btn-danger' : 'btn-primary'); |
| 80 | + var sessionOrigin = getOriginFromWebId(session.webId); |
| 81 | + var isOwner = sessionOrigin === location.origin; |
| 82 | + accountSettings.classList.toggle('hidden', !isOwner); |
| 83 | + }); |
92 | 84 |
|
93 | 85 | button.addEventListener('click', function () { |
94 | | - loggedIn ? solid.auth.logout() : solid.auth.popupLogin() |
95 | | - }) |
96 | | - })() |
| 86 | + loggedIn ? solid.auth.logout() : solid.auth.popupLogin(); |
| 87 | + }); |
| 88 | + |
| 89 | + function getOriginFromWebId(webId) { |
| 90 | + var uriParts = webId.split('/'); |
| 91 | + return uriParts[0] + '//' + uriParts[2]; |
| 92 | + } |
| 93 | + })(); |
97 | 94 | </script> |
98 | 95 | </body> |
99 | 96 | </html> |
0 commit comments