mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-10 07:03:08 -04:00
[nextgen/cardstack] big improvements
- Implement return types - page numbers - better subpage resolve delay - error handling and system error cards - code cleanup
This commit is contained in:
parent
7e850e5b5d
commit
18bd28591c
6 changed files with 249 additions and 125 deletions
|
@ -1,10 +1,10 @@
|
|||
const { anime, animeSupplemental} = require('#api');
|
||||
const { PERMISSION_GROUPS, OMNI_ANIME_FORMAT_TYPES, COLORS_HEX} = require('#constants');
|
||||
|
||||
const { createDynamicCardStack } = require("#cardstack");
|
||||
const { createDynamicCardStack, CARD_STACK_CONSTANTS } = require("#cardstack");
|
||||
|
||||
const { hexToDecimalColor } = require("#utils/color");
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
const { createEmbed, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
const { smallPill, link, pill, stringwrapPreserveWords, timestamp, TIMESTAMP_FLAGS} = require('#utils/markdown');
|
||||
const { editOrReply } = require('#utils/message');
|
||||
|
@ -106,7 +106,7 @@ module.exports = {
|
|||
if(!pages.length) return editOrReply(context, createEmbed("warning", context, `No results found.`))
|
||||
|
||||
createDynamicCardStack(context, {
|
||||
cards: formatPaginationEmbeds(pages),
|
||||
cards: pages,
|
||||
interactive: {
|
||||
episodes_button: {
|
||||
label: "Episodes",
|
||||
|
@ -152,7 +152,15 @@ module.exports = {
|
|||
return page(card)
|
||||
})
|
||||
|
||||
return formatPaginationEmbeds(cards);
|
||||
return {
|
||||
type: CARD_STACK_CONSTANTS.RESOLVE_CALLBACK_TYPES.SUBSTACK,
|
||||
cards: cards.length >= 1 ? cards : [
|
||||
// This happens if the episode metadata resolver fails.
|
||||
page(createEmbed("defaultNoFooter", context, {
|
||||
description: `-# ${pg.getState("name")} › **Episodes**\n## Episodes Unavailable\n\nWe're unable to display episode details for this content.`
|
||||
}))
|
||||
],
|
||||
};
|
||||
}
|
||||
},
|
||||
characters_button: {
|
||||
|
@ -190,7 +198,10 @@ module.exports = {
|
|||
return page(card)
|
||||
})
|
||||
|
||||
return formatPaginationEmbeds(cards);
|
||||
return {
|
||||
type: CARD_STACK_CONSTANTS.RESOLVE_CALLBACK_TYPES.SUBSTACK,
|
||||
cards: cards
|
||||
};
|
||||
}
|
||||
},
|
||||
related_button: {
|
||||
|
@ -214,9 +225,12 @@ module.exports = {
|
|||
|
||||
let cards = episodes.response.body.relations.map((e) => renderAnimeResultsPage(context, e, false))
|
||||
|
||||
return formatPaginationEmbeds(cards);
|
||||
return {
|
||||
type: CARD_STACK_CONSTANTS.RESOLVE_CALLBACK_TYPES.SUBSTACK,
|
||||
cards: cards
|
||||
};
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
});
|
||||
}catch(e){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue