Skip to content

Commit 164450d

Browse files
divy-odoorobinlej
authored andcommitted
[IMP] website: show welcome message on homepage
1 parent 1473ec2 commit 164450d

File tree

6 files changed

+32
-3
lines changed

6 files changed

+32
-3
lines changed

addons/html_builder/__manifest__.py

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
],
7272
'web.assets_frontend': [
7373
'html_builder/static/src/interactions/**/*',
74+
'html_builder/static/src/website_preview/website_builder_action.editor.scss',
7475
('remove', 'html_builder/static/src/interactions/**/*.edit.*'),
7576
],
7677
},
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.o_homepage_editor_welcome_message {
2+
font-family: $o-font-family-sans-serif;
3+
}

addons/html_builder/static/src/website_preview/website_builder_action.js

+21-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { AddPageDialog } from "@website/components/dialog/add_page_dialog";
2525
import { ResourceEditor } from "@website/components/resource_editor/resource_editor";
2626
import { isHTTPSorNakedDomainRedirection } from "./utils";
2727
import { WebsiteSystrayItem } from "./website_systray_item";
28+
import { renderToElement } from "@web/core/utils/render";
2829

2930
export class WebsiteBuilder extends Component {
3031
static template = "html_builder.WebsiteBuilder";
@@ -73,7 +74,13 @@ export class WebsiteBuilder extends Component {
7374
useSubEnv({
7475
localOverlayContainerKey: uniqueId("website"),
7576
});
76-
77+
useEffect(
78+
() => {
79+
this.addWelcomeMessage();
80+
return () => this.welcomeMessageEl?.remove();
81+
},
82+
() => [this.state.isEditing]
83+
);
7784
this.websitePreviewRef = useRef("website_preview");
7885

7986
onWillStart(async () => {
@@ -402,6 +409,19 @@ export class WebsiteBuilder extends Component {
402409
);
403410
}
404411

412+
async addWelcomeMessage() {
413+
await this.iframeLoaded;
414+
if (this.websiteService.isRestrictedEditor && !this.state.isEditing) {
415+
const wrapEl = this.websiteContent.el.contentDocument.querySelector(
416+
"#wrapwrap.homepage #wrap"
417+
);
418+
if (wrapEl && !wrapEl.innerHTML.trim()) {
419+
this.welcomeMessageEl = renderToElement("website.homepage_editor_welcome_message");
420+
wrapEl.replaceChildren(this.welcomeMessageEl);
421+
}
422+
}
423+
}
424+
405425
setIframeLoaded() {
406426
this.iframeLoaded = new Promise((resolve) => {
407427
this.resolveIframeLoaded = () => {

addons/html_builder/static/src/website_preview/website_builder_action.xml

+6
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,10 @@
2121
</div>
2222
</t>
2323

24+
<t t-name="website.homepage_editor_welcome_message">
25+
<div class="container o_homepage_editor_welcome_message text-center pt128 pb128 h-100">
26+
<h2 class="mt0">Welcome to your <b>Homepage</b>!</h2>
27+
<p class="lead d-none d-md-block">Click on <b>Edit</b> in the top right corner to start designing.</p>
28+
</div>
29+
</t>
2430
</templates>

addons/website/static/tests/tours/skip_website_configurator.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ registry.category("web_tour.tours").add('skip_website_configurator', {
2727
},
2828
{
2929
content: "Check that the homepage is loaded",
30-
trigger: ".o_website_preview[data-view-xmlid='website.homepage']",
30+
trigger: ".o_website_preview :iframe html[data-view-xmlid='website.homepage']",
3131
timeout: 30000,
3232
},
3333
{

addons/website/tests/test_skip_website_configurator.py

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
@tagged('post_install', '-at_install')
77
class TestAutomaticEditor(TestConfiguratorCommon):
88

9-
@unittest.skip
109
def test_skip_website_configurator(self):
1110
# If not enabled (like in demo data), landing on res.config will try
1211
# to disable module_sale_quotation_builder and raise an issue

0 commit comments

Comments
 (0)