From bdc19d5012c9a67999ef9db43b46d6ffcbb79d0a Mon Sep 17 00:00:00 2001 From: riyadhafraa <49757212-riyadhafraa@users.noreply.replit.com> Date: Tue, 28 Apr 2026 09:03:59 +0000 Subject: [PATCH] Prevent duplicate app permission entries from being saved Original task (#91): The `app_permissions` join table had no unique constraint, allowing the same `(app_id, permission_id)` pair to be inserted repeatedly. The Admin Panel restriction had grown to 24 duplicate rows. This change prevents that recurring at the DB level and verifies that the existing conflict-safe insert path keeps working. Schema change: - `lib/db/src/schema/apps.ts`: added a composite primary key on `(app_id, permission_id)` for `appPermissionsTable`, matching the pattern used by other join tables in this repo (rolePermissions, userRoles, groupApps, etc.). This is enforced at the database level. DB migration: - Cleaned up the 23 duplicate rows still present in the DB before applying the constraint (kept the earliest row per pair using `ctid`), then ran `pnpm --filter @workspace/db run push` to sync the schema. Verified the new primary key `app_permissions_app_id_permission_id_pk` rejects duplicate inserts. Graceful handling of duplicates: - The seed script (`scripts/src/seed.ts`) already uses `.onConflictDoNothing()` when inserting into `app_permissions`. With the new primary key, that call is now properly idempotent (no longer silently allowing duplicates). - There is currently no HTTP route or admin UI that POSTs into `app_permissions` (the task description listed `routes/apps.ts` as a relevant file, but no such handler exists today). The constraint itself is what prevents future regressions, and any future endpoint should follow the seed's `.onConflictDoNothing()` pattern. Tests: - Added `artifacts/api-server/tests/app-permissions-unique.test.mjs` with two cases that prove the new behavior: 1. A plain duplicate INSERT fails with SQLSTATE 23505 (unique violation) and only one row remains. 2. `INSERT ... ON CONFLICT DO NOTHING` (the pattern Drizzle's `.onConflictDoNothing()` emits) handles duplicates gracefully: no error thrown, `rowCount` is 0, and exactly one row remains. - All previously-passing api-server tests for apps/groups still pass after the schema change. Replit-Task-Id: 0589a4dc-5898-4c66-8feb-3cd48289fe89 --- .../tests/app-permissions-unique.test.mjs | 83 +++ artifacts/tx-os/public/opengraph.jpg | Bin 25930 -> 25912 bytes artifacts/tx-os/src/locales/ar.json | 11 + artifacts/tx-os/src/locales/en.json | 11 + .../tx-os/src/pages/executive-meetings.tsx | 624 +++++++++++++++--- attached_assets/image_1777363139653.png | Bin 0 -> 94372 bytes lib/db/src/schema/apps.ts | 4 +- 7 files changed, 649 insertions(+), 84 deletions(-) create mode 100644 artifacts/api-server/tests/app-permissions-unique.test.mjs create mode 100644 attached_assets/image_1777363139653.png diff --git a/artifacts/api-server/tests/app-permissions-unique.test.mjs b/artifacts/api-server/tests/app-permissions-unique.test.mjs new file mode 100644 index 00000000..d4afac5d --- /dev/null +++ b/artifacts/api-server/tests/app-permissions-unique.test.mjs @@ -0,0 +1,83 @@ +import { test, before, after } from "node:test"; +import assert from "node:assert/strict"; +import pg from "pg"; + +const DATABASE_URL = process.env.DATABASE_URL; +if (!DATABASE_URL) { + throw new Error("DATABASE_URL must be set to run these tests"); +} + +const pool = new pg.Pool({ connectionString: DATABASE_URL }); + +let testAppId; +let testPermissionId; + +before(async () => { + const stamp = `${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 6)}`; + const slug = `apuq_app_${stamp}`; + const permName = `apuq.perm.${stamp}`; + + const route = `/${slug}`; + const appRes = await pool.query( + `INSERT INTO apps (slug, name_ar, name_en, route, is_active, sort_order) + VALUES ($1, $2, $3, $4, true, 999) + RETURNING id`, + [slug, slug, slug, route], + ); + testAppId = appRes.rows[0].id; + + const permRes = await pool.query( + `INSERT INTO permissions (name, description_en) VALUES ($1, $2) RETURNING id`, + [permName, permName], + ); + testPermissionId = permRes.rows[0].id; +}); + +after(async () => { + await pool.query(`DELETE FROM app_permissions WHERE app_id = $1`, [testAppId]); + await pool.query(`DELETE FROM apps WHERE id = $1`, [testAppId]); + await pool.query(`DELETE FROM permissions WHERE id = $1`, [testPermissionId]); + await pool.end(); +}); + +test("app_permissions composite primary key prevents duplicate (app_id, permission_id)", async () => { + // First insert succeeds + await pool.query( + `INSERT INTO app_permissions (app_id, permission_id) VALUES ($1, $2)`, + [testAppId, testPermissionId], + ); + + // Plain duplicate insert should fail with a unique-violation error (SQLSTATE 23505) + await assert.rejects( + pool.query( + `INSERT INTO app_permissions (app_id, permission_id) VALUES ($1, $2)`, + [testAppId, testPermissionId], + ), + (err) => err.code === "23505", + ); + + // Only one row should exist for the pair + const { rows: countRows } = await pool.query( + `SELECT COUNT(*)::int AS c FROM app_permissions WHERE app_id = $1 AND permission_id = $2`, + [testAppId, testPermissionId], + ); + assert.equal(countRows[0].c, 1); +}); + +test("ON CONFLICT DO NOTHING handles duplicate inserts gracefully (no error, no extra row)", async () => { + // Re-running the same insert with ON CONFLICT DO NOTHING should not throw + // and should not add a second row. This mirrors what `seed.ts` and any + // future admin permission management endpoint does via Drizzle's + // `.onConflictDoNothing()`. + const res = await pool.query( + `INSERT INTO app_permissions (app_id, permission_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`, + [testAppId, testPermissionId], + ); + assert.equal(res.rowCount, 0, "expected no row to be inserted on conflict"); + + const { rows: countRows } = await pool.query( + `SELECT COUNT(*)::int AS c FROM app_permissions WHERE app_id = $1 AND permission_id = $2`, + [testAppId, testPermissionId], + ); + assert.equal(countRows[0].c, 1, "exactly one row should remain after conflict-safe insert"); +}); diff --git a/artifacts/tx-os/public/opengraph.jpg b/artifacts/tx-os/public/opengraph.jpg index 326f2774f3edca446b0994e47f30cf6c64849b1c..c3ff5c902956b79a5109fa295427c5dc06abb6e4 100644 GIT binary patch delta 20560 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 aDuija7xr&|SBGP}xQD^d$EZ|1yZtw$Jc)1s delta 20648 zcmcG$2Ut_vw=Wt{6xk@E^rjmWlxiTM*S}Py7^H+IN~AYIy2@gMTQCsV7%74j>0Lua zA%JYfBuWf5fYKBqVrWWJ>30U*|8vg$-ub@s?z=CLx#pUyWUf(uW6UwfT#X$Z9UUBx znmD;QIXQQ6;Gc0G-|HdxTs@2!kDun0hj#Db;DWI~9Q>TS4juj-jbqS^(kG(XDS`kxnZwEVFLb5gPB(uRv7wZYaGd!! zW@ib`+?;`X^;*XE5K_ig+MJOrW2>xI^NNuy{c1o)+YKrGs?lE?F@_V#q2M%%&)y;w zTd@$AYWA}b+5Tc)5YWW^ylUTcOhSoKsD;Ek*$D~4P^Cv!ulJe(JytmUBatORU#B~OZ5idr)}8B z{IThldy8_9o81ek<+MsxneaZw*{E&UHM~S%$64iuj1{W$aK}?wgHp!Y@1q6AQ09u1 z%eO9zkBN705E28Uj|{uE=JhdOQxiSEFJ*g&G8UjY8vQb9IY!~#H}5PrGoNrN3+T#t z-`9n!5s8kBWxdkp_n+$L<|ZcU*0&!q$o)>p&-)^-f0sP?-L+L;0^d`;Os)M$8PB7t zSYAu~W9X3OLYrmi@~Rsp+NS#D{^Gnp4N)g~IQX3Oj&rWrIN6|iu-x4HxhoVo1aJ8B zUqlKXeZ_G4Y!cVobyfjLgUM~Nlzzxhr8cuQ0L$<~irVLA7OV9#jO+!4kV40#_bZwt z$(I0muoFa`lYW`ZrFUuOpe;;6N%c2D>B67HWS4xMm12LTSA4%5eRD?^ULN!NmuZQg zY2Yy@A=45&3n7#AN-;|KF*oIm5M-Wm*4fgR-ljP{#e2eXf=!_miRGNIUSD{4mj$Nm z9zoc(moj_y5S#Oo2zp9`LSD*SAOUI^O9#a;f}%%FC?V^t2qA~zLBxdT(0#Gwuo?${ zO9wXvL2ON_AJM5+HKQscz&Q-qLovtrsa-=u82BO*ITkDr|Mlk zQ`V|Sm#_CSPjyUpnT;*xxu`PlM77bc*}P6WdCmK^)ce`khlPvo#3t?e{E)9x-Jzk= zldA7GbD8;p!OrhXCnM7SYBkx0-EEfZ2!iO-nwlhD)vnx!EaDT_)$0;J9({aa;WgW7 z`P4gC^!mzH-0um0&xx1PPK4U6^(~(TCF%xj1;TrD6&6;Q&lnsyfXxUJ0F3A z=YCc|dE~(~?ZQ*fL-Fp031zw)* zWj}d&dGc)`=>{P-QYso@%qxnDHn~;0D=PRsOyXi*a2LHq^Uy5g$>tUR?iy^@67)ht z6i4kgyIYU^T`awk4hSO?QbA|aO)RB{O{a?6(yYr)!u$x|TIIU~2;Ww*!{}a63bRW! zkBels2B=E|aMZvk_Ipr(9^{JFnyCi_QT&nR+H~Aox<`Y=43b3m0-FOFSn@A;1jmAi z5FjTTERkhSwQA_9jLd3e4&w~XKGXh01>FHEF_=Vg#9DLK?|zs)Zs&tHB0U(ebJt*cx+lPzoMCZOe1J_>2!fVgPRlOvh(>JOP7j z7A54=paC?zO@>4~NDc~u735336a{1jImPh|`5$sUp27?E6415aKo#BNF`0cP5+j&1 z>OpY6?Nn=5Gmw3z4~ZoxAj|xfq~(vJlNv-(zzlL2^BevLwb;nQVZ>z^d+TvWGjAcv zhzExCH8$zqu{#`=EWM*#2f308O9WxN?a}Fl0@yzQMYyn7EWyLHSe{S;q^?pdC0R%Y z1yluypNDC>X_1MMy>wBH9a|t{4gw~eABeAAmd0QDO@E)WvA}Lbp(@S}U-8=sD8)e` z{3pj9`~}NYy`JI)u>c%_X8EJAIM7x>KhvP{Ag89(uEyb>X}Ubcr$N+?2e5eeuSeKH zMi`(z|K;7wPg50AReZa@c|*zHQi)o9%fxM%0*f|}A9ydNPN3aqsy|!d=;-Dwf))NT z1#Vyn@ZX{kX2@Z9E{TV`=q49d(Gaa@4p^9jnB7h4DldX(4+ zoj6LUz+y{w3);pw;&Hs^pyMW9L>I66x^O^xqO%vl1zoPhC&M5<`K?J;DBiXCLsm3Au_0AE>t%)x9sDzmaK%PYyEn@ zgX9t6J!<+-@y*L2%&Crz!v&93TOyOoC|9m*imU~%)OM;yH$K#X8a`UaSa&Wh&Qwl& zZyo-GiQR^kepqSs)^L3NeyS_7U+?^yS#qe?XjWFQid4SaGvt~GHr4b`BSS9!bGthC zKymwFdsl!S3UKY_+KoaP;*QyI_sZ|~laBw}&K{dy(NSZoXy_|V@gbP+U^L1@o~?2( zf##W}o0u3~;Tf?<-u;>I#(e6(pA!)L}KkNle;#i#%Cnt^Ekcbv+9Ki@NQ8^>P z|HDySaHbek1>H{qDVipekgV+5+-NnB{u<-N9DU+$>80pddRwprA9?@@Q7j#b1#|iV zmr@3RyuF~Pl(!FY1|+;Z-!rKEyV2?Oc+Olym>Z|^pGE?(b0&fUTsQ5wq~ji8 z+5h#&dXmKsNy;jvRE z2xV@n&F1MIFVTz|vM;c;MaS)S*Ywv6IE&Oe_$!FkI8-AQEZKAe5{j-JV8f7C1G>hc z7>Vuo0ut>2BpO|7%0?ltCv=ae=oXX zDo?}zwhgNtiE?pk7;1C4cKGw+hJMbP*6dbe0r667u)&e4|9tDZsaBK7G8XW!pU|s)0%cFwPcCW5o3a{>qtgS{(eb?0&U22Nl zgh#Eb=j!o3dnnWTJgrz_aqFpB8hrIW8nfv&rY%`alq61TsV+~2FWabPRQM|O-#P8m zt6KTM*boLYV(Z2W?!u%Tl(E1b$1`z0y>VDESZ@-H=LGDL9mItw+-=8QRCuCZI=v#j z0&5aqh)8!5QUu5e)Pl^7C72|gP&Bd^lCF^FT)Puv&t>Brr)2)@F^mfs`uYYAfI$B+ znY}%dPiTDUr;pXevcywE8b>^vSV3Bp1wYjhKe!m~Wf;y(%O%69RuQmP4E?4WYVfS6 znYFVkd-t|T2zVxRXL?PISE++PvI3Z4C$9#;?wLG~hC>ABpCIN(1O~=mu%?yQK>?LR zXYT@o%r-O{-8*|ge@y)?8C4m#?wzT0s(J++9(hzD4Awgle`{YU7n#G(O3Y1+7Zl2W z{M0OJA#m)UDW~xU?CcDoW>rQj>aPq)lg@rKE zt}|kWC_@3GizbGs%L3^p=@~M{=(tCATsN_=0GtS*O-zLN&&gN_a+F}PRq2Lyc6j~6 zXXO-Y&eT^c)zr)m6`$5|tEhYos|d_Ropma$8KR?|$G54$Qcwo<8 zk@Nr?&k`082Eb--+*8^c@6($c?`!xs>~DcnMphz6_rUgW`x-w-$jeIe#NEnm|1ASA z8W?duDkOSU<(f+MJ~CcaKpGMd62V<-^XGNd1c-9!-$4lC$#fx+W~(If5AX6qQh~oS}$O5bJ0J!jr14H>2*-} zX_5f11#N*efa5tC{=oY(wHK*9?pc-6f7{8g2oYaM;4d+a6EftoHvz*Gs5g$p!NtLK z?y}DwdqZPicHP+6w9H_1P)gEj@xtsj%s(L|_gV1SC%S5)D#~u}mSYAM-^ezWJzHmm zbPPuZvBvoal>@E62+VhV8~5?e4TrCZ;iQXX3{_8-9=0fZyi41@r_d;jQ#n2^;i*;M z*!5OzN{qky6wZ-mmaE|-V`3Jr)U!e7w439*)Lg$Zs z{aHq~JxD`|rTLGCY+6Due(W5{8&9(*27@NabzOt!;~}7Y5t*Fk*f9L=hihyX-`8it zM~Lkkct0UE$bE0xyYcy#b9K6+j=>twnct$WJ^C88nJ>i}f{&Aj-+YZ~&6k?hl~VCe zY(D%L^D-l1v1Mn6Z*MZVu-!6h*sUe)XZ`sExSD{VrZo(|`p?(xmpI-#H@tHc+?#zr z#Fe3+4G{a+*ezBPPtMGISh%LB_cluR0*x<%XOb8+#wT3gKAM<7o_+NFqUK!0e>q`S zX5W83LF-I&7`R#HPIo;Mn-5+cnrj0+yEOl@MH6BwYs?pR5T~fh^A`&2^BeZu!~(zq zdd>dub*{SLON9*}FUC+Hf;_CAd-l9tL+)9pVI`v+07?UQ1_E8sHT{2jWfJ`bOKP0^ zfopZ!soEcjWw23;jZ_0*Fwl3>p`MP;5GuV?Qc((gH5rQ%J1`n7e8kmVK{{vG8y{D8 z*91`=&m$s>JF&0WO6=5SfAfp+WhuMEsA&q*3~0^YZ3MnL*czJ@VRjPtl&;RwEYpv* zELm^$oFomXV)UnUB5k-+^N&&K)Knm(S7{1CbE61fB~e7Lsx%@gt()N^dinerRbFi93TphJa-}3?7_jr5Wv@Cf3(66Z&hbKJfd@m6n=!ZxFx=(`F9ZF4f+=u zVPK5*1SzplOKp|Hgf=MLuQg>N2kbN0xByImqn2|L}H(=>#2YE0I ztH{V{0C5WiB;W%WSok^kTQ~uqHeJ9ZDWlBEmupXvbb@(~FTbI^9V&#X*m~IiX#988 z{Cif)FcP9s3=vINK3R&e4DPYysHA3W!zfV0xaSPRRU+}iC$+w;9|oZ@$J-dsX%0^{ z7oXKa4t0^+Fj2W>kKr4LSIChU*Js-v>nt6)mr`&8)9GWW+A+y$wmR{u6Nm5-6}SvI zo2`06W*Olob}7^9L=n#}`9f7h9JXSgZG%%G`C8|Z@k>82z3A`v4W74urSds`9u$K9 zz}zkYV+amI4%lv#6`(o~;7cK!^gKLqpyXZjP861MTJ%g6!DwVUxmoDv8a)_~c7RX)#4T$;Q~J)*Aq-U=6ys`F7#i5d?3_eBgMErpuNLNdfNY&R}xQEHqxO(!2kh^OD$8<~8Txagrui(V{(@xzMmaxtsa)#YeS`{X?QMOdQQK32b1Zvz2IrUttvZ^6^r5}(hr^iETRcgNe>O^NHwn`%} z0n=mZZw^%1qXsB+1{l`Uos%vxj8PfJcAga(0%A$Zf1m`!jGaXoT)iygURubqivYUT z+VWY0yRb_02E4SFg^S7>l>2dE8@AO*DDC|`7<DipDi{&o-#1&)o!N!{rZl4lo95m zpah_~%H=(ni<(0mVcewMFfNX;czGZgCtyc8|2_%?1g7{ioXEGtw;GIBemf`CwHRDF z8`M8n7jOjxVq;SA#dEyc%DO*F8!=j1s`c;2pyq6*cY$Q9#u0E|w<7W5ogDI0 z2lQR-#hV+VR?%}f<^c4{)h%sUGHViClNk8ziNuKO=7C5eDaiVOa=zc9jqrJiRn-?$ z)Y17bvB}jv>1r6VBw2RYH*MBU&zCVwt zo2A(3JCjzlR$?!#I=$|Tn3q(!6MHUXDHL+mYSze7?z|V}rkDL@eW_K0rueZVWG!eR zW2;46Z*P~LS-`5zQ2yy?i;rziZ!b80OEd79j9OQ#o4Ka*;wkSZ)y`mJ=KQ4U(tG=~ z6$5FKa&_4vm6jh=T>fcdd|G?HKwrx8Ya^4E!ipk16~CeCwM#ED^O+kI z(Wb%|@C`B>hKQcDMAW-hVXv^m__C>SYUZ1-(^@U7mUSZU5sc9s=u$uQYRoR&wbgaj z{pk8NDShjFX1DiXSiaQSz2;!V!twTGx6zonktKuHMT19;AmkqWU^ezZ!0L}R*C5SB z?_*8D3fC7Q$0nuxTL#o-gX%?mhmH2hjhs2_zS-Em&uhw3LzA?`#7fq6ed~h6Z{oP7 zH<2~LN}ZU{XE(ZNy^BN>)Ykb9uR51K~vjfl6ncs+{Sio;gLf1AY!zprD=}cGXUv6>(~IXHc2xLWR=Z zoF}l@UY`BNy*Vh9m3)=&<@0CblryeaDc|j_lK>eM6oua zr;r^tXBXYP1H`jO6FBxdHbZNX0C=uxOXGk1t`5100bf-%nHVsOa4P~mYizbE1Kn)) z>I)dcI_Dl5u=DC=c%lSzoqQUA9ZKH4$KRa$HEhoW49mISut(6@$m+MlXB1t1LD1fD zcW+(Rnaa}c>OUTYkzDN%BsXPVR@eYe1n9eOSR=f&&zTpVC!5<-hynd7d7dYW%wJ}9=%RV>TtDHZK0?e=-q?bE?J4TcFlg?Og4 z;@+)yv89r*%jthe2<_3*6WLOP(2G(Aa>b(CuqOu9uYNuwG{x(L#_47Kt3jUP>Es|2 z%H~!Hn}<#gc3~NwY^PmPJ@B@phXyeqFoMK}Q+f`P7%&Go7BH-1m4jq+58G^26v(wh znLzbGQPjyNDC5TsqCSRaD!4n6ijW6)+nsYL;@K}9U&9fGxPwr{R+grR5h?{C;j_|p z^5*r5*hbl`Grm{2dP>PAZpvAEOdpd@d5ZTG^W(&VO;bbwI_?k&k*$gY^IWIc1)B`M zr@Vm!o>IJQU{RK6l!+h6+pMkF9}M!gd9(tMw9NEx&nnAJS|RWsG9 z3D^UPNo;vVywA;g__;1_my~cnO%W>9)orbVCaxdeL-|$X<5Tf3_))Oyzi$w3rwvVQ z$^HHOLBWA_S1`2y`|Fp6uFdPbVxm7Qe7~Ciw-ccMr!#aF=B{qT+;_crHfXT&)yVkk zL-wuscz)hkz~)!wXEVqD+rxWyZu9)QIQvH~xWjfm-}xEco&Eo_UAY4WtDc$e0~;Lo zoWVrG(2;-_$^ZV&}zDZ*!f zP9*vR50FUoVvCi!PxE14qA8wjwCnnO0tJBGE)**3WuTPQlZrSIoN7iKnT6Q+xc!E9 z4u2S3I z_E4F@>HQ~`oG7M$9dr`|QDfOZcN>NIfM5mbu0+i>eZCJ1TcT@v;n$>o*3@2O0U4~*m$Ic)i`R_sW&rmVjWW(^ks~=Z=DwvVx>}XNJs8RHVH)Py)ur~#IX)iX^ zK^gQfK0_Jw1LQdhbn%a5qE9Zbzt=mwuiSA+u!8e>h2l*=)1o_yVBV+-D3p^J)|WjQ zQsZ#h&$PrzzyeGiItlN&?1n7u{m_|Z73ttnMZsxDTF>r5fJgqL%QO$+1E+z~cdwFI zSg((no@}0?)loo$QnIpQamMX(tK&&p=o~Ova+rTjD97J?@tzgWE^RRmJk$x44(J*$ z4n|KIm_bO)vY$VMO^F-V4*aYEN?fdw=kehW+j&~x%W{9H72VIg{c!nZ|duUYriQjZGG%tqPu+Z-_n^IEAOz8URQgfy`dSkmRinR z-z6pLb=YZAclgPgT<@0nYxm!;KVoUNWX;x%%v|Hse>p2v7k*u9c`#QQD%PJDWhP2~ zu}F)E$_(zS!K_^%FRE3IZ^Ld+-Es4FN!)9nb@p}NBx8BFOCre0Gg8(zD0*XYCN?T- zFLbn}Y-(=4?MaMv`C}dNx{tH#zVV9j=O2;yHKmr+7Fp;z3H z$%j3P&zZQH40Uuo2Ii2=Uz?JPD)sj27ZZK=h=L8Y=_ zxaKA$v3B+QmzR=eDhF<8t$&}0y2|Q$-*zxuqD5dX7v<6Y$ju^UE=(63W{1#Pi% ziTcp}&Gm)7_I+uI`s|vn)(Vk*11jHv8v*~`C+`huZ!d5Gm)iVn{=c^m{kq{_y1#0_ zdLU)Eu<^4mU#AAx&k((f`m=WUXHSei@*VlFefmGTh1Ab`SfrviMivVOzO3y13r;P# zcJ*XUd71hzQ+V4xBh8B8V_{$7c38JV{x(Lfj#`2ryfb0Y9GD#0Xr$d*+(!CTC4hyC~V~x5xuq7*Nuby&l?`M!R z65cav#D@P!2hNcvcHS@tLE=F8+KCc!#cR5+KGaC~ApzZrO*=rn z_fv3}fpE#a7gyZO zEUw+p{_Z(B|Gh;q$ktQt^+Wdvm+PBnP1 zrbTS7X~>+jNM8WN(Jfm*qXC-%iL#c{?|%)Alb9|HSYRW|PygC!1YrQn~c8 zNg^*WYF3u3Wrv%er$yZGXI1Cd>2zJ!Bxq{>I7X{zruE<4hRwBCOm$_^p-5=oXG+ZP znRBB{gF2#5yYK5pG+my;JPpqkseQI35EW2Zv17=wFfcppl^{6z721{dwX0{s@m}9H zY^QqSt%7{2ZfwxTnrd6!Hf%lO>PO0(<{$J;HP$(rXr_ilN#na}mD0B zZqy8IrX?m+PcoTp+b3c7L+?P|EmYmmWv8~{fu1L_{*=$!%DKcfSM8wWgaZe7^+YZq zrOc)A1UE4m-pPE;wSf0MGrK=7eV6OIyA5-MHgyw~b(LsscL#g)6VJi$KMZ9ce}3-e zJclPWHFmbr6-Dxe1OY=XE<*uBfrA2uAQR!>ZVqFVp)^cTzz%C7{mQ)R5!RfMfI8-H z4BV6LHC{T1n+g#LUe|BriC)VmV3`ZWHTzT|Exaf=3*U(F^^>NeNuv<$# za_0@2pMS7$P9N5n_%TnU(7wOS&i3moN|0pClOlab_bSPS4>u0zI(dG+b-Zz59cl|1d0(XakdHSu)@7Y= z_Vs8ElY;ra_Qt#6nf3W{();7tHZ2RMm|H^nQ0;kzz|o}v`QW06NP3rUea9Dt=I>2| z{>d6b3bq&=IazYn<7IIM*w%Pa%--+08>Lu=?=1X%Gpmymx&#q6?;3&P4+Fwx);hPE zQ*&6eM*@_Wrc%DO_sDobG5Mjw&)NesL(y|EZ$&t53Zt@;@?$6TuML~}&ocr4w{{^g ztMI?y>x9-13HEG*)L!;XLu%arpS#e1`lU4Y=fj)#x`widjikJltBQ~2M^x`jrgh>K zbe?p%X3U9CwrBCpXLm`tMn^ju>|#%1wEsQv4SfxyuZHJU_AFm-3R%$|eY4Ombynxe zjCfXrJ7VqnYigRZqvns=`lvzthmf7Ql%3y%_pjt>m_fI+!t>1d_Gr0bqOWGt!dtC2 zd*9E_-@9tF_rLtY#9~C75w&+QT({L-Sa|OdSyw0T*VpiExcV-G@-CGJlVKZg!zCoH zk2s9!TY5zeD~>#i{`4&BY1&EkmznM|Kf76Th02$k3j7R_G%0&x41PJtbb=@os)&2Va0p2Sj?^1x z>>F~6cP~I$l&v-eUd>NS)XD zq3d+L)9uDPt0VPO)BOeEq3JEx$NqfVnt#5dcD(C|wZ?{A=o+(3_gx8$ci?WD*H#vh;6gn(TT`^9YWLZFrTMx~oE-mwj1 zx;3wEDvrLlDvyWG>mPU)j$i9*qUve6Z0?u+i#8qkakcUF=Ji?cOs5$C7;9GbyYvo9 zK*W40IU}Tz7!pCqJ@{+OFA?BH^#^%cny%=^=C|aO;x9^j6659WpEDMK?FZ90oXT-$ z$U#J-PN=1>;HO~~YsvpvyKQFppE9rzoS%OU(sni+EFGPqyuE?pE!Ra?w8AzTw|dfq z<&JEkLp?Ly=08DJ%Of{j-aoWC+q-Hsq-W+A5vd-v6cU!_HlBSYN}NfP`0>e6MR>-t zHfIe!*0K&kjzeyId_K$f!bYtozt$65HCI)cO*Ta%0i^YO$wjEJWiS)dm3lSp1#^CB zO74K(*q6<#F)wBYkvEj5Y-;-!S}mTuS=Yg^8pwDc2YfPPWw2RHbfpiFw|o z&R868&JQ$b_zc<;N|-E?tImDR7}>ey(c!?Q;lQWiquvuySK5|;04oXwZ#*>1Qknm_ z(^qtUIg8U}aWinn1M3!db6qY!X| zj;P_44c;741hKcx%ZP>#o0rzrH+7SSccC58U4q=*ivl-~pq`T% zUnkocA>*&fS)J`#P1Xeo$z>nf6U&+H$;ta_uDtNG`2MdIl0($jg>Bd|)>2kGgkNpB z=2$Uzpt*?In$aJ!7_t(nc=Z!2G@D5tp?zN;@Rw-FD(++DK<5rfm1}kBsKH;iI zdz9xWk92$zEKq=xAOE+uG-L-HV=E2mx)K})`-+vSL}p|^1x7Vg(aptTlZ&M)F0ZM~cAqK9nQ z+|5h;*5wuJpEeOGX%o0EImL(m*3Q@{nKgLQthVF|34&X=2S%`OAs52<_MR|yWhKqe zclw!agz&K2z12G6K0Rv=yp>)Vq@qwXXWcbZKfml2d6wbH8st;gdcR`3+_aDz^`4-$ z@a#~_-x7gwyZ#59&k)j?ZzOP;*a@5yKnXBlZd`^86bvNw~vlt}+R$$O&&ZT>B zzA!D?4RY&8aAHt4BK`4LRF@&JuZ zV%b$Q1>s>V;GJLb&(E^Xd*3+U4Grpvt>@{KCAcnWaHbllPcMEgv+A+#2`?9W<)O7;C0 z`?8dS6`C=M^Rv^d@U1=txwSO!MVl92XIAE>)I)Lrw83XWSz$|Q{j60r8eW(9k*2uR zF+Z6x+VIzn>M6s26cKDWCcoL7rVZUF?F-Y>M`LIVZ_S0KVR+`I_Aqtw#lqs$E$1;v zof-aJZ7BC0FvkOX(_{3byD5d>G6-#1j^)dddB9wg`Vd7 zvM%eb+wLrzoE9vY;pA=G+@j^w@n6!IM zSSA=t_{yLsh{Bc_6gY7q86M=paI*m7);KXjhAK#Sp-&1jR|WkXyZ{aX%<@Hp0-Qs3 zM6-nr0F^QU3>`lewDE3A={=Mw-*Qj>+SM(26qa^xqjnp%_-tq!_C307>z@9- z>yz8CqszK^do%Sa6P4AiF9bAwZL`)I`?d`mEqJ$V&^}T!bG4v+qvavJbpFTt{*BLk zwNZv_mP5bz&NsbLFuT#LvUPg4GfiM$f)5C}e}smH(Bb+o zvgmM$JR1W8WP3rv9oOc27N6(+Fl{sLbmnBaFQ%7y^TTHYe`;!ob@R9Ab+ZVo>)SBa zr?Dq1?^aI_HGR|9%UJh{S{9*4p_!?w5dDk8>*mcF+H~xZ1xa`D&>vA>%6_cIKI0!5 z?`K{4x|DBVvjD=bgWvRm4K6P0N{$VFZr)WjLEWbr)vT7K*i>Kd|9utC7}!{U29a8V z<-UH7(mp`U!avqgjnHr-=eut1RZ(935t=vu@kLB1kzW02?ET-V?jNCY;_x$rHfY~+ zo7>WW!M&~8*{=6rUU9q+kNZUu_C{*>wF*ctpLO4cMJ9sBNM>bqLJMC`zaCu0yo&0yiT$Dp z^7er$*qwvf0k~yr0B0Oe{NK{)9>2?=WNf+X*>e%U$)Jt}8DFM=SXC$oI|3qo6UV$Q zQwA?(P_!|(Q$P^JSElR~RoF6Q2`LQ1p==p`P?@Tn4FsMA_YJ?7T&7t=?vrp%u7n3e z5^Rz8QzpukkiC@gg2^>+T(WD(y+B30*bociDF0N1ve0bP{7W%F6oqVmdk2*xO$PO+ zUjY=Z^3TUs0vT$cj6DH5+HWURqrN_&cxYdT#JHkq$^_ z1Wib1zNMhvE4nTw`OjVUi8^3v`d1GZI|I-Mwo@J=xDawVI)QJ!8mrPSrI+?g8G259 zhVf16wk#SXbi`)ye(k&xk;qF-&g?=KII1)+Lk?OodOsF-((g}lr-b#z)PCZp@cUe;~f zu7aH?f>rYy3xbtH*xdrjT=D!BCh`20hlLj6mEr8rrl>0>R2E*zzfYVZLixylIamaM zC;&+iM+5k2&PtWlBr(Nqm8rd9{hks|1;Qg!rdg*+!iXhTrYbS9Oi5WK69!e-H3SaC z$N>_=3oQV*ZpXnh{pjcMQ^?rB`Nked8@pm@AATEDfCYDU1Ew2{B7x~XEXWo;6F&!? zYB0iliAIH({>7@`E7NEL!( zT2tQMYPlxDz0=@NB@mxj*l#|Nd@(Z<+_T-1b>X$85&*y4X(f2fc zU)+~>O}8}HLP`D4aA);&{GVLA5E0?3i@xI7)kV8Z-Io;+y_ijZ|7`Nu*4Aw$)tqk$ z&u2TEmFq(<(VrLCFhXY9$Qfg$xtZ>+%Uv@HohJXr3osndf_8l9)KRNJ!Tgq%&Qs!G z1;e?2&r0t76kpVw%6|@JY;On?grNjc9)&!{Xz92@_PUyi^oz-2x5fVQ1T4v>e8{-$ zFM<(EP>=})Y&t`S@00{C8%$JnsI_ORYKIknfUrtjd zzBOL!negfTu(%PV;-A>cx6^KRyV#UZW#?e`uZwaJ7yrknK&?`8z9GzkuVZ{eUnf|r zr@GQIF?HY0D+X+iJY9bh9EugRXL_GO=QYbbYP4K!BO2;XPGwWZrT`l}XhJ?s|6ZE*`z62X*`O z&RIh6cbf@=&=#%FlQxtmyvH_VGRr2-D#)NIuZuTy8%6|UXlQ}hb9^MVCHCx(8{T{_ z?L%%ytolPdl{J_16hDm9Kq^aW6!Sh!#W827YT z4C_x(U2A2cE}1tr>Kxq1mcCr@Wj)J!FqeAa0`b-|)RzSosAha^A_YA9_<3ovU3ts) z&BEl;rJGA3=pqjhucrb1hF6ZCQHH!gB?kJKebDPyEre+IF#3*!Rlf z*DG&+G_Iv8XEi5A(8iivn<6uwoK>aLTh}5#4MM_r-TP7ARPC*fu0)+bY03Da4rV5r zCL3Yx+cLlLZMCj+@ZP2@PQ|a>b9`0n-KK`u^5`lfTo|8eSq~)tYT7o;^~ychkgegZ zhM3N*%ITN@P2!wX;vH9I-NvObqOMx=k|+EN-F+q?ItEct#eDf;wzJ^YH;u?D>dAL4 zP-L=rew`ETX8X1Gxjj#SX@v~ZNi=b}zUryv7>#FZ z2$8R=+RE;S6DnA1TlmCk<~S`uk?`TYnqZzk_}D!ra>7N88ht}NKiF~!YOTYGVFtq8aES)?4A+=3UhSarg0#v{?d@52 zrV=CFM%KrCuVt^*E>F`}TRI0m$HaDbCEp2`hzh-goNB&j^`>maGt<>G)5$Y+4dI&- z;cnI5&3qj?9WpujkwMc5uaqrQ>jJmz3mknGna2#d=BoF30pwU@{j5S!V6hfojINa! z{DM1Sa9^gaqB_y1J@B`{M^dD@i>_phlUIQOysqAPQc-U2^^3;=Qt3fF112eH8OX)^mZ>MYPyE;WLHP%W_ zm;d$qExcE9KhfORy3Xp}AIcj$IYOOZX3!$$*MQ&Wwc6yVkdGRoC|U(FN6;NQlM;)! zi)Rl?{r315Z8_~ZaxxKdWRNu@`v*IR?Y}9Y|MtlLhXaZ@->`ks*xmmzPTu<|?f~;9 zNV5TMmVk5#iYw_6m&v(g{t76Ga7l=_A7`FTDJn)&Cd?V8eoRSt3iu`{VZ_tHIQ3K` z)fJ;jb-hThP639V>Uv4EAMp6F$V`f#EZfflwVR*@ACx%%@3z}1VDO5Ar{V?KY)1R0 zDmPBBSzp>G;X+Xa{4Xoh1WRLOpc1m96Z;h4}30HvS7amkR|H^V8&{jR_Tf|CbD7~YN& zZXvh9g(s_l>(eg6O7ZCfEo5;1L|OI(G?EOwSivxgMv7}lSi0kR5ikRoY%4##@ZHP3 zRYS5&*C|FB4e|wb?&4mNw5|7Vj4ZT`Ugw?K(%DLRHK5*QLI_*1p3J{zJyX-A1#F#P zs3(}Ocr@^&$Hdw!yNs7_TmuPkz!xh4Fv&D3B#yteL$n)osjEPY7v zFTb5tMGWm&V^ufE9dI{JOiWpxGI)enaum_d73(Q>eBJqy(EGC2kNx(MOf?VRx(GEl zMX$dH6-3w$m6aPikX7RWLY|^#{t~l@!GS_uvnV|OWi1d8&pE1-dXTL<+=^h)u6YrM z5GSR`v@in`MHEj!f~g#}lptRF{47_D2-Om-CIDB9+o{DUHJM<9CM;L9d@ z9bib^DU74Y+)Z{9TQ-M9I>EOW$o3AY5jg{F+%j|ZD650_L2Ts0`T`cn!uurb`q`ug zoCBn0&nTI=S%|0aY}mOvM&Ytbkm{<2q8Ls{<`)d_*s1Jt zt-+j_!w4N+YuTH!{F5>qt3|sS$JvzOFfTlK6w6t`FfEcM-xdRs=R&^k^3tn8CIlWV z0{@33f>`#WQQ(8za6lZU2>9;tkD^-cs4%mk1yCnN=E*^i0RoW6E2(cOMgC~2s|-+Z z8H-xX4tZWEXb->#0mTOKH=V?xFc2y?{UlFfM@oZ?!jA?0%k-mt#yvJQPCGNw!|K5( z2tjfZHmw6Gmd*$gqXy(x?{{P8Fc&+bdo@aWYW=lMAK&eB>QmP!c?90L5D-*)D`yIW z1n;D=k^p*lR`gMSC;;bxs|29Q5{sz~VCd8zr<+&;o*OUb90CFOAqN9qVz>c|YXKKi zE=h(Yq>?a_gw!arfTQGK?m2L9F2zr+_L3wa1+-%UkHJIm1Ga-FWIulZo7;nc?Uo)n zjZ}-nK-GX60u==i1IBcRG>-a#P%qBB_6*3MksazL-2v$vuc}Lui>yq#2g))$KD&9J zE$u1wv$I0@^m~dS{2n1aP_>?j-t$)8maHef)irOy8zN4lYX+v#;N?4X@OF-bJn#~P zlT}j~!2zny!5g-_UdLSg$=QvbbCD89*_a#DL1UMQydn;DDdPm8NohoRx$wHJql&uQKpjX4u%X`y8R+T7)9rj#6s#@BP=T= z{001G#0y2w78$^B%oF|!I^ZswFd^8SG58<^C^INh$>um4?6JrcHhP6oPS&zRltG65 z=}m`B7viU1F+kpm{2k;zA){IZ30*X;oOP!5OgzhE!1Rxb*JY36r&W8E>q?Ub{u*ew zTl;%;4G|N-0Qs;_e87^;QLh~K`fNXiJa5?<1hSKWFU1_aVY#a#rjShoJlWNXBLRQd z?RQ9;;s)G`E*%kS01(4p{Keux&)B_-8-q8Al6y_WKtvvNswT+va?pu-jYG&irQqE- ziULmD-HeJNEcQeNPP*Y>l~|v2VI|5IOFz@^l~a*%uHTd0lNzFP4THTz4*}K+lgNVD zDNL=`bL5H$pVG`vj_g`8M~z-7ievMHn_zolzo~N^q2kT*Q~sPrk_Sa;qGn(rjGW>I zU*>gKSSFe2>M1t@#)Lno2?v-elqokhP0XZKc#u41ZeD#p$U%0yvfPYeg+3qV@@T%K zJO8%n;#`WEWcUl6i<1dYcxV8XxB&y@>0#tSA$T}Mk=MpZUbzZvLIq%u5IhX4kph0s zC2maVRj2Y_(v**08iEeULr5+(LFSxKx`}{*7)(HL4@iVAHLcnYR<)mzw{yl;(0y~{ zk2_}w=Fpw*?mVxX2eE7h9Wv4?Yj&ZsM-J5~nTGi7b56}(6TvY*Cm>q@LEw_` zyEMVw*2T4MPt^W;pL_3po_pTUeZSv({&?T7pWp7NW*u4qDVqS1(S7JtbEHZc!MhWi z-5{zd&axD0Yr1{IvqM^M|91QL6Hh~ni$4q7)Q(^N&hpfjW{Y~TMPW|yO`)#UsBuaX zS!)#889Y)D}(EDG56F{93$)*yd{xP3eh~A^Z11B2;@_T^)6!t5R3efZ{ z{-My2AQNDs72V_MxhvAD0CNEl0ygdJ1-Ahv?y>#2BXlmx77(8!gVS$ zdB?Kz zPdp2>q^^2cTCW~V@ZI0rD)t%oDn9#Si&mXwnpS77k9mlIX) zO(kEg?WEcP6_>8r^SVwbG9fYzG$eWG?0XwQx`2ZMVQMy2kzdY^gQ*uVgL?!}h5;W6 zQ`gu~DCFXFz&YqSbm`m2-OlGEZ~f%zs!uzt92#dhuQl^55gpC)LwHb2;it)2a7 z0BuiM+cNy)GqyFqkWm{lJF=YeLuxFZY?Jo|jW^z})rS?nDpxnQz}7I2z$(_}`CxVY z7wws9$m7!I(V512(5b~b2a1|Ra?+n45}j|omX`Zy1kvPTHySttF+lEo%T0zs%Xf?Oi(&(z;h(Hq#hows}n2_v6c`3t7`_0 z1}#LOpM#v+au|i0Pz*}E^3(Byb#*1ichZ|E{vRtnquyqK|0GN6{aj0TsTt_Q( return data; } +function readJsonFromStorage(key: string, fallback: T): T { + if (typeof window === "undefined") return fallback; + try { + const raw = window.localStorage.getItem(key); + if (!raw) return fallback; + return JSON.parse(raw) as T; + } catch { + return fallback; + } +} + +function writeJsonToStorage(key: string, value: unknown): void { + if (typeof window === "undefined") return; + try { + window.localStorage.setItem(key, JSON.stringify(value)); + } catch { + /* ignore */ + } +} + +function normalizeColumns(value: unknown): ColumnSetting[] { + if (!Array.isArray(value)) return DEFAULT_COLUMNS; + const seen = new Set(); + const out: ColumnSetting[] = []; + for (const entry of value) { + if (!entry || typeof entry !== "object") continue; + const e = entry as Partial; + if (typeof e.id !== "string") continue; + if (!DEFAULT_COLUMNS.some((d) => d.id === e.id)) continue; + if (seen.has(e.id as ColumnId)) continue; + seen.add(e.id as ColumnId); + const fallback = DEFAULT_COLUMNS.find((d) => d.id === e.id)!; + const width = + typeof e.width === "number" && Number.isFinite(e.width) + ? Math.min(MAX_COL_WIDTH, Math.max(MIN_COL_WIDTH, e.width)) + : fallback.width; + out.push({ + id: e.id as ColumnId, + visible: typeof e.visible === "boolean" ? e.visible : true, + width, + }); + } + // Append any defaults that were missing (e.g. new columns added later). + for (const def of DEFAULT_COLUMNS) { + if (!seen.has(def.id)) out.push({ ...def }); + } + return out; +} + export default function ExecutiveMeetingsPage() { const { t, i18n } = useTranslation(); const [, setLocation] = useLocation(); @@ -520,6 +621,48 @@ function ScheduleSection({ font: FontPrefs; }) { const tableStyle = buildFontStyle(font); + const [columns, setColumns] = useState(() => + normalizeColumns(readJsonFromStorage(COLS_STORAGE_KEY, DEFAULT_COLUMNS)), + ); + const [rowColors, setRowColors] = useState>(() => + readJsonFromStorage>(ROW_COLORS_STORAGE_KEY, {}), + ); + + useEffect(() => { + writeJsonToStorage(COLS_STORAGE_KEY, columns); + }, [columns]); + + useEffect(() => { + writeJsonToStorage(ROW_COLORS_STORAGE_KEY, rowColors); + }, [rowColors]); + + const visibleColumns = columns.filter((c) => c.visible); + + const setColumnWidth = useCallback((id: ColumnId, width: number) => { + setColumns((prev) => + prev.map((c) => + c.id === id + ? { + ...c, + width: Math.min(MAX_COL_WIDTH, Math.max(MIN_COL_WIDTH, width)), + } + : c, + ), + ); + }, []); + + const setRowColor = useCallback((meetingId: number, colorKey: string) => { + setRowColors((prev) => { + const next = { ...prev }; + if (colorKey === "default") { + delete next[meetingId]; + } else { + next[meetingId] = colorKey; + } + return next; + }); + }, []); + return (
@@ -529,15 +672,22 @@ function ScheduleSection({ > {t("executiveMeetings.scheduleHeading")} -
@@ -546,53 +696,75 @@ function ScheduleSection({
- - - - + {visibleColumns.map((c) => ( + + ))} - - - - + {visibleColumns.map((c, idx) => { + const isLast = idx === visibleColumns.length - 1; + const align = + c.id === "number" || c.id === "time" ? "text-center" : "text-start"; + return ( + + ); + })} {isLoading && ( - )} {!isLoading && meetings.length === 0 && ( - )} {meetings.map((m) => ( - + setRowColor(m.id, key)} + /> ))}
- {t("executiveMeetings.col.number")} - - {t("executiveMeetings.col.meeting")} - - {t("executiveMeetings.col.attendees")} - - {t("executiveMeetings.col.time")} - + {t(`executiveMeetings.col.${c.id}`)} + {!isLast && ( + setColumnWidth(c.id, c.width + delta)} + /> + )} +
+ {t("common.loading")}
+ {t("executiveMeetings.noMeetings")}
@@ -601,25 +773,330 @@ function ScheduleSection({ ); } +function ResizeHandle({ + isRtl, + onResize, +}: { + isRtl: boolean; + onResize: (delta: number) => void; +}) { + const startXRef = useRef(null); + + const onPointerDown = (e: React.PointerEvent) => { + e.preventDefault(); + e.stopPropagation(); + (e.target as HTMLDivElement).setPointerCapture(e.pointerId); + startXRef.current = e.clientX; + }; + + const onPointerMove = (e: React.PointerEvent) => { + if (startXRef.current === null) return; + const raw = e.clientX - startXRef.current; + // In RTL the trailing edge is on the LEFT, so dragging left makes the + // column wider. Negate the delta in that case. + const delta = isRtl ? -raw : raw; + if (Math.abs(delta) >= 1) { + startXRef.current = e.clientX; + onResize(delta); + } + }; + + const onPointerUp = (e: React.PointerEvent) => { + startXRef.current = null; + try { + (e.target as HTMLDivElement).releasePointerCapture(e.pointerId); + } catch { + /* ignore */ + } + }; + + // Place handle on the trailing (logical end) edge so it works the same in + // both LTR and RTL. + const sideClass = isRtl ? "left-0" : "right-0"; + + return ( +
+ ); +} + +function ColumnsCustomizer({ + columns, + onChange, + t, +}: { + columns: ColumnSetting[]; + onChange: (next: ColumnSetting[]) => void; + t: (k: string) => string; +}) { + const move = (index: number, dir: -1 | 1) => { + const target = index + dir; + if (target < 0 || target >= columns.length) return; + const next = columns.slice(); + [next[index], next[target]] = [next[target], next[index]]; + onChange(next); + }; + + const toggle = (id: ColumnId, value: boolean) => { + // Always keep at least one column visible. + const visibleCount = columns.filter((c) => c.visible).length; + if (!value && visibleCount <= 1) return; + onChange(columns.map((c) => (c.id === id ? { ...c, visible: value } : c))); + }; + + const reset = () => onChange(DEFAULT_COLUMNS.map((c) => ({ ...c }))); + + return ( + + + + + +
+ {t("executiveMeetings.customize.title")} +
+

+ {t("executiveMeetings.customize.hint")} +

+
    + {columns.map((c, idx) => ( +
  • + toggle(c.id, !!v)} + data-testid={`em-customize-toggle-${c.id}`} + /> + + {!c.visible ? ( + + ) : ( + + )} + + +
  • + ))} +
+
+ + + {t("executiveMeetings.customize.dragHint")} + +
+
+
+ ); +} + +function RowColorPicker({ + current, + onPick, + t, +}: { + current: string; + onPick: (key: string) => void; + t: (k: string) => string; +}) { + return ( + + + + + +
+ {t("executiveMeetings.rowColor.label")} +
+
+ {ROW_COLOR_OPTIONS.map((opt) => { + const selected = current === opt.key; + const isDefault = opt.key === "default"; + return ( +
+
+
+ ); +} + function MeetingRow({ meeting, isRtl, t, + visibleColumns, + rowColorKey, + onPickRowColor, }: { meeting: Meeting; isRtl: boolean; t: (k: string) => string; + visibleColumns: ColumnSetting[]; + rowColorKey: string; + onPickRowColor: (key: string) => void; }) { const title = isRtl ? meeting.titleAr : meeting.titleEn || meeting.titleAr; const isCancelled = meeting.status === "cancelled"; const highlight = meeting.isHighlighted === 1; + const rowColor = ROW_COLOR_OPTIONS.find((o) => o.key === rowColorKey); + const rowBg = rowColor?.bg || ""; + const numberCellCls = "border border-gray-300 px-2 py-2 text-center align-middle font-semibold " + (highlight || isCancelled ? "bg-red-600 text-white" : "bg-white text-[#0B1E3F]"); + const renderCell = (col: ColumnSetting): ReactNode => { + switch (col.id) { + case "number": + return ( + + {meeting.dailyNumber} + + + ); + case "meeting": + return ( + +
{title}
+ {meeting.location && ( +
+ {meeting.location} +
+ )} + + ); + case "attendees": + return ( + + + + ); + case "time": + return ( + +
+
{formatTime(meeting.startTime)}
+
+
{formatTime(meeting.endTime)}
+
+ + ); + } + }; + + return ( + + {visibleColumns.map((c) => renderCell(c))} + + ); +} + +function AttendeesCell({ + meeting, + t, +}: { + meeting: Meeting; + t: (k: string) => string; +}) { const virtual = meeting.attendees.filter((a) => a.attendanceType === "virtual"); const internal = meeting.attendees.filter((a) => a.attendanceType === "internal"); const external = meeting.attendees.filter((a) => a.attendanceType === "external"); @@ -633,62 +1110,45 @@ function MeetingRow({ other: t("executiveMeetings.virtual"), }; - return ( - - {meeting.dailyNumber} - - -
{title}
- {meeting.location && ( -
{meeting.location}
- )} - - - - {hasSplit ? ( -
- {virtual.length > 0 && ( - - )} - {internal.length > 0 && ( - - )} - {external.length > 0 && ( - - )} -
- ) : meeting.platform !== "none" && virtual.length > 0 ? ( + if (hasSplit) { + return ( +
+ {virtual.length > 0 && ( - ) : ( - )} - + {internal.length > 0 && ( + + )} + {external.length > 0 && ( + + )} +
+ ); + } - -
-
{formatTime(meeting.startTime)}
-
-
{formatTime(meeting.endTime)}
-
- - - ); + if (meeting.platform !== "none" && virtual.length > 0) { + return ( + + ); + } + + return ; } function AttendeeGroup({ label, items }: { label: string; items: Attendee[] }) { diff --git a/attached_assets/image_1777363139653.png b/attached_assets/image_1777363139653.png new file mode 100644 index 0000000000000000000000000000000000000000..1e350d41ab7c162569461978c92bffa7ef910e75 GIT binary patch literal 94372 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%0An%WN)PKKIp;mJ**OZU}^D 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 literal 0 HcmV?d00001 diff --git a/lib/db/src/schema/apps.ts b/lib/db/src/schema/apps.ts index a0c9060b..4f852f90 100644 --- a/lib/db/src/schema/apps.ts +++ b/lib/db/src/schema/apps.ts @@ -1,4 +1,4 @@ -import { pgTable, text, serial, timestamp, integer, varchar, boolean } from "drizzle-orm/pg-core"; +import { pgTable, text, serial, timestamp, integer, varchar, boolean, primaryKey } from "drizzle-orm/pg-core"; import { createInsertSchema } from "drizzle-zod"; import { z } from "zod/v4"; @@ -22,7 +22,7 @@ export const appsTable = pgTable("apps", { export const appPermissionsTable = pgTable("app_permissions", { appId: integer("app_id").notNull().references(() => appsTable.id, { onDelete: "cascade" }), permissionId: integer("permission_id").notNull(), -}); +}, (t) => [primaryKey({ columns: [t.appId, t.permissionId] })]); export const insertAppSchema = createInsertSchema(appsTable).omit({ id: true, createdAt: true, updatedAt: true }); export type InsertApp = z.infer;