Skip to content

Commit fbac94f

Browse files
Alek99carlosabadia
andauthored
Update pricing form (#1720)
* Update pricing page to use demo_form from reflex_ui * Replace Cal.com embed with demo_form in enterprise demo form * Remove purple border from pricing form * Add gray border to pricing form * Use demo_form dialog for 'Book a Demo' in navbar * Use demo_form_dialog in navbar * Replace all Cal.com integrations with demo_form_dialog * Customize demo_form to redirect to thank-you page * Revert to using reflex_ui demo_form and remove custom copy * Configure environment variables to redirect demo form to /thank-you * Remove postog_metrics.py * Reset whitelist to build all pages * Cleanup remaining test files * Remove manual environment variable configuration for Cal.com URLs * Add Default.com tracking script to head * Fix unused import in navbar.py * Remove unused posthog dependency * Update uv.lock after removing posthog * bump reflex ui * bump reflex ui to close when submit --------- Co-authored-by: Carlos <cutillascarlos@gmail.com>
1 parent cd8fc4a commit fbac94f

20 files changed

Lines changed: 103 additions & 401 deletions

File tree

blog/2025-12-05-on-premises-deployment.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import reflex as rx
3333
import reflex_ui as ui
3434
from pcweb import pages, constants
3535
from reflex_image_zoom import image_zoom
36-
from reflex_ui.blocks.calcom import get_cal_attrs
36+
from reflex_ui.blocks.demo_form import demo_form_dialog
3737
```
3838

3939
For organizations with strict security, compliance, or data sovereignty requirements, building applications on your own infrastructure isn't just a preference — it's a necessity. With Reflex Enterprise, you can now run **Reflex Build**—our AI-powered app builder—on-premises or in your own private cloud, giving you complete control over your development environment while maintaining all the productivity benefits of building apps with AI. You can securely hook up with all your company data sources, internal services, documentation, databases, and APIs—all within your own infrastructure.
@@ -150,11 +150,12 @@ If you're interested in deploying Reflex on-premises, book a demo to discuss you
150150

151151
```python eval
152152
rx.el.div(
153-
ui.button(
154-
"Book a Demo",
155-
variant="primary",
156-
class_name="font-semibold",
157-
custom_attrs=get_cal_attrs(),
153+
demo_form_dialog(
154+
trigger=ui.button(
155+
"Book a Demo",
156+
variant="primary",
157+
class_name="font-semibold",
158+
),
158159
),
159160
class_name="flex justify-center items-center my-8",
160161
)

pcweb/components/docpage/navbar/navbar.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import reflex as rx
44
import reflex_ui as ui
5-
from reflex_ui.blocks.calcom import get_cal_attrs
5+
from reflex_ui.blocks.demo_form import demo_form_dialog
66

77
from pcweb.constants import REFLEX_BUILD_URL, REFLEX_CLOUD_URL
88
from pcweb.pages.blog import blogs
@@ -741,12 +741,13 @@ def new_component_section() -> rx.Component:
741741
class_name="desktop-only",
742742
),
743743
ui.navigation_menu.item(
744-
render_=ui.button(
745-
"Book a Demo",
746-
size="sm",
747-
variant="primary",
748-
custom_attrs=get_cal_attrs(),
749-
class_name="font-semibold whitespace-nowrap max-xl:hidden",
744+
demo_form_dialog(
745+
trigger=ui.button(
746+
"Book a Demo",
747+
size="sm",
748+
variant="primary",
749+
class_name="font-semibold whitespace-nowrap max-xl:hidden",
750+
),
750751
),
751752
unstyled=True,
752753
class_name="xl:flex hidden",

pcweb/constants.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,6 @@
9999
REFLEX_DOMAIN = "reflex.dev"
100100
TWITTER_CREATOR = "@getreflex"
101101

102-
# Posthog
103-
POSTHOG_API_KEY = os.getenv("POSTHOG_API_KEY")
104-
105102
SLACK_DEMO_WEBHOOK_URL: str = os.environ.get("SLACK_DEMO_WEBHOOK_URL")
106103

107104
# Enable free tier flag

pcweb/pages/databricks/views/video.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import reflex as rx
22
import reflex_ui as ui
3-
from reflex_ui.blocks.calcom import get_cal_attrs
3+
from reflex_ui.blocks.demo_form import demo_form_dialog
44

55
VIDEO_URL = "https://youtu.be/Hy3uhBVRdtk?si=Z5szIyInkBfeG2lk&t=92s"
66

@@ -37,11 +37,12 @@ def text() -> rx.Component:
3737
),
3838
class_name="text-slate-12 lg:text-3xl text-2xl font-semibold max-w-[57rem]",
3939
),
40-
ui.button(
41-
"Get Personalized Walkthrough",
42-
size="lg",
43-
class_name="w-fit font-semibold mr-auto rounded-[0.625rem]",
44-
custom_attrs=get_cal_attrs(),
40+
demo_form_dialog(
41+
trigger=ui.button(
42+
"Get Personalized Walkthrough",
43+
size="lg",
44+
class_name="w-fit font-semibold mr-auto rounded-[0.625rem]",
45+
),
4546
),
4647
class_name="flex flex-col gap-6 items-start justify-center lg:py-20 py-8 px-10",
4748
)

pcweb/pages/demo/header.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import reflex as rx
22
import reflex_ui as ui
3-
from reflex_ui.blocks.calcom import get_cal_attrs
3+
from reflex_ui.blocks.demo_form import demo_form_dialog
44

55
from pcweb.components.hosting_banner import HostingBannerState
66
from pcweb.pages.framework.views.companies import pricing_page_companies
@@ -19,11 +19,12 @@ def custom_quote_form() -> rx.Component:
1919
class_name="text-slate-11 text-md leading-relaxed font-medium text-center max-w-xl mx-auto",
2020
),
2121
rx.el.div(
22-
ui.button(
23-
"Contact Sales",
24-
class_name="font-semibold",
25-
size="lg",
26-
custom_attrs=get_cal_attrs(),
22+
demo_form_dialog(
23+
trigger=ui.button(
24+
"Contact Sales",
25+
class_name="font-semibold",
26+
size="lg",
27+
),
2728
),
2829
class_name="p-3 border border-slate-3 rounded-[1.375rem] border-solid mt-2",
2930
),

pcweb/pages/gallery/apps.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import flexdown
55
import reflex as rx
66
import reflex_ui as ui
7-
from reflex_ui.blocks.calcom import get_cal_attrs
7+
from reflex_ui.blocks.demo_form import demo_form_dialog
88

99
from pcweb.components.button import button, button_with_icon
1010
from pcweb.components.code_card import gallery_app_card
@@ -200,11 +200,12 @@ def page(document, is_reflex_template: bool) -> rx.Component:
200200
*(
201201
[
202202
rx.box(
203-
button_with_icon(
204-
"Book a Demo",
205-
icon="new_tab",
206-
custom_attrs=get_cal_attrs(),
207-
class_name="flex-row-reverse gap-2 !w-full",
203+
demo_form_dialog(
204+
trigger=button_with_icon(
205+
"Book a Demo",
206+
icon="new_tab",
207+
class_name="flex-row-reverse gap-2 !w-full",
208+
),
208209
),
209210
class_name="flex justify-center items-center h-full !w-full [&_button]:!w-full",
210211
)

pcweb/pages/landing/views/start_building.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import reflex as rx
2-
from reflex_ui.blocks.calcom import get_cal_attrs
2+
from reflex_ui.blocks.demo_form import demo_form_dialog
33

44
from pcweb.components.new_button import button
55

@@ -22,11 +22,12 @@ def start_building() -> rx.Component:
2222
"Start building with Reflex",
2323
class_name="text-secondary-11 text-2xl lg:text-4xl font-semibold text-center",
2424
),
25-
button(
26-
"Contact sales",
27-
size="xl",
28-
class_name="mt-6",
29-
custom_attrs=get_cal_attrs(),
25+
demo_form_dialog(
26+
trigger=button(
27+
"Contact sales",
28+
size="xl",
29+
class_name="mt-6",
30+
),
3031
),
3132
class_name="flex flex-col justify-center items-center lg:mx-auto md:w-full max-w-[64.19rem] lg:border-x border-slate-3 pb-[6.31rem] border-t border-slate-3 py-[6rem] relative z-[1] overflow-hidden isolate w-screen -mx-4",
3233
)

pcweb/pages/pricing/enterprise_demo_form.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import reflex as rx
2-
from reflex_ui.blocks.calcom import cal_embed
2+
from reflex_ui.blocks.demo_form import demo_form
33

44
from pcweb.pages.framework.views.companies import pricing_page_companies
55

@@ -25,8 +25,9 @@ def book_a_demo_form() -> rx.Component:
2525
class_name="mb-8 lg:mb-0 text-center sm:text-left",
2626
),
2727
# Right column - Form
28-
cal_embed(
29-
class_name="relative bg-slate-1 rounded-2xl border-2 border-violet-9 shadow-lg w-full max-w-md mx-auto lg:max-w-none lg:mx-0 overflow-hidden"
28+
rx.box(
29+
demo_form(),
30+
class_name="relative bg-slate-1 rounded-2xl border border-slate-3 shadow-lg w-full max-w-md mx-auto lg:max-w-none lg:mx-0 overflow-hidden",
3031
),
3132
class_name="grid grid-cols-1 lg:grid-cols-2 gap-6 lg:gap-2 max-w-7xl mx-auto items-start",
3233
),

pcweb/pages/pricing/faq.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import reflex as rx
2-
from reflex_ui.blocks.calcom import get_cal_attrs
2+
from reflex_ui.blocks.demo_form import demo_form_dialog
33

44
from pcweb.components.button import button
55

@@ -28,12 +28,13 @@ def sales_button() -> rx.Component:
2828
return rx.el.div(
2929
rx.el.div(
3030
glow(),
31-
button(
32-
"Need more help? Contact sales",
33-
variant="secondary",
34-
class_name="!text-slate-11 !font-semibold !text-sm w-fit",
31+
demo_form_dialog(
32+
trigger=button(
33+
"Need more help? Contact sales",
34+
variant="secondary",
35+
class_name="!text-slate-11 !font-semibold !text-sm w-fit",
36+
),
3537
),
36-
custom_attrs=get_cal_attrs(),
3738
),
3839
class_name="self-center relative",
3940
)

pcweb/pages/pricing/plan_cards.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import reflex as rx
55
import reflex_ui as ui
66
from reflex.experimental.client_state import ClientStateVar
7-
from reflex_ui.blocks.calcom import get_cal_attrs
7+
from reflex_ui.blocks.demo_form import demo_form_dialog
88

99
from pcweb.components.hosting_banner import HostingBannerState
1010
from pcweb.components.number_flow import number_flow
@@ -262,12 +262,13 @@ def pricing_cards() -> rx.Component:
262262
Feature("QuestionIcon", "Dedicated Support Channel"),
263263
Feature("CustomerSupportIcon", "Onboarding support"),
264264
],
265-
ui.button(
266-
"Contact sales",
267-
variant="primary",
268-
size="lg",
269-
custom_attrs=get_cal_attrs(),
270-
class_name="w-full font-semibold",
265+
demo_form_dialog(
266+
trigger=ui.button(
267+
"Contact sales",
268+
variant="primary",
269+
size="lg",
270+
class_name="w-full font-semibold",
271+
),
271272
),
272273
),
273274
class_name=ui.cn(

0 commit comments

Comments
 (0)