Public Access
Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
20f8d02116 | ||
|
|
eb142d1aa6 | ||
|
|
4d9becd159 | ||
|
|
5f4c75e94f | ||
|
|
d83d960543 | ||
|
|
9751bda35c | ||
|
|
3e899391d7 |
No files matched your search
@@ -0,0 +1,206 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Confirm your email to get your Odoo instance</title>
|
||||||
|
<style>
|
||||||
|
* { box-sizing: border-box; }
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: #f4f0e8;
|
||||||
|
font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #0d1b2e;
|
||||||
|
}
|
||||||
|
table { width: 100%; border-collapse: collapse; }
|
||||||
|
.container {
|
||||||
|
max-width: 600px;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
|
||||||
|
}
|
||||||
|
.header {
|
||||||
|
background: #0d1b2e;
|
||||||
|
color: #fff;
|
||||||
|
padding: 32px 24px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.brand {
|
||||||
|
font-family: Marcellus, serif;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: -0.5px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.content { padding: 32px 24px; }
|
||||||
|
h1 {
|
||||||
|
font-family: Marcellus, serif;
|
||||||
|
font-size: 26px;
|
||||||
|
margin: 0 0 16px 0;
|
||||||
|
color: #0d1b2e;
|
||||||
|
}
|
||||||
|
p { margin: 0 0 16px 0; color: #162a45; }
|
||||||
|
.highlight {
|
||||||
|
background: rgba(201,162,39,0.08);
|
||||||
|
padding: 12px 16px;
|
||||||
|
border-radius: 6px;
|
||||||
|
border-left: 3px solid #c9a227;
|
||||||
|
margin: 16px 0;
|
||||||
|
}
|
||||||
|
.cta {
|
||||||
|
display: inline-block;
|
||||||
|
background: #c9a227;
|
||||||
|
color: #fff;
|
||||||
|
padding: 14px 28px;
|
||||||
|
text-decoration: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
font-weight: 600;
|
||||||
|
margin: 24px 0;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
.cta:hover { background: #b38f22; }
|
||||||
|
.steps { margin: 24px 0; }
|
||||||
|
.step {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
.step-number {
|
||||||
|
background: #0d1b2e;
|
||||||
|
color: #fff;
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-right: 12px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.step-content { flex: 1; }
|
||||||
|
.step h3 { margin: 0 0 4px 0; font-size: 16px; color: #0d1b2e; }
|
||||||
|
.step p { margin: 0; font-size: 14px; color: #162a45; }
|
||||||
|
.footer {
|
||||||
|
background: #f4f0e8;
|
||||||
|
padding: 24px;
|
||||||
|
border-top: 1px solid #e8e2d4;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #162a45;
|
||||||
|
}
|
||||||
|
.footer p { margin: 0 0 8px 0; }
|
||||||
|
.footer a { color: #c9a227; text-decoration: underline; }
|
||||||
|
.support {
|
||||||
|
margin-top: 24px;
|
||||||
|
padding: 16px;
|
||||||
|
background: rgba(13,27,46,0.05);
|
||||||
|
border-radius: 6px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.support a { color: #0d1b2e; font-weight: 600; text-decoration: none; }
|
||||||
|
.support a:hover { text-decoration: underline; }
|
||||||
|
.unsubscribe { margin-top: 8px; color: #6b7b8c; }
|
||||||
|
.unsubscribe a { color: #6b7b8c; text-decoration: underline; }
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
.container { border-radius: 0; }
|
||||||
|
.header { padding: 24px 16px; }
|
||||||
|
.content { padding: 24px 16px; }
|
||||||
|
h1 { font-size: 22px; }
|
||||||
|
.cta { padding: 12px 20px; font-size: 15px; }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<table class="container" cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<!-- Header -->
|
||||||
|
<tr>
|
||||||
|
<td class="header">
|
||||||
|
<h1 class="brand">ODOO4projects</h1>
|
||||||
|
<p style="font-size: 14px; margin-top: 8px; opacity: 0.85;">Odoo Community Managed Hosting</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!-- Main Content -->
|
||||||
|
<tr>
|
||||||
|
<td class="content">
|
||||||
|
<h1>Confirm your email to get your Odoo instance</h1>
|
||||||
|
<p>Thanks for signing up for the 30-day free trial of Odoo Community V20 hosting.</p>
|
||||||
|
<p>Your Odoo instance is waiting to be launched. Confirm your email address and we'll spin it up immediately.</p>
|
||||||
|
|
||||||
|
<!-- Confirmation CTA -->
|
||||||
|
<center>
|
||||||
|
<a class="cta" href="https://odoo4projects.com/trial/confirm?token=USER_TOKEN">Confirm Email</a>
|
||||||
|
</center>
|
||||||
|
|
||||||
|
<div class="highlight">
|
||||||
|
<strong>What happens next:</strong> We'll email your login credentials once your instance is ready.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Steps -->
|
||||||
|
<div class="steps">
|
||||||
|
<div class="step">
|
||||||
|
<div class="step-number">1</div>
|
||||||
|
<div class="step-content">
|
||||||
|
<h3>Confirm email</h3>
|
||||||
|
<p>Click the button above to verify your address and start your Odoo V20 instance.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="step">
|
||||||
|
<div class="step-number">2</div>
|
||||||
|
<div class="step-content">
|
||||||
|
<h3>Instance spins up</h3>
|
||||||
|
<p>We provision your Odoo Community V20 server automatically. Usually takes 2-5 minutes.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="step">
|
||||||
|
<div class="step-number">3</div>
|
||||||
|
<div class="step-content">
|
||||||
|
<h3>Login credentials</h3>
|
||||||
|
<p>We email your URL, username, and temporary password. You can change them right away.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p><strong>What you get in this trial:</strong></p>
|
||||||
|
<ul>
|
||||||
|
<li>Odoo Community V20 — fully featured, open-source ERP</li>
|
||||||
|
<li>Automatic backups and SSL certificate</li>
|
||||||
|
<li>Domain mapping (use your own domain or our free subdomain)</li>
|
||||||
|
<li>No credit card required</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="support">
|
||||||
|
<p>Questions? Reply to this email or contact us directly:</p>
|
||||||
|
<p><a href="mailto:support@odoo4projects.com">support@odoo4projects.com</a></p>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<tr>
|
||||||
|
<td class="footer">
|
||||||
|
<p><strong>ODOO4projects</strong> — Smart, scalable business solutions</p>
|
||||||
|
<p>
|
||||||
|
<a href="https://odoo4projects.com/legal/privacy">Privacy</a> •
|
||||||
|
<a href="https://odoo4projects.com/legal/terms">Terms</a> •
|
||||||
|
<a href="https://odoo4projects.com/contactus">Contact</a>
|
||||||
|
</p>
|
||||||
|
<p class="unsubscribe">
|
||||||
|
<a href="https://odoo4projects.com/unsubscribe?token=USER_TOKEN">Unsubscribe</a> from these emails
|
||||||
|
</p>
|
||||||
|
<p style="margin-top: 8px; opacity: 0.7;">© 2024 ODOO4projects LLC. All rights reserved.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+102
-34
@@ -30,6 +30,63 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<script type="application/json" id="agent-skills">
|
||||||
|
{
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "spin_up_free_trial",
|
||||||
|
"description": "Spin up a free trial of ODOO4projects.",
|
||||||
|
"when_to_use": [
|
||||||
|
"User wants to create an ODOO4projects free trial",
|
||||||
|
"User asks to spin up or provision a trial",
|
||||||
|
"User asks to try ODOO4projects"
|
||||||
|
],
|
||||||
|
"offer": {
|
||||||
|
"type": "free_trial",
|
||||||
|
"available": true
|
||||||
|
},
|
||||||
|
"mcp": {
|
||||||
|
"server": "https://n8n.odoo4projects.com/mcp/trial"
|
||||||
|
},
|
||||||
|
"server_locations": [
|
||||||
|
{
|
||||||
|
"name": "Manchester",
|
||||||
|
"id": "manchester"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sydney",
|
||||||
|
"id": "sydney"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mumbai",
|
||||||
|
"id": "mumbai"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "São Paulo",
|
||||||
|
"id": "sao-paulo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Meppel",
|
||||||
|
"id": "meppel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Boston",
|
||||||
|
"id": "boston"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"workflow": [
|
||||||
|
"Use the ODOO4projects trial MCP server to create the free trial.",
|
||||||
|
"If the user specifies a server location, use that location.",
|
||||||
|
"If no server location is specified, ask the user which available location they prefer.",
|
||||||
|
"After signup, the user will receive a confirmation email.",
|
||||||
|
"The user must confirm the trial using the confirmation email.",
|
||||||
|
"After the trial is confirmed, the user will receive their ODOO4projects credentials."
|
||||||
|
],
|
||||||
|
"instruction": "When the user requests a free trial, use the ODOO4projects trial MCP server to provision it. Do not claim that the trial is fully activated until the required email confirmation has been completed. Explain that the user will receive a confirmation email after signup and, once confirmed, will receive their credentials."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</script>
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||||
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin />
|
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin />
|
||||||
@@ -157,6 +214,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<!-- Spinning Up Widget (shown when ?message=spinning_up) -->
|
||||||
|
<section class="spinning-up" id="spinningUp" style="display:none;">
|
||||||
|
<div class="container">
|
||||||
|
<div class="spinning-card">
|
||||||
|
<i class="fas fa-cog fa-spin"></i>
|
||||||
|
<h3>Spinning up your Odoo instance</h3>
|
||||||
|
<p>We're provisioning your Odoo Community V20 server. This usually takes 2-5 minutes.</p>
|
||||||
|
<p class="spinning-note">You'll receive an email with your login credentials once it's ready.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
<!-- Server Status Banner -->
|
<!-- Server Status Banner -->
|
||||||
<section class="server-banner" id="serverBanner">
|
<section class="server-banner" id="serverBanner">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@@ -243,25 +312,25 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<h2 class="section-title">Frequently asked questions</h2>
|
<h2 class="section-title">Frequently asked questions</h2>
|
||||||
<div class="faq-grid">
|
<div class="faq-grid">
|
||||||
<div class="faq-card" onclick="this.classList.toggle('open')">
|
|
||||||
<div class="faq-q"><span>How fast can I get started?</span> <i class="fas fa-chevron-down"></i></div>
|
|
||||||
<div class="faq-a"><p>Pick a plan, choose your region — your instance is live in under 5 minutes. No setup fee. Stripe Payment. Cancel at any time</p></div>
|
|
||||||
</div>
|
|
||||||
<div class="faq-card" onclick="this.classList.toggle('open')">
|
|
||||||
<div class="faq-q"><span>Can I install custom modules?</span> <i class="fas fa-chevron-down"></i></div>
|
|
||||||
<div class="faq-a"><p>Yes. Starting with On the Rise we fully support Git-based modules. Quick Git is included for one-click installs.</p></div>
|
|
||||||
</div>
|
|
||||||
<div class="faq-card" onclick="this.classList.toggle('open')">
|
<div class="faq-card" onclick="this.classList.toggle('open')">
|
||||||
<div class="faq-q"><span>What if I outgrow my plan?</span> <i class="fas fa-chevron-down"></i></div>
|
<div class="faq-q"><span>What if I outgrow my plan?</span> <i class="fas fa-chevron-down"></i></div>
|
||||||
<div class="faq-a"><p>Upgrade instantly from your Odoo Settings panel. No data migration, no downtime.</p></div>
|
<div class="faq-a"><p>Grow from Side Hustle to Empire without data migration or downtime. Upgrade in your Odoo Settings panel — your instance stays live, your data moves with you.</p></div>
|
||||||
|
</div>
|
||||||
|
<div class="faq-card" onclick="this.classList.toggle('open')">
|
||||||
|
<div class="faq-q"><span>Can I customize it?</span> <i class="fas fa-chevron-down"></i></div>
|
||||||
|
<div class="faq-a"><p>Yes. On the Rise and above support Git-based modules. Install custom apps, build your own, or use Quick GIT for one-click installs.</p></div>
|
||||||
|
</div>
|
||||||
|
<div class="faq-card" onclick="this.classList.toggle('open')">
|
||||||
|
<div class="faq-q"><span>How fast can I get started?</span> <i class="fas fa-chevron-down"></i></div>
|
||||||
|
<div class="faq-a"><p>Five minutes. Pick a plan, choose your region — your Odoo instance is live. No setup fee. Stripe payment. Cancel anytime.</p></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="faq-card" onclick="this.classList.toggle('open')">
|
<div class="faq-card" onclick="this.classList.toggle('open')">
|
||||||
<div class="faq-q"><span>Can I run Odoo Enterprise?</span> <i class="fas fa-chevron-down"></i></div>
|
<div class="faq-q"><span>Can I run Odoo Enterprise?</span> <i class="fas fa-chevron-down"></i></div>
|
||||||
<div class="faq-a"><p>Powerhouse and above are Enterprise-ready. You bring your license; we provide the infrastructure.</p></div>
|
<div class="faq-a"><p>Powerhouse and Empire are Enterprise-ready. Bring your license; we provide the infrastructure.</p></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="faq-card" onclick="this.classList.toggle('open')">
|
<div class="faq-card" onclick="this.classList.toggle('open')">
|
||||||
<div class="faq-q"><span>ODOO Community? What can it do?</span> <i class="fas fa-chevron-down"></i></div>
|
<div class="faq-q"><span>ODOO Community? What can it do?</span> <i class="fas fa-chevron-down"></i></div>
|
||||||
<div class="faq-a"><p>Inventory, accounting, CRM, sales, manufacturing, HR, and more — all in one system. Community is free and fully open-source.</p></div>
|
<div class="faq-a"><p>Inventory, accounting, CRM, sales, manufacturing, HR — all in one system. Free and fully open-source.</p></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="faq-card" onclick="this.classList.toggle('open')">
|
<div class="faq-card" onclick="this.classList.toggle('open')">
|
||||||
<div class="faq-q"><span>Do you have an affiliate program?</span> <i class="fas fa-chevron-down"></i></div>
|
<div class="faq-q"><span>Do you have an affiliate program?</span> <i class="fas fa-chevron-down"></i></div>
|
||||||
@@ -275,15 +344,15 @@
|
|||||||
<!-- Pricing -->
|
<!-- Pricing -->
|
||||||
<section class="section-dark" id="pricing">
|
<section class="section-dark" id="pricing">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p class="section-kicker">Rates & Suites</p>
|
<p class="section-kicker">Rates & Suites</p>
|
||||||
<h2 class="section-title">Your Plan, Your Timing: Upgrade Anytime</h2>
|
<h2 class="section-title">Your Plan, Your Timing: Upgrade Anytime</h2>
|
||||||
<div class="pricing-server-row">
|
<div class="pricing-server-row">
|
||||||
<label for="pricingServerLocation">Server Location</label>
|
<label for="pricingServerLocation">Server Location</label>
|
||||||
<select id="pricingServerLocation" class="pricing-server-select"></select>
|
<select id="pricingServerLocation" class="pricing-server-select"></select>
|
||||||
<label for="pricingOdooVersion">Odoo Version</label>
|
<label for="pricingOdooVersion">Odoo Version</label>
|
||||||
<select id="pricingOdooVersion" class="pricing-server-select">
|
<select id="pricingOdooVersion" class="pricing-server-select">
|
||||||
<option value="19.0">19.0 — Tons of OCA supported modules</option>
|
<option value="19.0">19.0 — Tons of OCA supported modules</option>
|
||||||
<option value="20.0">20.0 — Latest Greatest</option>
|
<option value="20.0">20.0 — Latest Greatest</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="pricing-grid">
|
<div class="pricing-grid">
|
||||||
@@ -296,12 +365,12 @@
|
|||||||
<small class="price-period">/ year</small>
|
<small class="price-period">/ year</small>
|
||||||
<div class="price-save">Save 8%</div>
|
<div class="price-save">Save 8%</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“ODOO Standard .. that is all my business needs”</p>
|
<p class="desc">"ODOO Standard .. that is all my business needs"</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="54">Buy Now</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="54">Buy Now</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Launch Odoo CE in 5 minutes</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic backups — no remembering</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Domain Mapping, SSL Cert</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Domain mapping & SSL cert</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="pcard-foot">No setup fee. Stripe Payment<br />Cancel at any time</div>
|
<div class="pcard-foot">No setup fee. Stripe Payment<br />Cancel at any time</div>
|
||||||
@@ -315,13 +384,13 @@
|
|||||||
<small class="price-period">/ year</small>
|
<small class="price-period">/ year</small>
|
||||||
<div class="price-save">Save 9%</div>
|
<div class="price-save">Save 9%</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“I need some modules and professional reports”</p>
|
<p class="desc">"I need some modules and professional reports"</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="55">Buy Now</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="55">Buy Now</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Launch Odoo CE in 5 minutes</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic backups — no remembering</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Domain Mapping, SSL Cert</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Domain mapping & SSL cert</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Module installation via GIT / quickGIT</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Install custom modules via Git/QuickGIT</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="pcard-foot">No setup fee. Stripe Payment<br />Cancel at any time</div>
|
<div class="pcard-foot">No setup fee. Stripe Payment<br />Cancel at any time</div>
|
||||||
@@ -335,15 +404,14 @@
|
|||||||
<small class="price-period">/ year</small>
|
<small class="price-period">/ year</small>
|
||||||
<div class="price-save">Save 10%</div>
|
<div class="price-save">Save 10%</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“ODOO Enterprise is a must have!”</p>
|
<p class="desc">"ODOO Enterprise is a must have!"</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="56">Buy Now</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="56">Buy Now</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Launch Odoo CE in 5 minutes</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic backups — no remembering</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> 3 Domain Mapping, SSL Cert</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> 3 domains & SSL certs</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Module installation via GIT / quickGIT</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Install custom modules via Git/QuickGIT</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> 2 Workers</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> 2 workers for reliability</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> 2GB HDD</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="pcard-foot">No setup fee. Stripe Payment<br />Cancel at any time</div>
|
<div class="pcard-foot">No setup fee. Stripe Payment<br />Cancel at any time</div>
|
||||||
@@ -357,13 +425,13 @@
|
|||||||
<small class="price-period">/ year</small>
|
<small class="price-period">/ year</small>
|
||||||
<div class="price-save"></div>
|
<div class="price-save"></div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“My house! My Horse! My Server!”</p>
|
<p class="desc">"My house! My Horse! My Server!"</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass btn-empire" data-plan="Empire" data-price="950.00" data-is-empire="true">Get Custom Quote</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-empire" data-plan="Empire" data-price="950.00" data-is-empire="true">Get Custom Quote</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Our service on your server</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Our service on your server</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> All modules & features</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> All modules & features</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Unlimited customization</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Unlimited customization</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Priority support & dedicated onboarding</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Priority support & dedicated onboarding</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -528,4 +596,4 @@
|
|||||||
<script src="script.js"></script>
|
<script src="script.js"></script>
|
||||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -6,6 +6,70 @@ var si = 0,
|
|||||||
autoStop = false,
|
autoStop = false,
|
||||||
autoInterval = 7000;
|
autoInterval = 7000;
|
||||||
|
|
||||||
|
/* ---- UTM tracking helpers ---- */
|
||||||
|
(function () {
|
||||||
|
function getCookie(name) {
|
||||||
|
var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
|
||||||
|
return match ? decodeURIComponent(match[2]) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setCookie(name, value, days) {
|
||||||
|
var expires = '';
|
||||||
|
if (days) {
|
||||||
|
var date = new Date();
|
||||||
|
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
|
||||||
|
expires = '; expires=' + date.toUTCString();
|
||||||
|
}
|
||||||
|
document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/; SameSite=Lax';
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseUTM() {
|
||||||
|
var urlParams = new URLSearchParams(window.location.search);
|
||||||
|
var utm = {};
|
||||||
|
var keys = ['source', 'medium', 'campaign'];
|
||||||
|
for (var i = 0; i < keys.length; i++) {
|
||||||
|
var val = urlParams.get('utm_' + keys[i]);
|
||||||
|
if (val) {
|
||||||
|
utm[keys[i]] = val;
|
||||||
|
setCookie('utm_' + keys[i], val, 90);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return utm;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getStoredUTM() {
|
||||||
|
var utm = {};
|
||||||
|
var keys = ['source', 'medium', 'campaign'];
|
||||||
|
for (var i = 0; i < keys.length; i++) {
|
||||||
|
var val = getCookie('utm_' + keys[i]);
|
||||||
|
if (val) utm[keys[i]] = val;
|
||||||
|
}
|
||||||
|
return utm;
|
||||||
|
}
|
||||||
|
|
||||||
|
function injectUTM(data) {
|
||||||
|
var stored = getStoredUTM();
|
||||||
|
if (Object.keys(stored).length > 0) {
|
||||||
|
data.utm_source = stored.source || null;
|
||||||
|
data.utm_medium = stored.medium || null;
|
||||||
|
data.utm_campaign = stored.campaign || null;
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
window.UTM = { parse: parseUTM, getStored: getStoredUTM, inject: injectUTM };
|
||||||
|
window.UTM.parse(); // Parse on page load
|
||||||
|
})();
|
||||||
|
|
||||||
|
/* ---- Spinning Up Widget (shown when ?message=spinning_up) ---- */
|
||||||
|
(function () {
|
||||||
|
var urlParams = new URLSearchParams(window.location.search);
|
||||||
|
if (urlParams.get('message') === 'spinning_up') {
|
||||||
|
var el = document.getElementById('spinningUp');
|
||||||
|
if (el) el.style.display = 'block';
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
if (slides.length > 0 && dots.length > 0) {
|
if (slides.length > 0 && dots.length > 0) {
|
||||||
function show(i, direction) {
|
function show(i, direction) {
|
||||||
if (direction === undefined) return;
|
if (direction === undefined) return;
|
||||||
@@ -443,7 +507,9 @@ var si = 0,
|
|||||||
if (el) {
|
if (el) {
|
||||||
SERVERS.forEach(function(s) {
|
SERVERS.forEach(function(s) {
|
||||||
var opt = document.createElement('option');
|
var opt = document.createElement('option');
|
||||||
opt.value = s.host;
|
// Extract city from host: api.saopaulo.odoo4projects.com -> saopaulo
|
||||||
|
var cityVal = s.host.replace('api.', '').replace('.odoo4projects.com', '');
|
||||||
|
opt.value = cityVal;
|
||||||
opt.textContent = s.city;
|
opt.textContent = s.city;
|
||||||
el.appendChild(opt);
|
el.appendChild(opt);
|
||||||
});
|
});
|
||||||
@@ -502,10 +568,10 @@ var si = 0,
|
|||||||
var btn = trialForm.querySelector('.btn-brass');
|
var btn = trialForm.querySelector('.btn-brass');
|
||||||
btn.textContent = 'Sending...';
|
btn.textContent = 'Sending...';
|
||||||
btn.disabled = true;
|
btn.disabled = true;
|
||||||
fetch('https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/c25169c6-4234-4b47-8e74-612b9539da0a', {
|
fetch('https://n8n.odoo4projects.com/webhook/ODOO4projects/trial', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ email: email, location: location })
|
body: JSON.stringify(UTM.inject({ email: email, location: location }))
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
trialForm.style.display = 'none';
|
trialForm.style.display = 'none';
|
||||||
document.getElementById('trialSuccess').classList.add('visible');
|
document.getElementById('trialSuccess').classList.add('visible');
|
||||||
@@ -609,7 +675,7 @@ var si = 0,
|
|||||||
fetch('https://n8n.odoo4projects.com/webhook/bring-your-business', {
|
fetch('https://n8n.odoo4projects.com/webhook/bring-your-business', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({
|
body: JSON.stringify(UTM.inject({
|
||||||
email: email,
|
email: email,
|
||||||
description: description,
|
description: description,
|
||||||
goals: goals,
|
goals: goals,
|
||||||
@@ -617,7 +683,7 @@ var si = 0,
|
|||||||
has_homepage: hasHomepage,
|
has_homepage: hasHomepage,
|
||||||
uses_odoo: usesOdoo,
|
uses_odoo: usesOdoo,
|
||||||
has_developer: hasDeveloper
|
has_developer: hasDeveloper
|
||||||
})
|
}))
|
||||||
}).catch(function () { /* ignore */ });
|
}).catch(function () { /* ignore */ });
|
||||||
|
|
||||||
/* Show success message — we'll email the report */
|
/* Show success message — we'll email the report */
|
||||||
|
|||||||
@@ -969,4 +969,38 @@ img { max-width: 100%; height: auto; vertical-align: middle; }
|
|||||||
.blog-section-dark .blog-badge-guide { background: #a78bfa; }
|
.blog-section-dark .blog-badge-guide { background: #a78bfa; }
|
||||||
.blog-section-dark .blog-badge-howto { background: #00f5ff; }
|
.blog-section-dark .blog-badge-howto { background: #00f5ff; }
|
||||||
.blog-section-dark .blog-badge-news { background: #ffaa00; }
|
.blog-section-dark .blog-badge-news { background: #ffaa00; }
|
||||||
.blog-section-dark .blog-badge-default { background: #a78bfa; }
|
.blog-section-dark .blog-badge-default { background: #a78bfa; }
|
||||||
|
|
||||||
|
/* ---- Spinning Up Widget ---- */
|
||||||
|
.spinning-up {
|
||||||
|
background: #0d1b2e;
|
||||||
|
padding: 3rem 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.spinning-card {
|
||||||
|
display: inline-block;
|
||||||
|
background: rgba(201,162,39,0.08);
|
||||||
|
border: 1px solid rgba(201,162,39,0.25);
|
||||||
|
border-radius: var(--radius-lg);
|
||||||
|
padding: 2rem;
|
||||||
|
max-width: 600px;
|
||||||
|
}
|
||||||
|
.spinning-card i {
|
||||||
|
color: var(--brass);
|
||||||
|
font-size: 3rem;
|
||||||
|
margin-bottom: 1.25rem;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.spinning-card h3 {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 1.6rem;
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
.spinning-card p {
|
||||||
|
color: rgba(255,255,255,0.7);
|
||||||
|
margin: 0 0 0.75rem 0;
|
||||||
|
}
|
||||||
|
.spinning-note {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: var(--brass);
|
||||||
|
}
|
||||||
Reference in new issue
Block a user