mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-09 06:33:05 -04:00
[nextgen] implement timeout
This commit is contained in:
parent
c2630da9e2
commit
4e62cecf0f
2 changed files with 65 additions and 30 deletions
|
@ -7,6 +7,8 @@ const { acknowledge } = require('#utils/interactions');
|
|||
const { smallPill, link, pill, stringwrap, stringwrapPreserveWords} = require('#utils/markdown');
|
||||
const { editOrReply } = require('#utils/message');
|
||||
|
||||
const DynamicCardStack = require("../../../labscore/cardstack/DynamicCardStack");
|
||||
|
||||
function renderAnimeResultsPage(context, res){
|
||||
let result = createEmbed("default", context, {
|
||||
author: {
|
||||
|
@ -57,7 +59,8 @@ function renderAnimeResultsPage(context, res){
|
|||
}
|
||||
|
||||
return page(result, {}, {
|
||||
episodes_key: res.supplemental.episodes
|
||||
episodes_key: res.supplemental.episodes,
|
||||
name: res.title
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -94,9 +97,8 @@ module.exports = {
|
|||
|
||||
if(!pages.length) return editOrReply(context, createEmbed("warning", context, `No results found.`))
|
||||
|
||||
await paginator.createPaginator({
|
||||
context,
|
||||
pages: formatPaginationEmbeds(pages),
|
||||
new DynamicCardStack(context, {
|
||||
cards: formatPaginationEmbeds(pages),
|
||||
interactive: {
|
||||
episodes_button: {
|
||||
// Button Label
|
||||
|
@ -107,16 +109,36 @@ module.exports = {
|
|||
condition: (page)=>{
|
||||
return (page.getState("episodes_key") !== null)
|
||||
},
|
||||
renderLoadingState: (pg) => {
|
||||
return createEmbed("default", context, {
|
||||
description: `-# ${pg.getState("name")} > **Episodes**`,
|
||||
image: {
|
||||
url: `https://bignutty.gitlab.io/webstorage4/v2/assets/loading/04_chat_loading.1zn1ocfb72tc.gif`
|
||||
}
|
||||
})
|
||||
},
|
||||
// Will resolve all conditions at paginator creation time
|
||||
precompute_conditions: true,
|
||||
resolvePage: (page)=>{
|
||||
resolvePage: (pg)=>{
|
||||
// If an interactive button for this index hasn't been
|
||||
// resolved yet, run this code
|
||||
page.getState("episodes_key"); // -> supplemental key
|
||||
pg.getState("episodes_key"); // -> supplemental key
|
||||
|
||||
/* Resolve supplemental key via api */
|
||||
console.log("get episodes for " + pg.getState("episodes_key"))
|
||||
|
||||
return [...cards];
|
||||
let i = 0;
|
||||
return [
|
||||
createEmbed("default", context, {
|
||||
description: `-# ${pg.getState("name")} > **Episodes**\n\nepisode page ${i++}`,
|
||||
}),
|
||||
createEmbed("default", context, {
|
||||
description: `-# ${pg.getState("name")} > **Episodes**\n\nepisode page ${i++}`,
|
||||
}),
|
||||
createEmbed("default", context, {
|
||||
description: `-# ${pg.getState("name")} > **Episodes**\n\nepisode page ${i++}`,
|
||||
})
|
||||
].map((p)=>page(p));
|
||||
}
|
||||
},
|
||||
characters_button: {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue