feat(FN-1978): rename schedule actions to Automation and polish mobile layout
- Rename Schedules/Scheduled Tasks labels to Automation in header and mobile navigation actions - Update desktop, tablet, and mobile header tests to assert the new Automation wording and behavior - Improve mobile schedule and routine modal spacing with token-based padding/margin updates for cards, forms, and empty states - Refresh the UX audit report to reference the Automation label in the header control inventory
This commit is contained in:
@@ -1,26 +1,30 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { readFileSync, readdirSync, statSync } from "node:fs";
|
||||
import { readFileSync, readdirSync } from "node:fs";
|
||||
import { join, relative } from "node:path";
|
||||
|
||||
const workspaceRoot = join(__dirname, "..", "..", "..", "..");
|
||||
|
||||
function listSourceFiles(dir: string): string[] {
|
||||
const entries = readdirSync(dir);
|
||||
const entries = readdirSync(dir, { withFileTypes: true });
|
||||
const files: string[] = [];
|
||||
|
||||
for (const entry of entries) {
|
||||
const path = join(dir, entry);
|
||||
const stat = statSync(path);
|
||||
const path = join(dir, entry.name);
|
||||
|
||||
if (stat.isDirectory()) {
|
||||
if (entry === "__tests__" || entry === "dist" || entry === "node_modules") {
|
||||
if (entry.isDirectory()) {
|
||||
if (
|
||||
entry.name === "__tests__" ||
|
||||
entry.name === "dist" ||
|
||||
entry.name === "node_modules" ||
|
||||
entry.name.startsWith(".")
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
files.push(...listSourceFiles(path));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!/\.(ts|tsx)$/.test(entry) || /\.test\.(ts|tsx)$/.test(entry)) {
|
||||
if (!/\.(ts|tsx)$/.test(entry.name) || /\.test\.(ts|tsx)$/.test(entry.name)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -40,13 +44,18 @@ describe("architecture hot-path contracts", () => {
|
||||
];
|
||||
const bareListTaskCalls: string[] = [];
|
||||
|
||||
const bareListTasksPattern = /\.\s*listTasks\(\)/;
|
||||
|
||||
for (const root of sourceRoots) {
|
||||
for (const file of listSourceFiles(join(workspaceRoot, root))) {
|
||||
const content = readFileSync(file, "utf-8");
|
||||
const lines = content.split("\n");
|
||||
if (!bareListTasksPattern.test(content)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const lines = content.split("\n");
|
||||
lines.forEach((line, index) => {
|
||||
if (/\.\s*listTasks\(\)/.test(line)) {
|
||||
if (bareListTasksPattern.test(line)) {
|
||||
bareListTaskCalls.push(`${relative(workspaceRoot, file)}:${index + 1}`);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user