UNPKG

@tycoonsystems/tycoon-modules

Version:
1 lines 1.23 kB
import React from"react";import{v4 as uuidv4}from"uuid";import apiReq from"@tycoonsystems/tycoon-modules/utility/api/apiReq";const Module=a=>{const[t,i]=React.useState(!1),[,r]=React.useState(null),[o,c]=React.useState([]),[l,m]=React.useState(0),s=(React.useEffect(()=>{var e;t||(e=uuidv4(),r(e),s(0),i(!0))},[t]),async e=>{var t;a?.goto?(t=await apiReq("/p/loadforums",{goto:a?.goto,offset:e,limit:a?.limit??100}))?.data&&c(t.data):a?.par&&(t=await apiReq("/p/loadforums",{par:a?.par,offset:e,limit:a?.limit??100}))?.data&&c(t.data)}),u=React.useCallback(e=>{e?.currentTarget?.getAttribute&&(e=e.currentTarget.getAttribute("i"),m(Number(e)),s(e*a?.limit??100))});var e=[l-2,l-1,l,l+1,l+2];return React.createElement("div",{className:a.className+" LoadForums_Container"},o?.map?o.map((e,t)=>React.createElement("div",{key:t},React.createElement("div",{className:"LoadForums_ThreadLinkContainer"},React.createElement("a",{href:""+(e?.goto??e?.par??"/c/"+e.id)},e?.name??e.id)))):null,React.createElement("ul",{className:"PaginationContainer"},e.map((e,t)=>-1<e&&e>=l&&100<=o?.length?React.createElement("li",{className:e==l?"ActivePage":"",scope:"itemOffset",hierarchy:"slave",key:t,i:e,onClick:u},e+1):null)))};export default Module;