feat: implement single POST upsert API with automatic ID generation
- Replace separate POST/PUT endpoints with unified POST upsert - Add automatic content ID generation from element context when no ID provided - Implement version history preservation before content updates - Add element context support for backend ID generation - Update frontend to use single endpoint for all content operations - Enhanced demo site with latest database content including proper content IDs
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar">
|
||||
<div class="container">
|
||||
<h1 class="logo insertr" >Acme Consulting</h1>
|
||||
<h1 class="logo insertr" data-content-id="navbar-logo-2b10ad" data-content-type="text">Acme Consulting</h1>
|
||||
<ul class="nav-links">
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="about.html">About</a></li>
|
||||
@@ -22,15 +22,15 @@
|
||||
<!-- Hero Section -->
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<h1 class="insertr" >About Acme Consulting</h1>
|
||||
<p class="lead insertr" >We're a team of experienced consultants dedicated to helping small businesses thrive in today's competitive marketplace.</p>
|
||||
<h1 class="insertr" data-content-id="hero-title-c70343" data-content-type="text">About Acme Consulting</h1>
|
||||
<p class="lead insertr" data-content-id="hero-lead-673026" data-content-type="markdown">We're a team of experienced consultants dedicated to helping small businesses thrive in today's competitive marketplace.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Story Section -->
|
||||
<section class="services">
|
||||
<div class="container">
|
||||
<h2 class="insertr" >Our Story</h2>
|
||||
<h2 class="insertr" data-content-id="services-subtitle-c8927c" data-content-type="text">Our Story</h2>
|
||||
<div class="insertr-group">
|
||||
<p>Founded in 2020, Acme Consulting emerged from a simple observation: small businesses needed access to the same high-quality strategic advice that large corporations receive, but in a format that was accessible, affordable, and actionable.</p>
|
||||
|
||||
@@ -44,8 +44,8 @@
|
||||
<!-- Team Section -->
|
||||
<section class="cta">
|
||||
<div class="container">
|
||||
<h2 class="insertr" >Our Team</h2>
|
||||
<p class="insertr" >We're a diverse group of strategists, operators, and technology experts united by our passion for helping businesses succeed.</p>
|
||||
<h2 class="insertr" data-content-id="subtitle-ba6444" data-content-type="text">Our Team</h2>
|
||||
<p class="insertr" data-content-id="text-8b3502" data-content-type="markdown">We're a diverse group of strategists, operators, and technology experts united by our passion for helping businesses succeed.</p>
|
||||
|
||||
<div class="services-grid" style="margin-top: 3rem;">
|
||||
<div class="service-card">
|
||||
@@ -76,19 +76,19 @@
|
||||
<!-- Values Section -->
|
||||
<section class="testimonial">
|
||||
<div class="container">
|
||||
<h2 class="insertr" style="margin-bottom: 2rem;" >Our Values</h2>
|
||||
<h2 class="insertr" style="margin-bottom: 2rem;" data-content-id="testimonial-subtitle-dce35b" data-content-type="text">Our Values</h2>
|
||||
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; text-align: left;">
|
||||
<div>
|
||||
<h3 class="insertr" >Client-First</h3>
|
||||
<p class="insertr" >Every recommendation we make is designed with your specific business context and goals in mind.</p>
|
||||
<h3 class="insertr" data-content-id="testimonial-heading-f7eefa" data-content-type="text">Client-First</h3>
|
||||
<p class="insertr" data-content-id="testimonial-text-f7e46f" data-content-type="markdown">Every recommendation we make is designed with your specific business context and goals in mind.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="insertr" >Practical Solutions</h3>
|
||||
<p class="insertr" >We believe in strategies that you can actually implement with your current resources and capabilities.</p>
|
||||
<h3 class="insertr" data-content-id="testimonial-heading-fd4293" data-content-type="text">Practical Solutions</h3>
|
||||
<p class="insertr" data-content-id="testimonial-text-c12023" data-content-type="markdown">We believe in strategies that you can actually implement with your current resources and capabilities.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="insertr" >Long-term Partnership</h3>
|
||||
<p class="insertr" >We're not just consultants; we're partners in your business success for the long haul.</p>
|
||||
<h3 class="insertr" data-content-id="testimonial-heading-957cc8" data-content-type="text">Long-term Partnership</h3>
|
||||
<p class="insertr" data-content-id="testimonial-text-45dae2" data-content-type="markdown">We're not just consultants; we're partners in your business success for the long haul.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -97,7 +97,7 @@
|
||||
<!-- Test Section for Insertr Features -->
|
||||
<section class="testimonial">
|
||||
<div class="container">
|
||||
<h2 class="insertr" >Feature Tests</h2>
|
||||
<h2 class="insertr" data-content-id="testimonial-subtitle-648b88" data-content-type="text">Feature Tests</h2>
|
||||
|
||||
<!-- Test 1: .insertr container expansion (should make each p individually editable) -->
|
||||
<div style="margin-bottom: 2rem;">
|
||||
@@ -124,8 +124,8 @@
|
||||
<!-- Footer -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="insertr" >© 2024 Acme Consulting Services. All rights reserved.</p>
|
||||
<p class="insertr" >📧 info@acmeconsulting.com | 📞 (555) 123-4567 | <button class="insertr-gate" style="background: none; border: 1px solid #ccc; padding: 4px 8px; margin-left: 10px; border-radius: 3px; font-size: 11px;">🔧 Edit</button></p>
|
||||
<p class="insertr" data-content-id="footer-text-a2b6a8" data-content-type="markdown">© 2024 Acme Consulting Services. All rights reserved.</p>
|
||||
<p class="insertr" data-content-id="footer-text-a44170" data-content-type="markdown">📧 info@acmeconsulting.com | 📞 (555) 123-4567 | <button class="insertr-gate" style="background: none; border: 1px solid #ccc; padding: 4px 8px; margin-left: 10px; border-radius: 3px; font-size: 11px;">🔧 Edit</button></p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user