File tree Expand file tree Collapse file tree 2 files changed +30
-11
lines changed Expand file tree Collapse file tree 2 files changed +30
-11
lines changed Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ import { ContextQuote } from '@/context/ContextQuote'
44import { QuoteType } from '@/types/types'
55import { Skeleton } from '@/components/ui/skeleton'
66import { fetchQuote } from '@/api/fetchQuote'
7- import { getItemFromSessionStorage } from '@/utils/getItemFromSessionStorage '
7+ import { useLoadQuote } from '@/hooks/useLoadQuote '
88
99const Quote = ( ) => {
1010 const contextContentLoaded = useContext ( ContextContentLoaded )
@@ -34,16 +34,7 @@ const Quote = () => {
3434 setIsLoading ( false )
3535 } , [ isLoading , setContentLoaded ] )
3636
37- useEffect ( ( ) => {
38- const parsedStorageData = getItemFromSessionStorage ( )
39- setQuote ( parsedStorageData ?. quote || null )
40-
41- if ( ! parsedStorageData ?. quote ) {
42- loadQuote ( )
43- } else {
44- setContentLoaded ( ( prev ) => ( { ...prev , quote : true } ) )
45- }
46- } , [ loadQuote , setContentLoaded ] )
37+ useLoadQuote ( loadQuote , setContentLoaded , setQuote )
4738
4839 return (
4940 < section className = "w-full max-w-7xl" ref = { quoteRef } >
Original file line number Diff line number Diff line change 1+ 'use client'
2+
3+ import { Dispatch , SetStateAction , useEffect } from 'react'
4+ import { QuoteType } from '@/types/types'
5+ import { getItemFromSessionStorage } from '@/utils/getItemFromSessionStorage'
6+
7+ export const useLoadQuote = (
8+ loadQuote : ( ) => Promise < void > ,
9+ setContentLoaded : Dispatch <
10+ SetStateAction < {
11+ posts : boolean
12+ quote : boolean
13+ users : boolean
14+ } >
15+ > ,
16+ setQuote : Dispatch < SetStateAction < QuoteType | null > >
17+ ) => {
18+ useEffect ( ( ) => {
19+ const parsedStorageData = getItemFromSessionStorage ( )
20+ setQuote ( parsedStorageData ?. quote || null )
21+
22+ if ( ! parsedStorageData ?. quote ) {
23+ loadQuote ( )
24+ } else {
25+ setContentLoaded ( ( prev ) => ( { ...prev , quote : true } ) )
26+ }
27+ } , [ loadQuote , setContentLoaded , setQuote ] )
28+ }
You can’t perform that action at this time.
0 commit comments