Skip to content

Commit b100c6d

Browse files
committed
Update Databricks page content and layout
- Combined middle_text and integrations sections into unified section - Updated CTA to use 'See Documentation' instead of 'Book a call' - Removed top documentation button from integrations header - Added comprehensive Databricks integration description - Narrowed text column width for better readability - Removed redundant middle_text.py file - Updated page flow: hero -> video -> integrations (with text + diagram) -> security -> cta
1 parent c7bdfad commit b100c6d

File tree

8 files changed

+88
-43
lines changed

8 files changed

+88
-43
lines changed

pcweb/components/lemcal_modal.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
"""Reusable Lemcal modal component for booking demos."""
2+
3+
import reflex as rx
4+
5+
6+
class LemcalModalState(rx.State):
7+
is_open: bool = False
8+
9+
@rx.event
10+
def open(self):
11+
self.is_open = True
12+
13+
@rx.event
14+
def close(self):
15+
self.is_open = False
16+
17+
18+
@rx.memo
19+
def lemcal_booking_calendar():
20+
return rx.el.div(
21+
class_name="lemcal-embed-booking-calendar",
22+
custom_attrs={
23+
"data-user": "usr_8tiwtJ8nEJaFj2qH9",
24+
"data-meeting-type": "met_ToQQ9dLZDYrEBv5qz",
25+
},
26+
on_mount=rx.call_function("window.lemcal.refresh"),
27+
)
28+
29+
30+
def lemcal_modal() -> rx.Component:
31+
"""Reusable lemcal modal component that can be used anywhere in the app."""
32+
return rx.cond(
33+
LemcalModalState.is_open,
34+
rx.box(
35+
rx.el.div(
36+
rx.box(
37+
lemcal_booking_calendar(),
38+
),
39+
class_name="fixed inset-0 bg-black/40 backdrop-blur-sm z-[9999] flex items-center justify-center",
40+
on_click=LemcalModalState.close,
41+
),
42+
),
43+
rx.fragment(),
44+
)

pcweb/pages/databricks/databricks.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from pcweb.pages.databricks.views.cta import final_cta
55
from pcweb.pages.databricks.views.hero import hero
66
from pcweb.pages.databricks.views.integrations import integrations
7-
from pcweb.pages.databricks.views.middle_text import middle_text
87
from pcweb.pages.databricks.views.security import security
98
from pcweb.pages.databricks.views.video import video
109
from pcweb.templates.mainpage import mainpage
@@ -24,7 +23,6 @@ def databricks_page():
2423
hero(),
2524
video(),
2625
integrations(),
27-
middle_text(),
2826
security(),
2927
final_cta(),
3028
class_name="flex flex-col size-full justify-center items-center",

pcweb/pages/databricks/views/cta.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
import reflex as rx
22
import reflex_ui as ui
3-
from reflex_ui.blocks.lemcal import lemcal_dialog
43

54
from pcweb.components.numbers_pattern import numbers_pattern
5+
from pcweb.pages.docs import ai_builder
66

77

88
def content() -> rx.Component:
99
return rx.el.div(
1010
rx.el.h2(
11-
"Get a personalized walkthrough of Reflex for Databricks for your company",
11+
"See how it works",
1212
class_name="text-slate-12 lg:text-4xl text-3xl font-semibold text-center",
1313
),
14-
lemcal_dialog(
15-
ui.button(
16-
"Get Personalized Walkthrough",
14+
ui.link(
15+
render_=ui.button(
16+
"Databricks Documentation",
1717
size="lg",
1818
class_name="font-semibold mt-8 h-10",
19-
)
19+
),
20+
to=ai_builder.integrations.databricks.path,
21+
target="_blank",
2022
),
2123
class_name="flex flex-col items-center mx-auto w-full justify-center max-w-[42rem]",
2224
)

pcweb/pages/databricks/views/hero.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def hero() -> rx.Component:
1414
class_name="lg:top-[65px] top-[45px] lg:h-[calc(100%-65px)] h-[calc(100%-45px)]",
1515
),
1616
rx.el.h1(
17-
"Reflex X Databricks",
17+
"Reflex x Databricks",
1818
class_name="text-slate-12 lg:text-4xl text-3xl font-semibold text-center lg:max-w-[576px] text-balance",
1919
),
2020
rx.el.h2(

pcweb/pages/databricks/views/integrations.py

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,9 @@ def header() -> rx.Component:
1313
class_name="flex flex-row gap-2 items-center text-primary-9",
1414
),
1515
rx.el.h2(
16-
"Integrate with Everything in Databricks and deploy directly to Databricks apps.",
16+
"Integrate with Everything in Databricks",
1717
class_name="max-w-full w-full lg:text-3xl text-2xl text-center text-slate-12 font-semibold text-balance",
1818
),
19-
ui.link(
20-
render_=ui.button(
21-
"See Integration Guide",
22-
size="lg",
23-
class_name="w-fit font-semibold rounded-[0.625rem] mx-auto mt-4",
24-
),
25-
to=ai_builder.integrations.databricks.path,
26-
target="_blank",
27-
),
2819
class_name="flex flex-col gap-4 items-center justify-center w-full relative overflow-hidden mx-auto",
2920
)
3021

@@ -143,11 +134,43 @@ def integrations_row() -> rx.Component:
143134
)
144135

145136

137+
def content_text() -> rx.Component:
138+
return rx.el.div(
139+
rx.el.p(
140+
"With Reflex's Databricks integration, you can build customizable, performant web apps that seamlessly leverage Databricks' powerful data and AI services — including SQL Warehouse, Unity Catalog, Genie AI, and OAuth-based authentication. These are just a few examples — Reflex can hook into most Databricks services, giving you the flexibility to integrate analytics, governance, AI, and data pipelines directly into your apps.",
141+
class_name="text-slate-12 text-center mb-6",
142+
),
143+
rx.el.div(
144+
rx.el.p(
145+
"This integration enables you to:",
146+
class_name="text-slate-12 text-center font-medium mb-4",
147+
),
148+
rx.el.ul(
149+
rx.el.li("Query and visualize data directly from Databricks SQL Warehouses.", class_name="text-slate-12 mb-2"),
150+
rx.el.li("Securely manage access and permissions through Unity Catalog and OAuth.", class_name="text-slate-12 mb-2"),
151+
rx.el.li("Incorporate AI-driven insights and automation using Genie AI.", class_name="text-slate-12 mb-2"),
152+
rx.el.li("Build responsive, production-grade interfaces in Python with Reflex's simple yet powerful framework.", class_name="text-slate-12 mb-2"),
153+
class_name="text-left max-w-2xl mx-auto mb-6 space-y-2",
154+
),
155+
),
156+
rx.el.p(
157+
"Once your app is ready, you can deploy it directly to Databricks Apps, ensuring that all data, compute, and governance remain fully within your organization's Databricks environment — maintaining compliance, security, and performance at scale.",
158+
class_name="text-slate-12 text-center mb-6",
159+
),
160+
rx.el.p(
161+
"With Reflex + Databricks, you can transform data workflows, analytics dashboards, and AI interfaces into interactive, secure, and enterprise-ready applications — all without leaving your Databricks ecosystem.",
162+
class_name="text-slate-12 text-center font-medium mb-8",
163+
),
164+
class_name="flex flex-col items-center mx-auto w-full justify-center max-w-[36rem] mt-8",
165+
)
166+
167+
146168
def integrations() -> rx.Component:
147169
return rx.el.section(
148170
numbers_pattern(side="left", class_name="left-0 top-0"),
149171
numbers_pattern(side="right", class_name="right-0 top-0"),
150172
header(),
173+
content_text(),
151174
integrations_row(),
152175
class_name="flex flex-col items-center mx-auto w-full max-w-[64.19rem] lg:border-x border-slate-3 relative overflow-hidden lg:pb-26 pb-20 pt-20 lg:border-b",
153176
)

pcweb/pages/databricks/views/middle_text.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

pcweb/pages/databricks/views/video.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def text() -> rx.Component:
3232
rx.el.h2(
3333
"Build With Reflex. ",
3434
rx.el.span(
35-
"A Single Platform to Build With AI And Iterate in Python",
35+
"Deploy your apps directly to Databricks Apps.",
3636
class_name="text-slate-10 lg:text-3xl text-2xl font-semibold",
3737
),
3838
class_name="text-slate-12 lg:text-3xl text-2xl font-semibold max-w-[57rem]",

pcweb/whitelist.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
- Incorrect: WHITELISTED_PAGES = ["/docs/getting-started/introduction/"]
1111
"""
1212

13-
WHITELISTED_PAGES = []
13+
WHITELISTED_PAGES = ["/databricks"]
1414

1515

1616
def _check_whitelisted_path(path: str):

0 commit comments

Comments
 (0)