import { storageGet, storageSet, storageRemove } from "../lib/storage" import { client } from "./client" export const TOKEN_STORAGE_KEY = 'token' export const startAuth = () => { window.open(client.generateAuthUrl()) } export const processAuthCallback = async ({code}: {code: string}) => { const token = await client.getToken(code) storageSet(TOKEN_STORAGE_KEY, token) } export const signOut = () => { chrome.storage.sync.clear() client.setToken(null) } export const isSignedIn = () => { return !!client.accessToken } export const getTokenFromStorage = async () => { const token = await storageGet(TOKEN_STORAGE_KEY) client.setToken(token) } // On init, get token getTokenFromStorage()