Compare commits
7 Commits
f0b7ea9740
...
f8430595e3
| Author | SHA1 | Date | |
|---|---|---|---|
| f8430595e3 | |||
| 248a3796f4 | |||
| 683f69f7c4 | |||
| 6fb2ef7570 | |||
| 6ab8310e57 | |||
| 908d21b0ac | |||
| 4b76410979 |
@@ -0,0 +1,26 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{yaml,yml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.{js,ts,json}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.sh]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
@@ -0,0 +1 @@
|
||||
docker-compose.override.yml
|
||||
@@ -0,0 +1,9 @@
|
||||
FROM node:alpine
|
||||
|
||||
RUN npm install -g live-server
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["live-server", ".", "--port=8080", "--host=0.0.0.0", "--no-browser"]
|
||||
@@ -0,0 +1,5 @@
|
||||
services:
|
||||
dev:
|
||||
build: .
|
||||
volumes:
|
||||
- .:/app
|
||||
+48
-91
@@ -977,30 +977,42 @@
|
||||
></i>
|
||||
</button>
|
||||
<div class="faq-answer px-7 pb-6">
|
||||
<p class="text-gray-500 text-sm leading-relaxed">
|
||||
Not for all of them.
|
||||
<strong class="text-dark">BI Queries</strong>
|
||||
and
|
||||
<p
|
||||
class="text-gray-500 text-sm leading-relaxed mb-3"
|
||||
>
|
||||
None of these modules require n8n specifically.
|
||||
<strong class="text-dark">BI Queries</strong>,
|
||||
<strong class="text-dark"
|
||||
>Payment Link API</strong
|
||||
>
|
||||
expose standard REST endpoints that work with
|
||||
any HTTP client — curl, Postman, Make, Zapier,
|
||||
or n8n.
|
||||
<strong class="text-dark"
|
||||
>Website Form Webhook</strong
|
||||
>
|
||||
POSTs to any webhook URL you configure, so Make
|
||||
and other tools work too.
|
||||
and
|
||||
<strong class="text-dark"
|
||||
>Invoice Address Edit</strong
|
||||
>
|
||||
and
|
||||
expose standard REST endpoints that work with
|
||||
any HTTP client — curl, Postman, Make, Zapier,
|
||||
or anything else you already use.
|
||||
<strong class="text-dark"
|
||||
>Website Form Webhook</strong
|
||||
>
|
||||
POSTs to any webhook URL, so any automation
|
||||
platform can receive submissions.
|
||||
</p>
|
||||
<p
|
||||
class="text-gray-500 text-sm leading-relaxed mb-3"
|
||||
>
|
||||
That said, n8n is what we actually use and
|
||||
recommend. Every endpoint is designed to drop
|
||||
straight into an n8n HTTP Request node — but
|
||||
you're never locked in.
|
||||
</p>
|
||||
<p class="text-gray-500 text-sm leading-relaxed">
|
||||
<strong class="text-dark"
|
||||
>Risk Management</strong
|
||||
>
|
||||
are standalone Odoo features with no external
|
||||
dependency at all.
|
||||
is a different category entirely — it's a
|
||||
standalone Odoo feature with no external
|
||||
dependency of any kind.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1282,71 +1294,7 @@
|
||||
/>
|
||||
|
||||
<!-- Product -->
|
||||
<div>
|
||||
<label
|
||||
class="block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3"
|
||||
>What do you need?</label
|
||||
>
|
||||
<div class="grid grid-cols-2 gap-3">
|
||||
<label
|
||||
id="opt-odoo"
|
||||
class="trial-option flex items-center gap-3 border-2 border-brand rounded-xl px-4 py-3.5 cursor-pointer bg-brand/5 transition-all"
|
||||
>
|
||||
<input
|
||||
type="radio"
|
||||
name="product"
|
||||
value="ODOO"
|
||||
class="sr-only"
|
||||
checked
|
||||
/>
|
||||
<span
|
||||
class="w-8 h-8 rounded-lg bg-brand/10 flex items-center justify-center flex-shrink-0"
|
||||
>
|
||||
<i
|
||||
class="fas fa-cubes text-brand text-sm"
|
||||
></i>
|
||||
</span>
|
||||
<div>
|
||||
<p
|
||||
class="text-sm font-semibold text-dark"
|
||||
>
|
||||
Odoo
|
||||
</p>
|
||||
<p class="text-[11px] text-gray-400">
|
||||
ERP + modules
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
<label
|
||||
id="opt-n8n"
|
||||
class="trial-option flex items-center gap-3 border-2 border-gray-200 rounded-xl px-4 py-3.5 cursor-pointer hover:border-gray-300 transition-all"
|
||||
>
|
||||
<input
|
||||
type="radio"
|
||||
name="product"
|
||||
value="N8N"
|
||||
class="sr-only"
|
||||
/>
|
||||
<span
|
||||
class="w-8 h-8 rounded-lg bg-gray-100 flex items-center justify-center flex-shrink-0"
|
||||
>
|
||||
<i
|
||||
class="fas fa-project-diagram text-gray-400 text-sm"
|
||||
></i>
|
||||
</span>
|
||||
<div>
|
||||
<p
|
||||
class="text-sm font-semibold text-dark"
|
||||
>
|
||||
n8n
|
||||
</p>
|
||||
<p class="text-[11px] text-gray-400">
|
||||
Workflow automation
|
||||
</p>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="product" value="ODOO" />
|
||||
|
||||
<!-- Region -->
|
||||
<div>
|
||||
@@ -1362,21 +1310,24 @@
|
||||
class="w-full appearance-none border-2 border-gray-200 rounded-xl px-4 py-3 text-sm text-dark bg-white focus:outline-none focus:border-brand transition-colors pr-10"
|
||||
>
|
||||
<option value="">Select a region…</option>
|
||||
<option value="UK, Manchester">
|
||||
<option value="manchester">
|
||||
🇬🇧 UK — Manchester
|
||||
</option>
|
||||
<option value="US, Boston">
|
||||
<option value="boston">
|
||||
🇺🇸 US — Boston
|
||||
</option>
|
||||
<option value="IN, Mumbai">
|
||||
<option value="mumbai">
|
||||
🇮🇳 IN — Mumbai
|
||||
</option>
|
||||
<option value="BR, Sao Paulo">
|
||||
<option value="saopaulo">
|
||||
🇧🇷 BR — São Paulo
|
||||
</option>
|
||||
<option value="NL, Meppel">
|
||||
<option value="meppel">
|
||||
🇳🇱 NL — Meppel
|
||||
</option>
|
||||
<option value="sydney">
|
||||
🇦🇺 AU — Sydney
|
||||
</option>
|
||||
</select>
|
||||
<i
|
||||
class="fas fa-chevron-down text-gray-400 text-xs absolute right-4 top-1/2 -translate-y-1/2 pointer-events-none"
|
||||
@@ -1583,11 +1534,19 @@
|
||||
// Mobile menu
|
||||
const btn = document.getElementById("mobile-menu-button");
|
||||
const menu = document.getElementById("mobile-menu");
|
||||
btn.addEventListener("click", () =>
|
||||
menu.classList.toggle("hidden"),
|
||||
);
|
||||
const btnIcon = btn.querySelector("i");
|
||||
btn.addEventListener("click", () => {
|
||||
menu.classList.toggle("hidden");
|
||||
const isOpen = !menu.classList.contains("hidden");
|
||||
btnIcon.classList.toggle("fa-bars", !isOpen);
|
||||
btnIcon.classList.toggle("fa-times", isOpen);
|
||||
});
|
||||
menu.querySelectorAll("a").forEach((a) =>
|
||||
a.addEventListener("click", () => menu.classList.add("hidden")),
|
||||
a.addEventListener("click", () => {
|
||||
menu.classList.add("hidden");
|
||||
btnIcon.classList.add("fa-bars");
|
||||
btnIcon.classList.remove("fa-times");
|
||||
}),
|
||||
);
|
||||
|
||||
// FAQ accordion
|
||||
@@ -1704,8 +1663,6 @@
|
||||
errorEl.classList.remove("hidden");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script
|
||||
|
||||
Reference in New Issue
Block a user