Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ✨ create check for sft in mainnet #346

Merged
merged 1 commit into from
Dec 4, 2024

Conversation

saviojks
Copy link
Contributor

@saviojks saviojks commented Dec 4, 2024

Summary by CodeRabbit

  • Novos Recursos

    • Adicionada a opção "Criar SFT" no componente QuickAccess, dependendo da rede.
    • O tipo de ativo "Semi Fungível" agora é incluído na criação de ativos, também dependendo da rede.
  • Ajustes de Estilo

    • O layout do componente CardItem foi aprimorado para ser responsivo com base na rede.
  • Correções de Bugs

    • Melhoria na lógica de seleção de tipos de ativos, garantindo que o comportamento dependa da rede atual.

@saviojks saviojks self-assigned this Dec 4, 2024
Copy link

coderabbitai bot commented Dec 4, 2024

Walkthrough

As alterações introduzidas neste pull request envolvem modificações nos componentes QuickAccess e CreateAsset, ambos localizados em src/components. O componente QuickAccess agora inclui uma lógica condicional que ajusta as opções disponíveis com base na rede atual, utilizando a função getNetwork. O componente CreateAsset redefine um array assetTypes para incluir um tipo de ativo "Semi Fungível" apenas se a rede não for "Mainnet". Além disso, o componente CardItem foi atualizado para aceitar uma nova propriedade booleana isMainNet, afetando o layout CSS.

Changes

Arquivo Resumo das Mudanças
src/components/Home/QuickAccess/index.tsx Adicionada importação de getNetwork, inicialização da variável network, e lógica condicional para "Create SFT". Formatação do mapeamento de quickAccessContract ajustada.
src/components/Home/QuickAccess/styles.ts Adicionada propriedade booleana isMainNet ao componente CardItem, alterando a lógica do CSS grid-column.
src/components/TransactionForms/CustomForms/CreateAsset/index.tsx Importação de getNetwork adicionada, redefinição do array assetTypes com lógica condicional baseada na rede.

Possibly related PRs

  • feat: deposit transfer roles #259: As alterações em CreateAsset.tsx envolvem a importação de getNetwork e renderização condicional com base na rede, semelhante às modificações no componente QuickAccess.
  • fix: 🐞 translate #293: As mudanças em CreateAsset.tsx incluem uma nova chamada de função que processa dados com base nas condições da rede, alinhando-se ao comportamento dependente da rede introduzido no componente QuickAccess.
  • fix: 🐞 create asset wizard bug deveop #337: A função parseSplitRoyalties em utils/index.ts foi modificada para lidar com data.royalties, relevante para a lógica geral de gerenciamento de ativos impactada pelas alterações no componente QuickAccess.

Suggested reviewers

  • MoisesAbraao
  • lucasportella

🐰 "Mudanças na rede, opções a brilhar,
Com SFTs a dançar, vamos celebrar!
A lógica se ajusta, o layout a brilhar,
Com novos ativos, prontos pra criar!" 🥕


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (1)
src/components/TransactionForms/CustomForms/CreateAsset/index.tsx (1)

52-70: Sugestão de melhoria na definição do array de tipos

A lógica condicional para tipos de ativos está correta, porém poderia ser mais declarativa.

Considere refatorar para melhorar a legibilidade:

-  const assetTypes = [
-    {
-      label: 'Fungible',
-      value: 0,
-    },
-    {
-      label: 'Non Fungible',
-      value: 1,
-    },
-    ...(network !== 'Mainnet'
-      ? [
-          {
-            label: 'Semi Fungible',
-            value: 2,
-          },
-        ]
-      : []),
-  ];
+  const baseAssetTypes = [
+    { label: 'Fungible', value: 0 },
+    { label: 'Non Fungible', value: 1 },
+  ];
+
+  const assetTypes = network !== 'Mainnet'
+    ? [...baseAssetTypes, { label: 'Semi Fungible', value: 2 }]
+    : baseAssetTypes;
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 4361935 and daebae9.

📒 Files selected for processing (3)
  • src/components/Home/QuickAccess/index.tsx (4 hunks)
  • src/components/Home/QuickAccess/styles.ts (2 hunks)
  • src/components/TransactionForms/CustomForms/CreateAsset/index.tsx (2 hunks)
🔇 Additional comments (3)
src/components/TransactionForms/CustomForms/CreateAsset/index.tsx (1)

50-51: Boa prática ao obter a rede atual

A chamada para getNetwork() está posicionada corretamente no nível superior do componente.

src/components/Home/QuickAccess/styles.ts (1)

42-44: Boa prática na tipagem do componente

A adição da propriedade isMainNet com tipagem adequada melhora a segurança do tipo.

src/components/Home/QuickAccess/index.tsx (1)

2-2: Verificar uso consistente da função getNetwork

Importante verificar se o valor da rede está sendo usado consistentemente em todo o código.

Also applies to: 31-31

✅ Verification successful

Uso consistente da função getNetwork confirmado

A análise do código mostra que a função getNetwork() está sendo utilizada de maneira consistente em todo o projeto:

  • É chamada uniformemente em 7 componentes diferentes
  • O valor retornado ('Mainnet' ou outro) é usado consistentemente para:
    • Controle de renderização condicional de componentes
    • Ajustes de estilização
    • Lógica de navegação
    • Validações de formulários

O padrão de uso está correto e mantém a consistência em toda a base de código.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Descrição: Verificar uso consistente da função getNetwork e strings de rede

# Procurar por diferentes variações do uso de 'mainnet'
echo "Verificando uso de strings de rede:"
rg -i "mainnet|network.*=.*['\"]main" --type ts --type tsx

# Procurar por usos da função getNetwork
echo -e "\nVerificando chamadas para getNetwork:"
rg "getNetwork\(\)" --type ts --type tsx

Length of output: 333


Script:

#!/bin/bash
# Descrição: Verificar uso consistente da função getNetwork e strings de rede

# Procurar por diferentes variações do uso de 'mainnet' em arquivos TypeScript
echo "Verificando uso de strings de rede:"
rg -i "mainnet|network.*=.*['\"]main" -t typescript

# Procurar por usos da função getNetwork
echo -e "\nVerificando chamadas para getNetwork:"
rg "getNetwork\(\)" -t typescript

# Procurar por definição da função getNetwork
echo -e "\nVerificando definição da função getNetwork:"
ast-grep --pattern 'function getNetwork() { $$$ }'

# Procurar por exportação da função getNetwork
echo -e "\nVerificando exportação da função getNetwork:"
ast-grep --pattern 'export function getNetwork() { $$$ }'

Length of output: 654


Script:

#!/bin/bash
# Descrição: Verificar uso consistente da função getNetwork e strings de rede

# Procurar por diferentes variações do uso de 'mainnet'
echo "Verificando uso de strings de rede:"
rg -i "mainnet|network.*=.*['\"]main"

# Procurar por usos da função getNetwork
echo -e "\nVerificando chamadas para getNetwork:"
rg "getNetwork\(\)"

# Procurar por definição da função getNetwork
echo -e "\nVerificando implementação da função getNetwork:"
rg -A 5 "export.*function.*getNetwork"

# Procurar por arquivo que contém a função
echo -e "\nVerificando arquivo que contém a função:"
fd "networkFunctions.ts"

Length of output: 3166

src/components/Home/QuickAccess/styles.ts Show resolved Hide resolved
src/components/Home/QuickAccess/index.tsx Show resolved Hide resolved
src/components/Home/QuickAccess/index.tsx Show resolved Hide resolved
@saviojks saviojks merged commit eceef69 into develop Dec 4, 2024
2 checks passed
@saviojks saviojks deleted the feat/create-check-for-sft-in-mainnet branch December 4, 2024 21:12
saviojks added a commit that referenced this pull request Dec 13, 2024
* feat: ✨ create check for sft in mainnet (#346)

* fix: 🐞 [NFT] Asset ID not avaiable to input on Testnet (#350)

* fix: 🐞 [NFT] Asset ID not avaiable to input on Testnet

* fix: 🐞 build
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants