devhatt / octopost

Octopost is an open source service from Devhat that was created to guide new developers for free
https://devhatt.github.io/octopost/
MIT License
65 stars 45 forks source link

Refatorar a request inicial do app para busca de contas #504

Closed Alecell closed 2 weeks ago

Alecell commented 2 months ago

Describe the feature

Hoje temos um bloco de useEffect na home.tsx do app que verifica se existem accounts e, não tenha, ele faz uma request de busca de contas.

Isso não é nem tão bom e nem muito eficiente e precisamos refatorar.

Use Case

A ideia desse bloco de código é que seja buscado contas caso não haja nenhuma, mas existe um gap lógico aqui, se o usuário não tiver de fato contas cadastradas isso ficará sendo disparado constantemente oque não é oque queremos.

Outro problema é onde isso ta posicionado e como ta posicionado, provavelmente podemos mover essa lógica e condição para dentro do proprio zustand deixando de usar isso direto no react, mas usar no nosso orquestrador.

Implementation Details

Precisamos que o objeto accounts do zustand seja um requester com loading, data e error, o valor inicial do data deve ser null e caso a lista de contas ativas do usuário seja de fato uma lista vazia o accounts deverá ser [], assim temos como diferenciar a falta da informação para a lista vazia.

Outro ponto importante é mover a chamada do getAllAccounts para dentro do proprio zustand e verificar a possibilidade de ele ter um "setup inicial" onde ele faz as requests desejadas já com as verificações que precisamos sem envolver isso no useEffect, acredito que da pra fazer isso no setup inicial do useSocialMediaStore, mas precisa verificar tanto se funciona, como verificar se isso não prejudica a tipagem do nosso hook.

Visual Concepts

image

Alecell commented 2 months ago

Obrigado por abrir a issue

Verifique os nossos guidelines: