From 09dea80a088c063ccefcfba121f6f1daab13d7b5 Mon Sep 17 00:00:00 2001 From: alt0 Date: Mon, 10 Oct 2022 18:24:15 +0800 Subject: [PATCH 01/10] fix: console warning --- libs/components/ui/src/model/index.tsx | 12 +++++++----- libs/components/ui/src/popover/Popover.tsx | 7 +++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/libs/components/ui/src/model/index.tsx b/libs/components/ui/src/model/index.tsx index baeb5db9ac..85041a5145 100644 --- a/libs/components/ui/src/model/index.tsx +++ b/libs/components/ui/src/model/index.tsx @@ -32,11 +32,13 @@ export const TransitionsModal = (props: TransitionsModalProps) => { onClose={props.onClose} closeAfterTransition > - - - {props.children} - - +
+ + + {props.children} + + +
); }; diff --git a/libs/components/ui/src/popover/Popover.tsx b/libs/components/ui/src/popover/Popover.tsx index ec919811dc..2639afce36 100644 --- a/libs/components/ui/src/popover/Popover.tsx +++ b/libs/components/ui/src/popover/Popover.tsx @@ -25,8 +25,11 @@ export const placementToContainerDirection: Record< 'auto-end': 'none', }; -export const Popover = (props: PropsWithChildren) => { - const { popoverDirection, placement, content, children, style } = props; +export const Popover = ({ + popoverDirection, + ...props +}: PropsWithChildren) => { + const { placement, content, children, style } = props; return ( Date: Mon, 10 Oct 2022 18:33:15 +0800 Subject: [PATCH 02/10] fix: edgeless pencil color --- libs/components/affine-board/src/hooks/use-shapes.ts | 3 ++- .../src/components/command-panel/BorderColorConfig.tsx | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/components/affine-board/src/hooks/use-shapes.ts b/libs/components/affine-board/src/hooks/use-shapes.ts index d3ff9e028a..d2010ffc76 100644 --- a/libs/components/affine-board/src/hooks/use-shapes.ts +++ b/libs/components/affine-board/src/hooks/use-shapes.ts @@ -109,7 +109,7 @@ export const useShapes = (workspace: string, rootBlockId: string) => { parentId: rootBlockId, ...shapeProps, id: block.id, - style: { ...defaultStyle }, + style: { ...defaultStyle, ...(shapeProps.style || {}) }, workspace, }; } else { @@ -128,6 +128,7 @@ export const useShapes = (workspace: string, rootBlockId: string) => { return acc; }, {} as Record); + console.log('useShapes', blocksShapes); return { shapes: blocksShapes, diff --git a/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx b/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx index 15d6eadc18..eb544869cf 100644 --- a/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx +++ b/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx @@ -35,6 +35,8 @@ const _getIconRenderColor = (shapes: TDShape[]) => { export const BorderColorConfig = ({ app, shapes }: BorderColorConfigProps) => { const setBorderColor = (color: string) => { + console.log('shapes', shapes, color); + app.style({ stroke: color }, getShapeIds(shapes)); }; From 57e37221dce084665b07cb2608693d9413c646c9 Mon Sep 17 00:00:00 2001 From: alt0 Date: Mon, 10 Oct 2022 18:35:07 +0800 Subject: [PATCH 03/10] fix: mixed Chinese and English --- apps/venus/src/app/i18n/resources/zh.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/venus/src/app/i18n/resources/zh.json b/apps/venus/src/app/i18n/resources/zh.json index e630e1c753..18f44bf886 100644 --- a/apps/venus/src/app/i18n/resources/zh.json +++ b/apps/venus/src/app/i18n/resources/zh.json @@ -7,11 +7,11 @@ "Feedback": "反馈", "ContactUs": "联系我们", "Alternative": "的另一种选择", - "Check GitHub": "GitHub中查看", + "Check GitHub": "GitHub 中查看", "Try it Online": "在线试用", "language": "语言", "description1": { - "part1": "Affine是面向专业人士的下一代协同知识库", + "part1": "Affine 是面向专业人士的下一代协同知识库", "part2": "它不仅仅是一个文档、白板和表格的集合。", "part3": "可以根据需要转换任何构建块。", "part4": "向冗余说再见吧。将数据存储一次,并保留您喜欢的数据。" From 19ce4a1d563d2f462ffd2eb9f53d96035880c94e Mon Sep 17 00:00:00 2001 From: alt0 Date: Tue, 11 Oct 2022 10:23:12 +0800 Subject: [PATCH 04/10] fix: hide the mode switcher in small screen --- .../layout/src/header/LayoutHeader.tsx | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/libs/components/layout/src/header/LayoutHeader.tsx b/libs/components/layout/src/header/LayoutHeader.tsx index 4c313afec2..509df650ed 100644 --- a/libs/components/layout/src/header/LayoutHeader.tsx +++ b/libs/components/layout/src/header/LayoutHeader.tsx @@ -11,7 +11,7 @@ import { useLocalTrigger, useShowSettingsSidebar, } from '@toeverything/datasource/state'; -import { useCallback, useMemo } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import { EditorBoardSwitcher } from './EditorBoardSwitcher'; import { fsApiSupported } from './FileSystem'; import { Logo } from './Logo'; @@ -23,6 +23,22 @@ export const LayoutHeader = () => { useShowSettingsSidebar(); const { t } = useTranslation(); + // because of header not compatible with small screen, hide the mode switcher in that case, this will be optimize in future. + const [hideSwitcher, setHideSwither] = useState(false); + const [rootEle, setRootEle] = useState(); + useEffect(() => { + if (rootEle) { + const observer = new ResizeObserver(entries => { + setHideSwither(entries[0].contentRect.width < 970); + }); + observer.observe(rootEle); + + return () => { + observer.disconnect(); + }; + } + }, [rootEle]); + const warningTips = useMemo(() => { if (!fsApiSupported()) { return t('WarningTips.IsNotfsApiSupported'); @@ -42,7 +58,7 @@ export const LayoutHeader = () => { }, [currentEditors]); return ( - + @@ -85,9 +101,11 @@ export const LayoutHeader = () => { - - - + {hideSwitcher ? null : ( + + + + )} ); From db44f619f2f9e463a585e85fe148dc95ffa9d883 Mon Sep 17 00:00:00 2001 From: alt0 Date: Tue, 11 Oct 2022 10:24:09 +0800 Subject: [PATCH 05/10] fix: remove console --- libs/components/affine-board/src/hooks/use-shapes.ts | 1 - .../src/components/command-panel/BorderColorConfig.tsx | 2 -- 2 files changed, 3 deletions(-) diff --git a/libs/components/affine-board/src/hooks/use-shapes.ts b/libs/components/affine-board/src/hooks/use-shapes.ts index d2010ffc76..818accb024 100644 --- a/libs/components/affine-board/src/hooks/use-shapes.ts +++ b/libs/components/affine-board/src/hooks/use-shapes.ts @@ -128,7 +128,6 @@ export const useShapes = (workspace: string, rootBlockId: string) => { return acc; }, {} as Record); - console.log('useShapes', blocksShapes); return { shapes: blocksShapes, diff --git a/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx b/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx index eb544869cf..15d6eadc18 100644 --- a/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx +++ b/libs/components/board-draw/src/components/command-panel/BorderColorConfig.tsx @@ -35,8 +35,6 @@ const _getIconRenderColor = (shapes: TDShape[]) => { export const BorderColorConfig = ({ app, shapes }: BorderColorConfigProps) => { const setBorderColor = (color: string) => { - console.log('shapes', shapes, color); - app.style({ stroke: color }, getShapeIds(shapes)); }; From f351c91e487d3173585c175cdd2fb6cd589e9d2d Mon Sep 17 00:00:00 2001 From: Yifeng Wang Date: Tue, 11 Oct 2022 16:50:03 +0800 Subject: [PATCH 06/10] Update affine.pro-remote.md --- docs/jobs/affine.pro-remote.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/jobs/affine.pro-remote.md b/docs/jobs/affine.pro-remote.md index 62b33376f3..cbb334433f 100644 --- a/docs/jobs/affine.pro-remote.md +++ b/docs/jobs/affine.pro-remote.md @@ -7,29 +7,28 @@ We're open for Fullstack Engineer positions across the BlockSuite sub-team. The ### This position is for: -- Develop AFFiNE **the open source way**, including coding and community engagement. +- Developing AFFiNE **the open source way**, including coding and community engagement. - Researching and supporting onboarding of new use cases AFFiNE.pro subscribers. -- Improving our **block editor** and **graphic editor**. -- Assist our subscribers in utilizing our product in a data-based way with help from the operational teams. -- Research on better activation of potential subscribers. At AFFiNE, developers are self-organized individual engineers who are also responsible team members whether they are on-site or working remotely. +- Improving our **block editor** and **graphics editor**. +- Assisting our subscribers in utilizing our product in a data-based way with help from the operational teams. +- Researching on better activation of potential subscribers. At AFFiNE, developers are self-organized individual engineers who are also responsible team members whether they are on-site or working remotely. ### What we are looking for: - Software engineering experience with **editor** or **graphics** with professional real-world use cases. -- Experience and proficiency in **JavaScript** and a **second programming language** preferably **Rust**. +- Experience and proficiency in **TypeScript** and a **second programming language** preferably **Rust**. - You have strong communication and writing skills in English. - You are comfortable working in a diverse and cross-functional team. - You love the spirit of open source, share our visions and work under those values. -### It would be great if you have/are: +### It would be great if you are: -- Incredible **React** or **web components (lit)** experts. -- Knowledge/project management tool enthusiast. -- Licensing or subscription management or enterprise software company experience. -- Experience scaling **a successful SaaS product**. -- Developer platform/tool industry experience. -- Experience working with a **globally distributed team**. -- Love AFFiNE products as a user or contributor. +- Skillful in building UI with different Web frameworks or native web components. +- Heavy user of knowledge/project management tools. +- Experienced in scaling **a successful SaaS product**. +- Experienced in developing platforms or tools for developers. +- Experienced in working with a **globally distributed team**. +- Enthusiastic in AFFiNE products as a user or contributor. ### What we offer: From c74b03da9ae8db218daff0660f74716b1838733d Mon Sep 17 00:00:00 2001 From: alt0 Date: Tue, 11 Oct 2022 17:10:38 +0800 Subject: [PATCH 07/10] fix: shortcut for cut --- .../common/src/lib/text/slate-utils.ts | 9 + .../src/editor/block/block-helper.ts | 31 ++- .../src/editor/clipboard/clipboard.ts | 10 +- .../editor-core/src/editor/clipboard/cut.ts | 183 ++++++++++++++++++ 4 files changed, 228 insertions(+), 5 deletions(-) create mode 100644 libs/components/editor-core/src/editor/clipboard/cut.ts diff --git a/libs/components/common/src/lib/text/slate-utils.ts b/libs/components/common/src/lib/text/slate-utils.ts index 2f7684b547..65bb65a164 100644 --- a/libs/components/common/src/lib/text/slate-utils.ts +++ b/libs/components/common/src/lib/text/slate-utils.ts @@ -1138,6 +1138,15 @@ class SlateUtils { }); } + public removeBetweenPoints(startPoint: Point, endPoint: Point) { + const at = { + anchor: startPoint, + focus: endPoint, + }; + Transforms.select(this.editor, at); + this.editor.deleteFragment(); + } + public setDoubleLinkSearchSlash(point: Point) { const str = Editor.string(this.editor, { anchor: this.getStart(), diff --git a/libs/components/editor-core/src/editor/block/block-helper.ts b/libs/components/editor-core/src/editor/block/block-helper.ts index 9e3090b527..7d5f3bb98a 100644 --- a/libs/components/editor-core/src/editor/block/block-helper.ts +++ b/libs/components/editor-core/src/editor/block/block-helper.ts @@ -13,7 +13,7 @@ import { } from 'slate'; import { AsyncBlock } from '../block'; import { Editor } from '../editor'; -import { SelectBlock } from '../selection'; +import { SelectBlock, type SelectInfo } from '../selection'; type TextUtilsFunctions = | 'getString' @@ -40,6 +40,7 @@ type TextUtilsFunctions = | 'getCommentsIdsBySelection' | 'getCurrentSelection' | 'removeSelection' + | 'removeBetweenPoints' | 'isCollapsed' | 'blur' | 'setSelection' @@ -528,4 +529,32 @@ export class BlockHelper { console.warn('Could find the block text utils'); return undefined; } + + public removeSelection(selection: SelectInfo) { + if (selection.type === 'Range') { + selection.blocks.forEach(async selectBlockInfo => { + const text_utils = + this._blockTextUtilsMap[selectBlockInfo.blockId]; + text_utils.removeBetweenPoints( + { + path: [0, selectBlockInfo.startInfo.arrayIndex], + offset: selectBlockInfo.startInfo.offset, + }, + { + path: [0, selectBlockInfo.endInfo.arrayIndex], + offset: selectBlockInfo.endInfo.offset, + } + ); + }); + } else if (selection.type === 'Block') { + selection.blocks.forEach(async selectBlockInfo => { + ( + await this._editor.getBlock({ + workspace: this._editor.workspace, + id: selectBlockInfo.blockId, + }) + ).remove(); + }); + } + } } diff --git a/libs/components/editor-core/src/editor/clipboard/clipboard.ts b/libs/components/editor-core/src/editor/clipboard/clipboard.ts index e5e869ad1c..f364cfaa52 100644 --- a/libs/components/editor-core/src/editor/clipboard/clipboard.ts +++ b/libs/components/editor-core/src/editor/clipboard/clipboard.ts @@ -1,7 +1,8 @@ -import { ClipboardEventDispatcher } from './clipboardEventDispatcher'; -import { HookType } from '../types'; import { Editor } from '../editor'; +import { HookType } from '../types'; +import { ClipboardEventDispatcher } from './clipboardEventDispatcher'; import { Copy } from './copy'; +import { Cut } from './cut'; import { Paste } from './paste'; import { ClipboardUtils } from './clipboardUtils'; @@ -9,6 +10,7 @@ import { ClipboardUtils } from './clipboardUtils'; export class Clipboard { private _clipboardEventDispatcher: ClipboardEventDispatcher; private _copy: Copy; + private _cut: Cut; private _paste: Paste; public clipboardUtils: ClipboardUtils; private _clipboardTarget: HTMLElement; @@ -17,7 +19,7 @@ export class Clipboard { this.clipboardUtils = new ClipboardUtils(editor); this._clipboardTarget = clipboardTarget; this._copy = new Copy(editor); - + this._cut = new Cut(editor); this._paste = new Paste(editor); this._clipboardEventDispatcher = new ClipboardEventDispatcher( @@ -30,7 +32,7 @@ export class Clipboard { .get(HookType.ON_COPY) .subscribe(this._copy.handleCopy); - editor.getHooks().get(HookType.ON_CUT).subscribe(this._copy.handleCopy); + editor.getHooks().get(HookType.ON_CUT).subscribe(this._cut.handleCut); editor .getHooks() diff --git a/libs/components/editor-core/src/editor/clipboard/cut.ts b/libs/components/editor-core/src/editor/clipboard/cut.ts new file mode 100644 index 0000000000..4019b1707f --- /dev/null +++ b/libs/components/editor-core/src/editor/clipboard/cut.ts @@ -0,0 +1,183 @@ +import { Editor } from '../editor'; +import { SelectInfo } from '../selection'; +import { Clip } from './clip'; +import { ClipboardUtils } from './clipboardUtils'; +import { OFFICE_CLIPBOARD_MIMETYPE } from './types'; +class Cut { + private _editor: Editor; + private _utils: ClipboardUtils; + constructor(editor: Editor) { + this._editor = editor; + this._utils = new ClipboardUtils(editor); + this.handleCut = this.handleCut.bind(this); + } + + public async handleCut(e: ClipboardEvent) { + e.preventDefault(); + e.stopPropagation(); + const selectInfo: SelectInfo = + await this._editor.selectionManager.getSelectInfo(); + + const clips = await this.getClips(selectInfo); + if (!clips.length) { + return; + } + const success = this._copyToClipboardFromPc(clips); + if (!success) { + // This way, not compatible with firefox + const clipboardData = e.clipboardData; + if (clipboardData) { + try { + clips.forEach(clip => { + clipboardData.setData( + clip.getMimeType(), + clip.getData() + ); + }); + } catch (e) { + // TODO handle exception + } + } + } + + this._editor.blockHelper.removeSelection(selectInfo); + } + + async getClips(selectInfo: SelectInfo) { + const clips: Clip[] = []; + + // get custom clip + const affineClip = await this._getAffineClip(selectInfo); + clips.push(affineClip); + + const textClip = await this._getTextClip(selectInfo); + clips.push(textClip); + + const htmlClip = await this._getHtmlClip(selectInfo); + + clips.push(htmlClip); + + return clips; + } + + private async _getHtmlClip(selectInfo: SelectInfo): Promise { + const htmlStr = ( + await Promise.all( + selectInfo.blocks.map(async selectBlockInfo => { + const block = await this._editor.getBlockById( + selectBlockInfo.blockId + ); + const blockView = this._editor.getView(block.type); + return await blockView.block2html({ + editor: this._editor, + block, + selectInfo: selectBlockInfo, + }); + }) + ) + ).join(''); + + return new Clip(OFFICE_CLIPBOARD_MIMETYPE.HTML, htmlStr); + } + + private async _getAffineClip(selectInfo: SelectInfo): Promise { + if (selectInfo.type === 'Range') { + return this._utils.getClipDataOfBlocksBySelectInfo(selectInfo); + } + + // The only remaining case is that selectInfo.type === 'Block' + return this._utils.getClipDataOfBlocksById( + selectInfo.blocks.map(block => block.blockId) + ); + } + + private async _getTextClip(selectInfo: SelectInfo): Promise { + if (selectInfo.type === 'Range') { + const text = ( + await Promise.all( + selectInfo.blocks.map(async selectBlockInfo => { + const block = await this._editor.getBlockById( + selectBlockInfo.blockId + ); + const blockView = this._editor.getView(block.type); + const block2Text = await blockView.block2Text( + block, + selectBlockInfo + ); + + return ( + block2Text || + this._editor.blockHelper.getBlockTextBetweenSelection( + selectBlockInfo.blockId, + false + ) + ); + }) + ) + ).join('\n'); + return new Clip(OFFICE_CLIPBOARD_MIMETYPE.TEXT, text); + } + + // The only remaining case is that selectInfo.type === 'Block' + const selectedBlocks = ( + await Promise.all( + selectInfo.blocks.map(selectBlockInfo => + this._editor.blockHelper.getFlatBlocksUnderParent( + selectBlockInfo.blockId, + true + ) + ) + ) + ).flat(); + + const blockText = ( + await Promise.all( + selectedBlocks.map(async block => { + const blockView = this._editor.getView(block.type); + const block2Text = await blockView.block2Text(block); + return ( + block2Text || + this._editor.blockHelper.getBlockText(block.id) + ); + }) + ) + ).join('\n'); + + return new Clip(OFFICE_CLIPBOARD_MIMETYPE.TEXT, blockText); + } + + // TODO: Optimization + // TODO: is not compatible with safari + private _copyToClipboardFromPc(clips: any[]) { + let success = false; + const tempElem = document.createElement('textarea'); + tempElem.value = 'temp'; + document.body.appendChild(tempElem); + tempElem.select(); + tempElem.setSelectionRange(0, tempElem.value.length); + + const listener = function (e: any) { + const clipboardData = e.clipboardData; + if (clipboardData) { + clips.forEach(clip => { + clipboardData.setData(clip.getMimeType(), clip.getData()); + }); + } + + e.preventDefault(); + e.stopPropagation(); + tempElem.removeEventListener('copy', listener); + } as any; + + tempElem.addEventListener('copy', listener); + try { + success = document.execCommand('copy'); + } finally { + tempElem.removeEventListener('copy', listener); + document.body.removeChild(tempElem); + } + return success; + } +} + +export { Cut }; From 9674229e8e9f4a636ebefe3d2e7ce881822b79ba Mon Sep 17 00:00:00 2001 From: alt0 Date: Tue, 11 Oct 2022 17:28:59 +0800 Subject: [PATCH 08/10] fix: consistent return --- libs/components/layout/src/header/LayoutHeader.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/components/layout/src/header/LayoutHeader.tsx b/libs/components/layout/src/header/LayoutHeader.tsx index 509df650ed..51650d28d8 100644 --- a/libs/components/layout/src/header/LayoutHeader.tsx +++ b/libs/components/layout/src/header/LayoutHeader.tsx @@ -37,6 +37,7 @@ export const LayoutHeader = () => { observer.disconnect(); }; } + return undefined; }, [rootEle]); const warningTips = useMemo(() => { From 7124e18e9685cf8a8aa64c548d3608022b057caa Mon Sep 17 00:00:00 2001 From: zuomeng wang Date: Wed, 12 Oct 2022 16:44:26 +0800 Subject: [PATCH 09/10] Fix/update copyright (#491) * fix: info modal minwidth * fix: update copyright info --- apps/venus/src/app/common/Footer.tsx | 2 +- libs/components/editor-core/src/editor/editor.ts | 2 +- libs/components/layout/src/header/Logo/InfoModal.tsx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/venus/src/app/common/Footer.tsx b/apps/venus/src/app/common/Footer.tsx index d8cc674223..18e5d99d12 100644 --- a/apps/venus/src/app/common/Footer.tsx +++ b/apps/venus/src/app/common/Footer.tsx @@ -383,7 +383,7 @@ export const AFFiNEFooter = ({ }} > - Copyright © 2022 AFFiNE. + Copyright © 2022 TOEVERYTHING PTE.LTD. diff --git a/libs/components/editor-core/src/editor/editor.ts b/libs/components/editor-core/src/editor/editor.ts index 2726fe8e7b..78dc8164d1 100644 --- a/libs/components/editor-core/src/editor/editor.ts +++ b/libs/components/editor-core/src/editor/editor.ts @@ -54,7 +54,7 @@ export class Editor implements Virgo { public bdCommands: Commands; public ui_container?: HTMLDivElement; public version = '0.0.1'; - public copyright = '@AFFiNE 2020-2022'; + public copyright = '@TOEVERYTHING PTE.LTD 2022'; private plugin_manager: PluginManager; private hooks: Hooks; private views: Record = {}; diff --git a/libs/components/layout/src/header/Logo/InfoModal.tsx b/libs/components/layout/src/header/Logo/InfoModal.tsx index 590c40e1b7..f8f59d083a 100644 --- a/libs/components/layout/src/header/Logo/InfoModal.tsx +++ b/libs/components/layout/src/header/Logo/InfoModal.tsx @@ -22,7 +22,7 @@ export const InfoModal = ({ open, onClose }: ModalProps) => { -
Copyright © 2022 AFFINE
+
Copyright © 2022 TOEVERYTHING PTE.LTD
); @@ -35,7 +35,7 @@ const Container = styled('div')({ transform: 'translate(-50%, -50%)', width: '60%', maxWidth: '1000px', - minWidth: '840px', + minWidth: '860px', borderRadius: '28px', backgroundColor: '#fff', padding: '48px 48px 40px 48px', From 7f2d6aaceedf3a5289a3c7cc783a5e7edf02a450 Mon Sep 17 00:00:00 2001 From: alt0 Date: Wed, 12 Oct 2022 16:52:51 +0800 Subject: [PATCH 10/10] fix: update copyright info --- apps/venus/src/app/common/Footer.tsx | 2 +- libs/components/editor-core/src/editor/editor.ts | 2 +- libs/components/layout/src/header/Logo/InfoModal.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/venus/src/app/common/Footer.tsx b/apps/venus/src/app/common/Footer.tsx index 18e5d99d12..f44ad6fda5 100644 --- a/apps/venus/src/app/common/Footer.tsx +++ b/apps/venus/src/app/common/Footer.tsx @@ -383,7 +383,7 @@ export const AFFiNEFooter = ({ }} > - Copyright © 2022 TOEVERYTHING PTE.LTD. + Copyright © 2022 Toeverything diff --git a/libs/components/editor-core/src/editor/editor.ts b/libs/components/editor-core/src/editor/editor.ts index 78dc8164d1..bd005c87b9 100644 --- a/libs/components/editor-core/src/editor/editor.ts +++ b/libs/components/editor-core/src/editor/editor.ts @@ -54,7 +54,7 @@ export class Editor implements Virgo { public bdCommands: Commands; public ui_container?: HTMLDivElement; public version = '0.0.1'; - public copyright = '@TOEVERYTHING PTE.LTD 2022'; + public copyright = '@Toeverything 2022'; private plugin_manager: PluginManager; private hooks: Hooks; private views: Record = {}; diff --git a/libs/components/layout/src/header/Logo/InfoModal.tsx b/libs/components/layout/src/header/Logo/InfoModal.tsx index f8f59d083a..a0521860d7 100644 --- a/libs/components/layout/src/header/Logo/InfoModal.tsx +++ b/libs/components/layout/src/header/Logo/InfoModal.tsx @@ -22,7 +22,7 @@ export const InfoModal = ({ open, onClose }: ModalProps) => { -
Copyright © 2022 TOEVERYTHING PTE.LTD
+ );