@@ -140,14 +140,16 @@ function DailyNotices({
140140 filter,
141141 query,
142142 tab,
143- isLoaded,
143+ dailyNoticesLoaded,
144+ timetablNewsLoaded,
144145 dailyNotices,
145146 timetablNews,
146147} : {
147148 filter : NoticeYear ;
148149 query : string ;
149150 tab : number ;
150- isLoaded : boolean ;
151+ timetablNewsLoaded : boolean ;
152+ dailyNoticesLoaded : boolean ;
151153 dailyNotices : TimetablNotice [ ] ;
152154 timetablNews : TimetablNotice [ ] ;
153155} ) {
@@ -158,7 +160,12 @@ function DailyNotices({
158160 ) ;
159161
160162 return (
161- < Skeleton isLoaded = { isLoaded } rounded = { 5 } minH = { 10 } minW = { 40 } >
163+ < Skeleton
164+ isLoaded = { tab ? ! timetablNewsLoaded : ! dailyNoticesLoaded }
165+ rounded = { 5 }
166+ minH = { 10 }
167+ minW = { 40 }
168+ >
162169 < Flex direction = { "column" } align = "center" gap = { 8 } >
163170 { notices . length ? (
164171 notices ?. map ( ( notice , index ) => {
@@ -186,13 +193,19 @@ function DailyNotices({
186193}
187194
188195export default function Announcements ( ) {
189- const { data : timetablNews } = useTimetablNews ( {
190- initialData : ( useLoaderData ( ) as [ { data : TimetablCmsAnnouncement [ ] } ] ) [ 0 ] ,
191- } ) ;
196+ const { data : timetablNews , isLoading : timetablNewsLoaded } = useTimetablNews (
197+ {
198+ initialData : (
199+ useLoaderData ( ) as [ { data : TimetablCmsAnnouncement [ ] } ]
200+ ) [ 0 ] ,
201+ }
202+ ) ;
192203
193- const { data : dailyNotices } = useDailyNotices ( {
194- initialData : ( useLoaderData ( ) as [ unknown , ApiDailyNews ] ) [ 1 ] ,
195- } ) ;
204+ const { data : dailyNotices , isLoading : dailyNoticesLoaded } = useDailyNotices (
205+ {
206+ initialData : ( useLoaderData ( ) as [ unknown , ApiDailyNews ] ) [ 1 ] ,
207+ }
208+ ) ;
196209
197210 const [ tabIndex , setTabIndex ] = useState ( 0 ) ;
198211 const handleTabsChange = ( index : number ) => {
@@ -267,8 +280,9 @@ export default function Announcements() {
267280 query = { query }
268281 tab = { tab }
269282 timetablNews = { timetablNews }
270- isLoaded
271283 dailyNotices = { dailyNotices }
284+ timetablNewsLoaded = { timetablNewsLoaded }
285+ dailyNoticesLoaded = { dailyNoticesLoaded }
272286 />
273287 </ TabPanel >
274288 ) ) }
0 commit comments