feat(web): user-count slider on pricing page + compare-table polish#1677
Conversation
- Add reusable @tale/ui Slider with rounded track, accent-filled progress, thumb-following value tooltip and tick marks - Pricing page: new UserCountControl (slider 25-1000 with ticks every 100, manual input can exceed 1000); Enterprise card now shows the calculated monthly total with a per-user breakdown line; entries below 25 flash a tooltip and clamp to 25 on blur - Compare table: added "Custom DPA" row (enterprise-only) with a "?" hover info popover; "Installation" row renamed to "Standard installation"; removed SMS phrasing throughout and dropped the "WhatsApp support" row - Pricing card: removed "Custom development & consulting available" - Cloud-AI providers note clarifies EU/CH region; "AI training courses" is now a link to the existing edoobox course catalog
|
Warning Rate limit exceeded
To continue reviewing without waiting, purchase usage credits in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (43)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Mount every page under both an unprefixed (English) tree and a parallel `/$lang/...` tree (de, fr) so the URL itself reflects and persists the active language; reload, share, and back-button now stay on the chosen locale. - Extract the five route bodies into shared page components under `app/pages/` so the unprefixed and `$lang/...` route files are thin shells around one renderer per page. - Drive `i18n.language` from the URL: a top-level effect in `__root.tsx` reads `useCurrentLocale()` (sourced from the `$lang` param) and resolves it through `resolveRegionalLocale()`; SSR mirrors the same detection in `entry-server.tsx` so the very first render uses the right bundle and there's no flash. - Replace every internal `<Link>` with a typed `<LocalizedLink>` wrapper that maps canonical paths (`/pricing`, `/`, …) to the right route id + `lang` param at render time. - Update LanguageSwitcher to navigate (preserving search + hash) instead of just calling `i18n.changeLanguage`; redirect any unknown `$lang` value to the English root via `beforeLoad`. chore(ui): make Swiss-grouping format test resilient to slim-ICU runtimes The CI Node image emits U+0027 instead of U+2019 for the de-CH grouping separator. Normalize both to ASCII apostrophe before asserting so the test passes on full-ICU and slim-ICU alike.
Summary
Sliderprimitive in@tale/uiwith rounded track + accent fill, thumb-following value tooltip (auto-hides), and tick marks.UserCountControl(slider 25–1000 with ticks every 100, manual input that can exceed 1000). The Enterprise card now displays the calculated monthly total with a per-user breakdown line. Entries below 25 flash a tooltip and clamp to 25 on blur.?hover popover, "Installation" is renamed to "Standard installation", SMS phrasing is removed, and the WhatsApp row is dropped.Pre-PR checklist
bun run check(format, lint, typecheck, all tests). 30/30 tasks pass; 3046 tests green.services/platform/messageschanges (web-only).docs/content affected (marketing site changes).@tale/docslint covered bybun run check.Test plan
/pricing: slider drags between 25 and 1000 with ticks at every 100; thumb tooltip shows the count and disappears after ~1.5s.?next to "Custom DPA" → tooltip explains custom DPAs; row shows ✓ for Enterprise and — for Community.