feat:merge dev

This commit is contained in:
DiamondThree
2023-01-13 14:07:17 +08:00
38 changed files with 825 additions and 938 deletions
-4
View File
@@ -1,9 +1,5 @@
import NotfoundPage from '@/components/404';
import { useAppState } from '@/providers/app-state-provider';
export default function Custom404() {
const { workspaceList } = useAppState();
console.log('workspaceList: ', workspaceList);
return <NotfoundPage></NotfoundPage>;
}
-3
View File
@@ -21,7 +21,6 @@ import { useAppState } from '@/providers/app-state-provider';
import { PageLoading } from '@/components/loading';
import Head from 'next/head';
import '@affine/i18n';
import TemporaryHelperProvider from '@/providers/temporary-helper-provider';
const ThemeProvider = dynamic(() => import('@/providers/ThemeProvider'), {
ssr: false,
@@ -55,10 +54,8 @@ const App = ({ Component, pageProps }: AppPropsWithLayout) => {
<Logger />
<ProviderComposer
contexts={[
<TemporaryHelperProvider key="TemporaryHelperProvider" />,
<ThemeProvider key="ThemeProvider" />,
<AppStateProvider key="appStateProvider" />,
// <AppStateProvider2 key="appStateProvider2" />,
<ModalProvider key="ModalProvider" />,
<ConfirmProvider key="ConfirmProvider" />,
]}
+29 -35
View File
@@ -1,44 +1,37 @@
import { useWorkspaceHelper } from '@/hooks/use-workspace-helper';
import { useAppState } from '@/providers/app-state-provider';
import { styled } from '@/styles';
import { Empty } from '@/ui/empty';
import { Avatar } from '@mui/material';
// import { getDataCenter } from '@affine/datacenter';
// import { Avatar } from '@mui/material';
import { useRouter } from 'next/router';
import { useEffect, useState } from 'react';
const User = ({ name, avatar }: { name: string; avatar?: string }) => {
return (
<UserContent>
{avatar ? (
<Avatar src={avatar}></Avatar>
) : (
<UserIcon>{name.slice(0, 1)}</UserIcon>
)}
<span>{name}</span>
</UserContent>
);
};
// const User = ({ name, avatar }: { name: string; avatar?: string }) => {
// return (
// <UserContent>
// {avatar ? (
// <Avatar src={avatar}></Avatar>
// ) : (
// <UserIcon>{name.slice(0, 1)}</UserIcon>
// )}
// <span>{name}</span>
// </UserContent>
// );
// };
export default function DevPage() {
const router = useRouter();
const [successInvited, setSuccessInvited] = useState<boolean>(false);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const [inviteData, setInviteData] = useState<any>(null);
const { acceptInvite } = useWorkspaceHelper();
const { user } = useAppState();
useEffect(() => {
// getDataCenter()
// .then(dc =>
// dc.apis.acceptInviting({
// invitingCode: router.query.invite_code as string,
// })
// )
// .then(data => {
// setSuccessInvited(true);
// setInviteData(data);
// })
// .catch(err => {
// console.log('err: ', err);
// });
setSuccessInvited(true);
setInviteData(null);
router.query.invite_code &&
acceptInvite(router.query.invite_code as string).then(data => {
if (data && data.accepted) {
setSuccessInvited(true);
user && router.push(`/workspace/${data.workspace_id}`);
}
});
}, [router.query.invite_code]);
return (
@@ -47,11 +40,12 @@ export default function DevPage() {
<Empty width={310} height={310}></Empty>
<Content>
<User name={inviteData?.name ? inviteData.name : '-'}></User> invited
you to join
<User
{/* TODO add inviteInfo*/}
{/* <User name={inviteData?.name ? inviteData.name : '-'}></User> invited */}
{/* you to join */}
{/* <User
name={inviteData?.workspaceName ? inviteData.workspaceName : '-'}
></User>
></User> */}
{successInvited ? (
<Status>
<svg
@@ -1,47 +0,0 @@
import { WorkspaceModal } from '@/components/workspace-modal';
import { getWorkspaces } from '@/hooks/mock-data/mock';
import { useEffect, useState } from 'react';
import { styled } from '@/styles';
import Button from '@/ui/button/Button';
const Page = () => {
const [open, setOpen] = useState<boolean>(false);
useEffect(() => {
const data = getWorkspaces();
if (!data.length) {
setOpen(true);
}
}, []);
return (
<Workspace>
<h1>workspace</h1>
<div>
<Button
onClick={() => {
setOpen(true);
}}
>
View Workspace List
</Button>
</div>
<WorkspaceModal
open={open}
onClose={() => {
setOpen(false);
}}
></WorkspaceModal>
</Workspace>
);
};
export default Page;
const Workspace = styled.div(({ theme }) => {
return {
height: '100vh',
background: theme.colors.pageBackground,
color: '#FFFFFF',
fontSize: '18px',
fontWeight: 500,
};
});
@@ -61,8 +61,9 @@ const tabMap: {
];
const WorkspaceSetting = () => {
const { currentWorkspace } = useAppState();
const { t } = useTranslation();
const { currentWorkspace, isOwner } = useAppState();
const [activeTab, setActiveTab] = useState<TabNames>(tabMap[0].name);
const handleTabChange = (tab: TabNames) => {
setActiveTab(tab);
@@ -71,7 +72,20 @@ const WorkspaceSetting = () => {
const activeTabPanelRender = tabMap.find(
tab => tab.name === activeTab
)?.panelRender;
let tableArr: {
name: TabNames;
icon: ReactNode;
panelRender: (workspace: WorkspaceUnit) => ReactNode;
}[] = tabMap;
if (!isOwner) {
tableArr = [
{
name: 'general',
icon: <EditIcon />,
panelRender: workspace => <GeneralPage workspace={workspace} />,
},
];
}
return (
<StyledSettingContainer>
<StyledSettingSidebar>
@@ -79,7 +93,7 @@ const WorkspaceSetting = () => {
{t('Workspace Settings')}
</StyledSettingSidebarHeader>
<StyledSettingTabContainer>
{tabMap.map(({ icon, name }) => {
{tableArr.map(({ icon, name }) => {
return (
<WorkspaceSettingTagItem
key={name}