Skip to content
This repository was archived by the owner on Apr 28, 2026. It is now read-only.

Commit 296441c

Browse files
committed
update the palette
1 parent f2fa26a commit 296441c

10 files changed

Lines changed: 221 additions & 167 deletions

File tree

assets/custom-colors.css

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,30 @@
1515
--c-slate-10: #80838D;
1616
--c-slate-11: #60646C;
1717
--c-slate-12: #1C2024;
18+
--slate-1: #FBFCFE;
19+
--slate-2: #F7FAFD;
20+
--slate-3: #EDF1F6;
21+
--slate-4: #E4E9F1;
22+
--slate-5: #DBE1EB;
23+
--slate-6: #D3DAE6;
24+
--slate-7: #C7D0DE;
25+
--slate-8: #B1BDCF;
26+
--slate-9: #838FA1;
27+
--slate-10: #798495;
28+
--slate-11: #5C6573;
29+
--slate-12: #1B212A;
30+
--slate-a1: #0040c004;
31+
--slate-a2: #0040c008;
32+
--slate-a3: #00398e12;
33+
--slate-a4: #0037801c;
34+
--slate-a5: #00327924;
35+
--slate-a6: #002e772d;
36+
--slate-a7: #002d7039;
37+
--slate-a8: #0028634e;
38+
--slate-a9: #00193c7c;
39+
--slate-a10: #00153686;
40+
--slate-a11: #001027a4;
41+
--slate-a12: #000711e5;
1842
/* Violet */
1943
--c-violet-1: #FDFCFE;
2044
--c-violet-2: #FAFBFF;
@@ -72,6 +96,18 @@
7296
.dark,
7397
.dark-theme {
7498
/* Slate */
99+
--slate-1: #141619;
100+
--slate-2: #1B1D20;
101+
--slate-3: #22252A;
102+
--slate-4: #282B31;
103+
--slate-5: #2E3238;
104+
--slate-6: #353A42;
105+
--slate-7: #414852;
106+
--slate-8: #58616F;
107+
--slate-9: #656E7D;
108+
--slate-10: #737C8A;
109+
--slate-11: #ADB4BF;
110+
--slate-12: #ECEEF1;
75111
/* #151618 */
76112
--c-slate-2: #1A1B1D;
77113
/* #1A1B1D */
@@ -115,7 +151,7 @@
115151
--c-red-9: #E5484D;
116152
--c-red-10: #DC3E42;
117153
/* White */
118-
--c-white-1: #0E0F10;
154+
--c-white-1: #1B1D20;
119155
--glow: #261958;
120156
--wave-line-1: #2F1C78;
121157
--wave-line-2: #261958;

case-studies/ansa.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,11 @@ meta: [
4444
```python exec
4545
import reflex as rx
4646
from pcweb.constants import REFLEX_ASSETS_CDN
47-
from reflex_image_zoom import image_zoom
47+
from pcweb.pages.customers.views.app_preview_card import app_preview_card
4848
```
4949

5050
```python eval
51-
rx.vstack(
52-
image_zoom(rx.image(src=f"{REFLEX_ASSETS_CDN}case_studies/ansa_app.webp", border_radius="10px", alt="Ansa App")),
53-
rx.text("Ansa App built with Reflex"),
54-
width="100%",
55-
)
51+
app_preview_card(f"{REFLEX_ASSETS_CDN}case_studies/ansa_app.webp", text="Ansa App built with Reflex")
5652
```
5753

5854
Meet [Ansa](https://www.ansa.co), a venture capital firm based in New York City that invests in companies from Series A to C. They have invested in companies like Defense Unicorns, Bland, Gradient, and Selector and prior to founding the firm, supported investments in many of the venture-capital industry’s largest outcomes including Crowdstrike, Coinbase, and SurveyMonkey to name a few.

case-studies/autodesk.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,12 @@ meta: [
4848
```python exec
4949
import reflex as rx
5050
from pcweb.constants import REFLEX_ASSETS_CDN
51-
from reflex_image_zoom import image_zoom
52-
from pcweb.pages.docs import library
51+
from pcweb.pages.customers.views.app_preview_card import app_preview_card
5352
```
5453

55-
<!-- ```python eval
56-
rx.vstack(
57-
image_zoom(rx.image(src=f"{REFLEX_ASSETS_CDN}case_studies/bayesline_app.webp", border_radius="10px", alt="Bayesline App")),
58-
rx.text("Bayesline App built with Reflex"),
59-
width="100%",
60-
)
61-
``` -->
54+
```python eval
55+
app_preview_card(f"{REFLEX_ASSETS_CDN}case_studies/apps/case_studies_autodesk_app.webp", text="Autodesk App built with Reflex")
56+
```
6257

6358

6459
Meet Autodesk a globally recognized leader in design and engineering software, known for its innovative solutions that empower professionals across industries to bring their creative visions to life. Autodesk has established itself as a trusted partner for millions of users worldwide, helping them achieve greater efficiency, precision, and creativity in their projects.

case-studies/bayesline.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,11 @@ import reflex as rx
4848
from pcweb.constants import REFLEX_ASSETS_CDN
4949
from reflex_image_zoom import image_zoom
5050
from pcweb.pages.docs import enterprise
51+
from pcweb.pages.customers.views.app_preview_card import app_preview_card
5152
```
5253

5354
```python eval
54-
rx.vstack(
55-
image_zoom(rx.image(src=f"{REFLEX_ASSETS_CDN}case_studies/bayesline_app.webp", border_radius="10px", alt="Bayesline App")),
56-
rx.text("Bayesline App built with Reflex"),
57-
width="100%",
58-
)
55+
app_preview_card(f"{REFLEX_ASSETS_CDN}case_studies/bayesline_app.webp", text="Bayesline App built with Reflex")
5956
```
6057

6158
## What Bayesline is building

case-studies/sellerx.md

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,11 @@ meta: [
4141
```python exec
4242
import reflex as rx
4343
from pcweb.constants import REFLEX_ASSETS_CDN
44-
from reflex_image_zoom import image_zoom
45-
from pcweb.pages.docs import library
44+
from pcweb.pages.customers.views.app_preview_card import app_preview_card
4645
```
4746

4847
```python eval
49-
rx.vstack(
50-
image_zoom(rx.image(src=f"{REFLEX_ASSETS_CDN}case_studies/sellerx_app.webp", border_radius="10px", alt="SellerX App")),
51-
rx.text("SellerX App built with Reflex"),
52-
width="100%",
53-
)
54-
```
55-
56-
```python eval
57-
rx.box(height="30px")
48+
app_preview_card(f"{REFLEX_ASSETS_CDN}case_studies/sellerx_app.webp", text="SellerX App built with Reflex")
5849
```
5950

6051

pcweb/flexdown.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -419,11 +419,11 @@ def _author(self, name: str, role: str, class_name: str = "") -> rx.Component:
419419
return rx.el.div(
420420
rx.el.span(
421421
name,
422-
class_name="text-xs font-mono uppercase font-[415] text-m-slate-12 dark:text-m-slate-3",
422+
class_name="text-xs font-mono uppercase font-[415] text-secondary-12",
423423
),
424424
rx.el.span(
425425
role,
426-
class_name="text-xs font-mono font-[415] text-m-slate-7 dark:text-m-slate-6 uppercase",
426+
class_name="text-xs font-mono font-[415] text-secondary-11 uppercase",
427427
),
428428
class_name=ui.cn("flex flex-col gap-0.5", class_name),
429429
)
@@ -444,38 +444,38 @@ def _render_medium(self, data: dict[str, str]) -> rx.Component:
444444
return rx.el.div(
445445
rx.el.div(
446446
self._avatar(data["name"], data["image"], class_name="size-6"),
447-
class_name="p-4 shrink-0 lg:border-r border-m-slate-6 dark:border-m-slate-7 border-dashed max-lg:border-b",
447+
class_name="p-4 shrink-0 lg:border-r border-secondary-8 border-dashed max-lg:border-b bg-secondary-1",
448448
),
449449
rx.el.span(
450450
f'"{data["quote_text"]}"',
451-
class_name="text-m-slate-12 dark:text-m-slate-3 text-base font-[575] p-4 bg-white-1 dark:bg-m-slate-11",
451+
class_name="text-secondary-12 text-base font-[575] p-4 bg-white-1 w-full",
452452
),
453-
class_name="flex lg:flex-row flex-col border border-dashed border-m-slate-6 dark:border-m-slate-7 mt-2 mb-6 rounded-lg overflow-hidden",
453+
class_name="flex lg:flex-row flex-col border border-dashed border-secondary-8 mt-2 mb-6 rounded-lg overflow-hidden box-border bg-white-1",
454454
)
455455

456456
def _render_small(self, data: dict[str, str]) -> rx.Component:
457457
return rx.el.div(
458458
rx.el.span(
459459
f'"{data["quote_text"]}"',
460-
class_name="text-m-slate-12 dark:text-m-slate-3 text-lg font-[575] p-6 lg:border-r border-m-slate-6 dark:border-m-slate-7 border-dashed max-lg:border-b bg-white-1 dark:bg-m-slate-11",
460+
class_name="text-secondary-12 text-lg font-[575] p-6 lg:border-r border-secondary-8 border-dashed max-lg:border-b bg-white-1",
461461
),
462462
rx.el.div(
463463
rx.el.div(
464464
self._author(data["name"], data["role"]),
465465
class_name="text-end text-nowrap",
466466
),
467467
self._avatar(data["name"], data["image"], class_name="size-14"),
468-
class_name="flex flex-row gap-6 items-center p-6 shrink-0",
468+
class_name="flex flex-row gap-6 items-center p-6 shrink-0 bg-secondary-1",
469469
),
470-
class_name="flex lg:flex-row flex-col border border-dashed border-m-slate-6 dark:border-m-slate-7 mt-2 mb-6 rounded-lg overflow-hidden",
470+
class_name="flex lg:flex-row flex-col border border-dashed border-secondary-8 mt-2 mb-6 rounded-lg overflow-hidden box-border bg-white-1",
471471
)
472472

473473
def _render_big(self, data: dict[str, str]) -> rx.Component:
474474
return rx.el.div(
475475
rx.el.div(
476476
rx.el.span(
477477
f"{data['quote_text']}",
478-
class_name="text-m-slate-12 dark:text-m-slate-3 text-2xl font-[575]",
478+
class_name="text-secondary-12 text-2xl font-[575]",
479479
),
480480
rx.el.div(
481481
self._avatar(data["name"], data["image"], class_name="size-6"),
@@ -494,7 +494,7 @@ def _render_big(self, data: dict[str, str]) -> rx.Component:
494494
alt="Quote icon",
495495
class_name="absolute right-0 inset-y-0 h-[calc(100%)] min-h-full w-auto origin-right pointer-events-none object-contain object-right",
496496
),
497-
class_name="flex flex-col dark:border bg-white-1 dark:bg-m-slate-11 dark:border-m-slate-9 mt-2 mb-6 overflow-hidden shadow-[0_0_0_1px_rgba(0,0,0,0.12)_inset,0_6px_12px_0_rgba(0,0,0,0.06),0_1px_1px_0_rgba(0,0,0,0.01),0_4px_6px_0_rgba(0,0,0,0.02)] rounded-xl py-8 px-8 relative",
497+
class_name="flex flex-col dark:border bg-white-1 dark:border-secondary-4 mt-2 mb-6 overflow-hidden shadow-[0_0_0_1px_rgba(0,0,0,0.12)_inset,0_6px_12px_0_rgba(0,0,0,0.06),0_1px_1px_0_rgba(0,0,0,0.01),0_4px_6px_0_rgba(0,0,0,0.02)] rounded-xl py-8 px-8 relative",
498498
)
499499

500500
def render(self, env) -> rx.Component:
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import reflex as rx
2+
from reflex_image_zoom import image_zoom
3+
4+
5+
def app_preview_card(image_url: str, text: str) -> rx.Component:
6+
return rx.el.div(
7+
rx.el.div(
8+
rx.el.div(
9+
rx.el.div(
10+
rx.el.div(
11+
rx.el.div(
12+
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.06)_inset] dark:shadow-[0_0_0_0.5px_rgba(255,255,255,0.06)_inset] bg-secondary-4 rounded-full"
13+
),
14+
rx.el.div(
15+
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.06)_inset] dark:shadow-[0_0_0_0.5px_rgba(255,255,255,0.06)_inset] bg-secondary-4 rounded-full"
16+
),
17+
rx.el.div(
18+
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.06)_inset] dark:shadow-[0_0_0_0.5px_rgba(255,255,255,0.06)_inset] bg-secondary-4 rounded-full"
19+
),
20+
class_name="flex shrink-0 flex-row items-center gap-1",
21+
),
22+
rx.el.p(
23+
text,
24+
class_name="absolute left-1/2 top-1/2 max-w-[calc(100%-5rem)] -translate-x-1/2 -translate-y-1/2 truncate text-center text-sm font-medium text-secondary-11",
25+
),
26+
class_name="relative flex min-h-8 w-full shrink-0 flex-row items-center dark:border-b border-secondary-4 p-3 shadow-[0_0_0_1px_rgba(0,0,0,0.03),0_4px_4px_0_rgba(0,0,0,0.03),0_1px_2px_0_rgba(0,0,0,0.04)] dark:shadow-none",
27+
),
28+
image_zoom(
29+
rx.image(
30+
src=image_url,
31+
alt="App preview",
32+
class_name="w-full h-full object-cover object-top h-full",
33+
),
34+
),
35+
class_name="flex flex-col rounded-tl-xl w-full bg-white-1",
36+
),
37+
class_name="list-inside flex flex-row relative rounded-xl bg-white-1 w-full overflow-hidden border border-black/10 dark:border-secondary-4 shadow-medium dark:shadow-none w-full mb-8",
38+
),
39+
)

pcweb/pages/customers/views/customer_cards.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,24 @@ def customer_card(customer: CustomerCard) -> rx.Component:
6161
rx.el.div(
6262
rx.el.div(
6363
rx.el.div(
64-
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.16)_inset] dark:shadow-none dark:border dark:border-m-slate-9 bg-m-slate-4 dark:bg-m-slate-7 rounded-full"
64+
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.06)_inset] dark:shadow-[0_0_0_0.5px_rgba(255,255,255,0.06)_inset] bg-secondary-4 rounded-full"
6565
),
6666
rx.el.div(
67-
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.16)_inset] dark:shadow-none dark:border dark:border-m-slate-9 bg-m-slate-4 dark:bg-m-slate-7 rounded-full"
67+
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.06)_inset] dark:shadow-[0_0_0_0.5px_rgba(255,255,255,0.06)_inset] bg-secondary-4 rounded-full"
6868
),
6969
rx.el.div(
70-
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.16)_inset] dark:shadow-none dark:border dark:border-m-slate-9 bg-m-slate-4 dark:bg-m-slate-7 rounded-full"
70+
class_name="size-2 shadow-[0_0_0_0.5px_rgba(0,0,0,0.06)_inset] dark:shadow-[0_0_0_0.5px_rgba(255,255,255,0.06)_inset] bg-secondary-4 rounded-full"
7171
),
72-
class_name="h-8 flex flex-row items-center gap-1 p-3 w-full border-b border-m-slate-4 dark:border-m-slate-9",
72+
class_name="h-8 flex flex-row items-center gap-1 p-3 w-full border-b border-secondary-4",
7373
),
7474
rx.image(
7575
src=f"{REFLEX_ASSETS_CDN}case_studies/apps/case_studies_{customer['name'].lower().replace(' ', '_')}_app.webp",
7676
alt=customer["name"],
7777
class_name="w-full h-full object-cover object-top-left min-h-[24.125rem]",
7878
),
79-
class_name="flex flex-col border-l border-t border-m-slate-4 dark:border-m-slate-9 rounded-tl-xl w-full bg-white-1 dark:bg-m-slate-11 [box-shadow:0_0_0_1px_rgba(0,_0,_0,_0.06),_0_8px_24px_rgba(0,_0,_0,_0.06),_0_24px_48px_rgba(0,_0,_0,_0.04)] dark:shadow-none",
79+
class_name="flex flex-col border-l border-t border-secondary-4 rounded-tl-xl w-full bg-white-1 [box-shadow:0_0_0_1px_rgba(0,_0,_0,_0.06),_0_8px_24px_rgba(0,_0,_0,_0.06),_0_24px_48px_rgba(0,_0,_0,_0.04)] dark:shadow-none",
8080
),
81-
class_name="list-inside flex flex-row lg:gap-12 gap-4 lg:pl-8 lg:pt-8 pl-6 pt-6 relative rounded-xl bg-white-1 dark:bg-m-slate-11 w-full overflow-hidden h-[25rem] cursor-pointer border border-black/10 dark:border-white/10 [box-shadow:0_6px_12px_0_rgba(0,_0,_0,_0.06),_0_1px_1px_0_rgba(0,_0,_0,_0.01),_0_4px_6px_0_rgba(0,_0,_0,_0.02)] dark:shadow-none xl:w-[42rem] w-full",
81+
class_name="list-inside flex flex-row lg:gap-12 gap-4 lg:pl-8 lg:pt-8 pl-6 pt-6 relative rounded-xl bg-white-1 w-full overflow-hidden h-[25rem] cursor-pointer border border-black/10 dark:border-secondary-4 [box-shadow:0_6px_12px_0_rgba(0,_0,_0,_0.06),_0_1px_1px_0_rgba(0,_0,_0,_0.01),_0_4px_6px_0_rgba(0,_0,_0,_0.02)] dark:shadow-none xl:w-[42rem] w-full",
8282
),
8383
to=customer["url"],
8484
class_name="-m-px h-[25rem] min-w-[42rem]",

pcweb/templates/storypage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ def wrapper(*children, **props) -> rx.Component:
411411
),
412412
),
413413
),
414-
class_name="flex flex-col w-full justify-center items-center relative dark:bg-m-slate-12 bg-m-slate-1",
414+
class_name="flex flex-col w-full justify-center items-center relative bg-secondary-1",
415415
)
416416

417417
return Route(

0 commit comments

Comments
 (0)