Ezmary commited on
Commit
6ee0e44
·
verified ·
1 Parent(s): 6e84dc8

Update src/App.scss

Browse files
Files changed (1) hide show
  1. src/App.scss +43 -62
src/App.scss CHANGED
@@ -1,32 +1,26 @@
1
- // ... (بخش‌های اولیه CSS، متغیرها، base styles، header، popover، logo-animation-wrapper بدون تغییر) ...
2
  @import 'tailwindcss/base';
3
  @import 'tailwindcss/components';
4
  @import 'tailwindcss/utilities';
5
-
6
- :root {
7
- --radius: 0.625rem;
8
- --radius-md: 0.5rem;
9
- --background: oklch(1 0 0);
10
- --foreground: oklch(0.145 0 0);
11
- --popover: oklch(1 0 0);
12
- --popover-foreground: oklch(0.145 0 0);
13
- --border: oklch(0.922 0 0);
14
- }
15
- .dark {
16
- --background: oklch(0.145 0 0);
17
- --foreground: oklch(0.985 0 0);
18
- --popover: oklch(0.205 0 0);
19
- --popover-foreground: oklch(0.985 0 0);
20
- --border: oklch(1 0 0 / 10%);
21
- }
22
- @layer base {
23
- * { border-color: var(--border); outline-color: var(--foreground); box-sizing: border-box; }
24
- body { @apply bg-background text-foreground; overflow-x: hidden; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin: 0; padding: 0; }
25
- html { margin: 0; padding: 0; overflow-x: hidden; }
26
- }
27
  .main-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
28
  .media-area { flex-grow: 1; position: relative; }
29
- #large-logo-container { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; position: absolute; top: 0; left: 0; pointer-events: none; }
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  .notification-popover-wrapper { position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 100; width: calc(100% - 1rem); max-width: 28rem; display: flex; justify-content: center; pointer-events: none; }
31
  .popover-content { width: 100%; border-radius: var(--radius-md, 0.5rem); border-width: 1px; border-color: var(--border); background-color: var(--popover); color: var(--popover-foreground); box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); outline: none; transition: opacity 0.3s ease-out, transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55); opacity: 0; transform: translateY(-100%) scale(0.9); pointer-events: none; &.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; } }
32
  .notification-popover-text-content { background-color: #eff6ff; font-size: 0.875rem; line-height: 1.5rem; direction: rtl; padding: 1rem; border-radius: var(--radius-md, 0.5rem); color: oklch(0.145 0 0); }
@@ -35,26 +29,36 @@
35
  .header-button { display: flex; align-items: center; justify-content: center; padding: 0.5rem; width: 40px; height: 40px; border-radius: var(--radius-lg, 0.625rem); background-color: #e5e7eb; cursor: pointer; transition: background-color 0.2s, transform 0.1s ease-out; svg { opacity: 0.7; stroke: #374151; width: 24px; height: 24px; } &:hover { background-color: #d1d5db; } &:active { background-color: #9ca3af; transform: scale(0.95); } }
36
  .dark .header-button { background-color: oklch(0.28 0 0); &:hover { background-color: oklch(0.35 0 0); } &:active { background-color: oklch(0.40 0 0); transform: scale(0.95); } svg { opacity: 0.8; stroke: oklch(0.85 0 0); } }
37
 
 
38
  .logo-animation-wrapper {
39
- position: relative;
40
  display: flex;
41
  align-items: center;
42
  justify-content: center;
43
- & > .z-10 > svg {
44
- width: 100%;
45
- height: 100%;
 
 
 
 
 
 
 
46
  }
47
  }
48
 
 
49
  .footer-controls-html-like {
50
  width: 100%;
51
  display: flex;
52
  align-items: center;
53
  position: absolute;
54
- bottom: 1.5rem;
 
55
  padding-left: 3rem;
56
  padding-right: 3rem;
57
- padding-top: 0.5rem;
58
  padding-bottom: 0.5rem;
59
  box-sizing: border-box;
60
  z-index: 20;
@@ -101,13 +105,13 @@
101
  }
102
 
103
  svg {
104
- // *** MODIFIED: افزایش اندازه آیکون میکروفون مرجع ***
105
- &.reference-mic-svg {
106
- width: 70%; // قبلاً 60% بود، حالا 70% یا مقدار دیگری که مناسب‌تر است
107
  height: 70%;
108
  }
109
- // برای آیکون‌های دیگر داخل دکمه‌های کنترل، می‌توانید اندازه متفاوتی تنظیم کنید
110
- // اگر همه آیکون‌ها باید یکسان باشند، این کلاس خاص را حذف کنید و به طور کلی برای svg تنظیم کنید
 
111
  }
112
  }
113
 
@@ -118,34 +122,11 @@
118
  .dark .cam-button-color { background-color: #223355; }
119
 
120
  /* Switch Camera Button (بدون تغییر) */
121
- .switch-camera-button-container {
122
- position: absolute; bottom: calc(100% + 0.65rem); left: 50%;
123
- transform: translateX(-50%) translateY(15px) scale(0.7); z-index: 5;
124
- opacity: 0; pointer-events: none;
125
- transition: opacity 0.35s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.35s cubic-bezier(0.68, -0.55, 0.27, 1.55);
126
- transform-origin: center bottom;
127
- &.visible { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); pointer-events: auto; }
128
- }
129
- .switch-camera-button-content {
130
- width: 48px; height: 48px; background-color: var(--background); border: 1px solid var(--border);
131
- border-radius: 9999px; display: flex; align-items: center; justify-content: center;
132
- box-shadow: 0 5px 10px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.08); cursor: pointer;
133
- transform-origin: center; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
134
- &:hover { transform: scale(1.12) rotate(-6deg); box-shadow: 0 7px 15px rgba(0,0,0,0.18), 0 3px 6px rgba(0,0,0,0.12); }
135
- &:active { transform: scale(1.03) rotate(0deg); }
136
- svg { width: 22px; height: 22px; stroke: var(--foreground); transition: transform 0.3s ease-in-out; }
137
- &:hover svg { transform: rotate(360deg); }
138
- }
139
 
140
  /* Keyframes for popover (بدون تغییر) */
141
- @keyframes popover-drop-in {
142
- 0% { opacity: 0; transform: translateY(-100%) scale(0.9); }
143
- 70% { opacity: 1; transform: translateY(5px) scale(1.02); }
144
- 100% { opacity: 1; transform: translateY(0) scale(1); }
145
- }
146
- @keyframes popover-lift-out {
147
- 0% { opacity: 1; transform: translateY(0) scale(1); }
148
- 100% { opacity: 0; transform: translateY(-100%) scale(0.9); }
149
- }
150
  .animate-popover-open-top-center { animation: popover-drop-in 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards; }
151
  .animate-popover-close-top-center { animation: popover-lift-out 0.3s ease-in forwards; }
 
1
+ // ... (بخش‌های اولیه CSS، متغیرها، base styles، header، popover بدون تغییر) ...
2
  @import 'tailwindcss/base';
3
  @import 'tailwindcss/components';
4
  @import 'tailwindcss/utilities';
5
+ :root { --radius: 0.625rem; --radius-md: 0.5rem; --background: oklch(1 0 0); --foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); --popover-foreground: oklch(0.145 0 0); --border: oklch(0.922 0 0); }
6
+ .dark { --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --popover: oklch(0.205 0 0); --popover-foreground: oklch(0.985 0 0); --border: oklch(1 0 0 / 10%); }
7
+ @layer base { * { border-color: var(--border); outline-color: var(--foreground); box-sizing: border-box; } body { @apply bg-background text-foreground; overflow-x: hidden; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin: 0; padding: 0; } html { margin: 0; padding: 0; overflow-x: hidden; } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  .main-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
9
  .media-area { flex-grow: 1; position: relative; }
10
+
11
+ /* MODIFIED: استایل برای کانتینر لوگوی بزرگ */
12
+ .large-logo-container-style { /* این کلاس جدید در App.tsx استفاده شده */
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ width: 100%;
17
+ height: 100%;
18
+ position: absolute;
19
+ top: 0;
20
+ left: 0;
21
+ pointer-events: none;
22
+ }
23
+
24
  .notification-popover-wrapper { position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 100; width: calc(100% - 1rem); max-width: 28rem; display: flex; justify-content: center; pointer-events: none; }
25
  .popover-content { width: 100%; border-radius: var(--radius-md, 0.5rem); border-width: 1px; border-color: var(--border); background-color: var(--popover); color: var(--popover-foreground); box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); outline: none; transition: opacity 0.3s ease-out, transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55); opacity: 0; transform: translateY(-100%) scale(0.9); pointer-events: none; &.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; } }
26
  .notification-popover-text-content { background-color: #eff6ff; font-size: 0.875rem; line-height: 1.5rem; direction: rtl; padding: 1rem; border-radius: var(--radius-md, 0.5rem); color: oklch(0.145 0 0); }
 
29
  .header-button { display: flex; align-items: center; justify-content: center; padding: 0.5rem; width: 40px; height: 40px; border-radius: var(--radius-lg, 0.625rem); background-color: #e5e7eb; cursor: pointer; transition: background-color 0.2s, transform 0.1s ease-out; svg { opacity: 0.7; stroke: #374151; width: 24px; height: 24px; } &:hover { background-color: #d1d5db; } &:active { background-color: #9ca3af; transform: scale(0.95); } }
30
  .dark .header-button { background-color: oklch(0.28 0 0); &:hover { background-color: oklch(0.35 0 0); } &:active { background-color: oklch(0.40 0 0); transform: scale(0.95); } svg { opacity: 0.8; stroke: oklch(0.85 0 0); } }
31
 
32
+ /* Logo Animation Styling - اطمینان از position: relative برای کانتینر اصلی لوگو */
33
  .logo-animation-wrapper {
34
+ position: relative; // این مهم است تا inset های absolute داخلی درست کار کنند
35
  display: flex;
36
  align-items: center;
37
  justify-content: center;
38
+ // اطمینان از اینکه SVG آیکون داخلی به درستی اندازه می‌گیرد
39
+ & > .z-10 { // کانتینر مستقیم SVG آیکون
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ // width و height این div توسط style inline در createLogoFunction تنظیم می‌شود
44
+ & > svg { // خود SVG
45
+ width: 100%;
46
+ height: 100%;
47
+ }
48
  }
49
  }
50
 
51
+ /* Footer styles - تنظیم دقیق‌تر bottom */
52
  .footer-controls-html-like {
53
  width: 100%;
54
  display: flex;
55
  align-items: center;
56
  position: absolute;
57
+ // *** MODIFIED: تنظیم bottom برای بالاتر آوردن فوتر ***
58
+ bottom: 2rem; // امتحان کنید با 2rem شروع کنید و در صورت نیاز کم یا زیاد کنید (مثلاً 1.5rem, 2.5rem)
59
  padding-left: 3rem;
60
  padding-right: 3rem;
61
+ padding-top: 0.5rem; // پدینگ عمودی کمتر چون bottom را تنظیم کردیم
62
  padding-bottom: 0.5rem;
63
  box-sizing: border-box;
64
  z-index: 20;
 
105
  }
106
 
107
  svg {
108
+ &.reference-mic-svg { // کلاس داده شده به SvgReferenceMicrophoneIcon در App.tsx
109
+ width: 70%; // یا هر درصدی که می‌خواهید، مثلا 75%
 
110
  height: 70%;
111
  }
112
+ // SVG های دیگر داخل دکمه‌ها، اگر نیاز به تنظیم اندازه دارند
113
+ // مثال برای آیکون Pause:
114
+ // اگر SvgPauseIcon هم نیاز به تنظیم دارد، به آن هم کلاس بدهید یا مستقیم انتخابش کنید
115
  }
116
  }
117
 
 
122
  .dark .cam-button-color { background-color: #223355; }
123
 
124
  /* Switch Camera Button (بدون تغییر) */
125
+ .switch-camera-button-container { position: absolute; bottom: calc(100% + 0.65rem); left: 50%; transform: translateX(-50%) translateY(15px) scale(0.7); z-index: 5; opacity: 0; pointer-events: none; transition: opacity 0.35s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.35s cubic-bezier(0.68, -0.55, 0.27, 1.55); transform-origin: center bottom; &.visible { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); pointer-events: auto; } }
126
+ .switch-camera-button-content { width: 48px; height: 48px; background-color: var(--background); border: 1px solid var(--border); border-radius: 9999px; display: flex; align-items: center; justify-content: center; box-shadow: 0 5px 10px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.08); cursor: pointer; transform-origin: center; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out; &:hover { transform: scale(1.12) rotate(-6deg); box-shadow: 0 7px 15px rgba(0,0,0,0.18), 0 3px 6px rgba(0,0,0,0.12); } &:active { transform: scale(1.03) rotate(0deg); } svg { width: 22px; height: 22px; stroke: var(--foreground); transition: transform 0.3s ease-in-out; } &:hover svg { transform: rotate(360deg); } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
  /* Keyframes for popover (بدون تغییر) */
129
+ @keyframes popover-drop-in { 0% { opacity: 0; transform: translateY(-100%) scale(0.9); } 70% { opacity: 1; transform: translateY(5px) scale(1.02); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
130
+ @keyframes popover-lift-out { 0% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-100%) scale(0.9); } }
 
 
 
 
 
 
 
131
  .animate-popover-open-top-center { animation: popover-drop-in 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards; }
132
  .animate-popover-close-top-center { animation: popover-lift-out 0.3s ease-in forwards; }