Task #741: تغيير اسم التطبيق إلى «المراسم والعلاقات العامة»

- ar.json protocol.title: «العلاقات العامة والمراسم» → «المراسم والعلاقات العامة».
- en.json protocol.title: "Public Relations & Protocol" → "Protocol & Public Relations".
- Dev DB: UPDATE apps (slug='protocol', id 11015) name_ar/name_en to new order.
- scripts/src/seed.ts: protocol app entry updated to the new names.
- lib/db/scripts/pre-push-cleanup.ts: new idempotent step renaming the
  protocol apps row on every push so production gets the new tile name.
  Verified by running the script against dev DB ("already up to date").
- pnpm --filter @workspace/tx-os exec tsc --noEmit clean; architect review passed.
This commit is contained in:
Replit Agent
2026-07-09 10:04:39 +00:00
parent 93f0fae94b
commit 5dab20a526
4 changed files with 25 additions and 4 deletions
+1 -1
View File
@@ -1660,7 +1660,7 @@
} }
}, },
"protocol": { "protocol": {
"title": "العلاقات العامة والمراسم", "title": "المراسم والعلاقات العامة",
"menuToggle": "إظهار/إخفاء القائمة", "menuToggle": "إظهار/إخفاء القائمة",
"notes": "ملاحظات", "notes": "ملاحظات",
"statusLabel": "الحالة", "statusLabel": "الحالة",
+1 -1
View File
@@ -1533,7 +1533,7 @@
} }
}, },
"protocol": { "protocol": {
"title": "Public Relations & Protocol", "title": "Protocol & Public Relations",
"menuToggle": "Show/hide menu", "menuToggle": "Show/hide menu",
"notes": "Notes", "notes": "Notes",
"statusLabel": "Status", "statusLabel": "Status",
+21
View File
@@ -135,6 +135,27 @@ async function main(): Promise<void> {
); );
} }
// Idempotent rename of the protocol app tile: «العلاقات العامة والمراسم»
// → «المراسم والعلاقات العامة» (and matching English order). Keeps prod
// in sync with the dev DB + seed data.
if (await tableExists(client, "apps")) {
const renamed = await client.query(
`UPDATE apps
SET name_ar = 'المراسم والعلاقات العامة',
name_en = 'Protocol & Public Relations'
WHERE slug = 'protocol'
AND (name_ar <> 'المراسم والعلاقات العامة'
OR name_en <> 'Protocol & Public Relations')`,
);
if ((renamed.rowCount ?? 0) > 0) {
console.log("[pre-push] Renamed protocol app tile to «المراسم والعلاقات العامة».");
} else {
console.log("[pre-push] Protocol app tile name already up to date.");
}
} else {
console.log("[pre-push] apps table not present yet — skipping protocol rename.");
}
await client.query("COMMIT"); await client.query("COMMIT");
} catch (err) { } catch (err) {
await client.query("ROLLBACK").catch(() => {}); await client.query("ROLLBACK").catch(() => {});
+2 -2
View File
@@ -330,8 +330,8 @@ async function main() {
}, },
{ {
slug: "protocol", slug: "protocol",
nameAr: "العلاقات العامة والمراسم", nameAr: "المراسم والعلاقات العامة",
nameEn: "Public Relations & Protocol", nameEn: "Protocol & Public Relations",
descriptionAr: "حجز القاعات والاجتماعات الخارجية والهدايا والدروع", descriptionAr: "حجز القاعات والاجتماعات الخارجية والهدايا والدروع",
descriptionEn: "Room bookings, external meetings, gifts and shields", descriptionEn: "Room bookings, external meetings, gifts and shields",
iconName: "Handshake", iconName: "Handshake",