-
Notifications
You must be signed in to change notification settings - Fork 228
fix: scroll-#371 #377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
fix: scroll-#371 #377
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -370,8 +370,8 @@ const Pricing = () => { | |
| </div> | ||
| </div> | ||
| </div> | ||
| <div className="relative border-b border-[#252525] lg:pb-10"> | ||
| <div className="flex flex-col gap-5 lg:gap-10 py-4 bg-[#151515]/20 backdrop-blur-xl h-full relative w-full overflow-hidden px-4 lg:px-10"> | ||
| <div className="relative border-b border-[#252525] lg:pb-10 isolate" style={{ contain: 'layout paint' }}> | ||
| <div className="flex flex-col gap-5 lg:gap-10 py-4 bg-[#151515]/20 h-full relative w-full overflow-hidden px-4 lg:px-10"> | ||
|
Comment on lines
+373
to
+374
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. replace inline contain style with design-system-compatible utility usage this adds inline style on a web component, which conflicts with the styling rule for this path. please move this to tailwind/design-token-based styling. as per coding guidelines "always use tailwind classes for styling html elements; avoid using css or style tags". 🤖 Prompt for AI Agents |
||
| <div className="absolute inset-0 -top-72"> | ||
| <Image | ||
| src="/assets/layer1.svg" | ||
|
|
@@ -487,7 +487,10 @@ const PricingCard = () => { | |
| })} | ||
| </div> | ||
| </div> | ||
| <div className="bg-white mix-blend-plus-lighter absolute h-[120px] w-full blur-[60px] right-0 -bottom-20 opacity-80"></div> | ||
| <div | ||
| className="absolute h-[250px] w-[150%] left-1/2 -translate-x-1/2 -bottom-24 opacity-60 pointer-events-none" | ||
| style={{ background: 'radial-gradient(ellipse at center, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0) 60%)' }} | ||
| ></div> | ||
|
Comment on lines
+490
to
+493
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. avoid duplicated inline radial gradients with hardcoded color values both glow overlays use duplicated inline gradient strings and hardcoded color values. extract a reusable class/component and use semantic design-token colors via tailwind utilities. as per coding guidelines "never use hardcoded hex values directly in components; always reference colors from the design token system using tailwind classes". Also applies to: 647-650 🤖 Prompt for AI Agents |
||
| </div> | ||
| </div> | ||
| </div> | ||
|
|
@@ -641,7 +644,10 @@ const SecondaryPricingCard = ({ callbackUrl }: { callbackUrl: string }) => { | |
| })} | ||
| </div> | ||
| </div> | ||
| <div className="bg-white mix-blend-plus-lighter absolute h-[120px] w-full blur-[60px] right-0 -bottom-20 opacity-80"></div> | ||
| <div | ||
| className="absolute h-[250px] w-[150%] left-1/2 -translate-x-1/2 -bottom-24 opacity-60 pointer-events-none" | ||
| style={{ background: 'radial-gradient(ellipse at center, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0) 60%)' }} | ||
| ></div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -35,27 +35,59 @@ export function ShineBorder({ | |
| style, | ||
| ...props | ||
| }: ShineBorderProps) { | ||
| const containerRef = React.useRef<HTMLDivElement>(null); | ||
| const [isVisible, setIsVisible] = React.useState(true); | ||
|
|
||
| React.useEffect(() => { | ||
| const observer = new IntersectionObserver( | ||
| ([entry]) => { | ||
| setIsVisible(entry.isIntersecting); | ||
| }, | ||
| { rootMargin: "150px" } | ||
| ); | ||
| if (containerRef.current) observer.observe(containerRef.current); | ||
| return () => observer.disconnect(); | ||
| }, []); | ||
|
|
||
| const gradientColor = Array.isArray(shineColor) ? shineColor.join(",") : shineColor; | ||
|
|
||
| return ( | ||
| <div | ||
| style={ | ||
| { | ||
| "--border-width": `${borderWidth}px`, | ||
| "--duration": `${duration}s`, | ||
| backgroundImage: `radial-gradient(transparent,transparent, ${Array.isArray(shineColor) ? shineColor.join(",") : shineColor},transparent,transparent)`, | ||
| backgroundSize: "300% 300%", | ||
| mask: `linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)`, | ||
| WebkitMask: `linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)`, | ||
| WebkitMaskComposite: "xor", | ||
| maskComposite: "exclude", | ||
| padding: "var(--border-width)", | ||
| ...style, | ||
| } as React.CSSProperties | ||
| } | ||
| className={cn( | ||
| "pointer-events-none absolute inset-0 size-full rounded-[inherit] will-change-[background-position] motion-safe:animate-shine", | ||
| className, | ||
| )} | ||
| {...props} | ||
| /> | ||
| <> | ||
| <style>{` | ||
| @keyframes shine-transform { | ||
| 0% { transform: translate(-33.33%, -33.33%); } | ||
| 50% { transform: translate(33.33%, 33.33%); } | ||
| 100% { transform: translate(-33.33%, -33.33%); } | ||
| } | ||
| `}</style> | ||
|
Comment on lines
+55
to
+62
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. move keyframes/animation styling out of component-local style tag injecting as per coding guidelines "always use tailwind classes for styling html elements; avoid using css or style tags". Also applies to: 84-88 🤖 Prompt for AI Agents |
||
| <div | ||
| ref={containerRef} | ||
| style={ | ||
| { | ||
| "--border-width": `${borderWidth}px`, | ||
| mask: `linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)`, | ||
| WebkitMask: `linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)`, | ||
| WebkitMaskComposite: "xor", | ||
| maskComposite: "exclude", | ||
| padding: "var(--border-width)", | ||
| ...style, | ||
| } as React.CSSProperties | ||
| } | ||
| className={cn( | ||
| "pointer-events-none absolute inset-0 size-full rounded-[inherit] overflow-hidden", | ||
| className, | ||
| )} | ||
| {...props} | ||
| > | ||
| <div | ||
| className="absolute inset-0 w-[300%] h-[300%] -left-[100%] -top-[100%] will-change-transform transform-gpu" | ||
| style={{ | ||
| backgroundImage: `radial-gradient(transparent, transparent, ${gradientColor}, transparent, transparent)`, | ||
| animation: `shine-transform ${duration}s infinite linear`, | ||
| animationPlayState: isVisible ? "running" : "paused", | ||
| }} | ||
| /> | ||
| </div> | ||
| </> | ||
| ); | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: apsinghdev/opensox
Length of output: 195
🏁 Script executed:
Repository: apsinghdev/opensox
Length of output: 4984
🏁 Script executed:
Repository: apsinghdev/opensox
Length of output: 1764
remove
anyin prisma extension callback typesapps/api/src/prisma.tsintroduces: anyon the prisma extension middleware signatures (create/update/upsert/findUnique/findFirst/findMany) and also usesaccount: any/user: anyin.map(...)callbacks (lines 26, 31, 36, 42, 46, 50, 57, 68, 79). this bypasses type safety on critical db query paths.apps/api/src/utils/encryption.tsalso typesencryptAccountTokens/decryptAccountTokensas(data: any) => any(lines 100, 144), which prevents fully eliminatinganydownstream.proposed fix
🤖 Prompt for AI Agents