Skip to content

Commit fd4b290

Browse files
authored
small optimizations (#1700)
1 parent a8ba44c commit fd4b290

File tree

5 files changed

+45
-18
lines changed

5 files changed

+45
-18
lines changed

pcweb/components/numbers_pattern.py

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,20 @@ def numbers_pattern(
3939
class_name: Additional CSS classes
4040
"""
4141
position_class = "left-0" if side == "left" else "right-0"
42-
light_dark_path = rx.color_mode_cond("light", "dark")
43-
44-
src = f"/landing/patterns/{light_dark_path}/numbers-pattern.avif"
42+
light_src = "/landing/patterns/light/numbers-pattern.avif"
43+
dark_src = "/landing/patterns/dark/numbers-pattern.avif"
4544

4645
# Determine if we need to flip: right side XOR reverse
4746
# - right side normally flips
4847
# - reverse inverts the flip behavior
4948
is_flipped = (side == "right") != reverse
5049

5150
# Background image style
52-
image_style = {"opacity": rx.color_mode_cond("1", "0.3")}
51+
light_image_style = {"opacity": "1"}
52+
dark_image_style = {"opacity": "0.3"}
5353
if is_flipped:
54-
image_style |= {"transform": "scaleX(-1)"}
54+
light_image_style |= {"transform": "scaleX(-1)"}
55+
dark_image_style |= {"transform": "scaleX(-1)"}
5556

5657
# Gradient masks
5758
vertical_gradient = "linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, #000000 12%, #000000 88%, rgba(0, 0, 0, 0) 100%)"
@@ -70,34 +71,58 @@ def numbers_pattern(
7071
container_mask_style["transform"] = "scaleX(-1)"
7172

7273
# Image mask style for the ellipses layer
73-
ellipses_mask_style = {
74-
"mask_image": f"url({src})",
74+
ellipses_mask_light_style = {
75+
"mask_image": f"url({light_src})",
76+
"mask_size": "cover",
77+
"mask_repeat": "no-repeat",
78+
"mask_position": "center",
79+
"webkit_mask_image": f"url({light_src})",
80+
"webkit_mask_size": "cover",
81+
"webkit_mask_repeat": "no-repeat",
82+
"webkit_mask_position": "center",
83+
}
84+
ellipses_mask_dark_style = {
85+
"mask_image": f"url({dark_src})",
7586
"mask_size": "cover",
7687
"mask_repeat": "no-repeat",
7788
"mask_position": "center",
78-
"webkit_mask_image": f"url({src})",
89+
"webkit_mask_image": f"url({dark_src})",
7990
"webkit_mask_size": "cover",
8091
"webkit_mask_repeat": "no-repeat",
8192
"webkit_mask_position": "center",
8293
}
8394
if is_flipped:
84-
ellipses_mask_style["transform"] = "scaleX(-1)"
95+
ellipses_mask_light_style["transform"] = "scaleX(-1)"
96+
ellipses_mask_dark_style["transform"] = "scaleX(-1)"
8597

8698
return rx.el.div(
8799
# Layer 1: Background pattern image
88100
rx.image(
89-
src=src,
90-
class_name="pointer-events-none w-full h-full absolute inset-0 object-cover",
91-
style=image_style,
101+
src=light_src,
102+
class_name="pointer-events-none w-full h-full absolute inset-0 object-cover dark:hidden",
103+
style=light_image_style,
104+
alt="Numbers pattern",
105+
loading="eager",
106+
custom_attrs={"fetchPriority": "high"},
107+
),
108+
rx.image(
109+
src=dark_src,
110+
class_name="pointer-events-none w-full h-full absolute inset-0 object-cover hidden dark:block",
111+
style=dark_image_style,
92112
alt="Numbers pattern",
93113
loading="eager",
94114
custom_attrs={"fetchPriority": "high"},
95115
),
96116
# Layer 2: Masked animated ellipses
97117
rx.el.div(
98118
_ellipses(side=side, reverse_animation=reverse),
99-
class_name="absolute inset-0 w-full h-full max-lg:hidden",
100-
style=ellipses_mask_style,
119+
class_name="absolute inset-0 w-full h-full max-lg:hidden dark:hidden",
120+
style=ellipses_mask_light_style,
121+
),
122+
rx.el.div(
123+
_ellipses(side=side, reverse_animation=reverse),
124+
class_name="absolute inset-0 w-full h-full max-lg:hidden hidden dark:block",
125+
style=ellipses_mask_dark_style,
101126
),
102127
class_name=ui.cn(
103128
f"absolute {position_class} pointer-events-none z-[-1] lg:w-[234px] w-[180px] h-full bottom-0",

pcweb/pcweb.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
cross_origin="",
4545
),
4646
rx.el.link(
47-
href="https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&family=Source+Code+Pro:wght@400;500&family=JetBrains+Mono:wght@400;500;600;700&display=swap",
47+
href="https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400..700&family=JetBrains+Mono:wght@400..700&display=swap",
4848
rel="stylesheet",
4949
),
5050
],

pcweb/styles/fonts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
}
8686

8787
code = {
88-
"font-family": "Source Code Pro",
88+
"font-family": "JetBrains Mono",
8989
"font-size": "14px",
9090
"font-style": "normal",
9191
"font-weight": "400",

pcweb/templates/docpage/blocks/code.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def doccmdoutput(
7070
}
7171
},
7272
style=fonts.code,
73-
font_family="Source Code Pro",
73+
font_family="JetBrains Mono",
7474
width="100%",
7575
),
7676
rx._x.code_block(
@@ -86,7 +86,7 @@ def doccmdoutput(
8686
}
8787
},
8888
style=fonts.code,
89-
font_family="Source Code Pro",
89+
font_family="JetBrains Mono",
9090
width="100%",
9191
),
9292
padding_y="1em",

pcweb/views/footer.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,13 @@ def ph_1() -> rx.Component:
141141
src="/logos/dark/ph_1.svg",
142142
class_name="hidden dark:block h-[40px] w-fit",
143143
alt="1st product of the day logo",
144+
loading="lazy",
144145
),
145146
rx.image(
146147
src="/logos/light/ph_1.svg",
147148
class_name="dark:hidden block h-[40px] w-fit",
148149
alt="1st product of the day logo",
150+
loading="lazy",
149151
),
150152
)
151153

0 commit comments

Comments
 (0)