Ezmary commited on
Commit
ac71390
·
verified ·
1 Parent(s): 5dc105c

Update src/App.scss

Browse files
Files changed (1) hide show
  1. src/App.scss +105 -44
src/App.scss CHANGED
@@ -1,17 +1,20 @@
1
- // ... (بخش‌های اولیه CSS، متغیرها، base styles، header، popover بدون تغییر) ...
 
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);
@@ -19,59 +22,118 @@
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); }
33
- .dark .notification-popover-text-content { background-color: oklch(0.25 0.05 230); color: oklch(0.95 0.01 230); }
34
- .header-controls { display: flex; padding: 0.75rem 0.5rem; justify-content: space-between; align-items: center; width: 100%; position: absolute; top: 0; left: 0; z-index: 10; }
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
 
39
- /* Logo Animation Styling */
40
  .logo-animation-wrapper {
41
  position: relative;
42
  display: flex;
43
  align-items: center;
44
  justify-content: center;
45
- & > .z-10 > svg { /* Target the SvgHumanIcon inside its container */
46
  width: 100%;
47
  height: 100%;
48
  }
49
  }
50
 
51
- /* Footer styles - تلاش برای بالاتر آوردن و تطابق با HTML */
52
  .footer-controls-html-like {
53
  width: 100%;
54
  display: flex;
55
  align-items: center;
56
  position: absolute;
57
- // *** MODIFIED: تنظیم دقیق bottom و padding برای بالاتر آمدن ***
58
- bottom: 1.5rem; // فاصله از پایین صفحه (قبلاً 0 بود، امتحان کنید 1rem, 1.5rem, 2rem)
59
- // padding-left و padding-right را مشابه HTML مرجع نگه می‌داریم
60
- padding-left: 3rem; // 48px از چپ
61
- padding-right: 3rem; // 48px از راست
62
- // padding-top و padding-bottom را کمتر می‌کنیم یا حذف می‌کنیم چون bottom را تنظیم کردیم
63
- padding-top: 0.5rem; // کمی فاصله از بالا برای محتوای داخلی
64
- padding-bottom: 0.5rem; // کمی فاصله از پایین برای محتوای داخلی
65
-
66
  box-sizing: border-box;
67
  z-index: 20;
68
- justify-content: space-between; // میکروفون چپ، دوربین راست
69
  }
70
 
71
  .small-logo-footer-html-like {
72
  position: absolute;
73
  left: 50%;
74
- top: 50%; // نسبت به کادر padding فوتر
75
  transform: translate(-50%, -50%);
76
  z-index: 1;
77
  display: flex;
@@ -89,7 +151,7 @@
89
  height: 80px;
90
  width: 80px;
91
  border-radius: 9999px;
92
- padding: 0; // پدینگ صفر چون آیکون خودش باید فضا را پر کند یا با CSS داخلی SVG تنظیم شود
93
  display: flex;
94
  align-items: center;
95
  justify-content: center;
@@ -100,24 +162,26 @@
100
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
101
  flex-shrink: 0;
102
  z-index: 2;
103
- overflow: hidden; // برای اطمینان از اینکه SVG بزرگتر از دکمه بیرون نمی‌زند
104
 
105
  &:hover {
106
  transform: scale(1.05);
107
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
108
  }
109
 
110
- // استایل برای SVG داخل دکمه‌های کنترل
111
  svg {
112
- // این بخش مهم است برای بزرگتر کردن آیکون میکروفون
113
- // اگر SvgReferenceMicrophoneIcon کلاسی مثل .reference-mic-svg دارد:
114
  &.reference-mic-svg {
115
- width: 60%; // یا درصدی که مناسب به نظر می‌رسد
116
- height: 60%;
117
- // transform: scale(1); // اطمینان از اینکه scale پیش‌فرض SVG اعمال می‌شود
 
 
118
  }
119
- // برای آیکون‌های دیگر می‌توانید اندازه پیش‌فرض یا کمی کوچکتر در نظر بگیرید
120
- // &.some-other-icon-class { width: 50%; height: 50%; }
 
 
 
121
  }
122
  }
123
 
@@ -127,8 +191,6 @@
127
  .dark .mic-button-color { background-color: #5C2129; }
128
  .dark .cam-button-color { background-color: #223355; }
129
 
130
-
131
- /* Switch Camera Button (بدون تغییر) */
132
  .switch-camera-button-container {
133
  position: absolute; bottom: calc(100% + 0.65rem); left: 50%;
134
  transform: translateX(-50%) translateY(15px) scale(0.7); z-index: 5;
@@ -148,7 +210,6 @@
148
  &:hover svg { transform: rotate(360deg); }
149
  }
150
 
151
- /* Keyframes for popover (بدون تغییر) */
152
  @keyframes popover-drop-in {
153
  0% { opacity: 0; transform: translateY(-100%) scale(0.9); }
154
  70% { opacity: 1; transform: translateY(5px) scale(1.02); }
 
1
+ // ... (تمام کدهای قبلی App.scss تا قبل از این بخش، بدون تغییر باقی می‌مانند) ...
2
+ // 1. Import Tailwind's base, components, and utilities
3
  @import 'tailwindcss/base';
4
  @import 'tailwindcss/components';
5
  @import 'tailwindcss/utilities';
6
 
7
+ // 2. Define CSS Variables
8
  :root {
9
+ --radius: 0.625rem; /* 10px */
10
+ --radius-md: 0.5rem; /* 8px */
11
  --background: oklch(1 0 0);
12
  --foreground: oklch(0.145 0 0);
13
  --popover: oklch(1 0 0);
14
  --popover-foreground: oklch(0.145 0 0);
15
  --border: oklch(0.922 0 0);
16
  }
17
+
18
  .dark {
19
  --background: oklch(0.145 0 0);
20
  --foreground: oklch(0.985 0 0);
 
22
  --popover-foreground: oklch(0.985 0 0);
23
  --border: oklch(1 0 0 / 10%);
24
  }
25
+
26
+ // 3. Apply base styles
27
  @layer base {
28
+ * {
29
+ border-color: var(--border);
30
+ outline-color: var(--foreground);
31
+ box-sizing: border-box;
32
+ }
33
+ body {
34
+ @apply bg-background text-foreground;
35
+ overflow-x: hidden;
36
+ 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";
37
+ -webkit-font-smoothing: antialiased;
38
+ -moz-osx-font-smoothing: grayscale;
39
+ margin: 0;
40
+ padding: 0;
41
+ }
42
+ html {
43
+ margin: 0;
44
+ padding: 0;
45
+ overflow-x: hidden;
46
+ }
47
+ }
48
 
49
+ .main-wrapper {
50
+ min-height: 100vh;
51
+ display: flex;
52
+ flex-direction: column;
53
+ }
54
+ .media-area {
55
+ flex-grow: 1;
56
+ position: relative;
57
+ }
58
+
59
+ #large-logo-container {
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+ width: 100%;
64
+ height: 100%;
65
+ position: absolute;
66
+ top: 0;
67
+ left: 0;
68
+ pointer-events: none;
69
+ }
70
+
71
+ .notification-popover-wrapper {
72
+ position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 100;
73
+ width: calc(100% - 1rem); max-width: 28rem; display: flex; justify-content: center; pointer-events: none;
74
+ }
75
+ .popover-content {
76
+ width: 100%; border-radius: var(--radius-md, 0.5rem); border-width: 1px; border-color: var(--border);
77
+ background-color: var(--popover); color: var(--popover-foreground);
78
+ box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
79
+ outline: none; transition: opacity 0.3s ease-out, transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
80
+ opacity: 0; transform: translateY(-100%) scale(0.9); pointer-events: none;
81
+ &.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
82
+ }
83
+ .notification-popover-text-content {
84
+ background-color: #eff6ff; font-size: 0.875rem; line-height: 1.5rem; direction: rtl;
85
+ padding: 1rem; border-radius: var(--radius-md, 0.5rem); color: oklch(0.145 0 0);
86
+ }
87
+ .dark .notification-popover-text-content { background-color: oklch(0.25 0.05 230); color: oklch(0.95 0.01 230); }
88
+ .header-controls {
89
+ display: flex; padding: 0.75rem 0.5rem; justify-content: space-between; align-items: center;
90
+ width: 100%; position: absolute; top: 0; left: 0; z-index: 10;
91
+ }
92
+ .header-button {
93
+ display: flex; align-items: center; justify-content: center; padding: 0.5rem;
94
+ width: 40px; height: 40px; border-radius: var(--radius-lg, 0.625rem); background-color: #e5e7eb;
95
+ cursor: pointer; transition: background-color 0.2s, transform 0.1s ease-out;
96
+ svg { opacity: 0.7; stroke: #374151; width: 24px; height: 24px; }
97
+ &:hover { background-color: #d1d5db; }
98
+ &:active { background-color: #9ca3af; transform: scale(0.95); }
99
+ }
100
+ .dark .header-button {
101
+ background-color: oklch(0.28 0 0);
102
+ &:hover { background-color: oklch(0.35 0 0); }
103
+ &:active { background-color: oklch(0.40 0 0); transform: scale(0.95); }
104
+ svg { opacity: 0.8; stroke: oklch(0.85 0 0); }
105
+ }
106
 
 
107
  .logo-animation-wrapper {
108
  position: relative;
109
  display: flex;
110
  align-items: center;
111
  justify-content: center;
112
+ & > .z-10 > svg {
113
  width: 100%;
114
  height: 100%;
115
  }
116
  }
117
 
 
118
  .footer-controls-html-like {
119
  width: 100%;
120
  display: flex;
121
  align-items: center;
122
  position: absolute;
123
+ bottom: 1.5rem;
124
+ padding-left: 3rem;
125
+ padding-right: 3rem;
126
+ padding-top: 0.5rem;
127
+ padding-bottom: 0.5rem;
 
 
 
 
128
  box-sizing: border-box;
129
  z-index: 20;
130
+ justify-content: space-between;
131
  }
132
 
133
  .small-logo-footer-html-like {
134
  position: absolute;
135
  left: 50%;
136
+ top: 50%;
137
  transform: translate(-50%, -50%);
138
  z-index: 1;
139
  display: flex;
 
151
  height: 80px;
152
  width: 80px;
153
  border-radius: 9999px;
154
+ padding: 0;
155
  display: flex;
156
  align-items: center;
157
  justify-content: center;
 
162
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
163
  flex-shrink: 0;
164
  z-index: 2;
165
+ overflow: hidden;
166
 
167
  &:hover {
168
  transform: scale(1.05);
169
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
170
  }
171
 
 
172
  svg {
 
 
173
  &.reference-mic-svg {
174
+ // *** MODIFIED: افزایش اندازه آیکون میکروفون ***
175
+ // قبلاً 60% بود، حالا به 70% یا 75% افزایش می‌دهیم
176
+ // می‌توانید این مقدار را بین 60% تا 80% تنظیم کنید تا به اندازه دلخواه برسید
177
+ width: 75%;
178
+ height: 75%;
179
  }
180
+ // برای آیکون توقف (pause) و آیکون‌های دوربین، می‌توانید اندازه متفاوتی در نظر بگیرید
181
+ // یا اگر اندازه پیش‌فرض SVGها مناسب است، این بخش را برای آنها خالی بگذارید.
182
+ // مثال:
183
+ // &.pause-icon-svg { width: 40%; height: 40%; }
184
+ // &.camera-icon-svg { width: 50%; height: 50%; }
185
  }
186
  }
187
 
 
191
  .dark .mic-button-color { background-color: #5C2129; }
192
  .dark .cam-button-color { background-color: #223355; }
193
 
 
 
194
  .switch-camera-button-container {
195
  position: absolute; bottom: calc(100% + 0.65rem); left: 50%;
196
  transform: translateX(-50%) translateY(15px) scale(0.7); z-index: 5;
 
210
  &:hover svg { transform: rotate(360deg); }
211
  }
212
 
 
213
  @keyframes popover-drop-in {
214
  0% { opacity: 0; transform: translateY(-100%) scale(0.9); }
215
  70% { opacity: 1; transform: translateY(5px) scale(1.02); }