@hed-hog/core 0.0.303 → 0.0.305

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +84 -36
  2. package/dist/auth/auth.controller.d.ts +0 -3
  3. package/dist/auth/auth.controller.d.ts.map +1 -1
  4. package/dist/auth/auth.controller.js +4 -7
  5. package/dist/auth/auth.controller.js.map +1 -1
  6. package/dist/auth/auth.service.d.ts.map +1 -1
  7. package/dist/auth/auth.service.js +6 -3
  8. package/dist/auth/auth.service.js.map +1 -1
  9. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +9 -0
  10. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts.map +1 -1
  11. package/dist/dashboard/dashboard-core/dashboard-core.controller.js +12 -0
  12. package/dist/dashboard/dashboard-core/dashboard-core.controller.js.map +1 -1
  13. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +7 -0
  14. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts.map +1 -1
  15. package/dist/dashboard/dashboard-core/dashboard-core.service.js +45 -1
  16. package/dist/dashboard/dashboard-core/dashboard-core.service.js.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts +9 -0
  22. package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts.map +1 -0
  23. package/dist/mail-sent/dto/query-mail-sent-list.dto.js +49 -0
  24. package/dist/mail-sent/dto/query-mail-sent-list.dto.js.map +1 -0
  25. package/dist/mail-sent/mail-sent.controller.d.ts +24 -2
  26. package/dist/mail-sent/mail-sent.controller.d.ts.map +1 -1
  27. package/dist/mail-sent/mail-sent.controller.js +5 -3
  28. package/dist/mail-sent/mail-sent.controller.js.map +1 -1
  29. package/dist/mail-sent/mail-sent.service.d.ts +28 -3
  30. package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
  31. package/dist/mail-sent/mail-sent.service.js +108 -3
  32. package/dist/mail-sent/mail-sent.service.js.map +1 -1
  33. package/dist/oauth/oauth-callback-coordinator.service.d.ts +18 -0
  34. package/dist/oauth/oauth-callback-coordinator.service.d.ts.map +1 -0
  35. package/dist/oauth/oauth-callback-coordinator.service.js +137 -0
  36. package/dist/oauth/oauth-callback-coordinator.service.js.map +1 -0
  37. package/dist/oauth/oauth.controller.d.ts +4 -2
  38. package/dist/oauth/oauth.controller.d.ts.map +1 -1
  39. package/dist/oauth/oauth.controller.js +39 -11
  40. package/dist/oauth/oauth.controller.js.map +1 -1
  41. package/dist/oauth/oauth.errors.d.ts +16 -0
  42. package/dist/oauth/oauth.errors.d.ts.map +1 -0
  43. package/dist/oauth/oauth.errors.js +30 -0
  44. package/dist/oauth/oauth.errors.js.map +1 -0
  45. package/dist/oauth/oauth.module.d.ts.map +1 -1
  46. package/dist/oauth/oauth.module.js +10 -1
  47. package/dist/oauth/oauth.module.js.map +1 -1
  48. package/dist/oauth/oauth.service.d.ts +9 -1
  49. package/dist/oauth/oauth.service.d.ts.map +1 -1
  50. package/dist/oauth/oauth.service.js +97 -24
  51. package/dist/oauth/oauth.service.js.map +1 -1
  52. package/dist/oauth/providers/abstract.provider.d.ts +6 -0
  53. package/dist/oauth/providers/abstract.provider.d.ts.map +1 -1
  54. package/dist/oauth/providers/abstract.provider.js +34 -0
  55. package/dist/oauth/providers/abstract.provider.js.map +1 -1
  56. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts +3 -0
  57. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
  58. package/dist/oauth/providers/microsoft-entra-id.provider.js +40 -22
  59. package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
  60. package/dist/security/security.service.d.ts +1 -0
  61. package/dist/security/security.service.d.ts.map +1 -1
  62. package/dist/security/security.service.js +9 -10
  63. package/dist/security/security.service.js.map +1 -1
  64. package/dist/session/session.service.d.ts +5 -1
  65. package/dist/session/session.service.d.ts.map +1 -1
  66. package/dist/session/session.service.js +76 -10
  67. package/dist/session/session.service.js.map +1 -1
  68. package/dist/setting/setting.service.js +4 -4
  69. package/dist/setting/setting.service.js.map +1 -1
  70. package/dist/token/token.service.d.ts +1 -0
  71. package/dist/token/token.service.d.ts.map +1 -1
  72. package/dist/token/token.service.js +23 -12
  73. package/dist/token/token.service.js.map +1 -1
  74. package/dist/user/user.service.d.ts +1 -1
  75. package/dist/user/user.service.d.ts.map +1 -1
  76. package/dist/user/user.service.js +3 -0
  77. package/dist/user/user.service.js.map +1 -1
  78. package/hedhog/data/dashboard.yaml +2 -2
  79. package/hedhog/data/mail.yaml +147 -0
  80. package/hedhog/data/route.yaml +8 -0
  81. package/hedhog/frontend/app/account/components/change-email-form.tsx.ejs +87 -8
  82. package/hedhog/frontend/app/account/components/profile-form.tsx.ejs +90 -10
  83. package/hedhog/frontend/app/ai_agent/page.tsx.ejs +145 -31
  84. package/hedhog/frontend/app/configurations/layout.tsx.ejs +1 -1
  85. package/hedhog/frontend/app/dashboard/[slug]/dashboard-content.tsx.ejs +67 -2
  86. package/hedhog/frontend/app/dashboard/components/add-widget-selector-dialog.tsx.ejs +13 -9
  87. package/hedhog/frontend/app/dashboard/dashboard-home-tabs.tsx.ejs +250 -45
  88. package/hedhog/frontend/app/dashboard/management/tabs/component-roles-tab.tsx.ejs +111 -15
  89. package/hedhog/frontend/app/dashboard/management/tabs/dashboard-roles-tab.tsx.ejs +110 -15
  90. package/hedhog/frontend/app/dashboard/management/tabs/items-tab.tsx.ejs +113 -15
  91. package/hedhog/frontend/app/mail/log/page.tsx.ejs +481 -70
  92. package/hedhog/frontend/app/menu/page.tsx.ejs +202 -30
  93. package/hedhog/frontend/app/roles/menus.tsx.ejs +1 -1
  94. package/hedhog/frontend/app/roles/page.tsx.ejs +288 -104
  95. package/hedhog/frontend/app/users/page.tsx.ejs +168 -23
  96. package/hedhog/frontend/messages/en.json +45 -6
  97. package/hedhog/frontend/messages/pt.json +45 -6
  98. package/package.json +4 -4
  99. package/src/auth/auth.controller.ts +15 -19
  100. package/src/auth/auth.service.ts +13 -8
  101. package/src/dashboard/dashboard-core/dashboard-core.controller.ts +22 -9
  102. package/src/dashboard/dashboard-core/dashboard-core.service.ts +75 -1
  103. package/src/index.ts +10 -7
  104. package/src/mail-sent/dto/query-mail-sent-list.dto.ts +30 -0
  105. package/src/mail-sent/mail-sent.controller.ts +14 -2
  106. package/src/mail-sent/mail-sent.service.ts +159 -4
  107. package/src/oauth/oauth-callback-coordinator.service.ts +158 -0
  108. package/src/oauth/oauth.controller.ts +58 -1
  109. package/src/oauth/oauth.errors.ts +32 -0
  110. package/src/oauth/oauth.module.ts +10 -1
  111. package/src/oauth/oauth.service.ts +178 -28
  112. package/src/oauth/providers/abstract.provider.ts +64 -0
  113. package/src/oauth/providers/microsoft-entra-id.provider.ts +92 -56
  114. package/src/security/security.service.ts +12 -10
  115. package/src/session/session.service.ts +84 -9
  116. package/src/setting/setting.service.ts +10 -10
  117. package/src/token/token.service.ts +29 -11
  118. package/src/user/user.service.ts +10 -6
@@ -312,6 +312,9 @@ let UserService = class UserService {
312
312
  // Activity Tracking
313
313
  // ==========================================
314
314
  async registerUserActivity(userId, action) {
315
+ if (!userId || !Number.isInteger(userId) || userId <= 0) {
316
+ return null;
317
+ }
315
318
  return this.prismaService.user_activity.create({
316
319
  data: {
317
320
  user_id: userId,
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,4DAA4D;AAC5D,oDAAoD;AACpD,2CAMwB;AACxB,sEAAkE;AAElE,uDAAmD;AACnD,mEAA+D;AAC/D,+DAA4E;AAK5E,YAAY;AACZ,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,iBAAiB,GAAG;IACxB,SAAS,EAAE,2BAA2B;IACtC,SAAS,EAAE,0BAA0B;IACrC,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,aAAa;CACd,CAAC;AAEX,MAAM,gBAAgB,GAAG;IACvB,IAAI;IACJ,MAAM;IACN,UAAU;IACV,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,YAAY;CACJ,CAAC;AAEX,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAU,CAAC;AAGtC,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAEmB,aAA4B,EAE5B,iBAAoC,EAEpC,QAAyB,EAEzB,SAA2B,EAE3B,IAAiB;QARjB,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,aAAQ,GAAR,QAAQ,CAAiB;QAEzB,cAAS,GAAT,SAAS,CAAkB;QAE3B,SAAI,GAAJ,IAAI,CAAa;IAChC,CAAC;IAEL,6CAA6C;IAC7C,qBAAqB;IACrB,6CAA6C;IAErC,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,MAAc;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CACzB,IAAA,0BAAa,EAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,MAAc;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CACzB,IAAA,0BAAa,EAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,KAAa;QAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE/D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,4BAAmB,CAC3B,IAAA,0BAAa,EAAC,oBAAoB,EAAE,MAAM,EAAE,uBAAuB,CAAC,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,0BAA0B;IAC1B,6CAA6C;IAE7C,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,YAAoB;QACzE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC;YACpE,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,0BAAiB,CACzB,IAAA,0BAAa,EAAC,wBAAwB,EAAE,MAAM,EAAE,oCAAoC,CAAC,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6CAA6C;IAC7C,kBAAkB;IAClB,6CAA6C;IAE7C,KAAK,CAAC,IAAI,CAAC,gBAAgB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAC/D,IAAI,CAAC,aAAa,CAAC,IAAI,kCAElB,gBAAgB,KACnB,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAEvC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE7C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,MAAc;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,MAAc,EACd,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAiC;QAExD,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAEvD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,IAAI,EAAE;oBACJ,IAAI;oBACJ,eAAe,EAAE;wBACf,MAAM,EAAE;4BACN,IAAI,EAAE,eAAe,CAAC,KAAK;4BAC3B,KAAK,EAAE,KAAK;4BACZ,OAAO,EAAE,IAAI;yBACd;qBACF;oBACD,eAAe,EAAE;wBACf,MAAM,EAAE;4BACN,IAAI,EAAE,eAAe,CAAC,QAAQ;4BAC9B,IAAI,EAAE,YAAY;yBACnB;qBACF;oBACD,SAAS,EAAE;wBACT,MAAM,EAAE;4BACN,OAAO,EAAE,IAAI,CAAC,EAAE;yBACjB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAErD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,IAAI,EAAa;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC,IAAI,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,MAAc,EACd,EAAE,QAAQ,EAAoB;QAE9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9C,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC;YACvE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,eAAe,CAAC,QAAQ;aAC/B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,YAAY;gBAClB,cAAc,EAAE,IAAI;aACrB;SACF,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC9C,IAAI,EAAE;oBACJ,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,IAAI,EAAE,YAAY;oBAClB,cAAc,EAAE,IAAI;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEzD,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,EAAE,GAAG,EAAa;QAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YAC1B,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,0BAAiB,CACzB,IAAA,0BAAa,EAAC,cAAc,EAAE,MAAM,EAAE,6BAA6B,CAAC,CACrE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,oBAAoB;IACpB,6CAA6C;IAE7C,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,MAAkB;QACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,+CAA8B,EAAE,MAAM,CAAC,CAAC;QAE/E,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;SAC/B,CAAC,CAAC;QAEH,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,GAAQ;QAC7D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7D,KAAK,EAAE;gBACL,QAAQ,EAAE,MAAM;aACjB;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;aACT;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,0BAAiB,CACzB,IAAA,0BAAa,EAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE3D,GAAG,CAAC,GAAG,CAAC;YACN,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM;YAC/B,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAED,6CAA6C;IAC7C,sBAAsB;IACtB,6CAA6C;IAE7C,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,EAAU;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CACzB,IAAA,0BAAa,EAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAa;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;YACvC,KAAK,EAAE;gBACL,eAAe,EAAE;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,eAAe,CAAC,KAAK;wBAC3B,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;wBACjC,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;YACD,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,kBAAkB;IAClB,6CAA6C;IAE7C,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,qBAAqB,EAAE;YAC5B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc;QACnE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjE,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;YACzC,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc;QACrE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;SAC3B,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtB,CAAC;IAED,6CAA6C;IAC7C,oBAAoB;IACpB,6CAA6C;IAE7C,KAAK,CAAC,oBAAoB,CAAC,MAAiC,EAAE,MAAc;QAC1E,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM;gBACf,MAAM;aACP;SACF,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAC7C,yBAAyB;IACzB,6CAA6C;IAErC,iBAAiB,CAAC,MAAc,EAAE,GAAa;QACrD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,4BAAmB,CAC3B,IAAA,0BAAa,EACX,iBAAiB,EACjB,MAAM,EACN,mDAAmD,CACpD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,OAAe;QAC3D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gEAAgE;gBAChE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;oBACnC,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;iBACvB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,EAAO;QACtD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;YAClC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAC3B,IAAA,0BAAa,EACX,qBAAqB,EACrB,MAAM,EACN,8BAA8B,CAC/B,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,MAAM,GAAG,sBAAsB;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;QACpC,MAAM,MAAM,GAAG;YACb,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,OAAO;SAC1B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChD,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC9B,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;YAC9C,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,oBAAoB;QAC1B,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE;gBACf,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aACzB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;aACtC;YACD,aAAa,EAAE;gBACb,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;aAChC;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE;iBAC/B;gBACD,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;aAChC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB,GAAG,UAAU,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC,GACjD,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5B,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE;aAC7C,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5B,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;aACxC,CAAC;SACH,CAAC,CAAC;QAEL,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE,iBAAiB;YAC/B,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YACtC,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBAC1B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAc;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,WAAW,EAAE;4BACX,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;yBAC1B;qBACF;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,QAAe,EAAE,SAAgB;QAC9D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAC3C,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACtC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAC1C,CAAC;YAEF,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,EAAE;gBAC5B,WAAW,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,KAAI,EAAE;gBAC1C,UAAU;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc;QACvD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA9iBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAiB,CAAC,CAAC,CAAA;IAE3C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAe,CAAC,CAAC,CAAA;IAEzC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,oCAAgB,CAAC,CAAC,CAAA;IAE1C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,CAAC,CAAA;qCAPN,0BAAa;QAET,kCAAiB;QAE1B,kCAAe;QAEd,oCAAgB;QAErB,0BAAW;GAXzB,WAAW,CA8iBvB"}
@@ -8,8 +8,8 @@
8
8
  icon: layout-dashboard
9
9
  is_template: true
10
10
  name:
11
- en: Admin Control Center
12
- pt: Central de Controle do Administrador
11
+ en: My Account
12
+ pt: Minha Conta
13
13
  - slug: config
14
14
  icon: settings-2
15
15
  is_template: true
@@ -323,4 +323,151 @@
323
323
  - name: email
324
324
  - name: message
325
325
  - name: datetime
326
+
327
+ - slug: billing-payment-receipt
328
+ subject:
329
+ en: Payment confirmed for {{amount}}
330
+ pt: Pagamento confirmado de {{amount}}
331
+ body:
332
+ en: |
333
+ Hello {{name}},<br>
334
+ Your payment has been confirmed successfully.<br>
335
+ <strong>Amount:</strong> {{amount}}<br>
336
+ <strong>Provider:</strong> {{provider}}<br>
337
+ <strong>Paid at:</strong> {{paidAt}}<br>
338
+ <strong>Transaction ID:</strong> {{transactionId}}<br>
339
+ Thank you for your payment.<br>
340
+ Best regards,<br>
341
+ The HedHog Team
342
+ pt: |
343
+ Olá {{name}},<br>
344
+ Seu pagamento foi confirmado com sucesso.<br>
345
+ <strong>Valor:</strong> {{amount}}<br>
346
+ <strong>Provedor:</strong> {{provider}}<br>
347
+ <strong>Pago em:</strong> {{paidAt}}<br>
348
+ <strong>ID da Transação:</strong> {{transactionId}}<br>
349
+ Obrigado pelo seu pagamento.<br>
350
+ Atenciosamente,<br>
351
+ A equipe HedHog
352
+ relations:
353
+ mail_var:
354
+ - name: name
355
+ - name: amount
356
+ - name: provider
357
+ - name: paidAt
358
+ - name: transactionId
359
+
360
+ - slug: billing-payment-failed
361
+ subject:
362
+ en: We could not process your payment
363
+ pt: Não foi possível processar seu pagamento
364
+ body:
365
+ en: |
366
+ Hello {{name}},<br>
367
+ We could not process your payment for invoice <strong>{{invoiceNumber}}</strong>.<br>
368
+ <strong>Amount:</strong> {{amount}}<br>
369
+ Please review your payment method and complete the payment using the link below:<br>
370
+ <a href="{{paymentUrl}}">{{paymentUrl}}</a><br>
371
+ Best regards,<br>
372
+ The HedHog Team
373
+ pt: |
374
+ Olá {{name}},<br>
375
+ Não foi possível processar seu pagamento para a fatura <strong>{{invoiceNumber}}</strong>.<br>
376
+ <strong>Valor:</strong> {{amount}}<br>
377
+ Revise sua forma de pagamento e conclua o pagamento usando o link abaixo:<br>
378
+ <a href="{{paymentUrl}}">{{paymentUrl}}</a><br>
379
+ Atenciosamente,<br>
380
+ A equipe HedHog
381
+ relations:
382
+ mail_var:
383
+ - name: name
384
+ - name: invoiceNumber
385
+ - name: amount
386
+ - name: paymentUrl
387
+
388
+ - slug: billing-invoice-created
389
+ subject:
390
+ en: Your invoice {{invoiceNumber}} is now available
391
+ pt: Sua fatura {{invoiceNumber}} já está disponível
392
+ body:
393
+ en: |
394
+ Hello {{name}},<br>
395
+ A new invoice has been generated for your account.<br>
396
+ <strong>Invoice:</strong> {{invoiceNumber}}<br>
397
+ <strong>Amount:</strong> {{amount}}<br>
398
+ <strong>Due date:</strong> {{dueDate}}<br>
399
+ You can view the invoice here:<br>
400
+ <a href="{{invoiceUrl}}">{{invoiceUrl}}</a><br>
401
+ Best regards,<br>
402
+ The HedHog Team
403
+ pt: |
404
+ Olá {{name}},<br>
405
+ Uma nova fatura foi gerada para sua conta.<br>
406
+ <strong>Fatura:</strong> {{invoiceNumber}}<br>
407
+ <strong>Valor:</strong> {{amount}}<br>
408
+ <strong>Vencimento:</strong> {{dueDate}}<br>
409
+ Você pode visualizar a fatura aqui:<br>
410
+ <a href="{{invoiceUrl}}">{{invoiceUrl}}</a><br>
411
+ Atenciosamente,<br>
412
+ A equipe HedHog
413
+ relations:
414
+ mail_var:
415
+ - name: name
416
+ - name: invoiceNumber
417
+ - name: amount
418
+ - name: dueDate
419
+ - name: invoiceUrl
420
+
421
+ - slug: billing-subscription-canceled
422
+ subject:
423
+ en: Your subscription to {{productName}} has been canceled
424
+ pt: Sua assinatura de {{productName}} foi cancelada
425
+ body:
426
+ en: |
427
+ Hello {{name}},<br>
428
+ Your subscription to <strong>{{productName}}</strong> has been canceled.<br>
429
+ <strong>Access until:</strong> {{endsAt}}<br>
430
+ If this was not expected, please contact our team.<br>
431
+ Best regards,<br>
432
+ The HedHog Team
433
+ pt: |
434
+ Olá {{name}},<br>
435
+ Sua assinatura de <strong>{{productName}}</strong> foi cancelada.<br>
436
+ <strong>Acesso até:</strong> {{endsAt}}<br>
437
+ Se isso não era esperado, entre em contato com nossa equipe.<br>
438
+ Atenciosamente,<br>
439
+ A equipe HedHog
440
+ relations:
441
+ mail_var:
442
+ - name: name
443
+ - name: productName
444
+ - name: endsAt
445
+
446
+ - slug: billing-refund-confirmed
447
+ subject:
448
+ en: Your refund of {{amount}} has been confirmed
449
+ pt: Seu reembolso de {{amount}} foi confirmado
450
+ body:
451
+ en: |
452
+ Hello {{name}},<br>
453
+ Your refund has been confirmed successfully.<br>
454
+ <strong>Amount:</strong> {{amount}}<br>
455
+ <strong>Refund ID:</strong> {{refundId}}<br>
456
+ <strong>Processed at:</strong> {{processedAt}}<br>
457
+ Best regards,<br>
458
+ The HedHog Team
459
+ pt: |
460
+ Olá {{name}},<br>
461
+ Seu reembolso foi confirmado com sucesso.<br>
462
+ <strong>Valor:</strong> {{amount}}<br>
463
+ <strong>ID do Reembolso:</strong> {{refundId}}<br>
464
+ <strong>Processado em:</strong> {{processedAt}}<br>
465
+ Atenciosamente,<br>
466
+ A equipe HedHog
467
+ relations:
468
+ mail_var:
469
+ - name: name
470
+ - name: amount
471
+ - name: refundId
472
+ - name: processedAt
326
473
 
@@ -730,6 +730,14 @@
730
730
  slug: admin
731
731
  - where:
732
732
  slug: admin-access
733
+ - url: /dashboard-core/dashboard/order
734
+ method: PATCH
735
+ relations:
736
+ role:
737
+ - where:
738
+ slug: admin
739
+ - where:
740
+ slug: admin-access
733
741
  - url: /dashboard-core/dashboard/:slug/home
734
742
  method: POST
735
743
  relations:
@@ -42,18 +42,31 @@ import {
42
42
  InputOTPSlot,
43
43
  } from '@/components/ui/input-otp';
44
44
  import { Label } from '@/components/ui/label';
45
+ import { useFormDraft } from '@/hooks/use-form-draft';
46
+ import { formatDateTime } from '@/lib/format-date';
45
47
  import { UserIdentifier } from '@hed-hog/api-types';
46
48
  import { useApp, useQuery } from '@hed-hog/next-app-provider';
47
49
  import { zodResolver } from '@hookform/resolvers/zod';
50
+ import { formatDistanceToNow } from 'date-fns';
51
+ import { enUS, ptBR } from 'date-fns/locale';
48
52
  import { CheckCircle2, Mail, ShieldCheck, XCircle } from 'lucide-react';
49
53
  import { useTranslations } from 'next-intl';
50
- import { useCallback, useState } from 'react';
51
- import { useForm } from 'react-hook-form';
54
+ import { useEffect, useMemo, useState } from 'react';
55
+ import { useForm, useWatch } from 'react-hook-form';
52
56
  import { z } from 'zod';
53
57
 
58
+ type EmailDraftPayload = {
59
+ values: {
60
+ newEmail: string;
61
+ };
62
+ };
63
+
64
+ const CHANGE_EMAIL_DRAFT_STORAGE_KEY = 'core-change-email-form-draft';
65
+
54
66
  export function ChangeEmailForm() {
55
67
  const t = useTranslations('core.ChangeEmailForm');
56
- const { user, request, showToastHandler, getSettingValue } = useApp();
68
+ const { request, showToastHandler, getSettingValue, currentLocaleCode } =
69
+ useApp();
57
70
  const [showConfirmDialog, setShowConfirmDialog] = useState(false);
58
71
  const [showPinDialog, setShowPinDialog] = useState(false);
59
72
  const [pendingData, setPendingData] = useState<EmailFormValues | null>(null);
@@ -96,6 +109,63 @@ export function ChangeEmailForm() {
96
109
  },
97
110
  });
98
111
 
112
+ const watchedValues = useWatch({
113
+ control: form.control,
114
+ });
115
+
116
+ const {
117
+ clearDraft,
118
+ loadDraft,
119
+ hasDraft,
120
+ savedAt: draftSavedAt,
121
+ } = useFormDraft<EmailDraftPayload>({
122
+ storageKey: CHANGE_EMAIL_DRAFT_STORAGE_KEY,
123
+ value: {
124
+ values: {
125
+ newEmail: watchedValues.newEmail ?? '',
126
+ },
127
+ },
128
+ hasData:
129
+ (watchedValues.newEmail ?? '').trim().length > 0 &&
130
+ (watchedValues.newEmail ?? '').trim() !==
131
+ (userIdentifier?.value ?? '').trim(),
132
+ enabled: true,
133
+ });
134
+
135
+ const draftStatusContent = useMemo(() => {
136
+ if (!hasDraft || !draftSavedAt) {
137
+ return null;
138
+ }
139
+
140
+ const savedDate = new Date(draftSavedAt);
141
+ if (Number.isNaN(savedDate.getTime())) {
142
+ return null;
143
+ }
144
+
145
+ const locale = currentLocaleCode.startsWith('pt') ? ptBR : enUS;
146
+ const relativeLabel = formatDistanceToNow(savedDate, {
147
+ addSuffix: true,
148
+ locale,
149
+ });
150
+ const absoluteLabel = formatDateTime(
151
+ savedDate,
152
+ getSettingValue,
153
+ currentLocaleCode
154
+ );
155
+
156
+ return currentLocaleCode.startsWith('pt')
157
+ ? `Rascunho salvo ${relativeLabel} • Último salvamento: ${absoluteLabel}`
158
+ : `Draft saved ${relativeLabel} • Last saved: ${absoluteLabel}`;
159
+ }, [draftSavedAt, currentLocaleCode, getSettingValue, hasDraft]);
160
+
161
+ useEffect(() => {
162
+ const storedDraft = loadDraft();
163
+ form.reset({
164
+ newEmail: storedDraft?.payload.values.newEmail ?? '',
165
+ password: '',
166
+ });
167
+ }, [form, loadDraft]);
168
+
99
169
  const pinForm = useForm<PinFormValues>({
100
170
  resolver: zodResolver(pinSchema),
101
171
  defaultValues: {
@@ -126,12 +196,15 @@ export function ChangeEmailForm() {
126
196
  setPendingData({ newEmail, password });
127
197
  setShowConfirmDialog(true);
128
198
  } else {
199
+ clearDraft();
129
200
  setPendingData(null);
130
201
  form.reset({ newEmail: '', password: '' });
131
202
  await refetch();
132
203
  showToastHandler('success', t('successEmailChanged'));
133
204
  }
134
- } catch (error) {}
205
+ } catch {
206
+ showToastHandler('error', t('updateFailure'));
207
+ }
135
208
  };
136
209
 
137
210
  const handleSendVerificationEmail = async () => {
@@ -149,12 +222,12 @@ export function ChangeEmailForm() {
149
222
  showToastHandler('success', t('successEmailSent'));
150
223
 
151
224
  setShowPinDialog(true);
152
- } catch (error) {
225
+ } catch {
153
226
  showToastHandler('error', t('errorSendFailed'));
154
227
  }
155
228
  };
156
229
 
157
- const onPinSubmit = useCallback(async () => {
230
+ const onPinSubmit = async () => {
158
231
  try {
159
232
  await request({
160
233
  url: '/profile/email/verify/confirm',
@@ -162,16 +235,17 @@ export function ChangeEmailForm() {
162
235
  data: { pin: verificationCode, challengeId },
163
236
  });
164
237
 
238
+ clearDraft();
165
239
  form.reset({ newEmail: '', password: '' });
166
240
  refetch();
167
241
  showToastHandler('success', t('successVerified'));
168
242
  setShowPinDialog(false);
169
243
  pinForm.reset();
170
244
  setVerificationCode('');
171
- } catch (error) {
245
+ } catch {
172
246
  showToastHandler('error', t('errorInvalidPin'));
173
247
  }
174
- }, [challengeId, pinForm, verificationCode]);
248
+ };
175
249
 
176
250
  return (
177
251
  <>
@@ -273,6 +347,11 @@ export function ChangeEmailForm() {
273
347
  </FormItem>
274
348
  )}
275
349
  />
350
+ {draftStatusContent ? (
351
+ <p className="text-xs text-muted-foreground">
352
+ {draftStatusContent}
353
+ </p>
354
+ ) : null}
276
355
  <Button type="submit" disabled={form.formState.isSubmitting}>
277
356
  <Mail className="mr-2 size-4" />
278
357
  {t('changeEmailButton')}
@@ -18,18 +18,37 @@ import {
18
18
  FormMessage,
19
19
  } from '@/components/ui/form';
20
20
  import { Input } from '@/components/ui/input';
21
+ import { useFormDraft } from '@/hooks/use-form-draft';
22
+ import { formatDateTime } from '@/lib/format-date';
21
23
  import { getPhotoUrl } from '@/lib/get-photo-url';
22
24
  import { User as UserType } from '@hed-hog/api-types';
23
25
  import { useApp, useQuery } from '@hed-hog/next-app-provider';
24
26
  import { zodResolver } from '@hookform/resolvers/zod';
27
+ import { formatDistanceToNow } from 'date-fns';
28
+ import { enUS, ptBR } from 'date-fns/locale';
25
29
  import { Loader, Upload, User } from 'lucide-react';
26
30
  import { useTranslations } from 'next-intl';
27
- import { useEffect, useRef, useState } from 'react';
28
- import { useForm } from 'react-hook-form';
31
+ import { useEffect, useMemo, useRef, useState } from 'react';
32
+ import { useForm, useWatch } from 'react-hook-form';
29
33
  import { z } from 'zod';
30
34
 
35
+ type ProfileDraftPayload = {
36
+ values: {
37
+ name: string;
38
+ };
39
+ };
40
+
41
+ const PROFILE_FORM_DRAFT_STORAGE_KEY = 'core-profile-form-draft';
42
+
31
43
  export function ProfileForm() {
32
- const { user, request, showToastHandler, refetchUser } = useApp();
44
+ const {
45
+ user,
46
+ request,
47
+ showToastHandler,
48
+ refetchUser,
49
+ currentLocaleCode,
50
+ getSettingValue,
51
+ } = useApp();
33
52
  const [uploading, setUploading] = useState(false);
34
53
  const fileInputRef = useRef<HTMLInputElement>(null);
35
54
  const t = useTranslations('core.ProfileForm');
@@ -61,6 +80,55 @@ export function ProfileForm() {
61
80
  },
62
81
  });
63
82
 
83
+ const watchedValues = useWatch({
84
+ control: form.control,
85
+ });
86
+
87
+ const {
88
+ clearDraft,
89
+ loadDraft,
90
+ hasDraft,
91
+ savedAt: draftSavedAt,
92
+ } = useFormDraft<ProfileDraftPayload>({
93
+ storageKey: PROFILE_FORM_DRAFT_STORAGE_KEY,
94
+ value: {
95
+ values: {
96
+ name: watchedValues.name ?? '',
97
+ },
98
+ },
99
+ hasData:
100
+ (watchedValues.name ?? '').trim().length > 0 &&
101
+ (watchedValues.name ?? '').trim() !==
102
+ (profile?.name ?? user?.name ?? '').trim(),
103
+ enabled: true,
104
+ });
105
+
106
+ const draftStatusContent = useMemo(() => {
107
+ if (!hasDraft || !draftSavedAt) {
108
+ return null;
109
+ }
110
+
111
+ const savedDate = new Date(draftSavedAt);
112
+ if (Number.isNaN(savedDate.getTime())) {
113
+ return null;
114
+ }
115
+
116
+ const locale = currentLocaleCode.startsWith('pt') ? ptBR : enUS;
117
+ const relativeLabel = formatDistanceToNow(savedDate, {
118
+ addSuffix: true,
119
+ locale,
120
+ });
121
+ const absoluteLabel = formatDateTime(
122
+ savedDate,
123
+ getSettingValue,
124
+ currentLocaleCode
125
+ );
126
+
127
+ return currentLocaleCode.startsWith('pt')
128
+ ? `Rascunho salvo ${relativeLabel} • Último salvamento: ${absoluteLabel}`
129
+ : `Draft saved ${relativeLabel} • Last saved: ${absoluteLabel}`;
130
+ }, [draftSavedAt, currentLocaleCode, getSettingValue, hasDraft]);
131
+
64
132
  const onSubmit = async (data: ProfileFormValues) => {
65
133
  try {
66
134
  await request({
@@ -68,8 +136,9 @@ export function ProfileForm() {
68
136
  method: 'PUT',
69
137
  data,
70
138
  });
139
+ clearDraft();
71
140
  showToastHandler('success', t('updatedSuccess'));
72
- } catch (error) {
141
+ } catch {
73
142
  showToastHandler('error', t('updateFailure'));
74
143
  }
75
144
  };
@@ -109,7 +178,7 @@ export function ProfileForm() {
109
178
  showToastHandler('success', t('avatarUpdateSuccess'));
110
179
  refetchUser();
111
180
  refetch();
112
- } catch (error) {
181
+ } catch {
113
182
  showToastHandler('error', t('avatarUpdateFailure'));
114
183
  } finally {
115
184
  setUploading(false);
@@ -125,12 +194,18 @@ export function ProfileForm() {
125
194
  .slice(0, 2) || 'U';
126
195
 
127
196
  useEffect(() => {
128
- if (profile) {
129
- form.reset({
130
- name: profile.name,
131
- });
197
+ if (!profile) {
198
+ return;
132
199
  }
133
- }, [profile, form]);
200
+
201
+ const storedDraft = loadDraft();
202
+
203
+ form.reset(
204
+ storedDraft?.payload.values ?? {
205
+ name: profile.name,
206
+ }
207
+ );
208
+ }, [form, loadDraft, profile]);
134
209
 
135
210
  return (
136
211
  <Card>
@@ -194,6 +269,11 @@ export function ProfileForm() {
194
269
  </FormItem>
195
270
  )}
196
271
  />
272
+ {draftStatusContent ? (
273
+ <p className="text-xs text-muted-foreground">
274
+ {draftStatusContent}
275
+ </p>
276
+ ) : null}
197
277
  <Button
198
278
  type="submit"
199
279
  disabled={form.formState.isSubmitting || isLoading}