mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-17 10:06:17 +08:00
5870a6097a
* Chore/unit test (#538) * chore: add unit test * chore: add github action for unit test * feat: init firebase * chore: add development secrets * fix: rename auth -> data-services * feat: update blocksuite 0.3.0-alpha.4 (#543) * feat: add requests * feat: optimize swr cache * feat: add Authorization * feat: add confirm-invitation page * feat: add account sdk api and proxy * docs: update contributing (#550) * docs: update contributing * Update CONTRIBUTING.md * Update CONTRIBUTING.md Co-authored-by: ShortCipher5 <me@shortcipher.me> * feat: update api * feat: remove babelrc setting * feat: add create workspace ui * feat: choose workspaces * feat: login modal * feat: authorization api * feat: login status * fix: remove unused variables * feat: login button * fix: lint * fix: workspace id * fix: i18n type error Co-authored-by: MingLiang Wang <mingliangwang0o0@gmail.com> Co-authored-by: ShortCipher5 <me@shortcipher.me>
46 lines
996 B
TypeScript
46 lines
996 B
TypeScript
import useSWR from 'swr';
|
|
import type { SWRConfiguration } from 'swr';
|
|
import { login, getUserByEmail } from './user';
|
|
import type {
|
|
LoginParams,
|
|
LoginResponse,
|
|
GetUserByEmailParams,
|
|
User,
|
|
} from './user';
|
|
|
|
export const LOGIN_SWR_KEY = 'user.token';
|
|
export function useLogin(params: LoginParams, config?: SWRConfiguration) {
|
|
const { data, error, isValidating, isLoading, mutate } =
|
|
useSWR<LoginResponse>(
|
|
[LOGIN_SWR_KEY, params],
|
|
([_, params]) => login(params),
|
|
config
|
|
);
|
|
|
|
return {
|
|
loading: isLoading,
|
|
data,
|
|
error,
|
|
mutate,
|
|
};
|
|
}
|
|
|
|
export const GET_USER_BY_EMAIL_SWR_TOKEN = 'user.getUserByEmail';
|
|
export function useGetUserByEmail(
|
|
params: GetUserByEmailParams,
|
|
config?: SWRConfiguration
|
|
) {
|
|
const { data, error, isLoading, mutate } = useSWR<User | null>(
|
|
[GET_USER_BY_EMAIL_SWR_TOKEN, params],
|
|
([_, params]) => getUserByEmail(params),
|
|
config
|
|
);
|
|
|
|
return {
|
|
loading: isLoading,
|
|
data,
|
|
error,
|
|
mutate,
|
|
};
|
|
}
|