diff --git a/frappe/public/js/frappe/ui/link_preview.js b/frappe/public/js/frappe/ui/link_preview.js index 357ebbf671..328cd23716 100644 --- a/frappe/public/js/frappe/ui/link_preview.js +++ b/frappe/public/js/frappe/ui/link_preview.js @@ -170,24 +170,49 @@ frappe.ui.LinkPreview = class { this.href = this.href.replace(new RegExp(' ', 'g'), '%20'); } - let image_html = ''; + let popover_content =` +
+
+ ${this.get_image_html(preview_data)} + +
${this.get_id_html(preview_data)}
+
+
+
+
+ ${this.get_content_html(preview_data)} +
+ `; + + return popover_content; + } + + get_id_html(preview_data) { let id_html = ''; - let content_html = ''; - - let image_url = preview_data.preview_image; - let avatar_html = frappe.get_avatar( - "avatar-large", - preview_data.preview_title, - image_url - ); - image_html = `
- ${avatar_html} -
`; - if (preview_data.preview_title !== preview_data.name) { id_html = `${preview_data.name}`; } + return id_html; + } + + get_image_html(preview_data) { + let avatar_html = frappe.get_avatar( + "avatar-medium", + preview_data.preview_title, + preview_data.preview_image + ); + + return `
+ ${avatar_html} +
`; + } + + get_content_html(preview_data) { + let content_html = ''; + Object.keys(preview_data).forEach(key => { if (!['preview_image', 'preview_title', 'name'].includes(key)) { let value = frappe.ellipsis(preview_data[key], 280); @@ -200,23 +225,8 @@ frappe.ui.LinkPreview = class { `; } }); - content_html = `
${content_html}
`; - let popover_content =` -
-
- ${image_html} - -
${id_html}
-
-
-
-
- ${content_html} -
- `; - - return popover_content; + return `
${content_html}
`; } }; diff --git a/frappe/public/scss/desk/link_preview.scss b/frappe/public/scss/desk/link_preview.scss index dc7cf726f2..b2dd3ec425 100644 --- a/frappe/public/scss/desk/link_preview.scss +++ b/frappe/public/scss/desk/link_preview.scss @@ -2,56 +2,37 @@ max-width: 100%; .popover-content { - padding: 15px 25px; + padding: var(--padding-md) 25px; - .preview-popover-header { + .preview-header { + @include flex(flex, null, center, column); + } - .preview-header { - @include flex(flex, null, center, column); - } + .preview-image { + margin-bottom: var(--margin-sm); - .preview-image { - margin-bottom: var(--margin-sm); - // object-fit: cover; - // border-radius: var(--border-radius-sm); + .avatar { + width: 52px; + height: 52px; - .avatar { - width: 52px; - height: 52px; + .standard-image { + font-size: var(--text-lg); } } + } - img:after { - content: url("data:image/svg+xml;utf8,"); - } + .preview-name { + font-size: var(--text-base); + font-weight: 500; + } - img[alt]:after { - height: 52px; - @include flex(); - position: absolute; - z-index: 1; - top: -15px; - left: 0px; - width: 100%; - background-color: var(--bg-color); - border-radius: var(--border-radius); - } - - .preview-name { - // display: block; - font-size: var(--text-base); - font-weight: 500; - } - - .preview-title:not(:empty) { - margin-top: var(--margin-xs); - font-size: var(--text-md); - } + .preview-title:not(:empty) { + margin-top: var(--margin-xs); + font-size: var(--text-md); } .popover-body { padding: 0; - .preview-table { padding-bottom: var(--padding-xs); max-width: 330px;