feat(tasks): Refatora tela de Tarefa de Foto
Descrição
Este PR refatora completamente a tela de Tarefa de Foto (PhotoTask.tsx) para melhorar a UX, adicionar novas funcionalidades e corrigir o layout.
As principais mudanças incluem:
-
Escolha de Mídia: O usuário agora pode escolher entre "Tirar Foto" (usando a câmera) ou "Escolher da Galeria", em vez de estar limitado apenas à galeria.
-
Preview de Imagem: A imagem selecionada pelo usuário é agora exibida como preview, substituindo a ilustração padrão.
-
Fluxo de Botões Aprimorado: O UI agora reage à seleção de imagem, mostrando "Adicionar foto" antes da seleção, e os botões "Enviar foto" e "Escolher outra foto" depois (criando um fluxo de confirmação).
-
Refatoração de Layout (Flexbox): O layout foi totalmente refeito. O
position: 'absolute'dos botões foi removido em favor de uma estrutura Flexbox. Isso corrige bugs onde a imagem (especialmente a padrão) se sobrepunha aos botões. -
Correção de Navegação: Ajusta a lógica
asyncdohandleSendPhoto, movendo osetIsSubmitting(false)para dentro docatch, o que garante que a navegação (router.push) não seja interrompida em caso de sucesso. -
Strings: Adiciona novas chaves ao
Strings.tspara suportar as novas permissões de câmera e opções do menu.
US e Task
Link da tarefa
- US: <número da US>
- Task: <número da Task>
Tipo de Mudança
-
Nova funcionalidade (
feat) -
Correção de bug (
fix) - Outro
Como Testar
Passos para reproduzir/testar:
-
- Acesse a aba "Tarefas" e abra uma tarefa do tipo "Foto".
-
- Verifique se a ilustração padrão e o botão "Adicionar foto" são exibidos corretamente, sem sobreposição.
-
- Clique em "Adicionar foto". Verifique se um Alert aparece com as opções "Tirar Foto" e "Escolher da Galeria".
-
- Teste ambas as opções (câmera e galeria) e conceda as permissões.
-
- Após selecionar uma imagem, verifique se ela aparece como preview na tela.
-
- Verifique se os botões mudaram para "Enviar foto" e "Escolher outra foto".
-
- Clique em "Escolher outra foto" e verifique se o fluxo de seleção se repete e atualiza a imagem.
-
- Clique em "Enviar foto". Verifique se a foto é enviada e se a navegação para a tela de "Tarefa Concluída" ocorre sem problemas.
Checklist
- Código segue o padrão definido
- As string estão sendo pegas do arquivo String.ts
- Documentação atualizada (se necessário)
- PR revisado antes de enviar