diff --git a/extension/popup/create.tsx b/extension/popup/create.tsx index 6fe7a02b31..ef513d7a19 100644 --- a/extension/popup/create.tsx +++ b/extension/popup/create.tsx @@ -413,11 +413,11 @@ const Create = observer(class Create extends React.Component { + C.ObjectCreateFromUrl(details, S.Common.space, type?.uniqueKey, this.url, withContent, type?.defaultTemplateId, (message: any) => { this.setState({ isLoading: false }); if (message.error.code) { diff --git a/extension/scss/popup.scss b/extension/scss/popup.scss index 1ae1f10b92..fdca3a4fec 100644 --- a/extension/scss/popup.scss +++ b/extension/scss/popup.scss @@ -27,7 +27,7 @@ html.anytypeWebclipper-popup { width: 268px; } .input, .select { height: 32px; padding: 0px 10px; } .select { display: flex; align-items: center; padding-right: 20px; } .textarea { padding: 10px; resize: none; height: 68px; display: block; } - .buttonsWrapper { display: flex; flex-direction: column; justify-content: center; gap: 8px 0px; margin: 16px 0px 0px 0px; } + .buttonsWrapper { display: flex; flex-direction: column; justify-content: center; gap: 8px 0px; margin: 16px 0px 0px 0px; align-items: center; } .loaderWrapper { position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; background: var(--color-bg-loader); z-index: 10; } .error { @include text-small; margin: 1em 0px 0px 0px; } diff --git a/src/ts/component/block/bookmark.tsx b/src/ts/component/block/bookmark.tsx index 7f9a732201..6cc46b72c8 100644 --- a/src/ts/component/block/bookmark.tsx +++ b/src/ts/component/block/bookmark.tsx @@ -254,8 +254,9 @@ const BlockBookmark = observer(class BlockBookmark extends React.Component { const bookmarks = list.filter(it => it.isTmp && U.Object.isBookmarkLayout(it.layout)); const fl = files.length; const bl = bookmarks.length; + const bookmark = S.Record.getBookmarkType(); const attachments = (this.state.attachments || []).filter(it => !it.isTmp).map(it => ({ target: it.id, type: I.AttachmentType.Link })); loader.addClass('active'); @@ -710,7 +711,7 @@ const ChatForm = observer(class ChatForm extends React.Component { let n = 0; for (const item of bookmarks) { - C.ObjectCreateFromUrl({ source: item.source }, S.Common.space, J.Constant.typeKey.bookmark, item.source, true, (message: any) => { + C.ObjectCreateFromUrl({ source: item.source }, S.Common.space, J.Constant.typeKey.bookmark, item.source, true, bookmark.defaultTemplateId, (message: any) => { n++; if (message.objectId) { diff --git a/src/ts/component/editor/page.tsx b/src/ts/component/editor/page.tsx index 0c5cbc0c29..c1558cde2b 100644 --- a/src/ts/component/editor/page.tsx +++ b/src/ts/component/editor/page.tsx @@ -2006,7 +2006,9 @@ const EditorPage = observer(class EditorPage extends React.Component { + const bookmark = S.Record.getBookmarkType(); + + C.BlockBookmarkCreateAndFetch(rootId, focused, position, url, bookmark?.defaultTemplateId, (message: any) => { if (!message.error.code) { analytics.event('CreateBlock', { middleTime: message.middleTime, type: I.BlockType.Bookmark }); }; diff --git a/src/ts/component/menu/dataview/create/bookmark.tsx b/src/ts/component/menu/dataview/create/bookmark.tsx index a8f3f55ab1..948e85f6b6 100644 --- a/src/ts/component/menu/dataview/create/bookmark.tsx +++ b/src/ts/component/menu/dataview/create/bookmark.tsx @@ -57,6 +57,7 @@ class MenuDataviewCreateBookmark extends React.Component { const { onSubmit, route } = data; const value = this.ref.getValue(); const details = data.details || {}; + const bookmark = S.Record.getBookmarkType(); if (!value) { return; @@ -64,7 +65,7 @@ class MenuDataviewCreateBookmark extends React.Component { this.setState({ loading: true }); - C.ObjectCreateBookmark({ ...details, source: value }, S.Common.space, (message: any) => { + C.ObjectCreateBookmark({ ...details, source: value }, S.Common.space, bookmark?.defaultTemplateId, (message: any) => { this.setState({ loading: false }); if (message.error.code) { diff --git a/src/ts/lib/api/command.ts b/src/ts/lib/api/command.ts index 3af215c9df..08c68186bc 100644 --- a/src/ts/lib/api/command.ts +++ b/src/ts/lib/api/command.ts @@ -482,23 +482,25 @@ export const BlockSplit = (contextId: string, blockId: string, range: I.TextRang dispatcher.request(BlockSplit.name, request, callBack); }; -export const BlockBookmarkFetch = (contextId: string, blockId: string, url: string, callBack?: (message: any) => void) => { +export const BlockBookmarkFetch = (contextId: string, blockId: string, url: string, templateId: string, callBack?: (message: any) => void) => { const request = new Rpc.BlockBookmark.Fetch.Request(); request.setContextid(contextId); request.setBlockid(blockId); request.setUrl(url); + request.setTemplateid(templateId); dispatcher.request(BlockBookmarkFetch.name, request, callBack); }; -export const BlockBookmarkCreateAndFetch = (contextId: string, targetId: string, position: I.BlockPosition, url: string, callBack?: (message: any) => void) => { +export const BlockBookmarkCreateAndFetch = (contextId: string, targetId: string, position: I.BlockPosition, url: string, templateId: string, callBack?: (message: any) => void) => { const request = new Rpc.BlockBookmark.CreateAndFetch.Request(); request.setContextid(contextId); request.setTargetid(targetId); request.setPosition(position as number); request.setUrl(url); + request.setTemplateid(templateId); dispatcher.request(BlockBookmarkCreateAndFetch.name, request, callBack); }; @@ -1271,16 +1273,17 @@ export const ObjectCreateSet = (sources: string[], details: any, templateId: str dispatcher.request(ObjectCreateSet.name, request, callBack); }; -export const ObjectCreateBookmark = (details: any, spaceId: string, callBack?: (message: any) => void) => { +export const ObjectCreateBookmark = (details: any, spaceId: string, templateId: string, callBack?: (message: any) => void) => { const request = new Rpc.Object.CreateBookmark.Request(); request.setDetails(Encode.struct(details)); request.setSpaceid(spaceId); + request.setTemplateid(templateId); dispatcher.request(ObjectCreateBookmark.name, request, callBack); }; -export const ObjectCreateFromUrl = (details: any, spaceId: string, typeKey: string, url: string, withContent: boolean, callBack?: (message: any) => void) => { +export const ObjectCreateFromUrl = (details: any, spaceId: string, typeKey: string, url: string, withContent: boolean, templateId: string, callBack?: (message: any) => void) => { const request = new Rpc.Object.CreateFromUrl.Request(); request.setDetails(Encode.struct(details)); @@ -1288,6 +1291,7 @@ export const ObjectCreateFromUrl = (details: any, spaceId: string, typeKey: stri request.setObjecttypeuniquekey(typeKey); request.setUrl(url); request.setAddpagecontent(withContent); + request.setTemplateid(templateId); dispatcher.request(ObjectCreateFromUrl.name, request, callBack); }; diff --git a/src/ts/lib/util/menu.ts b/src/ts/lib/util/menu.ts index 83f041b04a..8ec11c9f83 100644 --- a/src/ts/lib/util/menu.ts +++ b/src/ts/lib/util/menu.ts @@ -1155,7 +1155,9 @@ class UtilMenu { }; if (url) { - C.ObjectCreateBookmark({ ...details, source: url }, S.Common.space, (message: any) => { + const bookmark = S.Record.getBookmarkType(); + + C.ObjectCreateBookmark({ ...details, source: url }, S.Common.space, bookmark?.defaultTemplateId, (message: any) => { cb(message.details, message.middleTime); }); } else {