@@ -10,16 +10,18 @@ import apiClient from '../../services/apiClient';
10
10
const CalendarPage = ( ) => {
11
11
const [ date , setDate ] = useState ( new Date ( ) ) ;
12
12
const [ outfitDates , setOutfitDates ] = useState ( [ ] ) ;
13
-
14
- const onChange = ( date ) => {
15
- setDate ( date ) ;
16
- } ;
13
+ const [ todayHasOutfit , setTodayHasOutfit ] = useState ( false ) ;
17
14
18
15
useEffect ( ( ) => {
19
16
const fetchOutfitDates = async ( ) => {
20
17
try {
21
- const response = await apiClient . get ( '/outfit/dates' ) ; // Cambia la ruta según tu API
22
- setOutfitDates ( response . data ) ;
18
+ const response = await apiClient . get ( '/day/all' ) ;
19
+ const datesWithOutfit = response . data . filter ( day => day . outfitId !== null ) . map ( day => new Date ( day . date ) ) ;
20
+ setOutfitDates ( datesWithOutfit ) ;
21
+
22
+ const todayDateString = new Date ( ) . toISOString ( ) . split ( 'T' ) [ 0 ] ;
23
+ const todayHasOutfit = datesWithOutfit . some ( date => date . toISOString ( ) . split ( 'T' ) [ 0 ] === todayDateString ) ;
24
+ setTodayHasOutfit ( todayHasOutfit ) ;
23
25
} catch ( error ) {
24
26
console . error ( 'Error fetching outfit dates:' , error ) ;
25
27
}
@@ -28,15 +30,24 @@ const CalendarPage = () => {
28
30
fetchOutfitDates ( ) ;
29
31
} , [ ] ) ;
30
32
33
+ const onChange = ( date ) => {
34
+ setDate ( date ) ;
35
+ } ;
36
+
31
37
const tileClassName = ( { date, view } ) => {
38
+ if ( view === 'month' && date . toDateString ( ) === new Date ( ) . toDateString ( ) ) {
39
+ return todayHasOutfit ? 'highlight-today' : null ;
40
+ }
32
41
if ( view === 'month' ) {
33
42
const dateString = date . toISOString ( ) . split ( 'T' ) [ 0 ] ;
34
- if ( outfitDates . includes ( dateString ) ) {
43
+ if ( outfitDates . some ( outfitDate => outfitDate . toISOString ( ) . split ( 'T' ) [ 0 ] === dateString ) ) {
35
44
return 'highlight' ;
36
45
}
37
46
}
38
47
return null ;
39
48
} ;
49
+
50
+
40
51
41
52
return (
42
53
< div className = 'col-12' >
@@ -68,3 +79,5 @@ const CalendarPage = () => {
68
79
69
80
export default CalendarPage ;
70
81
82
+
83
+
0 commit comments