hack-a-chain-software / indexer-kadena

0 stars 2 forks source link

[Tokens] From that page, the list of transfers for a specific token (tab in Token Detail page) should be easily discoverable. #62

Open 1Mateus opened 2 months ago

1Mateus commented 2 months ago

EN

https://www.notion.so/Mat-Reply-Hackchain-Indexer-Explorer-Frontend-review-fa7e71e82bdf44cd9fc99821b484fb88?pvs=4#b8428e3316354ef198a1b65c56b618ae

1Mateus commented 2 months ago

@rafaeldkb como ficou o encaminhamento disso aqui? tem ideia de como vai ser pra prosseguir com o filtro? design?

1Mateus commented 2 months ago

@rafaeldkb @bernardonery eu resolvi essa com base no mesmo item dessa issue: https://github.com/hack-a-chain-software/indexer-kadena/issues/79#issuecomment-2282876286

Essa issue diz que, para cada token listado na pagina /tokens, eu consiga redirecionar o usuário para a pagina do token detail.

Mas tem 1 problema com esse fluxo: os dados que mostramos na página do token, todos eles vem da coingecko, não temos esses dados no nosso Backend. Um exemplo dos dados que buscamos: descrição do token, links publicos (repositorio, site), preço, os relatórios e gráficos.

Dessa forma, como não são todos os tokens que existem na blockchain da kadena que estão listados e cadastrados na coingecko, não são todos os tokens que vão ter um id na coingecko.

E não conseguiriamos usar a mesma página de token details para todos os tokens.

Com isso, eu atualizei a lista de transfers para analisar se o token tem um id da coingecko e redirecionar o usuario quando ele clica na logo do token. Se o token não tem um id da coingecko, eu deixei ele com a opacidade reduzida e com um efeito de "blocked" no cursor.

Dessa forma não precisa alterar o design, e se quiser dar suporte a todos os tokens, é só ter um cadastro da coingecko que aparece pra gente.

Me da um alo sobre o que vc acha dessa solução.

https://github.com/user-attachments/assets/d678ff84-1b1f-4a8f-bad2-6213f44e3ac7

rafaeldkb commented 2 months ago

@1Mateus não seria possível, quando não tem o token na coingecko, direcionar pra mesma página de token details, mas não mostrar os details da coingecko, apenas as transfers que puxamos da blockchain diretamente? Talvez deixar alguma mensagem tipo "essa informação não está disponível" nos campos que viriam da coingecko.

1Mateus commented 2 months ago

@rafaeldkb vou validar essa implementação

1Mateus commented 2 months ago

@rafaeldkb feito:

Só lembrando, quando não tem na Coingecko o token, eu to verificando pelo módulo e tento relacionar com outros tokens conhecidos que foram mapeados, se o token que a pessoa passar não tiver nem na coingecko e nem nessa lista, a página aparece assim:

Image

Mas ainda tem acesso normalmente a tabela de transferência pelo módulo, como você pediu.

rafaeldkb commented 2 months ago

Tá show!

1Mateus commented 2 months ago

https://github.com/hack-a-chain-software/indexer-kadena/commit/46370b1f24726ca9bc22bc858bd008771dea74d4

rafaeldkb commented 2 months ago

@1Mateus I was wondering if it would be possible of, when the token has no details, to go directly to the transfers page when someone click on the token

bernardonery commented 1 month ago

@1Mateus I was wondering if it would be possible of, when the token has no details, to go directly to the transfers page when someone click on the token

Are you suggesting that the same thing should not happen as is happening with this token here?

Image

rafaeldkb commented 1 month ago

Yes, I'm suggesting that when there's no token details, we send directly to the Transfers tab (which is inside the token details), instead of sending to the "Info" tab, so that we display information.

Screenshot 2024-09-10 at 14 41 59
rafaeldkb commented 1 month ago

Last comment from Mateus on this: "Essa aqui eu não consegui um exemplo, não consegui paginar a tabela e achar um token que não existe, pq ficava retornando 503 do backend." @1Mateus pode usar o token Crankk pra testar? https://www.kadscan.io/tokens/free.crankk01?tab=info

Deixei um pouco mais detalhado acima o que eu tava querendo dizer.