SIGN IN SIGN UP

feat(client): human-readable audit diffs

Replace the raw JSON.stringify dumps on both audit pages with a
shared AuditDiffView that renders one row per changed attribute:
humanized keys, old struck through before the new value, dictionary
slugs resolved through a whole-map reverse lookup (safe because
option values are unique ascii tokens), booleans and jalali dates
formatted, and unknown structures falling back to compact JSON so
nothing disappears.
Q
QorbaniSepehr committed
7b115f1d28f3817ffc8754160fe2bf15833dd14b
Parent: aef2241