Commit Graph
93 Commits
Author SHA1 Message Date
reef 09f8b6100f Replace 'Instant setup, satisfied or reimbursed' with 'No setup fee. Cancel subscription at anytime' 2026-08-21 19:38:17 +00:00
reef ba0aa96d3b Update coupon code text: startups and NGOs 2026-08-21 19:17:50 +00:00
reef 3b4b1faef7 Add coupon code mention to affiliate FAQ answer 2026-08-21 17:53:48 +00:00
reef 47c187f661 Replace credit card FAQ with affiliate program Q&A 2026-08-21 17:52:45 +00:00
reef 5e7549651b Replace free trial FAQ with ODOO Community Q&A 2026-08-21 17:52:08 +00:00
reef 03e49b2b2c Remove 'Guest Services' kicker 2026-08-21 17:51:00 +00:00
reef 413471aceb Remove 'The Concierge Standard' kicker 2026-08-21 17:49:52 +00:00
reef 0020477cb1 Swap 6 Global Locations card to Management Within Odoo 2026-08-21 17:48:45 +00:00
reef 4afa74bd16 fix: restore gsap.set pre-hide + simpler observer (threshold 0.1, no rootMargin) — ensures no flash and animations fire correctly on scroll 2026-08-20 22:20:56 +00:00
reef 840982dc2e fix: silent fetch POST instead of new-window form, update subtitle
- Replace hidden form POST (target='_blank') with silent fetch() that
  ignores the response — no new window opens
- Send boolean values directly instead of serializing to 'true'/'false' strings
- Update subtitle: 'Download your PDF in minutes.' -> 'We will send the report in minutes.'
2026-08-20 21:16:12 +00:00
reef d4e9acd4e3 feat: add email field to business wizard, update success message
- Add email input field after textareas, before checkboxes
- Email required via both HTML 'required' attribute and JS validation
- POST email field to webhook as 'email' key
- Add .biz-field input[type='email'] CSS (inline + external) matching textarea style
- Update success message: 'We will email you the report once it is ready. AI generation typically takes 1-2 minutes.'
- Remove reference to new window / auto-download (no longer opens window)
2026-08-20 21:11:39 +00:00
reef 60b41d7453 fix: update business wizard webhook URL to n8n.odoo4projects.com 2026-08-20 15:30:29 +00:00
reef b2d2677a34 feat: open webhook response (HTML/PDF) in new window, update success text
- Replace fetch() with hidden form POST + target='_blank' so the webhook's
  auto-download HTML page opens in a new tab/window
- Send form-encoded fields (not JSON) since webhook expects POST form data
- Update success message: 'A new window has opened with your personalized
  Odoo project plan. The download will start automatically after research
  is complete.'
- Remove dead bizDownloadBtn references (button no longer needed)
2026-08-20 15:28:25 +00:00
reef 87874d0f34 feat: add checkboxes and update webhook for business wizard
- Add 3 checkboxes between textareas and submit button:
  - I already have a homepage (bizHasHomepage)
  - I already use ODOO (bizUsesOdoo)
  - I already have a developer for modules (bizHasDeveloper)
- POST to /webhook/report instead of old webhook UUID
- Include checkbox boolean values in request body
- Add .biz-checkbox-group and .biz-checkbox CSS (inline + external)
2026-08-20 15:22:38 +00:00
reef a24570f187 feat: add Bring Your Business wizard, replace final CTA
- Replace .final-cta section with .biz-wizard section
- Three textarea fields: Business Description, My Goals, Current Challenges
- On submit, POSTs to webhook endpoint that triggers AI Agent to
  generate a personalized Odoo project plan PDF
- On success, shows download button if webhook returns download_url
- Inline + external CSS: midnight background, brass-accented form fields
- Scroll animation observer updated to target .biz-wizard .container
- Remove all .final-cta CSS from style.css and inline critical styles
2026-08-20 11:41:51 +00:00
reef a2cfa09558 pricing: remove monthly/yearly billing toggle, default to yearly
- Remove billing-toggle-wrap HTML (switch + labels)
- Update all 4 pricing cards to show yearly prices by default
  with / year period and save percentage
- Simplify openOrderWidget() to always use yearly pricing only
- Remove billing toggle JS block (updatePrices, setBilling, event listeners)
- Remove billing toggle CSS (billing-toggle-wrap, .toggle-*, .toggle-switch)
- Update order widget default display to / year
- Update CTA note to 'Save money, less administration'
2026-08-20 10:38:03 +00:00
reef 3e9a6d5c4b feat: scroll-triggered section animations via IntersectionObserver + GSAP
Adds a staggered fade-in/rise animation (y:30→0, opacity:0→1, stagger 0.08s,
power2.out, 0.7s) for 5 section grids when they scroll into view:

- .features-grid (The Concierge Standard — includes Free Trial card)
- .faq-grid
- .pricing-grid
- .blog-grid
- .final-cta .container

Uses native IntersectionObserver (threshold 0.12, no extra CDN load). Children
are pre-set to hidden state at page load to prevent flash, then animated once
per section via GSAP. Animate-once guard per section via dataset flag.
2026-08-20 10:32:19 +00:00
reef 9a9319e3a3 perf: inline critical CSS, defer GSAP, preconnect cdnjs, font-display swap
- Inline all above-the-fold CSS (hero, server-banner, buttons, layout) as
  inline <style> in <head> to eliminate render-blocking style.css
- Load full style.css via media='print' onload pattern (async, non-blocking)
- Move GSAP from <head> to before </body> (right before script.js)
- Preconnect to cdnjs.cloudflare.com
- Override Font Awesome 6 font-display to 'swap' to prevent FOIT
2026-08-20 09:55:10 +00:00
reef 94b5e36d8e hero: switch to new 1920x768 images in images/hero/ 2026-08-20 09:42:16 +00:00
oliver ad03edb0ee new images in images/hero/ 2026-08-20 06:37:51 -03:00
reef 9a87d3a5fe Free Trial form in features grid: 2x3 layout, email + location + send
- features-grid changed to repeat(3, 1fr) for 2x3 layout
- 6th cell is a Free Trial card with midnight bg, brass border
- Email input, location dropdown (preselected to best ping server),
  brass Send button
- POST to webhook as JSON {email, location}
- On success: form hides, success message shown
- Responsive: 3col -> 2col -> 1col
2026-08-19 22:58:14 +00:00
reef b5c9361fc9 Click server card to slide its city into hero bg (no label change) 2026-08-19 22:55:18 +00:00
reef 1c362f4683 Golden frame on best server card — brass border, glow, lifted 2026-08-19 22:42:15 +00:00
reef a0ed2c7e9f Silent ping for hero carousel: pings in background, animates best city
- Pings all 6 servers silently with 2s timeout
- Picks the lowest-latency server
- GSAP slides the city image in from right with label
- Server banner cards stay static (city + country only, no ping UI)
2026-08-19 22:35:51 +00:00
reef b96c2870ef Simplify server banner: static city cards, no JS, no ping, no status
- Header changed to 'Our Server Locations'
- Cards hardcoded in HTML with just city name + region
- Removed all ping JS (IIFE, pingServer, markBest, etc.)
- Removed server-ping-wrap, best-badge, server-best, ping-spinner,
  status-dot, server-optimal CSS
- Removed empty server-optimal div
- Removed card entrance animation (static display)
2026-08-19 22:33:01 +00:00
reef a9328bf383 Remove initial background image — hero starts clean with gradient only, city slides in on first swap 2026-08-19 22:25:55 +00:00
reef 5e315cee0e GSAP for all animations, 3x slower, brighter city images
- Added GSAP 3.12.5 from CDN
- Card stagger entrance now uses gsap.fromTo with 0.6s duration, 0.09 stagger
- Carousel slide uses gsap.timeline: old slides out right (3s), new slides
  in from right (3s), label slides in (2.5s after 0.3s offset)
- All animations use power2.out easing
- Image brightness: opacity 0.12→0.25, filter brightness(1.15) saturate(1.1)
- ::after overlay changed from solid midnight @ 0.6 to gradient
  (midnight→transparent @ 0.5) — brighter image with smooth falloff
2026-08-19 22:23:28 +00:00
reef e2e37e18b4 Carousel hero bg: old image slides out right, new slides in from right
- ::after is now a dark overlay only (no bg image)
- .hero-bg container created on first swap
- Old slide (Amsterdam default) starts at translateX(0), animates to
  translateX(100%) — slides out to the right
- New slide (winning city) starts at translateX(100%), animates to
  translateX(0) — slides in from the right
- Both fire simultaneously via requestAnimationFrame, same easing
- Old slide removed after 1.2s cleanup timeout
- Label 'Our <City> server fits your location' slides in from right
  alongside the carousel animation
2026-08-19 22:18:25 +00:00
reef d29dd1174f Hero: preload city image, left-to-right clip-path reveal, label slide-in
- Preloads the best server's city image via new Image() before showing
- Reveal overlay uses clip-path: inset(0 100% ...) → inset(0) for smooth
  left-to-right slide over the default Amsterdam background
- Label 'Our <City> server fits your location' slides in from right
  simultaneously with backdrop-blur and brass border
- Both animations start and end together via requestAnimationFrame
2026-08-19 22:10:01 +00:00
reef fb8c1b7dea Hero bg swaps to best server's city image on ping complete
- Maps each server to a city image (holland, brazil, india, england,
  boston/sydney from Wikimedia Commons CC-BY-SA)
- CSS var --hero-bg controls ::after background, falls back to Amsterdam
- 0.8s ease-out transition when the image swaps
- Uses local webp for Odoo-sourced images, JPG for Wikimedia imports
2026-08-19 21:58:26 +00:00
reef 0d4e39f582 Hide connection status, 2s ping timeout 2026-08-19 21:43:59 +00:00
reef 2c6f033d43 Tidy server banner: hide ms, remove location line, rename to 'Your optimal server' 2026-08-19 21:41:49 +00:00
reef 26d113b486 Server status banner: live ping times, best-server highlight, optimal location badge
- Replaced city placards with a full server status banner
- Grid of 6 server cards (Amsterdam, Boston, Manchester, Mumbai, São Paulo, Sydney)
- JS pings each server via Image() timing, shows ms latency
- Best server highlighted with brass glow, shadow, and 'Best' badge
- 'Your optimal server location: <city> (<ms> ms)' with bounce animation
- Staggered card entrance animation on page load
- Responsive: 6-col -> 3-col -> 2-col grid
2026-08-19 21:35:05 +00:00
reef b55c121257 Complete redesign: Grand Hotel Business Lounge world — midnight/brass/cream, Marcellus serif, 6 city placards, concierge FAQ, redesigned pricing 2026-08-15 09:52:55 +00:00
reef 85334fc4d2 Homepage relaunch: contrast fix, heading hierarchy, order widget refactor, final CTA band, depth & polish 2026-08-15 09:35:00 +00:00
reef cc5667bf7b Add country note to blog post, reorder posts with latest on top 2026-06-27 15:31:10 +00:00
reef 358e480ea6 Add blog post: Odoo Community vs Enterprise cost breakdown with comparison tables 2026-06-27 15:23:19 +00:00
reef ea449d0769 Remove 'credit card required' and 'no downtime' from FAQ 2026-06-25 16:14:35 +00:00
reef 8666714818 Update FAQ: credit card required, Git modules start at On the Rise 2026-06-25 16:11:16 +00:00
reef 9891ba5d86 Rewrite Competitive Edge tab: enterprise-grade Community hosting, AI-first global rollout, client-focused language 2026-06-25 16:05:24 +00:00
reef 7adbcdcbdc Revert Competitive Edge tab to emoji bullet points format 2026-06-25 11:55:34 +00:00
reef 9a6a435bea Rewrite Competitive Edge tab: enterprise-grade Community hosting, AI-first global rollout, client-focused language 2026-06-25 11:52:10 +00:00
reef b2d2d1dbff Remove Talk to Sales button from Infrastructure tab 2026-06-25 11:34:30 +00:00
reef adc41f6e08 Update Infrastructure tab with 4 bullet points: scale workers, backbone providers, daily audits, performance monitoring 2026-06-25 11:32:55 +00:00
reef a4b1c31bbd Rework Infrastructure tab copy with benefit-driven messaging 2026-06-25 11:31:47 +00:00
reef 5acea62050 Change hero stat from 'No credit card' to 'Instant backups' 2026-06-25 11:30:02 +00:00
reef 38e523f624 Add fun 'Your Company' placeholder to partner carousel (links to pricing) 2026-06-25 11:27:18 +00:00
reef 4f81a3a59b Add AccellerSales to partner carousel 2026-06-25 10:55:19 +00:00
reef 59413f5b36 Update Estancia Agape logo to full logo from their site 2026-06-25 10:50:42 +00:00
reef 60f31286d7 Add 'Our Mission' section heading above the tabs 2026-06-25 09:18:38 +00:00