Ezmary commited on
Commit
1ec5094
·
verified ·
1 Parent(s): 9813562

Update src/components/logo/Logo.tsx

Browse files
Files changed (1) hide show
  1. src/components/logo/Logo.tsx +7 -29
src/components/logo/Logo.tsx CHANGED
@@ -3,7 +3,7 @@
3
  import React from 'react';
4
  import cn from "classnames";
5
  import { humanAiIcon } from '../icons';
6
- import './Logo.scss'; // این ایمپورت بسیار مهم است
7
 
8
  type LogoProps = {
9
  isMini: boolean;
@@ -19,14 +19,11 @@ export default function Logo({isAi, isActive, isMini, speakingVolume = 0, isUser
19
 
20
  const aiVoiceScale = 1 + (speakingVolume * 1.5);
21
 
22
- // تعیین رنگ بخش‌های مختلف آیکون
23
- // اگر کاربر صحبت می‌کند، آیکون انسان کمی روشن‌تر می‌شود تا متمایز باشد
24
- const humanColor = isUserSpeaking ? "#FFFFFF" : "#E2E8F0"; // سفید و سفید-خاکستری
25
- const aiColor = "#FFFFFF"; // همیشه سفید
26
 
27
  return (
28
  <div className={cn("w-fit flex items-center justify-center")}>
29
- {/* Pre-loading Tailwind colors (no changes here) */}
30
  <div className={"hidden bg-green-200 bg-green-300 bg-green-400 bg-blue-200 bg-blue-300 bg-blue-400 dark:bg-green-700 dark:bg-green-600 dark:bg-green-500 dark:bg-blue-700 dark:bg-blue-600 dark:bg-blue-500"}>
31
  color pre-loader
32
  </div>
@@ -36,40 +33,21 @@ export default function Logo({isAi, isActive, isMini, speakingVolume = 0, isUser
36
  <div
37
  className={cn(
38
  "absolute rounded-full opacity-50",
39
- "ai-speaking-ripple", // کلاس انیمیشن
40
  isAi ? "bg-green-200 dark:bg-green-700" : "bg-blue-200 dark:bg-blue-700",
41
  isMini ? "inset-[10px]" : "inset-[40px]",
42
  )}
43
  style={{ '--ai-voice-scale': aiVoiceScale } as React.CSSProperties}
44
  />
45
 
46
- <div
47
- className={cn(
48
- "absolute inset-0 rounded-full opacity-50",
49
- isAi ? "bg-green-200 dark:bg-green-700" : "bg-blue-200 dark:bg-blue-700",
50
- )}
51
- />
52
- <div
53
- className={cn(
54
- "absolute rounded-full opacity-50",
55
- isAi ? "bg-green-300 dark:bg-green-600" : "bg-blue-300 dark:bg-blue-600",
56
- isMini ? "inset-[5px]" : "inset-[20px]",
57
- )}
58
- />
59
- <div
60
- className={cn(
61
- "absolute rounded-full opacity-50",
62
- isAi ? "bg-green-400 dark:bg-green-500" : "bg-blue-400 dark:bg-blue-500",
63
- isMini ? "inset-[12px]" : "inset-[50px]",
64
- )}
65
- />
66
 
67
  <div className={cn("z-10 absolute flex items-center justify-center inset-0")}>
68
  {humanAiIcon({
69
  size: isMini ? 24 : 45,
70
- // اگر کاربر صحبت می‌کند، کلاس انیمیشن اعمال می‌شود
71
  className: cn({ 'user-speaking': isUserSpeaking }),
72
- // رنگ‌ها را مستقیما پاس می‌دهیم
73
  humanColor: humanColor,
74
  aiColor: aiColor,
75
  })}
 
3
  import React from 'react';
4
  import cn from "classnames";
5
  import { humanAiIcon } from '../icons';
6
+ import './Logo.scss'; // <<--- این ایمپورت بسیار مهم است و باید وجود داشته باشد
7
 
8
  type LogoProps = {
9
  isMini: boolean;
 
19
 
20
  const aiVoiceScale = 1 + (speakingVolume * 1.5);
21
 
22
+ const humanColor = isUserSpeaking ? "#FFFFFF" : "#E2E8F0";
23
+ const aiColor = "#FFFFFF";
 
 
24
 
25
  return (
26
  <div className={cn("w-fit flex items-center justify-center")}>
 
27
  <div className={"hidden bg-green-200 bg-green-300 bg-green-400 bg-blue-200 bg-blue-300 bg-blue-400 dark:bg-green-700 dark:bg-green-600 dark:bg-green-500 dark:bg-blue-700 dark:bg-blue-600 dark:bg-blue-500"}>
28
  color pre-loader
29
  </div>
 
33
  <div
34
  className={cn(
35
  "absolute rounded-full opacity-50",
36
+ "ai-speaking-ripple",
37
  isAi ? "bg-green-200 dark:bg-green-700" : "bg-blue-200 dark:bg-blue-700",
38
  isMini ? "inset-[10px]" : "inset-[40px]",
39
  )}
40
  style={{ '--ai-voice-scale': aiVoiceScale } as React.CSSProperties}
41
  />
42
 
43
+ <div className={cn("absolute inset-0 rounded-full opacity-50", isAi ? "bg-green-200 dark:bg-green-700" : "bg-blue-200 dark:bg-blue-700")} />
44
+ <div className={cn("absolute rounded-full opacity-50", isAi ? "bg-green-300 dark:bg-green-600" : "bg-blue-300 dark:bg-blue-600", isMini ? "inset-[5px]" : "inset-[20px]")} />
45
+ <div className={cn("absolute rounded-full opacity-50", isAi ? "bg-green-400 dark:bg-green-500" : "bg-blue-400 dark:bg-blue-500", isMini ? "inset-[12px]" : "inset-[50px]")} />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  <div className={cn("z-10 absolute flex items-center justify-center inset-0")}>
48
  {humanAiIcon({
49
  size: isMini ? 24 : 45,
 
50
  className: cn({ 'user-speaking': isUserSpeaking }),
 
51
  humanColor: humanColor,
52
  aiColor: aiColor,
53
  })}