PDPA Features: ✅ Cookie consent banner ✅ Consent logging API ✅ Admin dashboard ✅ Privacy Policy ✅ Terms & Conditions Technical: ✅ Astro 5.x + Tailwind v4 ✅ Docker on port 80 ✅ SQLite database ✅ 15 pages built Ready for Easypanel deployment.
30 lines
737 B
JavaScript
30 lines
737 B
JavaScript
class StyledDebugInfoFormatter {
|
|
#textStyler;
|
|
#maxPadding = 25;
|
|
constructor({
|
|
textStyler
|
|
}) {
|
|
this.#textStyler = textStyler;
|
|
}
|
|
format(info) {
|
|
let output = "";
|
|
for (const [label, value] of info) {
|
|
const padding = this.#maxPadding - label.length;
|
|
const [first, ...rest] = Array.isArray(value) ? value : [value];
|
|
let richtext = `
|
|
${this.#textStyler.bold(label)}${" ".repeat(padding)}${this.#textStyler.green(first)}`;
|
|
if (rest.length > 0) {
|
|
for (const entry of rest) {
|
|
richtext += `
|
|
${" ".repeat(this.#maxPadding)}${this.#textStyler.green(entry)}`;
|
|
}
|
|
}
|
|
output += richtext;
|
|
}
|
|
return output.trim();
|
|
}
|
|
}
|
|
export {
|
|
StyledDebugInfoFormatter
|
|
};
|