Feature/US07-troca-aplausos-recompensas
Link da Tarefa
Descrição
Desenvolvedores da tarefa: Thomas Mundstock e Isabela Araujo
Criação da função que envia para o backend a ID do item que deseja ser resgatado da loja. O backend deverá então processar este pedido e retornar uma mensagem positiva caso o resgate tenha sido efetuado, e uma mensagem negativa caso o resgate não tenha sido efetuado. Como ainda não temos uma lista de recompensas para integrar esta função, ela foi testada da seguinte maneira:
Foi inserido o código abaixo no arquivo pages/index.tsx
apenas para fins de teste, por isso tais modificações não constam nas mudanças finais do MR.
// Imports necessários para chamar a função
import UserMessageModal from '@/components/userMessageModal';
import ValidateTransaction from './api/store/index';
// inserir essa parte dentro do export default function
const [isOpen, setIsOpen] = useState(false);
const [modalType, setModalType] = useState<'success' | 'error' | 'question'>('success');
// const que chama a função de validação, essa deve ser feita uma por item da loja
// também é inserida dentro do export default function
const handleTransaction = async () => {
try {
const response = await ValidateTransaction(1);
if (response.status === 201) {
setModalType('success');
} else {
setModalType('error');
}
setIsOpen(true);
} catch (error) {
setModalType('error');
setIsOpen(true);
}
};
// Maneira como foi chamada a função dentro do return final de <div>
// A principio vai ser uma modal para cada tela.
<button onClick={handleTransaction}>testeteste</button>
<UserMessageModal
isOpen={isOpen}
setOpen={setIsOpen}
hasButton={false}
img={modalType}
message={modalType === 'success' ? 'Mensagem de sucesso' : 'Mensagem de erro'}
title={
modalType === 'success' ? 'Recompensa resgatada' : 'Falha no resgate da recompensa'
}
/>
Checklist
- [x ] Não deixou string literais no código.
- [x ] Utilizou as variáveis padronizadas do design system (cor, títulos/fontes).
- [x ] Não deixou código comentado.