Ezmary commited on
Commit
27af14d
·
verified ·
1 Parent(s): 3e50efe

Update src/App.scss

Browse files
Files changed (1) hide show
  1. src/App.scss +88 -35
src/App.scss CHANGED
@@ -1,4 +1,4 @@
1
- // src/App.scss (نسخه نهایی با اصلاحات کامل برای راست‌چین شدن)
2
 
3
  // 1. Import Tailwind's base, components, and utilities
4
  @import 'tailwindcss/base';
@@ -25,6 +25,10 @@
25
  @apply bg-custom-background text-custom-foreground;
26
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
27
  margin: 0; padding: 0;
 
 
 
 
28
  }
29
  }
30
 
@@ -33,17 +37,28 @@
33
  display: flex; align-items: center; justify-content: center;
34
  height: 100vh; font-size: 1.2rem;
35
  color: theme('colors.custom-foreground');
 
 
36
  }
 
37
  .main-wrapper {
38
- min-height: 100vh; display: flex;
39
- flex-direction: column; position: relative;
 
 
40
  }
 
41
  .header-controls {
42
  display: flex; padding: 0.75rem 1rem; justify-content: space-between; align-items: center;
43
  width: 100%; position: absolute; top: 0; left: 0; z-index: 50;
44
  pointer-events: none;
 
 
 
 
45
  > div, > button { pointer-events: auto; }
46
  }
 
47
  .header-icon-button {
48
  display: flex; align-items: center; justify-content: center; padding: 0.5rem;
49
  width: 44px; height: 44px; border-radius: 9999px;
@@ -55,41 +70,48 @@
55
  &:active { transform: scale(0.95); }
56
  }
57
 
58
- /* استایل نوتیفیکیشن زیبا و مرکزی */
59
- #notification-popover.popover-content {
60
- direction: rtl; // راست‌چین کردن متن نوتیفیکیشن
61
- }
62
- .notification-popover-wrapper {
63
- position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 100;
64
- width: calc(100% - 2rem); max-width: 28rem; display: flex; justify-content: center; pointer-events: none;
65
- }
66
-
67
- /* استایل منوی شخصیت */
68
- .personality-popover-wrapper {
69
- position: absolute; z-index: 100; top: calc(1rem + 44px + 8px); left: 1rem;
70
- opacity: 0; pointer-events: none;
71
  transform: translateY(-10px) scale(0.95); transition: all 150ms ease-in-out;
72
  &.open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
73
  .popover-content {
74
  background: theme('colors.custom-popover'); backdrop-filter: blur(10px);
75
  border-radius: 12px; padding: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.2);
76
  border: 1px solid theme('colors.custom-border');
77
- direction: rtl; // ✅ تغییر اصلی ۱: منو راست‌چین شد
 
 
 
 
 
78
  ul { list-style: none; padding: 0; margin: 0; width: 220px; }
79
  li {
80
  display: flex; align-items: center; justify-content: space-between;
81
  padding: 10px 12px; border-radius: 8px; cursor: pointer; transition: background-color 150ms ease;
82
- div { display: flex; align-items: center; gap: 12px; }
83
  &:hover { background-color: rgba(0, 0, 0, 0.05); }
84
  .dark &:hover { background-color: #3a3a3c; }
85
  &.active { color: #0a84ff; font-weight: 500; }
86
  .dark &.active { color: #fff; }
87
- .material-symbols-outlined.tick { color: #34c759; }
 
 
 
 
 
 
88
  }
89
  }
90
  }
 
 
 
 
 
 
 
91
 
92
- /* استایل ویدیو و کنترل‌ها */
93
  .media-area {
94
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
95
  z-index: 1; overflow: hidden;
@@ -102,7 +124,18 @@
102
  .footer-controls-html-like {
103
  width: 100%; display: flex; align-items: center; position: absolute;
104
  bottom: 2rem; padding: 0.5rem 2.5rem; box-sizing: border-box; z-index: 20; justify-content: space-between;
105
- }
 
 
 
 
 
 
 
 
 
 
 
106
  .control-button {
107
  height: 80px; width: 80px; border-radius: 9999px; padding: 0;
108
  display: flex; align-items: center; justify-content: center;
@@ -111,17 +144,21 @@
111
  cursor: pointer; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
112
  flex-shrink: 0; z-index: 2; overflow: hidden;
113
  &:hover { transform: scale(1.05); }
 
114
  }
115
  .mic-button-color { background-color: #fecdd3; }
116
  .cam-button-color { background-color: #E0ECFF; }
117
  .dark .mic-button-color { background-color: #5C2129; }
118
  .dark .cam-button-color { background-color: #223355; }
119
  .switch-camera-button-container {
120
- position: absolute; bottom: calc(100% + 0.65rem); left: 50%;
121
- transform: translateX(-50%) translateY(15px) scale(0.7); z-index: 5;
122
- opacity: 0; pointer-events: none; transition: opacity 0.35s, transform 0.35s;
 
 
 
123
  transform-origin: center bottom;
124
- &.visible { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); pointer-events: auto; }
125
  }
126
  .switch-camera-button-content {
127
  width: 48px; height: 48px; background-color: theme('colors.custom-background');
@@ -142,16 +179,23 @@
142
  z-index: 1000; backdrop-filter: blur(5px);
143
  }
144
  .modal-content {
145
- background: #fff; color: #111; padding: 24px; border-radius: 16px;
 
146
  width: 90%; max-width: 500px;
147
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); border: 1px solid #e5e5e5;
 
148
  animation: modal-fade-in 0.3s ease-out;
149
- direction: rtl; // تغییر اصلی ۲: مودال راست‌چین شد
150
-
 
 
151
  .dark & { background: #2c2c2e; color: #fff; border-color: rgba(255, 255, 255, 0.15); }
152
  .modal-header {
153
  display: flex; justify-content: space-between; align-items: center;
154
  margin-bottom: 20px; border-bottom: 1px solid #e5e5e5; padding-bottom: 16px;
 
 
 
155
  .dark & { border-color: #444; }
156
  h3 { margin: 0; font-size: 20px; color: inherit; }
157
  .close-button {
@@ -163,19 +207,28 @@
163
  }
164
  .modal-body .form-group {
165
  margin-bottom: 20px;
166
- label { text-align: right; display: block; margin-bottom: 8px; font-weight: 500; color: inherit; }
167
  input, textarea {
168
  width: 100%; padding: 12px; border-radius: 8px;
169
- border: 1px solid #ccc; background-color: #f8f8f8; color: #111; font-size: 15px;
170
- text-align: right; // ✅ تغییر اصلی ۳: متن داخل فیلدها راست‌چین شد
 
 
 
171
  .dark & { border-color: #555; background-color: #3a3a3c; color: #fff; }
172
- &:focus { outline: none; border-color: #0a84ff; box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.5); }
 
 
 
173
  }
174
  textarea { resize: vertical; min-height: 100px; }
175
- small { display: block; margin-top: 8px; color: #777; font-size: 12px; text-align: right; .dark & { color: #999; } }
176
  }
177
  .modal-footer {
178
- display: flex; justify-content: flex-end; margin-top: 24px; // دکمه در سمت چپ قرار می‌گیرد (استاندارد RTL)
 
 
 
179
  .save-button {
180
  background-color: #0a84ff; color: #fff; border: none;
181
  padding: 12px 24px; border-radius: 8px; font-size: 16px;
 
1
+ // src/App.scss (نسخه نهایی با همه اصلاحات ظاهری و راست‌چین)
2
 
3
  // 1. Import Tailwind's base, components, and utilities
4
  @import 'tailwindcss/base';
 
25
  @apply bg-custom-background text-custom-foreground;
26
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
27
  margin: 0; padding: 0;
28
+ /* --- START: تغییرات برای راست‌چین شدن کل صفحه --- */
29
+ direction: rtl;
30
+ text-align: right;
31
+ /* --- END: تغییرات برای راست‌چین شدن کل صفحه --- */
32
  }
33
  }
34
 
 
37
  display: flex; align-items: center; justify-content: center;
38
  height: 100vh; font-size: 1.2rem;
39
  color: theme('colors.custom-foreground');
40
+ direction: rtl; /* اطمینان از راست‌چین بودن لودینگ اسکرین */
41
+ text-align: center;
42
  }
43
+
44
  .main-wrapper {
45
+ min-height: 100vh;
46
+ display: flex;
47
+ flex-direction: column;
48
+ position: relative;
49
  }
50
+
51
  .header-controls {
52
  display: flex; padding: 0.75rem 1rem; justify-content: space-between; align-items: center;
53
  width: 100%; position: absolute; top: 0; left: 0; z-index: 50;
54
  pointer-events: none;
55
+ /* --- START: تغییر برای راست‌چین شدن دکمه‌های هدر --- */
56
+ flex-direction: row-reverse; /* برای چینش دکمه‌ها در هدر */
57
+ /* --- END: تغییر برای راست‌چین شدن دکمه‌های هدر --- */
58
+
59
  > div, > button { pointer-events: auto; }
60
  }
61
+
62
  .header-icon-button {
63
  display: flex; align-items: center; justify-content: center; padding: 0.5rem;
64
  width: 44px; height: 44px; border-radius: 9999px;
 
70
  &:active { transform: scale(0.95); }
71
  }
72
 
73
+ /* استایل نوتیفیکیشن و منوی شخصیت */
74
+ .notification-popover-wrapper, .personality-popover-wrapper {
75
+ position: absolute; z-index: 100; opacity: 0; pointer-events: none;
 
 
 
 
 
 
 
 
 
 
76
  transform: translateY(-10px) scale(0.95); transition: all 150ms ease-in-out;
77
  &.open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
78
  .popover-content {
79
  background: theme('colors.custom-popover'); backdrop-filter: blur(10px);
80
  border-radius: 12px; padding: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.2);
81
  border: 1px solid theme('colors.custom-border');
82
+ color: theme('colors.custom-popover-foreground'); font-size: 14px;
83
+ /* --- START: تغییرات برای راست‌چین شدن پاپ‌اورها --- */
84
+ direction: rtl;
85
+ text-align: right;
86
+ /* --- END: تغییرات برای راست‌چین شدن پاپ‌اورها --- */
87
+
88
  ul { list-style: none; padding: 0; margin: 0; width: 220px; }
89
  li {
90
  display: flex; align-items: center; justify-content: space-between;
91
  padding: 10px 12px; border-radius: 8px; cursor: pointer; transition: background-color 150ms ease;
 
92
  &:hover { background-color: rgba(0, 0, 0, 0.05); }
93
  .dark &:hover { background-color: #3a3a3c; }
94
  &.active { color: #0a84ff; font-weight: 500; }
95
  .dark &.active { color: #fff; }
96
+ div {
97
+ display: flex; align-items: center; gap: 12px;
98
+ /* --- START: چینش آیکون و متن در لیست آیتم‌ها --- */
99
+ flex-direction: row-reverse;
100
+ /* --- END: چینش آیکون و متن در لیست آیتم‌ها --- */
101
+ }
102
+ .material-symbols-outlined { font-size: 22px; &.tick { color: #34c759; } }
103
  }
104
  }
105
  }
106
+ .notification-popover-wrapper {
107
+ top: calc(1rem + 44px + 8px); right: 1rem; /* ✅ تغییر جهت به راست */
108
+ .popover-content { padding: 12px 16px; width: 280px; }
109
+ }
110
+ .personality-popover-wrapper {
111
+ top: calc(1rem + 44px + 8px); left: 1rem; /* ✅ تغییر جهت به چپ (ثابت ماند) */
112
+ }
113
 
114
+ /* استایل ویدیو و کنترل‌ها (این بخش‌ها به طور پ��ش‌فرض RTL را از body ارث می‌برند) */
115
  .media-area {
116
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
117
  z-index: 1; overflow: hidden;
 
124
  .footer-controls-html-like {
125
  width: 100%; display: flex; align-items: center; position: absolute;
126
  bottom: 2rem; padding: 0.5rem 2.5rem; box-sizing: border-box; z-index: 20; justify-content: space-between;
127
+ /* --- START: چینش دکمه‌ها در فوتر --- */
128
+ flex-direction: row-reverse;
129
+ /* --- END: چینش دکمه‌ها در فوتر --- */
130
+ }
131
+ .small-logo-footer-html-like {
132
+ position: absolute; /* ✅ نیاز به اصلاح: این باید برای RTL درست شود */
133
+ left: auto; /* لغو left */
134
+ right: 50%; /* راست به جای چپ */
135
+ transform: translate(50%, -50%); /* اصلاح ترنسلیت برای راست */
136
+ z-index: 1; display: flex; align-items: center; justify-content: center;
137
+ }
138
+ .control-button-wrapper { position: relative; display: flex; justify-content: center; }
139
  .control-button {
140
  height: 80px; width: 80px; border-radius: 9999px; padding: 0;
141
  display: flex; align-items: center; justify-content: center;
 
144
  cursor: pointer; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
145
  flex-shrink: 0; z-index: 2; overflow: hidden;
146
  &:hover { transform: scale(1.05); }
147
+ svg.reference-mic-svg { width: 75%; height: 75%; }
148
  }
149
  .mic-button-color { background-color: #fecdd3; }
150
  .cam-button-color { background-color: #E0ECFF; }
151
  .dark .mic-button-color { background-color: #5C2129; }
152
  .dark .cam-button-color { background-color: #223355; }
153
  .switch-camera-button-container {
154
+ position: absolute; bottom: calc(100% + 0.65rem);
155
+ /* تغییر: برای RTL باید از right استفاده کنیم */
156
+ left: auto;
157
+ right: 50%;
158
+ transform: translateX(50%) translateY(15px) scale(0.7);
159
+ z-index: 5; opacity: 0; pointer-events: none; transition: opacity 0.35s, transform 0.35s;
160
  transform-origin: center bottom;
161
+ &.visible { opacity: 1; transform: translateX(50%) translateY(0) scale(1); pointer-events: auto; }
162
  }
163
  .switch-camera-button-content {
164
  width: 48px; height: 48px; background-color: theme('colors.custom-background');
 
179
  z-index: 1000; backdrop-filter: blur(5px);
180
  }
181
  .modal-content {
182
+ background: #fff; color: #111;
183
+ padding: 24px; border-radius: 16px;
184
  width: 90%; max-width: 500px;
185
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
186
+ border: 1px solid #e5e5e5;
187
  animation: modal-fade-in 0.3s ease-out;
188
+ /* --- START: تغییرات برای راست‌چین شدن مودال --- */
189
+ direction: rtl;
190
+ text-align: right;
191
+ /* --- END: تغییرات برای راست‌چین شدن مودال --- */
192
  .dark & { background: #2c2c2e; color: #fff; border-color: rgba(255, 255, 255, 0.15); }
193
  .modal-header {
194
  display: flex; justify-content: space-between; align-items: center;
195
  margin-bottom: 20px; border-bottom: 1px solid #e5e5e5; padding-bottom: 16px;
196
+ /* --- START: چینش دکمه بستن در هدر مودال --- */
197
+ flex-direction: row-reverse;
198
+ /* --- END: چینش دکمه بستن در هدر مودال --- */
199
  .dark & { border-color: #444; }
200
  h3 { margin: 0; font-size: 20px; color: inherit; }
201
  .close-button {
 
207
  }
208
  .modal-body .form-group {
209
  margin-bottom: 20px;
210
+ label { display: block; margin-bottom: 8px; font-weight: 500; color: inherit; }
211
  input, textarea {
212
  width: 100%; padding: 12px; border-radius: 8px;
213
+ border: 1px solid #ccc; background-color: #f8f8f8;
214
+ color: #111; font-size: 15px;
215
+ /* --- START: راست‌چین کردن متن ورودی --- */
216
+ text-align: right;
217
+ /* --- END: راست‌چین کردن متن ورودی --- */
218
  .dark & { border-color: #555; background-color: #3a3a3c; color: #fff; }
219
+ &:focus {
220
+ outline: none; border-color: #0a84ff;
221
+ box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.5);
222
+ }
223
  }
224
  textarea { resize: vertical; min-height: 100px; }
225
+ small { display: block; margin-top: 8px; color: #777; font-size: 12px; .dark & { color: #999; } }
226
  }
227
  .modal-footer {
228
+ display: flex; justify-content: flex-end; margin-top: 24px;
229
+ /* --- START: چینش دکمه در فوتر مودال --- */
230
+ flex-direction: row; /* دکمه "ذخیره" در راست قرار گیرد */
231
+ /* --- END: چینش دکمه در فوتر مودال --- */
232
  .save-button {
233
  background-color: #0a84ff; color: #fff; border: none;
234
  padding: 12px 24px; border-radius: 8px; font-size: 16px;