mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-05 19:40:30 +08:00
feat: support get datasource status (#3645)
This commit is contained in:
@@ -6,10 +6,11 @@
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@affine/env": "workspace:*",
|
||||
"@toeverything/y-indexeddb": "workspace:*"
|
||||
"foxact": "^0.2.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@affine/env": "workspace:*",
|
||||
"@affine/y-provider": "workspace:*",
|
||||
"@blocksuite/block-std": "0.0.0-20230810005427-25adb757-nightly",
|
||||
"@blocksuite/blocks": "0.0.0-20230810005427-25adb757-nightly",
|
||||
"@blocksuite/editor": "0.0.0-20230810005427-25adb757-nightly",
|
||||
@@ -18,6 +19,7 @@
|
||||
"@blocksuite/store": "0.0.0-20230810005427-25adb757-nightly"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@affine/y-provider": "workspace:*",
|
||||
"@blocksuite/block-std": "*",
|
||||
"@blocksuite/blocks": "*",
|
||||
"@blocksuite/editor": "*",
|
||||
@@ -25,5 +27,31 @@
|
||||
"@blocksuite/lit": "*",
|
||||
"@blocksuite/store": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@affine/env": {
|
||||
"optional": true
|
||||
},
|
||||
"@affine/y-provider": {
|
||||
"optional": true
|
||||
},
|
||||
"@blocksuite/block-std": {
|
||||
"optional": true
|
||||
},
|
||||
"@blocksuite/blocks": {
|
||||
"optional": true
|
||||
},
|
||||
"@blocksuite/editor": {
|
||||
"optional": true
|
||||
},
|
||||
"@blocksuite/global": {
|
||||
"optional": true
|
||||
},
|
||||
"@blocksuite/lit": {
|
||||
"optional": true
|
||||
},
|
||||
"@blocksuite/store": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"version": "0.8.0-canary.16"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import type { Status, StatusAdapter } from '@affine/y-provider';
|
||||
import { useCallback, useSyncExternalStore } from 'react';
|
||||
|
||||
type UIStatus =
|
||||
| Status
|
||||
| {
|
||||
type: 'unknown';
|
||||
};
|
||||
|
||||
export function useDataSourceStatus(datasource: StatusAdapter): UIStatus {
|
||||
return useSyncExternalStore(
|
||||
datasource.subscribeStatusChange,
|
||||
useCallback(() => datasource.status, [datasource])
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user