{"version":3,"file":"useMemos-fuwECHhe.js","sources":["../../../app/javascript/entrypoints/pages/FavoritesPage/hooks/useMemos.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nimport type { Memo, Pagination } from '../../../output/models';\n\nimport { config } from '../../../config';\nimport { FavoritesApi } from '../../../output/apis/FavoritesApi';\nimport type { GetFavoriteMemosRequest } from '../../../output/apis/FavoritesApi';\n\ninterface Response {\n memos: Memo[] | undefined;\n loading: boolean;\n pagination: Pagination | undefined;\n}\n\nexport const useMemos = (selectedIndex: number, page: string): Response => {\n const [memos, setMemos] = useState(undefined);\n const [loading, setLoading] = useState(false);\n const [pagination, setPagination] = useState(undefined);\n const [currentPage, setCurrentPage] = useState('');\n const selected = selectedIndex === 2;\n const req: GetFavoriteMemosRequest = { page };\n\n useEffect(() => {\n if (!selected || currentPage === page) {\n return;\n }\n\n setLoading(true);\n\n new FavoritesApi(config)\n .getFavoriteMemos(req)\n .then((res) => {\n setMemos(res.data);\n\n if (res.pagination.count > 20) {\n setPagination(res.pagination);\n }\n })\n .catch((e) => {\n console.log(e);\n })\n .finally(() => {\n setLoading(false);\n setCurrentPage(page);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected, page]);\n\n return { memos, loading, pagination };\n};\n"],"names":["useMemos","selectedIndex","page","memos","setMemos","useState","loading","setLoading","pagination","setPagination","currentPage","setCurrentPage","selected","req","useEffect","FavoritesApi","config","res","e"],"mappings":"ohBAca,MAAAA,EAAW,CAACC,EAAuBC,IAA2B,CACzE,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAA6B,MAAS,EAC1D,CAACC,EAASC,CAAU,EAAIF,WAAkB,EAAK,EAC/C,CAACG,EAAYC,CAAa,EAAIJ,EAAAA,SAAiC,MAAS,EACxE,CAACK,EAAaC,CAAc,EAAIN,WAAiB,EAAE,EACnDO,EAAWX,IAAkB,EAC7BY,EAA+B,CAAE,KAAAX,GAEvCY,OAAAA,EAAAA,UAAU,IAAM,CACV,CAACF,GAAYF,IAAgBR,IAIjCK,EAAW,EAAI,EAEX,IAAAQ,EAAaC,CAAM,EACpB,iBAAiBH,CAAG,EACpB,KAAMI,GAAQ,CACbb,EAASa,EAAI,IAAI,EAEbA,EAAI,WAAW,MAAQ,IACzBR,EAAcQ,EAAI,UAAU,CAC9B,CACD,EACA,MAAOC,GAAM,CACZ,QAAQ,IAAIA,CAAC,CAAA,CACd,EACA,QAAQ,IAAM,CACbX,EAAW,EAAK,EAChBI,EAAeT,CAAI,CAAA,CACpB,EAAA,EAEF,CAACU,EAAUV,CAAI,CAAC,EAEZ,CAAE,MAAAC,EAAO,QAAAG,EAAS,WAAAE,EAC3B"}