Ezmary commited on
Commit
7eaa1a0
·
verified ·
1 Parent(s): 27af14d

Update src/App.scss

Browse files
Files changed (1) hide show
  1. src/App.scss +41 -65
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,10 +25,6 @@
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,8 +33,6 @@
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 {
@@ -52,10 +46,6 @@
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
 
@@ -70,21 +60,43 @@
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;
@@ -93,25 +105,13 @@
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,18 +124,7 @@
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,21 +133,17 @@
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');
@@ -185,17 +170,12 @@
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 {
@@ -212,9 +192,8 @@
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;
@@ -226,9 +205,6 @@
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;
 
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
  }
29
  }
30
 
 
33
  display: flex; align-items: center; justify-content: center;
34
  height: 100vh; font-size: 1.2rem;
35
  color: theme('colors.custom-foreground');
 
 
36
  }
37
 
38
  .main-wrapper {
 
46
  display: flex; padding: 0.75rem 1rem; justify-content: space-between; align-items: center;
47
  width: 100%; position: absolute; top: 0; left: 0; z-index: 50;
48
  pointer-events: none;
 
 
 
 
49
  > div, > button { pointer-events: auto; }
50
  }
51
 
 
60
  &:active { transform: scale(0.95); }
61
  }
62
 
63
+ /* استایل نوتیفیکیشن زیبا و مرکزی (بدون تغییر) */
64
+ .notification-popover-wrapper {
65
+ position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 100;
66
+ width: calc(100% - 2rem); max-width: 28rem; display: flex; justify-content: center; pointer-events: none;
67
+ }
68
+ #notification-popover.popover-content {
69
+ width: 100%; border-radius: var(--radius-md, 0.5rem); border-width: 1px;
70
+ background-color: theme('colors.custom-popover'); color: theme('colors.custom-popover-foreground');
71
+ border-color: theme('colors.custom-border'); box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
72
+ outline: none; transition: opacity 0.3s ease-out, transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
73
+ opacity: 0; transform: translateY(-120%) scale(0.9); pointer-events: none;
74
+ &.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
75
+ }
76
+ .notification-popover-text-content {
77
+ background-color: #eff6ff; font-size: 0.875rem; line-height: 1.5rem; direction: rtl;
78
+ padding: 1rem; border-radius: var(--radius-md, 0.5rem); color: oklch(0.145 0 0);
79
+ }
80
+ .dark .notification-popover-text-content {
81
+ background-color: oklch(0.25 0.05 230); color: oklch(0.95 0.01 230);
82
+ }
83
+ .animate-popover-open-top-center { animation: popover-drop-in 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards; }
84
+ .animate-popover-close-top-center { animation: popover-lift-out 0.3s ease-in forwards; }
85
+ @keyframes popover-drop-in { from { opacity: 0; transform: translateY(-100%) scale(0.9); } to { opacity: 1; transform: translateY(0) scale(1); } }
86
+ @keyframes popover-lift-out { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(-100%) scale(0.9); } }
87
+
88
+ /* استایل منوی شخصیت */
89
+ .personality-popover-wrapper {
90
+ position: absolute; z-index: 100; top: calc(1rem + 44px + 8px); left: 1rem;
91
+ opacity: 0; pointer-events: none;
92
  transform: translateY(-10px) scale(0.95); transition: all 150ms ease-in-out;
93
  &.open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
94
  .popover-content {
95
  background: theme('colors.custom-popover'); backdrop-filter: blur(10px);
96
  border-radius: 12px; padding: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.2);
97
  border: 1px solid theme('colors.custom-border');
98
+ // اصلاح ۱: منوی شخصیت‌ها راست‌چین شد
99
+ direction: rtl;
 
 
 
 
100
  ul { list-style: none; padding: 0; margin: 0; width: 220px; }
101
  li {
102
  display: flex; align-items: center; justify-content: space-between;
 
105
  .dark &:hover { background-color: #3a3a3c; }
106
  &.active { color: #0a84ff; font-weight: 500; }
107
  .dark &.active { color: #fff; }
108
+ div { display: flex; align-items: center; gap: 12px; }
 
 
 
 
 
109
  .material-symbols-outlined { font-size: 22px; &.tick { color: #34c759; } }
110
  }
111
  }
112
  }
 
 
 
 
 
 
 
113
 
114
+ /* استایل ویدیو و کنترل‌ها */
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
+ }
 
 
 
 
 
 
 
 
 
 
 
128
  .control-button {
129
  height: 80px; width: 80px; border-radius: 9999px; padding: 0;
130
  display: flex; align-items: center; justify-content: center;
 
133
  cursor: pointer; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
134
  flex-shrink: 0; z-index: 2; overflow: hidden;
135
  &:hover { transform: scale(1.05); }
 
136
  }
137
  .mic-button-color { background-color: #fecdd3; }
138
  .cam-button-color { background-color: #E0ECFF; }
139
  .dark .mic-button-color { background-color: #5C2129; }
140
  .dark .cam-button-color { background-color: #223355; }
141
  .switch-camera-button-container {
142
+ position: absolute; bottom: calc(100% + 0.65rem); left: 50%;
143
+ transform: translateX(-50%) translateY(15px) scale(0.7); z-index: 5;
144
+ opacity: 0; pointer-events: none; transition: opacity 0.35s, transform 0.35s;
 
 
 
145
  transform-origin: center bottom;
146
+ &.visible { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); pointer-events: auto; }
147
  }
148
  .switch-camera-button-content {
149
  width: 48px; height: 48px; background-color: theme('colors.custom-background');
 
170
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
171
  border: 1px solid #e5e5e5;
172
  animation: modal-fade-in 0.3s ease-out;
173
+ // اصلاح ۲: مودال و محتوایش راست‌چین شد
174
  direction: rtl;
 
 
175
  .dark & { background: #2c2c2e; color: #fff; border-color: rgba(255, 255, 255, 0.15); }
176
  .modal-header {
177
  display: flex; justify-content: space-between; align-items: center;
178
  margin-bottom: 20px; border-bottom: 1px solid #e5e5e5; padding-bottom: 16px;
 
 
 
179
  .dark & { border-color: #444; }
180
  h3 { margin: 0; font-size: 20px; color: inherit; }
181
  .close-button {
 
192
  width: 100%; padding: 12px; border-radius: 8px;
193
  border: 1px solid #ccc; background-color: #f8f8f8;
194
  color: #111; font-size: 15px;
195
+ // اصلاح ۳: متن داخل اینپوت‌ها راست‌چین شد
196
  text-align: right;
 
197
  .dark & { border-color: #555; background-color: #3a3a3c; color: #fff; }
198
  &:focus {
199
  outline: none; border-color: #0a84ff;
 
205
  }
206
  .modal-footer {
207
  display: flex; justify-content: flex-end; margin-top: 24px;
 
 
 
208
  .save-button {
209
  background-color: #0a84ff; color: #fff; border: none;
210
  padding: 12px 24px; border-radius: 8px; font-size: 16px;