@@ -58,76 +58,25 @@ <h1>Data</h1>
5858 < div class ="col-md-12 ">
5959 < h1 > Apps</ h1 >
6060 < div class ="list-group ">
61- < a href ="https://databox.me/apps/friends/ " target ="_blank " class ="list-group-item ">
62- < span class ="lead "> Friends</ span >
63- </ a >
64- < a href ="https://github.com/solid/solid-apps " target ="_blank " class ="list-group-item ">
65- < span class ="lead "> More Apps</ span >
61+ < a href ="https://github.com/solid/userguide " target ="_blank " class ="list-group-item ">
62+ < span class ="lead "> Getting started with Solid and Data Browser</ span >
6663 </ a >
6764 </ div >
6865 </ div >
6966 </ section >
70- < footer > | < a target ="_blank " href ="https://github.com/solid/userguide "> Getting started with solid and data browser</ a > |</ footer >
7167</ div >
72- </ body >
7368< script src ="/common/js/solid-auth-client.bundle.js "> </ script >
7469< script type ="text/javascript ">
75- const popupUri = window . location . origin + '/common/popup.html'
76- const stateData = {
77- session : null
78- }
79- const state = new Proxy ( stateData , {
80- set : ( obj , prop , value ) => {
81- obj [ prop ] = value
82- render ( )
83- }
84- } )
85-
86- function main ( ) {
87- // Render the session state
88- SolidAuthClient
89- . currentSession ( )
90- . then ( saveSession )
91- . then ( render )
92-
93- // Add event listeners
94- const actionButton = sessionActionButton ( )
95- actionButton . addEventListener ( 'click' , takeSessionAction )
96- }
97-
98- function saveSession ( session ) {
99- state . session = session
100- return session
101- }
70+ const button = document . getElementById ( 'session-action' )
71+ let loggedIn = false
10272
103- function takeSessionAction ( ) {
104- const { session } = state
105- const loggedIn = ! ! session
106- if ( loggedIn ) {
107- SolidAuthClient
108- . logout ( )
109- . then ( saveSession )
110- } else {
111- SolidAuthClient
112- . popupLogin ( { popupUri } )
113- . then ( saveSession )
114- }
115- }
116-
117- function render ( ) {
118- const { session } = state
119- const actionButton = sessionActionButton ( )
120- if ( ! session ) {
121- actionButton . innerText = 'Log in'
122- } else {
123- actionButton . innerText = 'Log out'
124- }
125- }
126-
127- function sessionActionButton ( ) {
128- return document . getElementById ( 'session-action' )
129- }
73+ solid . auth . trackSession ( session => {
74+ loggedIn = ! ! session
75+ button . innerText = loggedIn ? 'Log out' : 'Log in'
76+ } )
13077
131- document . addEventListener ( 'DOMContentLoaded' , main )
78+ button . addEventListener ( 'click' , ( ) =>
79+ loggedIn ? solid . auth . logout ( ) : solid . auth . popupLogin ( ) )
13280</ script >
81+ </ body >
13382</ html >
0 commit comments