const contract = props.contract || 'docschain.ws-protocol-63'; const componentOwnerId = props.componentOwnerId ?? 'calimero.testnet'; const redirectConfig = !componentOwnerId || componentOwnerId === 'calimero.near' ? {} : { redirect: (url) => url.replace('calimero.near', componentOwnerId) }; const transformUrl = (url) => !componentOwnerId || componentOwnerId === 'calimero.near' ? 'calimero.near' : url.replace('calimero.near', componentOwnerId); const author = props.author; const getDateLastEdit = (timestamp) => { const date = new Date(Number(timestamp) / 1e6); const dateString = `${date.toLocaleDateString()} / ${date.toLocaleTimeString()}`; return dateString; }; const allArticleIds = Near.calimeroView(contract, 'get_article_ids_paged', {}); console.log(allArticleIds); const allArticles = allArticleIds .map((articleId) => { return { id: articleId, data: Near.calimeroView(contract, 'get_article', { article_id: articleId, }), }; }) .filter((article) => article.data.author == author); console.log(allArticles); return ( <ol> {allArticles && allArticles.map((article) => ( <li key={article.id}> <a href={transformUrl( `#/calimero.near/widget/Calimero.DocsChain.ArticleView?articleId=${article.id}&blockHeight=${article.data.blockHeight}&lastEditor=${article.data.lastEditor}`, )} > {article.id}{' '} <small> (author: {article.data.author} {getDateLastEdit(article.data.timestamp)}) </small> </a> </li> ))} </ol> );