Update the tutorial to use the latest SDK changes
This commit is contained in:
@@ -24,9 +24,7 @@
|
|||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<code class="language-markup"><!--
|
<code class="language-markup"><!--
|
||||||
<script type="text/javascript"
|
<script type="text/javascript" src="https://sdk.userbase.dev/userbase-0.0.5.js"></script>
|
||||||
src="https://userbase-public.s3-us-west-2.amazonaws.com/userbase-js/userbase.js">
|
|
||||||
</script>
|
|
||||||
--></code>
|
--></code>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
@@ -147,14 +145,12 @@
|
|||||||
We're going to load the Userbase SDK from a CDN with a <code class="language-markup"><script></code> tag in the head of
|
We're going to load the Userbase SDK from a CDN with a <code class="language-markup"><script></code> tag in the head of
|
||||||
our page:
|
our page:
|
||||||
|
|
||||||
<pre data-line="4-6">
|
<pre data-line="4">
|
||||||
<code class="language-markup"><!--
|
<code class="language-markup"><!--
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Ugliest To-Do App</title>
|
<title>Ugliest To-Do App</title>
|
||||||
<script type="text/javascript"
|
<script type="text/javascript" src="https://sdk.userbase.dev/userbase-0.0.5.js"></script>
|
||||||
src="https://userbase-public.s3-us-west-2.amazonaws.com/userbase-js/userbase.js">
|
|
||||||
</script>
|
|
||||||
</head>
|
</head>
|
||||||
--></code>
|
--></code>
|
||||||
</pre>
|
</pre>
|
||||||
@@ -459,7 +455,7 @@
|
|||||||
<pre data-line="6-7">
|
<pre data-line="6-7">
|
||||||
<code class="language-markup"><!--
|
<code class="language-markup"><!--
|
||||||
<div id="todo-view">
|
<div id="todo-view">
|
||||||
<div id="username"></div>
|
<span id="username"></span>
|
||||||
|
|
||||||
<h1>To-Do List</h1>
|
<h1>To-Do List</h1>
|
||||||
<div id="todos"></div>
|
<div id="todos"></div>
|
||||||
@@ -471,32 +467,29 @@
|
|||||||
|
|
||||||
<p>Then, we'll change <code class="language-javascript">showTodos</code> to open a new database with the Userbase service:</p>
|
<p>Then, we'll change <code class="language-javascript">showTodos</code> to open a new database with the Userbase service:</p>
|
||||||
|
|
||||||
<pre data-line="5,7-17,20-28">
|
<pre data-line="5,7-12,15-25">
|
||||||
<code class="language-javascript">
|
<code class="language-javascript">
|
||||||
function showTodos(username) {
|
function showTodos(username) {
|
||||||
document.getElementById('auth-view').style.display = 'none'
|
document.getElementById('auth-view').style.display = 'none'
|
||||||
document.getElementById('todo-view').style.display = 'block'
|
document.getElementById('todo-view').style.display = 'block'
|
||||||
|
|
||||||
// reset the todos view
|
// reset the todos view
|
||||||
document.getElementById('username').innerHTML = username
|
document.getElementById('username').innerHTML = username
|
||||||
|
document.getElementById('todos').innerText = ''
|
||||||
document.getElementById('db-loading').style.display = 'block'
|
document.getElementById('db-loading').style.display = 'block'
|
||||||
document.getElementById('db-error').innerText = ''
|
document.getElementById('db-error').innerText = ''
|
||||||
|
|
||||||
userbase.openDatabase('todos', handleDatabaseChange)
|
userbase.openDatabase('todos', handleDatabaseChange)
|
||||||
.then(() => {
|
.catch((e) => document.getElementById('db-error').innerText = e)
|
||||||
document.getElementById('db-loading').style.display = 'none'
|
|
||||||
})
|
|
||||||
.catch((e) => {
|
|
||||||
document.getElementById('db-loading').style.display = 'none'
|
|
||||||
document.getElementById('db-error').innerText = e
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleDatabaseChange(items) {
|
function handleDatabaseChange(items) {
|
||||||
|
document.getElementById('db-loading').style.display = 'none'
|
||||||
|
|
||||||
const todosList = document.getElementById('todos')
|
const todosList = document.getElementById('todos')
|
||||||
|
|
||||||
if (items.length === 0) {
|
if (items.length === 0) {
|
||||||
todosList.innerText = "Empty"
|
todosList.innerText = 'Empty'
|
||||||
} else {
|
} else {
|
||||||
// render to-dos, not yet implemented
|
// render to-dos, not yet implemented
|
||||||
}
|
}
|
||||||
@@ -529,13 +522,15 @@
|
|||||||
Let's implement that case in <code class="language-javascript">handleDatabaseChange</code>:
|
Let's implement that case in <code class="language-javascript">handleDatabaseChange</code>:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre data-line="7-22">
|
<pre data-line="9-24">
|
||||||
<code class="language-javascript"><!--
|
<code class="language-javascript"><!--
|
||||||
function handleDatabaseChange(items) {
|
function handleDatabaseChange(items) {
|
||||||
|
document.getElementById('db-loading').style.display = 'none'
|
||||||
|
|
||||||
const todosList = document.getElementById('todos')
|
const todosList = document.getElementById('todos')
|
||||||
|
|
||||||
if (items.length === 0) {
|
if (items.length === 0) {
|
||||||
todosList.innerText = "Empty"
|
todosList.innerText = 'Empty'
|
||||||
} else {
|
} else {
|
||||||
// clear the list
|
// clear the list
|
||||||
todosList.innerHTML = ''
|
todosList.innerHTML = ''
|
||||||
@@ -565,7 +560,7 @@
|
|||||||
<script type="text/plain" data-line="10-14" class="language-markup">
|
<script type="text/plain" data-line="10-14" class="language-markup">
|
||||||
<!-- To-dos View -->
|
<!-- To-dos View -->
|
||||||
<div id="todo-view">
|
<div id="todo-view">
|
||||||
<div id="username"></div>
|
<span id="username"></span>
|
||||||
|
|
||||||
<h1>To-Do List</h1>
|
<h1>To-Do List</h1>
|
||||||
<div id="todos"></div>
|
<div id="todos"></div>
|
||||||
@@ -582,7 +577,7 @@
|
|||||||
|
|
||||||
<p>Then, add code to handle the form submission:</p>
|
<p>Then, add code to handle the form submission:</p>
|
||||||
|
|
||||||
<pre data-line="5-13,18">
|
<pre data-line="5-13,17">
|
||||||
<code class="language-markup">
|
<code class="language-markup">
|
||||||
<!-- application code -->
|
<!-- application code -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@@ -600,8 +595,8 @@
|
|||||||
|
|
||||||
document.getElementById('login-form').addEventListener('submit', handleLogin)
|
document.getElementById('login-form').addEventListener('submit', handleLogin)
|
||||||
document.getElementById('signup-form').addEventListener('submit', handleSignUp)
|
document.getElementById('signup-form').addEventListener('submit', handleSignUp)
|
||||||
|
|
||||||
document.getElementById('add-todo-form').addEventListener('submit', addTodoHandler)
|
document.getElementById('add-todo-form').addEventListener('submit', addTodoHandler)
|
||||||
|
|
||||||
document.getElementById('todo-view').style.display = 'none'
|
document.getElementById('todo-view').style.display = 'none'
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@@ -714,7 +709,7 @@
|
|||||||
<script type="text/plain" data-line="4-5" class="language-markup">
|
<script type="text/plain" data-line="4-5" class="language-markup">
|
||||||
<!-- To-dos View -->
|
<!-- To-dos View -->
|
||||||
<div id="todo-view">
|
<div id="todo-view">
|
||||||
<div id="username"></div>
|
<span id="username"></span>
|
||||||
<input type="button" value="Logout" id="logout-button">
|
<input type="button" value="Logout" id="logout-button">
|
||||||
<div id="logout-error"></div>
|
<div id="logout-error"></div>
|
||||||
|
|
||||||
@@ -766,6 +761,7 @@
|
|||||||
document.getElementById('signup-form').addEventListener('submit', handleSignUp)
|
document.getElementById('signup-form').addEventListener('submit', handleSignUp)
|
||||||
document.getElementById('add-todo-form').addEventListener('submit', addTodoHandler)
|
document.getElementById('add-todo-form').addEventListener('submit', addTodoHandler)
|
||||||
document.getElementById('logout-button').addEventListener('click', handleLogout)
|
document.getElementById('logout-button').addEventListener('click', handleLogout)
|
||||||
|
|
||||||
document.getElementById('todo-view').style.display = 'none'
|
document.getElementById('todo-view').style.display = 'none'
|
||||||
</script>
|
</script>
|
||||||
</code>
|
</code>
|
||||||
@@ -797,7 +793,7 @@
|
|||||||
|
|
||||||
<p>In order to automatically resume a session if one is available, we add the following to our application code:</p>
|
<p>In order to automatically resume a session if one is available, we add the following to our application code:</p>
|
||||||
|
|
||||||
<pre data-line="9,12, 14-23">
|
<pre data-line="12-17">
|
||||||
<code class="language-markup">
|
<code class="language-markup">
|
||||||
<!-- application code -->
|
<!-- application code -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@@ -813,15 +809,9 @@
|
|||||||
document.getElementById('auth-view').style.display = 'none'
|
document.getElementById('auth-view').style.display = 'none'
|
||||||
|
|
||||||
userbase.signInWithSession()
|
userbase.signInWithSession()
|
||||||
.then((session) => {
|
.then((session) => session.user ? showTodos(session.user.username) : showAuth())
|
||||||
if (session.user) {
|
|
||||||
showTodos(session.user.username)
|
|
||||||
} else {
|
|
||||||
showAuth()
|
|
||||||
document.getElementById('loading-view').style.display = 'none')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(() => showAuth())
|
.catch(() => showAuth())
|
||||||
|
.finally(() => document.getElementById('loading-view').style.display = 'none')
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</code>
|
</code>
|
||||||
|
|||||||
Reference in New Issue
Block a user