refactor(store): move datacenter into global (#1118)

This commit is contained in:
Himself65
2023-02-19 01:35:18 -06:00
committed by GitHub
parent d7bbb0978f
commit b1298c4d3e
21 changed files with 120 additions and 98 deletions
+2 -2
View File
@@ -2,13 +2,13 @@ import { assertEquals } from '@blocksuite/global/utils';
import { useRouter } from 'next/router';
import { useCallback, useEffect, useState } from 'react';
import { useGlobalState } from '@/store/app';
import { useDataCenter, useGlobalState } from '@/store/app';
// todo: refactor with suspense mode
// It is a fully effective hook
// Cause it not just ensure workspace loaded, but also have router change.
export const useEnsureWorkspace = () => {
const dataCenter = useGlobalState(useCallback(store => store.dataCenter, []));
const dataCenter = useDataCenter();
const currentWorkspace = useGlobalState(
useCallback(store => store.currentDataCenterWorkspace, [])
);
@@ -1,4 +1,5 @@
import { getDataCenter, WorkspaceUnit } from '@affine/datacenter';
import { WorkspaceUnit } from '@affine/datacenter';
import { dataCenterPromise } from '@affine/store';
import { useRouter } from 'next/router';
import { useEffect, useState } from 'react';
@@ -13,7 +14,7 @@ export function useLoadPublicWorkspace(workspaceId: string) {
setStatus('loading');
const init = async () => {
const dataCenter = await getDataCenter();
const dataCenter = await dataCenterPromise;
dataCenter
.loadPublicWorkspace(workspaceId)
+2 -2
View File
@@ -1,9 +1,9 @@
import { Member } from '@affine/datacenter';
import { useCallback, useEffect, useState } from 'react';
import { useGlobalState } from '@/store/app';
import { useDataCenter, useGlobalState } from '@/store/app';
export const useMembers = () => {
const dataCenter = useGlobalState(store => store.dataCenter);
const dataCenter = useDataCenter();
const currentWorkspace = useGlobalState(
useCallback(store => store.currentDataCenterWorkspace, [])
);
+2 -2
View File
@@ -1,10 +1,10 @@
import { WorkspaceUnit } from '@affine/datacenter';
import { useCallback } from 'react';
import { useGlobalState } from '@/store/app';
import { useDataCenter, useGlobalState } from '@/store/app';
export const useWorkspaceHelper = () => {
const dataCenter = useGlobalState(store => store.dataCenter);
const dataCenter = useDataCenter();
const currentWorkspace = useGlobalState(
useCallback(store => store.currentDataCenterWorkspace, [])
);