ntphuc149 commited on
Commit
461505d
ยท
verified ยท
1 Parent(s): 1bb0cc2

Update src/App.js

Browse files
Files changed (1) hide show
  1. src/App.js +26 -17
src/App.js CHANGED
@@ -105,49 +105,58 @@ const HoroscopeApp = () => {
105
  }`}>
106
  <div className="max-w-6xl mx-auto p-5">
107
  {/* Header Controls */}
108
- <div className="flex justify-between items-center mb-8">
109
  {/* Theme Toggle */}
110
  <button
111
  onClick={toggleTheme}
112
- className={`flex items-center gap-2 px-4 py-2 rounded-full font-medium transition-all duration-300 ${
113
  isDarkMode
114
  ? 'bg-white bg-opacity-10 text-white hover:bg-opacity-20'
115
  : 'bg-white bg-opacity-90 text-gray-700 hover:bg-opacity-100'
116
  } shadow-lg hover:scale-105`}
117
  >
118
  <span className="text-xl">{isDarkMode ? 'โ˜€๏ธ' : '๐ŸŒ™'}</span>
119
- {isDarkMode ? 'Light Mode' : 'Dark Mode'}
120
  </button>
121
 
 
 
 
 
 
 
 
122
  {/* Gender Selection */}
123
  <div className={`flex rounded-full p-1 shadow-lg ${
124
  isDarkMode ? 'bg-white bg-opacity-10' : 'bg-white bg-opacity-90'
125
  }`}>
126
  <button
127
  onClick={() => setSelectedGender('female')}
128
- className={`px-6 py-2 rounded-full font-medium transition-all ${
129
  selectedGender === 'female'
130
  ? 'bg-pink-400 text-white shadow-md'
131
  : isDarkMode ? 'text-white hover:text-pink-300' : 'text-gray-600 hover:text-pink-400'
132
  }`}
133
  >
134
- Female
 
135
  </button>
136
  <button
137
  onClick={() => setSelectedGender('male')}
138
- className={`px-6 py-2 rounded-full font-medium transition-all ${
139
  selectedGender === 'male'
140
  ? 'bg-blue-400 text-white shadow-md'
141
  : isDarkMode ? 'text-white hover:text-blue-300' : 'text-gray-600 hover:text-blue-400'
142
  }`}
143
  >
144
- Male
 
145
  </button>
146
  </div>
147
  </div>
148
 
149
- {/* App Title */}
150
- <div className="text-center mb-10">
151
  <div className="inline-flex items-center justify-center w-16 h-16 bg-gradient-to-r from-blue-400 to-purple-500 rounded-full mb-4 shadow-lg">
152
  <span className="text-2xl text-white">๐Ÿ”ฎ</span>
153
  </div>
@@ -155,14 +164,14 @@ const HoroscopeApp = () => {
155
  </div>
156
 
157
  {/* Zodiac Signs Grid - Single Row */}
158
- <div className="flex justify-center gap-3 mb-10 overflow-x-auto pb-4">
159
  {zodiacSigns.map((sign) => (
160
  <div
161
  key={sign.id}
162
  onClick={() => setSelectedSign(sign.id)}
163
  className="flex flex-col items-center cursor-pointer transition-all duration-300 hover:scale-105 min-w-max"
164
  >
165
- <div className={`w-16 h-16 rounded-full p-1 transition-all ${
166
  selectedSign === sign.id
167
  ? 'shadow-lg'
168
  : ''
@@ -197,7 +206,7 @@ const HoroscopeApp = () => {
197
  </div>
198
 
199
  {/* Period Selection */}
200
- <div className="flex justify-center mb-8">
201
  <div className={`flex rounded-full p-1 shadow-lg ${
202
  isDarkMode ? 'bg-white bg-opacity-10' : 'bg-white bg-opacity-90'
203
  }`}>
@@ -205,7 +214,7 @@ const HoroscopeApp = () => {
205
  <button
206
  key={period.id}
207
  onClick={() => setSelectedPeriod(period.id)}
208
- className={`px-6 py-3 rounded-full font-medium transition-all ${
209
  selectedPeriod === period.id
210
  ? 'bg-blue-400 text-white shadow-md'
211
  : isDarkMode ? 'text-white hover:text-blue-300' : 'text-gray-600 hover:text-blue-400'
@@ -218,12 +227,12 @@ const HoroscopeApp = () => {
218
  </div>
219
 
220
  {/* Category Selection */}
221
- <div className="flex justify-center flex-wrap gap-3 mb-10">
222
  {categories.map((category) => (
223
  <button
224
  key={category.id}
225
  onClick={() => setSelectedCategory(category.id)}
226
- className={`flex items-center gap-2 px-4 py-2 rounded-full font-medium transition-all duration-300 shadow-lg hover:scale-105 ${
227
  selectedCategory === category.id
228
  ? 'bg-purple-400 text-white shadow-lg'
229
  : isDarkMode
@@ -244,7 +253,7 @@ const HoroscopeApp = () => {
244
  : 'bg-white bg-opacity-95'
245
  }`}>
246
  <div className="flex items-center gap-6 mb-8">
247
- <div className="w-16 h-16 rounded-full p-1 shadow-lg"
248
  style={{
249
  background: 'linear-gradient(135deg, #1D3249 0%, #96D1E2 100%)'
250
  }}>
@@ -339,4 +348,4 @@ const HoroscopeApp = () => {
339
  );
340
  };
341
 
342
- export default HoroscopeApp;
 
105
  }`}>
106
  <div className="max-w-6xl mx-auto p-5">
107
  {/* Header Controls */}
108
+ <div className="flex justify-between items-center mb-6 md:mb-8">
109
  {/* Theme Toggle */}
110
  <button
111
  onClick={toggleTheme}
112
+ className={`flex items-center gap-2 px-3 md:px-4 py-2 rounded-full font-medium transition-all duration-300 ${
113
  isDarkMode
114
  ? 'bg-white bg-opacity-10 text-white hover:bg-opacity-20'
115
  : 'bg-white bg-opacity-90 text-gray-700 hover:bg-opacity-100'
116
  } shadow-lg hover:scale-105`}
117
  >
118
  <span className="text-xl">{isDarkMode ? 'โ˜€๏ธ' : '๐ŸŒ™'}</span>
119
+ <span className="hidden sm:inline">{isDarkMode ? 'Light Mode' : 'Dark Mode'}</span>
120
  </button>
121
 
122
+ {/* App Icon - Visible on mobile */}
123
+ <div className="sm:hidden">
124
+ <div className="inline-flex items-center justify-center w-12 h-12 bg-gradient-to-r from-blue-400 to-purple-500 rounded-full shadow-lg">
125
+ <span className="text-xl text-white">๐Ÿ”ฎ</span>
126
+ </div>
127
+ </div>
128
+
129
  {/* Gender Selection */}
130
  <div className={`flex rounded-full p-1 shadow-lg ${
131
  isDarkMode ? 'bg-white bg-opacity-10' : 'bg-white bg-opacity-90'
132
  }`}>
133
  <button
134
  onClick={() => setSelectedGender('female')}
135
+ className={`px-3 md:px-6 py-2 rounded-full font-medium transition-all ${
136
  selectedGender === 'female'
137
  ? 'bg-pink-400 text-white shadow-md'
138
  : isDarkMode ? 'text-white hover:text-pink-300' : 'text-gray-600 hover:text-pink-400'
139
  }`}
140
  >
141
+ <span className="hidden sm:inline">Female</span>
142
+ <span className="sm:hidden">โ™€</span>
143
  </button>
144
  <button
145
  onClick={() => setSelectedGender('male')}
146
+ className={`px-3 md:px-6 py-2 rounded-full font-medium transition-all ${
147
  selectedGender === 'male'
148
  ? 'bg-blue-400 text-white shadow-md'
149
  : isDarkMode ? 'text-white hover:text-blue-300' : 'text-gray-600 hover:text-blue-400'
150
  }`}
151
  >
152
+ <span className="hidden sm:inline">Male</span>
153
+ <span className="sm:hidden">โ™‚</span>
154
  </button>
155
  </div>
156
  </div>
157
 
158
+ {/* App Title - Hidden on mobile */}
159
+ <div className="text-center mb-6 md:mb-10 hidden sm:block">
160
  <div className="inline-flex items-center justify-center w-16 h-16 bg-gradient-to-r from-blue-400 to-purple-500 rounded-full mb-4 shadow-lg">
161
  <span className="text-2xl text-white">๐Ÿ”ฎ</span>
162
  </div>
 
164
  </div>
165
 
166
  {/* Zodiac Signs Grid - Single Row */}
167
+ <div className="flex justify-center gap-2 md:gap-3 mb-6 md:mb-10 overflow-x-auto pb-4">
168
  {zodiacSigns.map((sign) => (
169
  <div
170
  key={sign.id}
171
  onClick={() => setSelectedSign(sign.id)}
172
  className="flex flex-col items-center cursor-pointer transition-all duration-300 hover:scale-105 min-w-max"
173
  >
174
+ <div className={`w-20 h-20 md:w-24 md:h-24 rounded-full p-0.5 transition-all ${
175
  selectedSign === sign.id
176
  ? 'shadow-lg'
177
  : ''
 
206
  </div>
207
 
208
  {/* Period Selection */}
209
+ <div className="flex justify-center mb-6 md:mb-8">
210
  <div className={`flex rounded-full p-1 shadow-lg ${
211
  isDarkMode ? 'bg-white bg-opacity-10' : 'bg-white bg-opacity-90'
212
  }`}>
 
214
  <button
215
  key={period.id}
216
  onClick={() => setSelectedPeriod(period.id)}
217
+ className={`px-4 md:px-6 py-2 md:py-3 rounded-full font-medium transition-all text-sm md:text-base ${
218
  selectedPeriod === period.id
219
  ? 'bg-blue-400 text-white shadow-md'
220
  : isDarkMode ? 'text-white hover:text-blue-300' : 'text-gray-600 hover:text-blue-400'
 
227
  </div>
228
 
229
  {/* Category Selection */}
230
+ <div className="flex justify-center flex-wrap gap-2 md:gap-3 mb-6 md:mb-10">
231
  {categories.map((category) => (
232
  <button
233
  key={category.id}
234
  onClick={() => setSelectedCategory(category.id)}
235
+ className={`flex items-center gap-2 px-3 md:px-4 py-2 rounded-full font-medium transition-all duration-300 shadow-lg hover:scale-105 text-sm md:text-base ${
236
  selectedCategory === category.id
237
  ? 'bg-purple-400 text-white shadow-lg'
238
  : isDarkMode
 
253
  : 'bg-white bg-opacity-95'
254
  }`}>
255
  <div className="flex items-center gap-6 mb-8">
256
+ <div className="w-20 h-20 rounded-full p-0.5 shadow-lg"
257
  style={{
258
  background: 'linear-gradient(135deg, #1D3249 0%, #96D1E2 100%)'
259
  }}>
 
348
  );
349
  };
350
 
351
+ export default HoroscopeApp;