c0mrade
c11bfaf012
refactor(bulk-actions): extract SubscriptionSubRow + StatusBadge
...
Fourth and final step in the AdminBulkActions decomp.
SubscriptionSubRow: the expanded per-user secondary <tr> shown when
the operator drills into multi-subscription users (tariff, status,
days remaining, traffic bar, devices). Pure presentational.
StatusBadge: the pill used both inside the sub-row and the primary
user-table column (subscription_status). Co-located here because
both consumers want the same visual contract.
AdminBulkActions.tsx: 1367 → 1182 lines (-185).
Cumulative across the 4-step admin decomp: 2539 → 1182 (-1357, -53%).
2026-05-27 09:35:37 +03:00
..
2026-05-26 21:52:56 +03:00
2026-02-27 04:02:27 +03:00
2026-02-06 16:55:55 +03:00
2026-05-26 15:27:03 +03:00
2026-05-26 21:52:56 +03:00
2026-05-04 06:18:12 +03:00
2026-05-26 11:24:28 +03:00
2026-02-23 17:15:20 +03:00
2026-05-27 09:35:37 +03:00
2026-05-26 11:32:32 +03:00
2026-05-26 11:32:32 +03:00
2026-05-26 21:52:56 +03:00
2026-03-02 20:34:24 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 19:11:17 +03:00
2026-05-25 23:16:07 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 13:41:22 +03:00
2026-04-24 15:01:11 +03:00
2026-05-13 04:56:15 +03:00
2026-05-26 13:48:10 +03:00
2026-05-26 21:52:56 +03:00
2026-03-23 15:00:11 +03:00
2026-05-26 00:20:30 +03:00
2026-05-26 19:11:17 +03:00
2026-02-18 06:53:16 +03:00
2026-02-17 10:28:32 +03:00
2026-05-26 11:21:16 +03:00
2026-02-17 10:28:32 +03:00
2026-02-27 04:08:15 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 00:03:17 +03:00
2026-03-13 17:50:49 +03:00
2026-05-26 11:10:50 +03:00
2026-05-26 10:39:22 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 21:52:56 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 10:37:01 +03:00
2026-05-25 23:16:07 +03:00
2026-02-06 16:55:55 +03:00
2026-05-26 10:39:22 +03:00
2026-05-26 21:52:56 +03:00
2026-02-06 16:55:55 +03:00
2026-05-26 11:28:37 +03:00
2026-05-26 10:45:29 +03:00
2026-05-16 01:11:00 +03:00
2026-05-16 01:11:00 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 21:52:56 +03:00
2026-05-26 11:24:28 +03:00
2026-05-26 15:24:01 +03:00
2026-05-16 01:11:00 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 10:48:46 +03:00
2026-03-13 20:19:09 +03:00
2026-05-26 21:52:56 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 15:49:07 +03:00
2026-05-26 11:10:50 +03:00
2026-05-26 18:39:08 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 15:24:01 +03:00
2026-02-27 04:02:27 +03:00
2026-02-17 10:28:32 +03:00
2026-05-26 11:21:16 +03:00
2026-03-06 21:59:59 +03:00
2026-05-26 23:33:21 +03:00
2026-05-26 15:24:01 +03:00
2026-04-15 14:04:39 +03:00
2026-03-25 11:47:31 +03:00
2026-05-26 21:52:56 +03:00
2026-05-15 05:34:38 +03:00
2026-05-25 23:16:07 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 11:22:19 +03:00
2026-04-24 15:07:11 +03:00
2026-04-24 14:10:28 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 23:26:20 +03:00
2026-03-04 16:05:24 +03:00
2026-03-29 05:18:40 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 21:52:56 +03:00
2026-05-26 13:58:33 +03:00
2026-04-29 09:17:52 +03:00
2026-05-26 11:08:22 +03:00
2026-05-25 23:16:07 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 15:24:01 +03:00
2026-05-26 11:09:28 +03:00
2026-05-26 15:37:59 +03:00
2026-03-10 15:58:02 +05:00
2026-05-26 23:33:21 +03:00
2026-05-27 00:02:31 +03:00
2026-05-13 05:31:22 +03:00
2026-05-26 21:52:56 +03:00
2026-05-26 21:52:56 +03:00
2026-05-26 16:13:33 +03:00
2026-05-26 16:13:33 +03:00
2026-02-07 03:36:25 +03:00
2026-03-23 18:57:05 +03:00
2026-05-26 21:52:56 +03:00
2026-05-26 11:08:22 +03:00