@@ -7,6 +7,7 @@ import AuthContext from "../../contexts/AuthContext.js";
77import routes from "../../routes/routes.js" ;
88import { useNavigate } from "react-router" ;
99import saintImage from "../../assets/images/articles/saint.webp" ;
10+ import React from "react" ;
1011
1112
1213export default function Articles ( props ) {
@@ -16,7 +17,7 @@ export default function Articles(props) {
1617
1718 const { loadArticles, apiMethods, apiLoaded, loadApiFiles} = useAPI ( ) ;
1819 const { addStyle} = useOrderedStyles ( )
19- const { is_authenticated} = useContext ( AuthContext )
20+ const { is_authenticated, is_owner , is_superuser , is_admin , user } = useContext ( AuthContext )
2021 const [ articles , setArticles ] = useState ( [ ] ) ;
2122 const [ dayData , setDayData ] = useState ( { } ) ;
2223 const navigate = useNavigate ( ) ;
@@ -29,18 +30,18 @@ export default function Articles(props) {
2930 useEffect ( ( ) => {
3031 loadArticles ( date , feast , saint , holiday , author ) . then ( response => {
3132 setArticles ( response . data . map ( article => {
32- return < ArticleTile key = { article . id } { ... article } navigate = { navigate } />
33+ return < ArticleTile { ... article } key = { article . id } is_owner = { is_owner } is_superuser = { is_superuser } is_admin = { is_admin } navigate = { navigate } />
3334 } ) )
3435 }
3536 )
3637
3738
3839
3940
40- } , [ date , feast , saint , holiday , author ] ) ;
41+ } , [ date , feast , saint , holiday , author , user ] ) ;
4142
4243 useEffect ( ( ) => {
43- if ( apiLoaded ) {
44+ if ( apiLoaded && date ) {
4445 const { get} = apiMethods
4546 console . log ( "apiLoaded" )
4647 get ( "holidays" , { by_date : date , related : true } ) . then ( res => {
@@ -50,31 +51,31 @@ export default function Articles(props) {
5051 } else {
5152 ( async ( ) => await loadApiFiles ( ) ) ( ) ;
5253 }
53- } , [ apiLoaded ] )
54+ } , [ apiLoaded , articles ] )
5455
5556 const final = [ ]
5657 let add ;
5758
5859 final . push (
59- ( < div id = "calendar-main" >
60+ date && ( < React . Fragment key = { "calendar-main" } > < div id = "calendar-main" >
6061 < div className = "calendar" >
6162 Използван календар:
62- < p > { dayData . holidays ?. calendar } </ p >
63+ < p > { dayData ?. calendar } </ p >
6364 </ div >
6465 < div className = "saint" >
6566 < p className = "desc" > Православни светци, чествани днес:</ p >
66- { dayData ?. saint ?. map ( ( item , index ) => ( < p > { item . name } </ p > ) ) }
67+ { dayData ?. saint ?. map ( ( item , index ) => ( < p key = { item . id } > { item . name } </ p > ) ) }
6768 </ div >
6869 < div className = "feast" >
6970 < p className = "desc" > Православни празници днес:</ p >
70- { dayData ?. feast ?. map ( ( item , index ) => ( < p > { item . name } </ p > ) ) }
71+ { dayData ?. feast ?. map ( ( item , index ) => ( < p key = { item . id } > { item . name } </ p > ) ) }
7172 </ div >
72- </ div > )
73+ </ div > </ React . Fragment > )
7374 )
7475
7576 if ( is_authenticated ) {
7677 add = (
77- < >
78+ < React . Fragment key = { "add-article" } >
7879 < article className = "new-article-tile" onClick = { ( ) => navigate ( routes [ "article-create" ] ) } >
7980 < figure >
8081 < img src = { saintImage } alt = { "няма намерени картички" } />
@@ -84,20 +85,20 @@ export default function Articles(props) {
8485 < p className = "new-article-sign" > + </ p >
8586 </ main >
8687 </ article >
87- </ >
88+ </ React . Fragment >
8889 )
8990 }
9091
9192 final . push ( articles . length ? (
92- < >
93+ < React . Fragment key = { "articles" } >
9394 < p style = { { "textTransform" : "capitalize" } } > Преглед на картички от статиите</ p >
9495 < section className = "article-list" >
9596 { articles }
9697 { add }
9798 </ section >
98- </ >
99+ </ React . Fragment >
99100 ) : (
100- < >
101+ < React . Fragment key = { "no-articles" } >
101102 < section className = "article-list" >
102103 < article >
103104 < figure >
@@ -109,7 +110,7 @@ export default function Articles(props) {
109110 </ main >
110111 </ article >
111112 </ section >
112- </ >
113+ </ React . Fragment >
113114 ) )
114115
115116 return final
0 commit comments