WIP: Split up moon counter from the database #489

Draft
Vylpes wants to merge 16 commits from feature/300-moon-set into develop
4 changed files with 22 additions and 9 deletions
Showing only changes of commit 866beb0e04 - Show all commits

View file

@ -29,7 +29,18 @@ export default async function List(interaction: ButtonInteraction) {
const totalPages = Math.ceil(moons[1] / pageLength);
const description = moons[0].flatMap(x => `**${x.MoonNumber} -** ${x.Description.slice(0, 15)}`);
let description = ["*none*"];
if (moons[0].length > 0) {
description = moons[0].flatMap(x => `**${x.MoonNumber} -** ${x.Description.slice(0, 15)}`);
}
const moonDifference = totalMoons - moons[1];
const isLastPage = pageNumber + 1 == totalPages || moons[0].length == 0;
if (isLastPage && moonDifference > 0) {
description.push(`...plus ${moonDifference} more untracked`);
}
const embed = new EmbedBuilder()
.setTitle(`${member?.user.username}'s Moons`)
@ -48,7 +59,7 @@ export default async function List(interaction: ButtonInteraction) {
.setCustomId(`moons list ${userId} ${pageNumber + 1}`)
.setLabel("Next")
.setStyle(ButtonStyle.Primary)
.setDisabled(pageNumber + 1 == totalPages));
.setDisabled(isLastPage));
await interaction.update({
embeds: [ embed ],

View file

@ -22,6 +22,13 @@ export default async function ListMoons(interaction: CommandInteraction) {
description = moons[0].flatMap(x => `**${x.MoonNumber} -** ${x.Description.slice(0, 15)}`);
}
const moonDifference = totalMoons - moons[1];
const isLastPage = page + 1 == totalPages || moons[0].length == 0;
if (isLastPage && moonDifference > 0) {
description.push(`...plus ${moonDifference} more untracked`);
}
const embed = new EmbedBuilder()
.setTitle(`${user.username}'s Moons`)
.setColor(EmbedColours.Ok)
@ -39,7 +46,7 @@ export default async function ListMoons(interaction: CommandInteraction) {
.setCustomId(`moons list ${user.id} ${page + 1}`)
.setLabel("Next")
.setStyle(ButtonStyle.Primary)
.setDisabled(page + 1 == totalPages || moons[0].length == 0));
.setDisabled(isLastPage));
await interaction.reply({
embeds: [ embed ],

View file

@ -14,7 +14,7 @@ export default class Moon extends BaseEntity {
@Column()
MoonNumber: number;
@Column()
Description: string;

View file

@ -1,5 +0,0 @@
import DefaultValues from "../constants/DefaultValues";
import UserSetting from "../database/entities/UserSetting";
export default class UserSettingsHelper {
}