fix(dashboard): fix instructor avatar upload on course landing page (#745)
* fix(dashboard): fix instructor avatar upload on course landing page The crop dialog was hidden behind the full-screen (z-250) landing-page editor because bits-ui portals it to <body> at z-modal (200), and every crop triggered an unbounded loop of POST /media/image requests. - Add opt-in `elevatedDialog` prop to UploadImage that raises the crop dialog above the editor takeover; enable it in the instructor, certificate, and review landing-page editor forms. - Break the upload effect loop in instructor-form by reading `course.id` through `untrack`, so the effect no longer re-runs when the setter reassigns `course` after each unique upload URL. - Handle upload failures in instructor-form with a snackbar and always reset `isUploading`, so a failed upload no longer leaves the widget stuck and silent. * docs(email): add email notification preferences PRD Specify a Settings feature letting users enable/disable notification emails at two scopes: personal per-user preferences and org-wide admin defaults. Both gates must allow a send; transactional emails stay mandatory. Grounds storage in organization.settings and a new profile.settings jsonb, with a single preference guard at the email enqueue chokepoint.
This commit is contained in:
@@ -256,7 +256,8 @@
|
||||
"file_size": "O tamanho do arquivo não deve ser superior a 500kb",
|
||||
"try_again": "Tente novamente",
|
||||
"label": "Carregar imagem",
|
||||
"fetch_error": "Erro ao buscar imagens do Unsplash"
|
||||
"fetch_error": "Erro ao buscar imagens do Unsplash",
|
||||
"upload_failed": "Falha ao carregar a imagem. Por favor, tente novamente."
|
||||
}
|
||||
},
|
||||
"team_members": {
|
||||
|
||||
Reference in New Issue
Block a user