Ezmary commited on
Commit
53398ed
·
verified ·
1 Parent(s): 5f81b28

Update src/App.scss

Browse files
Files changed (1) hide show
  1. src/App.scss +156 -3
src/App.scss CHANGED
@@ -1,4 +1,158 @@
1
- /* --- START: استایل‌های مودال که به انتهای App.scss اضافه می‌شود --- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  .modal-overlay {
3
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
4
  background-color: rgba(0, 0, 0, 0.7);
@@ -49,5 +203,4 @@
49
  @keyframes modal-fade-in {
50
  from { opacity: 0; transform: scale(0.9); }
51
  to { opacity: 1; transform: scale(1); }
52
- }
53
- /* --- END: استایل‌های مودال --- */
 
1
+ // src/App.scss (نسخه نهایی و تصحیح شده برای رفع مشکل ظاهری)
2
+
3
+ // 1. Import Tailwind's base, components, and utilities
4
+ @import 'tailwindcss/base';
5
+ @import 'tailwindcss/components';
6
+ @import 'tailwindcss/utilities';
7
+
8
+ // 2. Define CSS Variables (از کد شما)
9
+ :root {
10
+ --radius: 0.625rem;
11
+ --radius-md: 0.5rem;
12
+ --background: oklch(1 0 0);
13
+ --foreground: oklch(0.145 0 0);
14
+ --popover: oklch(1 0 0);
15
+ --popover-foreground: oklch(0.145 0 0);
16
+ --border: oklch(0.922 0 0);
17
+ }
18
+ .dark {
19
+ --background: oklch(0.145 0 0);
20
+ --foreground: oklch(0.985 0 0);
21
+ --popover: oklch(0.205 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: theme('colors.custom-border');
30
+ box-sizing: border-box;
31
+ }
32
+ body {
33
+ @apply bg-custom-background text-custom-foreground;
34
+ 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";
35
+ margin: 0; padding: 0;
36
+ }
37
+ }
38
+
39
+ /* --- START: استایل‌های اصلی و جدید برای چیدمان و عناصر --- */
40
+ .loading-screen {
41
+ display: flex; align-items: center; justify-content: center;
42
+ height: 100vh; font-size: 1.2rem;
43
+ color: theme('colors.custom-foreground');
44
+ }
45
+
46
+ .main-wrapper {
47
+ min-height: 100vh;
48
+ display: flex;
49
+ flex-direction: column;
50
+ position: relative; /* برای جای‌گیری درست عناصر داخلی */
51
+ }
52
+
53
+ .header-controls {
54
+ display: flex; padding: 0.75rem 1rem; justify-content: space-between; align-items: center;
55
+ width: 100%; position: absolute; top: 0; left: 0; z-index: 50;
56
+ pointer-events: none;
57
+ > div, > button { pointer-events: auto; }
58
+ }
59
+
60
+ .header-icon-button {
61
+ display: flex; align-items: center; justify-content: center; padding: 0.5rem;
62
+ width: 44px; height: 44px; border-radius: 9999px;
63
+ background-color: rgba(44, 44, 46, 0.7);
64
+ border: 1px solid rgba(255, 255, 255, 0.1);
65
+ backdrop-filter: blur(8px);
66
+ cursor: pointer; transition: all 0.2s ease-out;
67
+ .material-symbols-outlined {
68
+ opacity: 0.9;
69
+ color: oklch(0.95 0 0);
70
+ font-size: 26px;
71
+ }
72
+ &:hover { background-color: rgba(60, 60, 62, 0.8); }
73
+ &:active { transform: scale(0.95); }
74
+ }
75
+
76
+ .notification-popover-wrapper, .personality-popover-wrapper {
77
+ position: absolute; z-index: 100; opacity: 0; pointer-events: none;
78
+ transform: translateY(-10px) scale(0.95); transition: all 150ms ease-in-out;
79
+ &.open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
80
+ .popover-content {
81
+ background: rgba(44,44,46,0.95); backdrop-filter: blur(10px);
82
+ border-radius: 12px; padding: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.4);
83
+ border: 1px solid rgba(255, 255, 255, 0.1); color: oklch(0.95 0 0); font-size: 14px;
84
+
85
+ ul { list-style: none; padding: 0; margin: 0; width: 220px; }
86
+ li {
87
+ display: flex; align-items: center; justify-content: space-between;
88
+ padding: 10px 12px; border-radius: 8px; cursor: pointer; transition: background-color 150ms ease;
89
+ &:hover { background: #3a3a3c; }
90
+ &.active { color: #fff; font-weight: 500; }
91
+ div { display: flex; align-items: center; gap: 12px; }
92
+ .material-symbols-outlined { font-size: 22px; &.tick { color: #34c759; } }
93
+ }
94
+ }
95
+ }
96
+ .notification-popover-wrapper {
97
+ top: calc(1rem + 44px + 8px); right: 1rem;
98
+ .popover-content { padding: 12px 16px; width: 280px; }
99
+ }
100
+ .personality-popover-wrapper {
101
+ top: calc(1rem + 44px + 8px); left: 1rem;
102
+ }
103
+ /* --- END: استایل‌های جدید --- */
104
+
105
+
106
+ /* بخش‌های دیگر استایل که از کد شما حفظ شده‌اند */
107
+ .media-area {
108
+ flex-grow: 1; position: relative; width: 100%; height: 100%;
109
+ }
110
+ #large-logo-container {
111
+ display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
112
+ position: absolute; top: 0; left: 0; pointer-events: none;
113
+ }
114
+ .footer-controls-html-like {
115
+ width: 100%; display: flex; align-items: center; position: absolute;
116
+ bottom: 2rem; padding: 0.5rem 2.5rem; box-sizing: border-box; z-index: 20; justify-content: space-between;
117
+ }
118
+ .small-logo-footer-html-like {
119
+ position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
120
+ z-index: 1; display: flex; align-items: center; justify-content: center;
121
+ }
122
+ .control-button-wrapper { position: relative; display: flex; justify-content: center; }
123
+ .control-button {
124
+ height: 80px; width: 80px; border-radius: 9999px; padding: 0;
125
+ display: flex; align-items: center; justify-content: center;
126
+ border-width: 1px; border-color: theme('colors.custom-border');
127
+ box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
128
+ cursor: pointer; transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
129
+ flex-shrink: 0; z-index: 2; overflow: hidden;
130
+ &:hover { transform: scale(1.05); }
131
+ svg.reference-mic-svg { width: 75%; height: 75%; }
132
+ }
133
+ .mic-button-color { background-color: #fecdd3; }
134
+ .cam-button-color { background-color: #E0ECFF; }
135
+ .dark .mic-button-color { background-color: #5C2129; }
136
+ .dark .cam-button-color { background-color: #223355; }
137
+ .switch-camera-button-container {
138
+ position: absolute; bottom: calc(100% + 0.65rem); left: 50%;
139
+ transform: translateX(-50%) translateY(15px) scale(0.7); z-index: 5;
140
+ opacity: 0; pointer-events: none; transition: opacity 0.35s, transform 0.35s;
141
+ transform-origin: center bottom;
142
+ &.visible { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); pointer-events: auto; }
143
+ }
144
+ .switch-camera-button-content {
145
+ width: 48px; height: 48px; background-color: theme('colors.custom-background');
146
+ border: 1px solid theme('colors.custom-border'); border-radius: 9999px;
147
+ display: flex; align-items: center; justify-content: center;
148
+ box-shadow: 0 5px 10px rgba(0,0,0,0.12); cursor: pointer;
149
+ transition: transform 0.2s ease-out;
150
+ &:hover { transform: scale(1.12); }
151
+ &:active { transform: scale(1.03); }
152
+ svg { width: 22px; height: 22px; stroke: theme('colors.custom-foreground'); }
153
+ }
154
+
155
+ /* استایل‌های مودال */
156
  .modal-overlay {
157
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
158
  background-color: rgba(0, 0, 0, 0.7);
 
203
  @keyframes modal-fade-in {
204
  from { opacity: 0; transform: scale(0.9); }
205
  to { opacity: 1; transform: scale(1); }
206
+ }