Aplicação Next.js que exibe um feed de posts com filtro por categoria e visualização em formato de "stories".
- Node.js 18 ou superior
- npm
Instale as dependências:
npm install
npm run dev
– inicia o servidor de desenvolvimentonpm run build
– gera a build de produçãonpm run lint
– executa a verificação de lint
app/
– páginas e layout da aplicaçãocomponents/
– componentes de interface (cards de posts, modal, etc.)data/
– dados estáticos, como a lista de postshooks/
– hooks personalizados (ex.: carregamento infinito)lib/
– utilitários e funções de apoiopublic/
– arquivos estáticostypes/
– definições TypeScript utilizadas no projeto
- Os posts são definidos em
data/posts.ts
e tipados portypes/post.ts
. - Na página principal (
app/page.tsx
) os posts são carregados e filtrados pelo componenteCategoryFilter
. - O hook
useInfinite
carrega mais cards conforme o usuário rola a página. - Cada card (
PostCard
) abre oStoryDeckModal
, que apresenta as imagens e textos do post em um carrossel vertical no estilo "stories".
Caso seja necessário trabalhar apenas com parte da lista, a função getPosts(start, end)
exportada de data/posts.ts
permite informar o intervalo desejado.
Edite data/posts.ts
e inclua um novo objeto seguindo a interface Post
.
- Acrescente a nova categoria e sua cor em
lib/categories.ts
(constantescategories
ecategoryColors
). - Utilize a nova categoria nos posts desejados em
data/posts.ts
.