add
This commit is contained in:
@@ -32,3 +32,16 @@ if (slides.length > 0) {
|
||||
setInterval(nextSlide, 10000);
|
||||
}
|
||||
|
||||
|
||||
function toggleContent(button) {
|
||||
const teaser = button.parentElement;
|
||||
const fullContent = teaser.querySelector('.blog-full-content');
|
||||
if (fullContent.style.display === 'none') {
|
||||
fullContent.style.display = 'block';
|
||||
button.textContent = 'Read Less';
|
||||
} else {
|
||||
fullContent.style.display = 'none';
|
||||
button.textContent = 'Read More';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -252,6 +252,28 @@
|
||||
|
||||
</section>
|
||||
|
||||
<section class="accordion-section">
|
||||
|
||||
|
||||
<div class="blog-teaser">
|
||||
<h3 class="blog-title">How to Supercharge ODOO & N8N Integration</h3>
|
||||
<small class="blog-date">2025-07-29</small>
|
||||
<div class="blog-snippet">
|
||||
Learn the essential steps to connect ODOO and N8N seamlessly, automating your workflows with ease.
|
||||
</div>
|
||||
<div class="blog-full-content" style="display:none;">
|
||||
<p>Here goes the full blog post content that’s hidden by default. This content will be crawled by search engines but won’t clutter the main page visually.</p>
|
||||
<p>Include detailed how-tos, code snippets, tips, and best practices here.</p>
|
||||
</div>
|
||||
<button class="read-more-btn" onclick="toggleContent(this)">Read More</button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<!-- Success Stories Accordion -->
|
||||
<section class="accordion-section">
|
||||
<h2>OD8N Success Stories in Automation</h2>
|
||||
|
||||
@@ -285,4 +285,50 @@ footer a:hover {
|
||||
}
|
||||
|
||||
|
||||
.blog-teaser {
|
||||
border: 1px solid #ddd;
|
||||
padding: 1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
max-width: 600px;
|
||||
}
|
||||
|
||||
.blog-title {
|
||||
margin: 0 0 0.3rem 0;
|
||||
font-weight: 700;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.blog-date {
|
||||
font-size: 0.8rem;
|
||||
color: #888;
|
||||
display: block;
|
||||
margin-bottom: 0.8rem;
|
||||
}
|
||||
|
||||
.blog-snippet {
|
||||
font-size: 1rem;
|
||||
line-height: 1.4;
|
||||
color: #444;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.blog-full-content p {
|
||||
margin: 0.5rem 0;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.read-more-btn {
|
||||
background: #007bff;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 0.4rem 1rem;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.read-more-btn:hover {
|
||||
background: #0056b3;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Conversation } from 'https://cdn.skypack.dev/@elevenlabs/client';
|
||||
const callBtn = document.getElementById('callBtn');
|
||||
let conversation = null;
|
||||
|
||||
|
||||
console.log("INIT")
|
||||
document.addEventListener('JSsucks', () => {
|
||||
console.log("JSsucks")
|
||||
callBtn.addEventListener('click', async () => {
|
||||
|
||||
@@ -13,7 +13,8 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
|
||||
// Inject HTML
|
||||
document.body.insertAdjacentHTML('beforeend', widgetHTML);
|
||||
|
||||
console.log("HERE!")
|
||||
document.dispatchEvent(new CustomEvent('JSsucks'));
|
||||
// DOM references
|
||||
const chatToggle = document.getElementById('cw-chatToggle');
|
||||
const chatWidget = document.getElementById('cw-chatWidget');
|
||||
@@ -95,7 +96,6 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
});
|
||||
|
||||
// Attach buy button listeners
|
||||
document.dispatchEvent(new CustomEvent('JSsucks'));
|
||||
|
||||
} catch (err) {
|
||||
console.error('Failed to initialize chat widget:', err);
|
||||
|
||||
Reference in New Issue
Block a user