summary refs log tree commit diff
path: root/ui/src/root.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/root.tsx')
-rw-r--r--ui/src/root.tsx17
1 files changed, 10 insertions, 7 deletions
diff --git a/ui/src/root.tsx b/ui/src/root.tsx
index 13b3021..2026dde 100644
--- a/ui/src/root.tsx
+++ b/ui/src/root.tsx
@@ -1,26 +1,29 @@
 import { useEffect, useState } from 'react';
-import { invoke } from '@tauri-apps/api/core';
+import { Accounts } from '../bindings/'
+import { Account } from '../bindings/Account';
 
 export default function Root() {
-  const [existingAccounts, setExistingAccounts] = useState<any>([])
+  const [existingAccounts, setExistingAccounts] = useState<Account[]>([])
   const [signedIn, setSignedIn] = useState<{serverDomain: string, username: string} | null>(null)
   const [accountData, setAccountData] = useState('')
 
   async function signIn() {
-    let [serverDomain, username] = await invoke('start_account_auth', {instanceDomain: 'social.tempest.dev'}) as string[]
+    let [serverDomain, username] = await Accounts.startAccountAuth('social.tempest.dev')
+
     setSignedIn({serverDomain, username})
   }
 
   async function getSelf() {
     if (!signedIn) throw new Error("Not signed in")
     const {serverDomain, username} = signedIn;
-    let result = await invoke('get_self', {serverDomain, username}) as string
+    let result = await Accounts.getSelf(serverDomain, username)
     setAccountData(JSON.parse(result))
   }
 
   useEffect(() => {
     (async () => {
-      setExistingAccounts(await invoke('get_all_accounts'))
+      const result = await Accounts.getAllAccounts()
+      setExistingAccounts(result)
     })()
   }, [])
 
@@ -29,9 +32,9 @@ export default function Root() {
       {!signedIn ? (
         <>
           <p>Existing accounts:</p>
-          {existingAccounts.map(({username, server_domain}: {username: string, server_domain: string}) => (
+          {existingAccounts.map(({username, domain}) => (
             <>
-              <button key={username + server_domain} onClick={() => setSignedIn({serverDomain: server_domain, username})}>@{username}@{server_domain}</button>
+              <button key={username + domain} onClick={() => setSignedIn({serverDomain: domain, username})}>@{username}@{domain}</button>
               <br/>
             </>
           ))}