noticias funcionais

This commit is contained in:
2026-04-28 17:11:58 +01:00
parent 8784cc4975
commit 85f1a3679f
12 changed files with 668 additions and 2 deletions

View File

@@ -94,3 +94,46 @@ Foi criada toda a infraestrutura base e a interface visual para acomodar os "Mel
**O que foi removido**
- Nenhuma funcionalidade removida. O código consiste numa extensão (feature) 100% nova.
## Relatório de Intervenção (Implementação da Secção de Notícias)
**Progresso Geral Atualizado**
Foi implementado um novo sistema de notícias que permite à app exibir as novidades mais recentes da AFAVCD. O sistema é composto por um scraper que recolhe os dados da API oficial e uma nova interface na app Android que apresenta as notícias num formato de resumo visualmente apelativo (cards), seguindo a estética solicitada.
**O que foi criado ou adicionado**
- **No Scraper (Java):**
- Criado o modelo `News.java`.
- Criado o `NewsScraper.java` que extrai dados de `https://api.afavcd.pt/news/1` e sincroniza-os com o nó `noticias` na Firebase.
- **Na App Android:**
- Adicionado o modelo `News.java` com mapeamento para os campos da Firebase.
- Desenvolvido o layout `item_news.xml` com um design premium (Imagens de destaque, títulos em cyan e resumos limpos).
- Criado o `fragment_news.xml` com um cabeçalho personalizado e uma `RecyclerView`.
- Implementados o `NewsAdapter.java` (com limpeza de tags HTML do corpo da notícia) e o `NewsFragment.java`.
- Integrada a nova secção no menu lateral (`activity_main_drawer.xml`), no grafo de navegação (`mobile_navigation.xml`) e configurada como destino de topo na `MainActivity.java`.
**O que foi modificado e porquê**
- `strings.xml`: Adicionada a label "Notícias" para internacionalização e uso no menu.
- `MainActivity.java`: Atualizada a `AppBarConfiguration` para incluir o novo fragmento de notícias, garantindo que o menu lateral esteja disponível em vez do botão de retrocesso.
- `mobile_navigation.xml` e `activity_main_drawer.xml`: Atualizados para permitir a navegação para a nova funcionalidade.
**O que foi removido**
- Nenhuma funcionalidade foi removida. O projeto foi expandido com uma nova feature.
## Relatório de Intervenção (Ecrã de Ínicio / Notícias)
**Progresso Geral Atualizado**
As notícias foram promovidas a ecrã principal (Ínicio) da aplicação. A secção de notícias é agora a primeira a ser apresentada quando o utilizador abre a app e o ecrã foi sujeito a uma profunda revisão estética para apresentar uma leitura mais imersiva, moderna e limpa (Cards formatados).
**O que foi criado ou adicionado**
- Nenhuma class nova foi criada. O foco foi estritamente na reorganização e melhoria de UI e UX.
- Adicionada lógica de parsing e formatação da data no `NewsAdapter.java` para converter strings ISO complexas (`"2026-04-20T20:05:01.000Z"`) em datas humanamente legíveis e agradáveis (e.g. `20 abr 2026`).
**O que foi modificado e porquê**
- `strings.xml`: A string `@string/menu_news` foi alterada de "Notícias" para "Ínicio" para corresponder à semântica desejada pelo utilizador para o ecrã de entrada.
- `mobile_navigation.xml`: O `startDestination` foi alterado de `nav_home` (Classificações) para `nav_news` (Ínicio/Notícias) para garantir que a app abre logo nas notícias recentes.
- `activity_main_drawer.xml`: O item `nav_news` foi movido para o topo do menu para respeitar a hierarquia visual.
- `fragment_news.xml`: Removido o cabeçalho cyan ("Notícias"), integrando perfeitamente a lista com a barra de ferramentas nativa da aplicação Android.
- `item_news.xml`: Completamente redesenhado. Adicionado um layout `MaterialCardView` com cantos mais arredondados, margens e sombras otimizadas, e melhorada drasticamente a hierarquia tipográfica (cores neutras premium `#1F2937` e `#4B5563`, e a imagem a ocupar a largura total do card).
**O que foi removido**
- O cabeçalho estático no ficheiro `fragment_news.xml` foi removido para promover um design mais nativo e espaçoso.