feat: user login
This commit is contained in:
@@ -15,6 +15,7 @@ import { toast } from '@/ui/toast';
|
|||||||
import { WorkspaceAvatar } from '@/components/workspace-avatar';
|
import { WorkspaceAvatar } from '@/components/workspace-avatar';
|
||||||
import { useAppState } from '@/providers/app-state-provider';
|
import { useAppState } from '@/providers/app-state-provider';
|
||||||
import { useRouter } from 'next/router';
|
import { useRouter } from 'next/router';
|
||||||
|
import { useUserHelper } from '@/hooks/use-user-helper';
|
||||||
|
|
||||||
interface WorkspaceModalProps {
|
interface WorkspaceModalProps {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
@@ -24,7 +25,8 @@ interface WorkspaceModalProps {
|
|||||||
export const WorkspaceModal = ({ open, onClose }: WorkspaceModalProps) => {
|
export const WorkspaceModal = ({ open, onClose }: WorkspaceModalProps) => {
|
||||||
const [createWorkspaceOpen, setCreateWorkspaceOpen] = useState(false);
|
const [createWorkspaceOpen, setCreateWorkspaceOpen] = useState(false);
|
||||||
const { confirm } = useConfirm();
|
const { confirm } = useConfirm();
|
||||||
const { user, workspaceList, currentWorkspace } = useAppState();
|
const { workspaceList, currentWorkspace } = useAppState();
|
||||||
|
const { login, user } = useUserHelper();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
@@ -132,7 +134,7 @@ export const WorkspaceModal = ({ open, onClose }: WorkspaceModalProps) => {
|
|||||||
{!user ? (
|
{!user ? (
|
||||||
<Button
|
<Button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
// login();
|
login();
|
||||||
toast('login success');
|
toast('login success');
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
17
packages/app/src/hooks/use-user-helper.ts
Normal file
17
packages/app/src/hooks/use-user-helper.ts
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import { useAppState } from '@/providers/app-state-provider';
|
||||||
|
import { User } from '@affine/datacenter';
|
||||||
|
import { useState } from 'react';
|
||||||
|
|
||||||
|
export const useUserHelper = () => {
|
||||||
|
const { dataCenter } = useAppState();
|
||||||
|
const [user, setUser] = useState<User | undefined>(undefined);
|
||||||
|
const login = async () => {
|
||||||
|
await dataCenter.login();
|
||||||
|
const user = await dataCenter.getUserInfo();
|
||||||
|
setUser(user);
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
user,
|
||||||
|
login,
|
||||||
|
};
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user