Skip to content

Commit 2cab2e4

Browse files
authored
Merge pull request #1100 from trycompai/claudio/color-swap
[dev] [claudfuen] claudio/color-swap
2 parents a02e6b3 + 2420bff commit 2cab2e4

8 files changed

Lines changed: 39 additions & 39 deletions

File tree

apps/app/src/app/(app)/onboarding/components/PostPaymentOnboarding.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,20 @@ export function PostPaymentOnboarding({
4646
// Set to max scale when finalizing
4747
window.dispatchEvent(
4848
new CustomEvent('onboarding-step-change', {
49-
detail: { stepIndex: 8, totalSteps: 9, progress: 1 },
49+
detail: { stepIndex: totalSteps - 1, totalSteps, progress: 1 },
5050
}),
5151
);
5252
} else {
53-
const progress = stepIndex / 8; // 8 because we have 9 steps (0-8)
53+
const progress = stepIndex / (totalSteps - 1);
5454
// Dispatch custom event to notify the background wrapper
5555
window.dispatchEvent(
5656
new CustomEvent('onboarding-step-change', {
57-
detail: { stepIndex, totalSteps: 9, progress },
57+
detail: { stepIndex, totalSteps, progress },
5858
}),
5959
);
6060
}
6161
}
62-
}, [stepIndex, isFinalizing]);
62+
}, [stepIndex, isFinalizing, totalSteps]);
6363

6464
return (
6565
<div className="scrollbar-hide flex min-h-[calc(100vh-50px)] flex-col items-center justify-center p-4">

apps/app/src/app/(app)/setup/components/AnimatedGradientBackground.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,12 @@ void main() {
159159
float mouseDistance = length(mouseOffset);
160160
161161
// Dynamic color palette that shifts based on deformation and mouse
162-
vec3 color1 = mix(vec3(0.1, 0.9, 0.4), vec3(0.9, 0.1, 0.2), u_rage); // Green to red
163-
vec3 color2 = mix(vec3(0.0, 0.7, 0.5), vec3(0.7, 0.0, 0.1), u_rage); // Teal to dark red
164-
vec3 color3 = mix(vec3(0.3, 1.0, 0.3), vec3(1.0, 0.3, 0.0), u_rage); // Electric green to orange-red
162+
vec3 color1 = mix(vec3(0.024, 0.306, 0.231), vec3(0.9, 0.1, 0.2), u_rage); // emerald-900 to red
163+
vec3 color2 = mix(vec3(0.024, 0.18, 0.133), vec3(0.7, 0.0, 0.1), u_rage); // emerald-950 to dark red
164+
vec3 color3 = mix(vec3(0.024, 0.373, 0.275), vec3(1.0, 0.3, 0.0), u_rage); // emerald-800 to orange-red
165165
166-
// Keyboard glow effect - more subtle cyan tint
167-
vec3 glowColor = mix(vec3(0.3, 0.9, 0.8), vec3(1.0, 0.3, 0.3), u_rage);
166+
// Keyboard glow effect - emerald tint
167+
vec3 glowColor = mix(vec3(0.016, 0.471, 0.341), vec3(1.0, 0.3, 0.3), u_rage); // emerald-700
168168
float glowIntensity = u_glow * 0.25 * (1.0 + u_rage * 0.5);
169169
170170
// Pulse effect - very subtle white tint
@@ -176,8 +176,8 @@ void main() {
176176
vec3 baseColor = mix(color1, color2, sin(deformIntensity + u_time * 0.5) * 0.5 + 0.5);
177177
baseColor = mix(baseColor, color3, smoothstep(0.1, 0.3, abs(vNoise)));
178178
179-
// Boost base color saturation
180-
baseColor = baseColor * 1.2;
179+
// Subtle boost to maintain deep emerald richness
180+
baseColor = baseColor * 1.08;
181181
182182
// Mix in glow color based on keyboard activity - very subtle to preserve vibrancy
183183
baseColor = mix(baseColor, glowColor, glowIntensity * rimLight * 0.3);
@@ -187,38 +187,38 @@ void main() {
187187
188188
// Extra glow where stretched towards mouse
189189
float stretchGlow = smoothstep(0.3, 0.7, dot(normalize(vPosition), normalize(vec3(mouseOffset, 0.0))));
190-
baseColor += mix(vec3(0.1, 0.4, 0.2), vec3(0.4, 0.1, 0.0), u_rage) * stretchGlow * 0.4;
190+
baseColor += mix(vec3(0.024, 0.373, 0.275), vec3(0.4, 0.1, 0.0), u_rage) * stretchGlow * 0.4; // emerald-800
191191
192192
// Holographic interference patterns enhanced by keyboard glow
193193
float interference = sin(vPosition.x * 15.0 + u_time) * sin(vPosition.y * 15.0 - u_time * 0.7);
194194
interference *= 0.1 * rimLight * (1.0 + u_glow * 1.5 + u_rage * 2.0);
195-
baseColor += vec3(interference * 0.2, interference * 0.5, interference * 0.3);
195+
baseColor += vec3(interference * 0.02, interference * 0.3, interference * 0.2);
196196
197197
// Electric rim effect enhanced by mouse proximity and keyboard glow
198198
float electricRim = pow(rimLight, 0.5);
199-
vec3 electricColor = mix(vec3(0.4, 1.0, 0.6), vec3(1.0, 0.4, 0.2), u_rage);
199+
vec3 electricColor = mix(vec3(0.02, 0.588, 0.412), vec3(1.0, 0.4, 0.2), u_rage); // emerald-600
200200
float electric = sin(atan(vPosition.y, vPosition.x) * 20.0 + u_time * 3.0) * electricRim;
201201
electric = smoothstep(0.6, 1.0, electric) * 0.3;
202202
electric *= 1.0 + (1.0 - mouseDistance) * 0.5 + u_glow * 0.5 + u_rage * 1.0;
203203
204204
// Core energy with color variation
205205
float centerDistance = length(vPosition) / 2.2;
206206
float coreGlow = smoothstep(1.0, 0.0, centerDistance) * 0.5;
207-
vec3 coreColor = mix(vec3(0.5, 1.0, 0.7), vec3(0.3, 0.8, 1.0), sin(u_time * 1.5) * 0.5 + 0.5);
207+
vec3 coreColor = mix(vec3(0.016, 0.471, 0.341), vec3(0.024, 0.306, 0.231), sin(u_time * 1.5) * 0.5 + 0.5); // emerald-700 to emerald-900
208208
coreColor = mix(coreColor, vec3(1.0, 0.5, 0.3), u_rage);
209209
coreColor = mix(coreColor, glowColor, u_glow * 0.3);
210210
211211
// Combine all effects
212212
vec3 finalColor = baseColor;
213213
finalColor += electricColor * electric;
214214
finalColor += coreColor * coreGlow * (1.0 + u_pulse * 0.3);
215-
finalColor += electricColor * electricRim * 0.6;
215+
finalColor += electricColor * electricRim * 0.25;
216216
217217
// Keyboard effect - flowing energy waves instead of dots
218218
float flowingEnergy = sin(vPosition.x * 10.0 - u_time * 5.0 + vPosition.y * 5.0) *
219219
cos(vPosition.y * 8.0 + u_time * 4.0 - vPosition.z * 3.0);
220220
flowingEnergy = smoothstep(0.7, 1.0, abs(flowingEnergy)) * u_glow;
221-
vec3 energyColor = mix(vec3(0.2, 1.0, 0.8), vec3(0.5, 0.8, 1.0), sin(u_time * 2.0) * 0.5 + 0.5);
221+
vec3 energyColor = mix(vec3(0.02, 0.588, 0.412), vec3(0.016, 0.471, 0.341), sin(u_time * 2.0) * 0.5 + 0.5); // emerald-600 to emerald-700
222222
energyColor = mix(energyColor, vec3(1.0, 0.3, 0.2), u_rage);
223223
finalColor += energyColor * flowingEnergy * rimLight * 0.6;
224224
@@ -474,7 +474,7 @@ interface AnimatedGradientBackgroundProps {
474474

475475
export function AnimatedGradientBackground({ scale = 1 }: AnimatedGradientBackgroundProps) {
476476
return (
477-
<div className="fixed inset-0 -z-10 opacity-40">
477+
<div className="fixed inset-0 -z-10 opacity-50">
478478
<Canvas
479479
camera={{
480480
position: [0, 0, 7],

apps/app/src/app/(app)/upgrade/[orgId]/components/AnimatedPricingBanner.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export function AnimatedPricingBanner() {
3838
<div className="absolute inset-0 bg-gradient-to-r from-primary/10 via-primary/5 to-primary/10 backdrop-blur-md" />
3939

4040
{/* Clipped animated background */}
41-
<div className="absolute inset-0 overflow-hidden opacity-60">
41+
<div className="absolute inset-0 overflow-hidden opacity-70">
4242
<div className="absolute inset-0 scale-[3] translate-y-1/2">
4343
<AnimatedGradientBackground scale={2} />
4444
</div>

apps/app/src/app/(app)/upgrade/[orgId]/pricing-cards.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,15 @@ const PricingCard = ({
9696
<Card
9797
className={`relative transition-all h-full flex flex-col border ${
9898
isPopular
99-
? 'ring-2 ring-green-500 shadow-lg bg-green-50/30 dark:bg-green-950/20 border-green-500/50 scale-105'
99+
? 'ring-2 ring-emerald-500 shadow-lg bg-emerald-50/30 dark:bg-emerald-950/20 border-emerald-500/50 scale-105'
100100
: isCurrentPlan
101101
? 'opacity-75'
102102
: 'hover:border-gray-300 dark:hover:border-gray-600 bg-card border-border'
103103
}`}
104104
>
105105
{isPopular && (
106106
<div className="absolute -top-3 left-1/2 -translate-x-1/2">
107-
<Badge className="bg-green-600 text-white dark:bg-green-500 dark:text-white px-3 py-1">
107+
<Badge className="bg-emerald-600 text-white dark:bg-emerald-500 dark:text-white px-3 py-1">
108108
MOST POPULAR
109109
</Badge>
110110
</div>
@@ -118,7 +118,7 @@ const PricingCard = ({
118118
className={
119119
badge === 'Current Plan'
120120
? 'bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300 text-xs px-1.5 py-0'
121-
: 'bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300 text-xs px-1.5 py-0'
121+
: 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900 dark:text-emerald-300 text-xs px-1.5 py-0'
122122
}
123123
>
124124
{badge}
@@ -136,12 +136,12 @@ const PricingCard = ({
136136
or 12 payments of ${monthlyPrice.toLocaleString()}
137137
</p>
138138
{subtitle && (
139-
<p className="text-sm text-green-600 dark:text-green-400 mt-1">{subtitle}</p>
139+
<p className="text-sm text-emerald-600 dark:text-emerald-400 mt-1">{subtitle}</p>
140140
)}
141141
</div>
142142
</CardHeader>
143143

144-
<div className={`border-t ${isPopular ? 'border-green-500/30' : 'border-border'} mx-6`} />
144+
<div className={`border-t ${isPopular ? 'border-emerald-500/30' : 'border-border'} mx-6`} />
145145

146146
<CardContent className="px-6 flex flex-col h-full">
147147
<ul className="space-y-2 flex-1 py-3">
@@ -161,7 +161,7 @@ const PricingCard = ({
161161
}
162162
>
163163
{!isEverythingIn && !isAuditNote && (
164-
<CheckIcon className="h-3.5 w-3.5 text-green-600 dark:text-green-400 mt-0.5 flex-shrink-0" />
164+
<CheckIcon className="h-3.5 w-3.5 text-emerald-600 dark:text-emerald-400 mt-0.5 flex-shrink-0" />
165165
)}
166166
<span
167167
className={`text-sm leading-relaxed ${
@@ -180,11 +180,11 @@ const PricingCard = ({
180180
</ul>
181181

182182
{/* Money Back Guarantee Section */}
183-
<div className="mt-4 p-3 bg-green-50 dark:bg-green-950/20 rounded-md border border-green-200 dark:border-green-800">
183+
<div className="mt-4 p-3 bg-emerald-50 dark:bg-emerald-950/20 rounded-md border border-emerald-200 dark:border-emerald-800">
184184
<div className="flex items-center gap-2">
185185
<div className="flex-shrink-0">
186186
<svg
187-
className="h-5 w-5 text-green-600 dark:text-green-400"
187+
className="h-5 w-5 text-emerald-600 dark:text-emerald-400"
188188
fill="none"
189189
viewBox="0 0 24 24"
190190
stroke="currentColor"
@@ -198,10 +198,10 @@ const PricingCard = ({
198198
</svg>
199199
</div>
200200
<div className="flex-1">
201-
<p className="text-sm font-medium text-green-900 dark:text-green-100">
201+
<p className="text-sm font-medium text-emerald-900 dark:text-emerald-100">
202202
14-Day Money Back Guarantee
203203
</p>
204-
<p className="text-xs text-green-700 dark:text-green-300 mt-0.5">
204+
<p className="text-xs text-emerald-700 dark:text-emerald-300 mt-0.5">
205205
Try risk-free. Full refund if not satisfied.
206206
</p>
207207
</div>
@@ -228,7 +228,7 @@ const PricingCard = ({
228228
) : (
229229
<>
230230
Pay in Full
231-
<span className="ml-1.5 px-2 py-0.5 text-xs font-medium bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300 rounded-full">
231+
<span className="ml-1.5 px-2 py-0.5 text-xs font-medium bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-300 rounded-full">
232232
Save 20%
233233
</span>
234234
<ArrowRight className={`ml-1.5 ${isPopular ? 'h-5 w-5' : 'h-4 w-4'}`} />
@@ -496,7 +496,7 @@ export function PricingCards({
496496
<CardHeader className="pb-3">
497497
<div className="flex items-center justify-between mb-2">
498498
<CardTitle className="text-lg flex items-center gap-2">
499-
<Quote className="h-4 w-4 text-green-600 dark:text-green-500" />
499+
<Quote className="h-4 w-4 text-emerald-600 dark:text-emerald-500" />
500500
Customer Review
501501
</CardTitle>
502502
<a

apps/app/src/components/ai/chat-empty.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ type Props = {
77
export function ChatEmpty({ firstName }: Props) {
88
return (
99
<div className="todesktop:mt-24 mt-[200px] flex w-full flex-col items-center justify-center text-center md:mt-24">
10-
<LogoSpinner raceColor="#00DC73" />
10+
<LogoSpinner />
1111
<span className="mt-6 text-xl font-medium">
1212
Hi {firstName}, how can I help <br />
1313
you today?

apps/app/src/components/ai/message.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export function ReasoningMessagePart({ part, isReasoning }: ReasoningMessagePart
7171
<div className="ml-4 flex-1 overflow-hidden pl-2 text-xs">
7272
<div className="font-medium">Reasoning</div>
7373
<div className="mt-2 animate-spin">
74-
<LogoSpinner raceColor="#00DC73" size={16} />
74+
<LogoSpinner size={16} />
7575
</div>
7676
</div>
7777
</div>

apps/app/src/components/logo-spinner.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export interface LogoSpinnerProps extends React.SVGProps<SVGSVGElement> {
1515
export const LogoSpinner = ({
1616
size = 40,
1717
className,
18-
raceColor = '#00DC73',
18+
raceColor = '#10b981', // emerald-500
1919
isDisabled = false,
2020
...props
2121
}: LogoSpinnerProps) => {

packages/ui/src/globals.css

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
--card-foreground: 240 10% 3.9%;
1010
--popover: 0 0% 100%;
1111
--popover-foreground: 240 10% 3.9%;
12-
--primary: 155 100% 43%;
12+
--primary: 168 84% 24%; /* emerald-700 */
1313
--primary-foreground: 0 0% 100%;
1414
--secondary: 0 0% 96%;
1515
--secondary-foreground: 240 5.9% 10%;
@@ -23,7 +23,7 @@
2323
--warning-foreground: 240 5.9% 10%;
2424
--border: 240 5.9% 90%;
2525
--input: 240 5.9% 90%;
26-
--ring: 240 5.9% 10%;
26+
--ring: 168 84% 24%; /* emerald-700 */
2727
--radius: 0.5rem;
2828

2929
--chart-positive: 142 76% 45%; /* Green: use for published, or reviewed = the items are in a good state */
@@ -46,8 +46,8 @@
4646
--card-foreground: 0 0% 98%;
4747
--popover: 228 10% 10%;
4848
--popover-foreground: 0 0% 98%;
49-
--primary: 155 100% 43%;
50-
--primary-foreground: 240 3% 10%;
49+
--primary: 160 84% 40%; /* emerald-500 */
50+
--primary-foreground: 0 0% 98%;
5151
--secondary: 225 10% 20%;
5252
--secondary-foreground: 0 0% 98%;
5353
--muted: 225 10% 20%;
@@ -60,7 +60,7 @@
6060
--warning-foreground: 240 5.9% 10%;
6161
--border: 225 10% 20%;
6262
--input: 225 10% 20%;
63-
--ring: 151 100% 43%;
63+
--ring: 158 64% 52%; /* emerald-400 */
6464

6565
--chart-positive: 142 76% 45%; /* Green: use for published, or reviewed = the items are in a good state */
6666
--chart-neutral: 45 89% 53%; /* Yellow: use for draft(s) and actions that need reviewing soon */

0 commit comments

Comments
 (0)