refactor(webui): use central mailbox icon action
This commit is contained in:
25
webui/scripts/test-mailbox-icon-button-structure.mjs
Normal file
25
webui/scripts/test-mailbox-icon-button-structure.mjs
Normal file
@@ -0,0 +1,25 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const webuiDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
||||
const source = fs.readFileSync(path.join(webuiDir, "src/features/mail/MailboxPage.tsx"), "utf8");
|
||||
const styles = fs.readFileSync(path.join(webuiDir, "src/styles/mail-profiles.css"), "utf8");
|
||||
|
||||
function assert(condition, message) {
|
||||
if (!condition) throw new Error(message);
|
||||
}
|
||||
|
||||
assert(source.includes("IconButton,"), "MailboxPage must import the central IconButton");
|
||||
assert(
|
||||
source.includes('<IconButton label="i18n:govoplan-mail.clear_message_search.cc9f2800"'),
|
||||
"the clear-search action must use the central IconButton"
|
||||
);
|
||||
assert(
|
||||
!source.includes('<button type="button" onClick={() => setMessageQuery("")}'),
|
||||
"the raw clear-search button must not return"
|
||||
);
|
||||
assert(
|
||||
!styles.includes(".mailbox-search-field button"),
|
||||
"Mail must not redefine the central icon-button appearance"
|
||||
);
|
||||
Reference in New Issue
Block a user