rl-core-front 0.14.2 → 0.14.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rl-core-front",
3
- "version": "0.14.2",
3
+ "version": "0.14.3",
4
4
  "description": "Telas e componentes Next.js do core: login com 2FA, usuários, RBAC, auditoria, logs e listagens com filtro dinâmico",
5
5
  "author": "Rodrigo Liberti",
6
6
  "license": "MIT",
@@ -49,6 +49,19 @@ export interface UseConfirmResult {
49
49
  options: ConfirmedActionOptions,
50
50
  action: () => Promise<unknown>,
51
51
  ) => Promise<boolean>;
52
+ /**
53
+ * O caso mais comum, com os textos prontos: `Excluir “Cartão Inter”?` mais o
54
+ * aviso de que não há volta, o botão vermelho e o rótulo "Excluir".
55
+ *
56
+ * Existe para a tela não repetir cinco campos a cada lixeira — era o que
57
+ * fazia cada projeto embrulhar o `confirm` num hook próprio e acabar com
58
+ * duas perguntas de excluir diferentes no mesmo produto.
59
+ *
60
+ * O texto **não** menciona recuperação, mesmo onde a exclusão é lógica:
61
+ * lixeira por baixo é rede de segurança do dado, não promessa ao usuário, e
62
+ * prometer desfazer convida ao clique sem cuidado.
63
+ */
64
+ confirmDelete: (name: string, note?: string) => Promise<boolean>;
52
65
  /** Enquanto a ação confirmada roda — para travar a tabela que ela muda. */
53
66
  acting: boolean;
54
67
  /** Renderize no final da tela — é o modal em si. */
@@ -86,6 +99,18 @@ export function useConfirm(): UseConfirmResult {
86
99
  [pending],
87
100
  );
88
101
 
102
+ const confirmDelete = useCallback(
103
+ (name: string, note?: string): Promise<boolean> =>
104
+ confirm({
105
+ title: t("common.deleteTitle", { name }),
106
+ description: t("common.deleteWarning"),
107
+ note,
108
+ confirmLabel: t("common.delete"),
109
+ destructive: true,
110
+ }),
111
+ [confirm, t],
112
+ );
113
+
89
114
  const confirmAndRun = useCallback(
90
115
  async (
91
116
  options: ConfirmedActionOptions,
@@ -127,5 +152,5 @@ export function useConfirm(): UseConfirmResult {
127
152
  />
128
153
  );
129
154
 
130
- return { confirm, confirmAndRun, acting, confirmDialog };
155
+ return { confirm, confirmDelete, confirmAndRun, acting, confirmDialog };
131
156
  }
@@ -195,6 +195,9 @@ export const en: Messages = {
195
195
  cancel: "Cancel",
196
196
  edit: "Edit",
197
197
  delete: "Delete",
198
+ deleteTitle: "Delete “{name}”?",
199
+ deleteWarning:
200
+ "This action cannot be undone. The record leaves the lists and stops appearing in the system.",
198
201
  create: "Create",
199
202
  confirm: "Confirm",
200
203
  send: "Send",
@@ -197,6 +197,9 @@ export const pt = {
197
197
  cancel: "Cancelar",
198
198
  edit: "Editar",
199
199
  delete: "Excluir",
200
+ deleteTitle: "Excluir “{name}”?",
201
+ deleteWarning:
202
+ "Esta ação não pode ser desfeita. O registro sai das listas e deixa de aparecer no sistema.",
200
203
  create: "Criar",
201
204
  confirm: "Confirmar",
202
205
  send: "Enviar",