feat: init new plugin system (#3323)

This commit is contained in:
Alex Yang
2023-07-20 18:52:29 +08:00
committed by GitHub
parent 604b53d9a4
commit 19055baa49
45 changed files with 768 additions and 389 deletions
@@ -1,22 +1,25 @@
import { SettingHeader } from '@affine/component/setting-components';
import {
SettingHeader,
SettingWrapper,
} from '@affine/component/setting-components';
import { useAFFiNEI18N } from '@affine/i18n/hooks';
import { affinePluginsAtom } from '@toeverything/plugin-infra/manager';
import { registeredPluginAtom } from '@toeverything/plugin-infra/manager';
import { useAtomValue } from 'jotai';
export const Plugins = () => {
const t = useAFFiNEI18N();
const plugins = useAtomValue(affinePluginsAtom);
const allowedPlugins = useAtomValue(registeredPluginAtom);
console.log('allowedPlugins', allowedPlugins);
return (
<>
<SettingHeader
title={'Plugins'}
subtitle={t['None yet']()}
subtitle={allowedPlugins.length === 0 && t['None yet']()}
data-testid="plugins-title"
/>
{Object.values(plugins).map(({ definition, uiAdapter }) => {
const Content = uiAdapter.debugContent;
return <div key={definition.id}>{Content && <Content />}</div>;
})}
{allowedPlugins.map(plugin => (
<SettingWrapper key={plugin} title={plugin}></SettingWrapper>
))}
</>
);
};