@rpcbase/client 0.78.0 → 0.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/SignOut/index.js +62 -37
- package/package.json +1 -1
- package/rts/getUseQuery.js +1 -1
package/auth/SignOut/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import assert from "assert"
|
|
3
3
|
import {useState, useEffect} from "react"
|
|
4
4
|
import {ActivityIndicator} from "react-native"
|
|
5
|
+
import Alert from "react-bootstrap/Alert"
|
|
5
6
|
import page from "page"
|
|
6
7
|
|
|
7
8
|
import post from "../../helpers/post"
|
|
@@ -22,14 +23,15 @@ const SignOut = ({
|
|
|
22
23
|
|
|
23
24
|
const [isSignedOut, setIsSignedOut] = useState(false)
|
|
24
25
|
|
|
25
|
-
const [accounts, setAccounts] = useState(
|
|
26
|
+
const [accounts, setAccounts] = useState()
|
|
27
|
+
const [selectedAccounts, setSelectedAccounts] = useState([])
|
|
28
|
+
|
|
26
29
|
|
|
27
30
|
useEffect(() => {
|
|
28
31
|
const load = async() => {
|
|
29
32
|
const res = await post("/api/v1/auth/get_accounts")
|
|
30
33
|
assert(res.status === "ok")
|
|
31
34
|
setAccounts(res.accounts)
|
|
32
|
-
console.log("ACCOUNTS", res.accounts)
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
load()
|
|
@@ -44,7 +46,6 @@ const SignOut = ({
|
|
|
44
46
|
localStorage.clear()
|
|
45
47
|
|
|
46
48
|
// TODO: clear DB
|
|
47
|
-
|
|
48
49
|
setIsSignedOut(true)
|
|
49
50
|
onSuccess()
|
|
50
51
|
} else {
|
|
@@ -53,49 +54,73 @@ const SignOut = ({
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
|
|
56
|
-
const onClickAccount = () => {
|
|
57
|
-
console.log("clicked account")
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
57
|
const onSubmit = () => {
|
|
62
58
|
signOut()
|
|
59
|
+
console.log("SEL", selectedAccounts)
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
return (
|
|
66
63
|
<div id="sign-out-wrapper">
|
|
67
|
-
|
|
68
|
-
{
|
|
69
|
-
<
|
|
64
|
+
|
|
65
|
+
{isSignedOut && (
|
|
66
|
+
<Alert variant="light" data-bs-theme="dark" style={{maxWidth: 260, position: "absolute"}} onClose={() => setIsSignedOut(false)} dismissible>
|
|
67
|
+
Signed out successfully
|
|
68
|
+
</Alert>
|
|
69
|
+
)}
|
|
70
|
+
|
|
71
|
+
{accounts ? (<div className="form-signout text-center px-4 py-4 shadow-lg">
|
|
72
|
+
|
|
70
73
|
<h1 className="h4 mt-3 mb-3 fw-normal">Sign Out</h1>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
74
|
+
|
|
75
|
+
{Array.isArray(accounts) && accounts.length > 0 && (
|
|
76
|
+
<>
|
|
77
|
+
<p className="text-start text-muted">
|
|
78
|
+
Select accounts to sign out of:
|
|
79
|
+
</p>
|
|
80
|
+
|
|
81
|
+
<ul className="list-group text-start">
|
|
82
|
+
{accounts.map((acc, index) => {
|
|
83
|
+
const id = `acc-${acc.user_id}-${index}`
|
|
84
|
+
|
|
85
|
+
const onChange = (e) => {
|
|
86
|
+
if (e.target.checked) {
|
|
87
|
+
setSelectedAccounts((prev) => [...prev, acc.user_id])
|
|
88
|
+
} else {
|
|
89
|
+
setSelectedAccounts((prev) => [...prev.filter((v) => v !== acc.user_id)])
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const checked = selectedAccounts.includes(acc.user_id)
|
|
94
|
+
|
|
95
|
+
return (
|
|
96
|
+
<li key={id} className="list-group-item">
|
|
97
|
+
<input className="form-check-input me-3" type="checkbox" value="" checked={checked} onChange={onChange} id={id} />
|
|
98
|
+
<label className="form-check-label stretched-link" for={id}>
|
|
99
|
+
<AccountListItem
|
|
100
|
+
account={acc}
|
|
101
|
+
// onClick={onClickAccount}
|
|
102
|
+
/>
|
|
103
|
+
</label>
|
|
104
|
+
</li>
|
|
105
|
+
)
|
|
106
|
+
})}
|
|
107
|
+
</ul>
|
|
108
|
+
|
|
109
|
+
<button className="mt-4 mb-3 w-100 btn btn-lg btn-primary" type="submit" onClick={onSubmit}>Sign Out</button>
|
|
110
|
+
</>
|
|
111
|
+
)}
|
|
112
|
+
|
|
113
|
+
{Array.isArray(accounts) && accounts.length === 0 && (
|
|
114
|
+
<p className="text-start text-muted">
|
|
115
|
+
You aren't signed in to any accounts<br />
|
|
116
|
+
Go to: <a href="/signin">/signin</a>
|
|
117
|
+
</p>
|
|
118
|
+
)}
|
|
119
|
+
|
|
120
|
+
</div>) : <div className="h-100"/>}
|
|
96
121
|
|
|
97
122
|
<Footer name={name} />
|
|
98
|
-
|
|
123
|
+
|
|
99
124
|
</div>
|
|
100
125
|
)
|
|
101
126
|
}
|
package/package.json
CHANGED
package/rts/getUseQuery.js
CHANGED