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

Atualiza supabase #252

Merged
merged 2 commits into from
Jan 18, 2025
Merged

Atualiza supabase #252

merged 2 commits into from
Jan 18, 2025

Conversation

zoedsoupe
Copy link
Member

@zoedsoupe zoedsoupe commented Jan 18, 2025

Descrição

Atualiza dependências, em especial as da supabase, corrige bug que impedia fazer login na parte privada e tbm provê função que gera link diretos para imagens reduzidas no Storage da Supabase

Stories relacionadas (Shortcut)

N/A

Pontos para atenção

N/A

Possui novas configurações?

N/A

Possui migrations?

N/A

Summary by CodeRabbit

  • Novas Funcionalidades

    • Adicionado módulo de gerenciamento de armazenamento de imagens públicas
    • Atualização de sintaxe de renderização em diversos componentes e templates
  • Correções de Bugs

    • Nenhuma correção específica identificada
  • Atualizações de Dependências

    • Atualizadas versões de múltiplas dependências, incluindo Phoenix LiveView, Supabase, Ecto e outras bibliotecas
  • Mudanças de Estilo

    • Substituição da sintaxe de interpolação de variáveis de <%= ... %> para { ... } em diversos componentes e templates
  • Chores

    • Atualização de versões de dependências
    • Ajustes na configuração do projeto

Copy link

coderabbitai bot commented Jan 18, 2025

Walkthrough

Esta mudança representa uma atualização abrangente na base de código do projeto Pescarte, com foco principal na modernização da sintaxe de renderização de templates e atualização de dependências. A modificação mais significativa é a transição do uso de <%= ... %> para { ... } em diversos arquivos de template, alinhando-se com as práticas mais recentes do framework Phoenix. Além disso, houve uma atualização substancial nas versões de dependências, incluindo atualizações para bibliotecas como Phoenix LiveView, Supabase, e várias outras ferramentas essenciais.

Changes

Arquivo Resumo das Alterações
lib/pescarte/storage.ex Novo módulo de gerenciamento de armazenamento com função para obter URL de imagens públicas
lib/pescarte_web/design_system.ex Atualização da sintaxe de renderização de slots em componentes
Múltiplos arquivos de template Substituição de <%= ... %> por { ... } para renderização de variáveis
mix.exs Atualização de versões de diversas dependências
lib/pescarte_web/live/navbar.ex Alteração do identificador do item de menu "Home" de :home para :house

Poem

🌊 Código que flui como um rio,
Sintaxe nova, um suave desafio
Templates dançam com chaves gentis
Dependências crescem, projetos mais feliz! 🚢
Pescarte navega em águas de inovação 🌈

Finishing Touches

  • 📝 Generate Docstrings (Beta)

🪧 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 generate docstrings to generate docstrings for this PR. (Beta)
  • @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: 9

🔭 Outside diff range comments (13)
lib/pescarte_web/layouts/root.html.heex (1)

Line range hint 1-24: Sugestão de melhorias para SEO

Algumas sugestões para melhorar as meta tags:

  • Adicionar og:site_name
  • Incluir twitter:card e outras tags do Twitter
  • Adicionar tags de localização como og:locale

Exemplo de implementação:

    <meta property="og:type" content="website" />
+   <meta property="og:site_name" content="PEA Pescarte" />
+   <meta property="og:locale" content="pt_BR" />
+   <meta name="twitter:card" content="summary_large_image" />
+   <meta name="twitter:title" content="PEA Pescarte" />
+   <meta name="twitter:description" content="Plataforma Digital PEA Pescarte" />
lib/pescarte_web/templates/cooperativas_html/show.html.heex (1)

Line range hint 38-38: Atenção: URLs do Supabase com tokens expostos!

As URLs do Supabase contêm tokens de acesso diretamente no template. Isto é uma vulnerabilidade de segurança, pois:

  1. Os tokens podem expirar
  2. Os tokens são expostos no código-fonte
  3. Dificulta a manutenção

Recomendo:

  1. Criar uma função helper para gerar URLs seguras
  2. Mover a lógica para o contexto apropriado
  3. Utilizar variáveis de ambiente para os tokens

Exemplo de implementação mais segura:

# lib/pescarte/storage.ex
defmodule Pescarte.Storage do
  def get_public_url(path) do
    # Implementar lógica de geração de URL segura
  end
end

# No template
<img src={Pescarte.Storage.get_public_url("static/images/cooperativas/cooperativas_1.png")} />

Also applies to: 45-45

lib/pescarte_web/templates/relatorio_html/relatorio_trimestral.html.heex (1)

Line range hint 5-93: Considere mover os estilos para um arquivo CSS separado

O CSS inline atual dificulta a manutenção e reuso. Recomendo:

  1. Criar um arquivo CSS dedicado
  2. Utilizar classes para estilos comuns
  3. Aproveitar o sistema de assets do Phoenix

Exemplo de organização:

# Criar: assets/css/pdf_reports.css
+ .pdf-report {
+   /* estilos comuns */
+ }
+ .pdf-report__cover {
+   /* estilos da capa */
+ }

# No template:
- <style>...</style>
+ <link rel="stylesheet" href={~p"/assets/pdf_reports.css"}>
lib/pescarte_web/templates/relatorio_html/relatorio_anual.html.heex (1)

Line range hint 5-68: Evite duplicação de estilos entre relatórios

O CSS está duplicado entre os relatórios anual e trimestral. Recomendo:

  1. Criar um componente comum para relatórios
  2. Compartilhar os estilos entre os relatórios
  3. Utilizar herança de templates do Phoenix

Exemplo de implementação:

# lib/pescarte_web/components/report_component.ex
defmodule PescarteWeb.ReportComponent do
  use Phoenix.Component
  
  def report(assigns) do
    ~H"""
    <!DOCTYPE html>
    <html lang="pt-br">
      <head>
        <link rel="stylesheet" href={~p"/assets/pdf_reports.css"}>
      </head>
      <body>
        <%= render_slot(@inner_block) %>
      </body>
    </html>
    """
  end
end

# No template:
<.report>
  # Conteúdo específico do relatório
</.report>
lib/pescarte_web/templates/relatorio_html/relatorio_mensal.html.heex (1)

Line range hint 13-13: Atenção com tokens de longa duração em URLs do Supabase

As URLs do Supabase contêm tokens de acesso com datas de expiração muito distantes (2024-2039). Isso pode representar um risco de segurança.

Recomendações:

  1. Gere URLs com tokens de curta duração
  2. Implemente um sistema de renovação automática de URLs
  3. Considere usar variáveis de ambiente para as chaves de assinatura

Also applies to: 15-15, 17-17, 19-19, 21-21, 23-23

lib/pescarte_web/templates/landing_html/show.html.heex (1)

Line range hint 54-62: Considere criar um componente reutilizável para cards de notícias

Existe duplicação significativa no padrão de renderização de cards de notícias entre os templates. Um componente dedicado melhoraria a manutenibilidade.

Exemplo de implementação:

# lib/pescarte_web/components/news_card_component.ex
defmodule PescarteWeb.Components.NewsCard do
  use Phoenix.Component
  
  def render(assigns) do
    ~H"""
    <div class="news-item">
      <.link href={@href}>
        <img src={@image_url} />
        <div class="p-5">
          <.text size="h4" color="text-blue-100">
            {handle_notice_title_length(@title)}
          </.text>
          <.text size="sm" color="text-black-60">
            {handle_notice_desc_length(@description)}
          </.text>
        </div>
      </.link>
    </div>
    """
  end
end

Also applies to: 135-143, 160-168, 185-194, 211-219, 236-246, 263-271, 288-296, 313-320

lib/pescarte_web/live/pesquisa/pesquisador_live/show.ex (3)

Line range hint 41-42: Remover link do avatar hardcoded

O link do avatar está sendo sobrescrito com um valor hardcoded do Google Drive. Isso pode causar problemas em produção, já que ignora o avatar personalizado do usuário.

Aplique este diff para corrigir:

      link_avatar: pesquisador.usuario.link_avatar,
-     link_avatar:
-        "https://drive.google.com/file/d/1le-ipDAdzymf0X0LRvP2E5T7HP262Yip/view?usp=sharing",

Line range hint 71-72: Implementar verificação da senha atual

A funcionalidade de alteração de senha não verifica a senha atual do usuário, o que representa uma vulnerabilidade de segurança. É uma boa prática exigir a senha atual antes de permitir alterações.

Posso ajudar a implementar a verificação da senha atual. Gostaria que eu criasse uma issue para rastrear esta tarefa?


Line range hint 98-116: Melhorar a validação de senha

A lógica de validação de senha está fragmentada em múltiplas funções e usa mensagens de erro hardcoded. Podemos melhorar isso usando um módulo dedicado para validação de senha.

Sugestão de refatoração:

defmodule Pescarte.Accounts.PasswordValidator do
  @password_requirements %{
    min_length: 12,
    requires: [:alphabetic, :numeric, :special]
  }
  
  def validate_password(changeset, field) do
    changeset
    |> validate_length(field, min: @password_requirements.min_length)
    |> validate_format(field, ~r/[A-Za-z]/, message: "precisa de caractere alfabético")
    |> validate_format(field, ~r/[0-9]/, message: "precisa de caractere numérico")
    |> validate_format(field, ~r/[^A-Za-z0-9]/, message: "precisa de caractere especial")
  end
end
lib/pescarte_web/templates/pgtrs_html/show.html.heex (1)

Line range hint 10-10: Remover URL do Supabase com token hardcoded

A URL do Supabase contém um token de acesso hardcoded que expira em 22/08/2024. Isso representa um risco de segurança e pode causar problemas quando o token expirar.

Sugestão: Mova a geração da URL assinada para o backend e passe apenas a URL final para o template. Exemplo:

# No contexto apropriado
def generate_signed_image_url(path) do
  Supabase.Storage.from("static")
  |> Supabase.Storage.create_signed_url(path, 3600) # expira em 1 hora
end
lib/pescarte_web/live/pesquisa/relatorio_live/form_component.ex (1)

Line range hint 1-240: Sugestões de melhorias para o componente como um todo

Algumas sugestões para melhorar ainda mais o código:

  1. Documentação de Módulo:
@moduledoc """
Componente LiveView responsável pelo formulário de relatórios de pesquisa.
Suporta três tipos de relatórios: mensal, trimestral e anual.
"""
  1. Documentação de Funções:
@doc """
Renderiza o formulário de relatório com campos específicos baseados no tipo.
"""
  1. Tipagem com @type:
@type report_type :: :mensal | :trimestral | :anual
  1. Constantes para campos repetidos:
@common_fields [:resumo, :introducao, :embasamento_teorico]

Estas sugestões seguem as convenções do Elixir para documentação e tipagem. Para mais detalhes, consulte:

lib/pescarte_web/templates/noticias_html/show.html.heex (2)

Line range hint 13-13: Considere gerar URLs de imagem com tamanho reduzido

As imagens do carrossel estão sendo carregadas em seu tamanho original, o que pode impactar o desempenho da página. O Supabase oferece transformações de imagem que podem ser utilizadas para otimizar o carregamento.

Exemplo de como gerar uma URL com transformação de imagem:

- <img src="https://rrosgcmviafnxjshljoq.supabase.co/storage/v1/object/sign/static/images/noticias/seminario%20pesca/interna1.JPG?token=..."/>
+ <img src="https://rrosgcmviafnxjshljoq.supabase.co/storage/v1/object/public/static/images/noticias/seminario%20pesca/interna1.JPG?width=800&quality=80"/>

Considere também adicionar o atributo loading="lazy" para imagens que não estão visíveis inicialmente.

Also applies to: 14-14, 15-15, 16-16, 17-17, 18-18


Line range hint 1-270: Melhorias de acessibilidade sugeridas

Para melhorar a acessibilidade da página de notícias, considere adicionar:

  1. Atributos alt descritivos para todas as imagens
  2. Atributos aria-label para os botões de navegação do carrossel
  3. Roles ARIA apropriados para os elementos de navegação

Exemplo de implementação:

- <img src="..." />
+ <img src="..." alt="Descrição detalhada da imagem" />

- <button class="glide__bullet" data-glide-dir="=0"></button>
+ <button 
+   class="glide__bullet" 
+   data-glide-dir="=0" 
+   aria-label="Ir para o slide 1">
+ </button>
📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2a689d9 and ae9bc45.

⛔ Files ignored due to path filters (1)
  • mix.lock is excluded by !**/*.lock
📒 Files selected for processing (30)
  • lib/pescarte/storage.ex (1 hunks)
  • lib/pescarte_web/design_system.ex (15 hunks)
  • lib/pescarte_web/design_system/authenticated_navbar.ex (1 hunks)
  • lib/pescarte_web/design_system/multiple_select_input.ex (2 hunks)
  • lib/pescarte_web/design_system/navbar.ex (1 hunks)
  • lib/pescarte_web/layouts/app.html.heex (1 hunks)
  • lib/pescarte_web/layouts/authenticated.html.heex (1 hunks)
  • lib/pescarte_web/layouts/root.html.heex (1 hunks)
  • lib/pescarte_web/live/blog/post_live/show.ex (1 hunks)
  • lib/pescarte_web/live/navbar.ex (1 hunks)
  • lib/pescarte_web/live/pesquisa/pesquisador_live/form_component.ex (1 hunks)
  • lib/pescarte_web/live/pesquisa/pesquisador_live/index.html.heex (1 hunks)
  • lib/pescarte_web/live/pesquisa/pesquisador_live/show.ex (1 hunks)
  • lib/pescarte_web/live/pesquisa/pesquisador_live/show.html.heex (1 hunks)
  • lib/pescarte_web/live/pesquisa/relatorio_live/form_component.ex (2 hunks)
  • lib/pescarte_web/live/pesquisa/relatorio_live/index.html.heex (1 hunks)
  • lib/pescarte_web/templates/agenda_html.ex (1 hunks)
  • lib/pescarte_web/templates/agenda_html/show.html.heex (2 hunks)
  • lib/pescarte_web/templates/censo_html/show.html.heex (1 hunks)
  • lib/pescarte_web/templates/cooperativas_html/show.html.heex (1 hunks)
  • lib/pescarte_web/templates/equipes_html/show.html.heex (16 hunks)
  • lib/pescarte_web/templates/error_html/404.html.heex (1 hunks)
  • lib/pescarte_web/templates/error_html/500.html.heex (1 hunks)
  • lib/pescarte_web/templates/landing_html/show.html.heex (9 hunks)
  • lib/pescarte_web/templates/noticias_html/show.html.heex (10 hunks)
  • lib/pescarte_web/templates/pgtrs_html/show.html.heex (1 hunks)
  • lib/pescarte_web/templates/relatorio_html/relatorio_anual.html.heex (2 hunks)
  • lib/pescarte_web/templates/relatorio_html/relatorio_mensal.html.heex (4 hunks)
  • lib/pescarte_web/templates/relatorio_html/relatorio_trimestral.html.heex (2 hunks)
  • mix.exs (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: lint (27.1.2, 1.18.0)
  • GitHub Check: test (27.1.2, 1.18.0)
🔇 Additional comments (25)
lib/pescarte_web/layouts/app.html.heex (1)

3-3: Ótima atualização para a sintaxe moderna do Phoenix! ✨

A mudança de <%= @inner_content %> para {@inner_content} está alinhada com as melhores práticas atuais do Phoenix HEEx (HTML + EEx). Esta sintaxe mais moderna:

  • É mais concisa e legível
  • Segue o padrão dos componentes Phoenix LiveView
  • Melhora a consistência com outros templates

Para mais informações sobre a sintaxe HEEx, consulte a documentação oficial do Phoenix.

lib/pescarte_web/layouts/authenticated.html.heex (1)

10-10: Excelente consistência na atualização da sintaxe! 👏

A mudança para {@inner_content} mantém o padrão aplicado em outros layouts, o que é uma excelente prática para manter a consistência do código.

Para desenvolvedores iniciantes: Este é um exemplo perfeito de como manter a consistência em todo o projeto melhora a manutenibilidade do código.

lib/pescarte_web/live/navbar.ex (1)

8-8: Verificar compatibilidade do ícone :house 🏠

A mudança de :home para :house pode estar relacionada à atualização das dependências do Heroicons. Vamos verificar se o ícone está disponível e funcionando corretamente.

Sugestão: Documente em algum lugar (como README ou documentação interna) quais ícones estão disponíveis para uso no projeto, para facilitar futuras manutenções.

✅ Verification successful

Mudança de ícone :home para :house está correta ✅

A alteração do ícone de :home para :house está alinhada com a biblioteca Lucideicons v2.0 que é utilizada no projeto. O componente de ícone está funcionando corretamente e a mudança reflete a nomenclatura padrão da biblioteca.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verificar se o ícone :house está definido nos arquivos de componentes
rg -l "def icon.*:house" lib/

Length of output: 31


Script:

#!/bin/bash
# Buscar arquivos relacionados a ícones e componentes
echo "=== Procurando por arquivos de componentes de ícone ==="
fd -e ex -e heex icon

echo "=== Verificando implementações de ícones no projeto ==="
rg -i "icon|heroicon" lib/ -A 5

echo "=== Verificando imports e uses relacionados a ícones ==="
rg "use.*Hero|import.*Hero" lib/

Length of output: 96199


Script:

#!/bin/bash
# Verificar dependências do projeto
echo "=== Verificando dependências do projeto ==="
cat mix.exs

echo "=== Verificando imports do Lucideicons ==="
rg "alias.*Lucide|use.*Lucide|import.*Lucide" lib/

Length of output: 3469

lib/pescarte_web/templates/agenda_html/show.html.heex (1)

8-8: Atualização positiva da sintaxe do template HEEx!

A mudança de <%= %> para {} segue as melhores práticas mais recentes do Phoenix para templates HEEx. Esta sintaxe mais moderna traz alguns benefícios:

  • Maior legibilidade do código
  • Melhor integração com ferramentas de formatação
  • Consistência com a sintaxe de componentes do Phoenix LiveView

Para saber mais sobre a sintaxe HEEx, consulte a documentação oficial do Phoenix.

Also applies to: 17-17

lib/pescarte_web/templates/error_html/404.html.heex (1)

25-25: Boa implementação da página de erro 404!

A atualização da sintaxe do título está correta e a página de erro segue boas práticas:

  • Uso adequado de meta tags para SEO e acessibilidade
  • Mensagem de erro clara e amigável
  • Imagem ilustrativa com atributo alt apropriado
  • Estrutura HTML semântica com <main> e outros elementos apropriados

💡 Dica: O uso de assigns[:page_title] com valor padrão é uma excelente prática para evitar erros quando o título não está definido.

lib/pescarte_web/templates/error_html/500.html.heex (1)

25-25: Template consistente com a página 404!

A implementação segue o mesmo padrão de qualidade da página 404, mantendo a consistência na experiência do usuário.

lib/pescarte_web/design_system/authenticated_navbar.ex (1)

30-30: Atualização positiva da sintaxe do template!

A mudança de <%= ... %> para { ... } está alinhada com as melhores práticas do Phoenix LiveView e HEEx (HTML + EEx). Esta sintaxe mais moderna traz benefícios como:

  • Melhor legibilidade do código
  • Sintaxe mais concisa
  • Melhor integração com o sistema de tipagem do Elixir

Para mais informações sobre a sintaxe HEEx, consulte a documentação oficial do Phoenix.

Also applies to: 38-38

lib/pescarte_web/layouts/root.html.heex (1)

31-31: Sintaxe do template atualizada corretamente!

A atualização da sintaxe de <%= ... %> para { ... } está correta e consistente com as mudanças em outros arquivos.

Also applies to: 38-38

lib/pescarte_web/design_system/navbar.ex (1)

95-95: 🧹 Nitpick (assertive)

Atualização de sintaxe correta e sugestão de acessibilidade!

A mudança de sintaxe está correta. Porém, podemos melhorar a acessibilidade do componente adicionando alguns atributos ARIA.

Sugestão de melhoria:

-      <li class={["nav-link ", if(@current_path == @navigate, do: "active")]} aria-expanded="false">
+      <li 
+        class={["nav-link ", if(@current_path == @navigate, do: "active")]}
+        role="menuitem"
+        aria-current={if(@current_path == @navigate, do: "page", else: "false")}
+      >

Likely invalid or redundant comment.

mix.exs (2)

70-72: Atualização apropriada das dependências do Supabase!

As atualizações das bibliotecas do Supabase estão alinhadas com os objetivos do PR:

  • supabase_potion: ~> 0.3 → ~> 0.6
  • supabase_gotrue: ~> 0.3 → ~> 0.4
  • supabase_storage: ~> 0.3 → ~> 0.4

Estas atualizações devem resolver os problemas de login mencionados nos objetivos do PR.


38-44: Atenção às atualizações de versão principais!

Observei algumas atualizações significativas de dependências, especialmente:

  • phoenix_live_view de ~> 0.20 para ~> 1.0
  • tesla de ~> 1.4 para ~> 1.13
  • finch de ~> 0.16 para ~> 0.19

Estas mudanças podem requerer ajustes adicionais no código. Recomendo revisar:

  1. Guia de migração do Phoenix LiveView 1.0
  2. Changelog do Tesla
✅ Verification successful

Boa notícia! Seu código está compatível com Phoenix LiveView 1.0 🎉

Após análise detalhada do código, verifiquei que:

  • Os hooks personalizados (CpfNumberMask, MobileMask) seguem o padrão atual
  • Os formulários e eventos utilizam a sintaxe recomendada
  • Não há uso de recursos depreciados

Para referência futura, você pode consultar:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verificar uso de funcionalidades depreciadas do LiveView
rg -l "phx-update|phx-hook|phx-target" 

Length of output: 461


Script:

#!/bin/bash
# Verificar conteúdo específico dos arquivos com LiveView
echo "=== Checking LiveView patterns ==="
rg "phx-(update|hook|target)" -A 2 -B 2

# Verificar padrões específicos que mudaram no LiveView 1.0
echo -e "\n=== Checking specific LiveView 1.0 patterns ==="
rg "handle_event|mount|handle_info|handle_params|update" lib/pescarte_web/live/

Length of output: 10036

lib/pescarte_web/templates/cooperativas_html/show.html.heex (1)

3-3: Sintaxe atualizada corretamente!

A mudança de <%= @error_message %> para {@error_message} está alinhada com as melhores práticas atuais do Phoenix.

lib/pescarte_web/templates/relatorio_html/relatorio_trimestral.html.heex (1)

Line range hint 102-188: Sintaxe atualizada corretamente nos templates de relatório!

As mudanças de <%= %> para {} estão consistentes em todo o template. Esta é a sintaxe recomendada para o Phoenix LiveView 1.0.

Referência: Phoenix LiveView Templates

lib/pescarte_web/templates/relatorio_html/relatorio_anual.html.heex (1)

Line range hint 91-178: Sintaxe atualizada corretamente!

As atualizações de sintaxe estão consistentes com o padrão do Phoenix LiveView 1.0. Observe que:

  1. {@pesquisador.linha_pesquisa_principal.numero} é mais conciso
  2. A nova sintaxe facilita a leitura do template
  3. As mudanças estão alinhadas com as atualizações de dependências
lib/pescarte_web/templates/relatorio_html/relatorio_mensal.html.heex (1)

156-157: Boa prática no tratamento de valor nulo!

O uso de Map.get/3 com valor padrão é uma excelente escolha para evitar erros em tempo de execução.

lib/pescarte_web/live/pesquisa/pesquisador_live/form_component.ex (1)

Line range hint 1-24: Excelente implementação do LiveComponent!

A estrutura do componente segue as melhores práticas do Phoenix LiveView, com:

  • Uso adequado de assigns
  • Tratamento de erros bem estruturado
  • Organização clara do código
lib/pescarte_web/design_system.ex (1)

48-48: Atualização positiva da sintaxe de template!

A mudança da sintaxe de <%= ... %> para { ... } está alinhada com as práticas modernas do Phoenix. Esta atualização torna o código:

  1. Mais limpo e legível
  2. Consistente com a documentação mais recente do Phoenix
  3. Mais fácil de manter

Para mais informações sobre a sintaxe de templates no Phoenix, consulte a documentação oficial.

Also applies to: 56-56, 139-139, 143-143, 252-252, 300-300, 353-353, 411-411, 414-415, 598-598, 629-629, 631-631, 668-668, 708-708, 730-730, 742-742, 747-747, 822-822, 835-835, 843-843

lib/pescarte_web/templates/equipes_html/show.html.heex (1)

58-58: Excelente padronização da sintaxe de template!

A atualização da sintaxe para interpolação de variáveis foi aplicada consistentemente em todo o arquivo. Isto inclui:

  1. Nomes de membros da equipe: {nome}
  2. Funções da equipe: {equipe}
  3. Títulos e descrições: {key}, {nucleos["nucleo"]}, etc.

Esta padronização melhora a manutenibilidade e legibilidade do código.

Also applies to: 64-64, 135-135, 141-141, 228-228, 234-234, 336-336, 353-353, 359-359, 464-464, 481-481, 487-487, 512-512, 524-524, 527-527, 530-530, 540-540, 551-551, 641-641, 647-647, 707-707, 713-713, 781-781, 787-787, 850-850, 856-856, 932-932, 938-938

lib/pescarte_web/live/blog/post_live/show.ex (1)

19-20: Atualização correta da sintaxe em LiveView!

A mudança na renderização do título e conteúdo do post está adequada:

  1. {@post.titulo} - sintaxe moderna para interpolação de variáveis
  2. {raw(Markdown.to_html(@post.conteudo))} - mantém a funcionalidade de renderização Markdown

Para mais informações sobre LiveView templates, consulte a documentação do Phoenix.LiveView.

lib/pescarte_web/templates/censo_html/show.html.heex (1)

3-3: Atualização apropriada da mensagem de erro!

A mudança na renderização da mensagem de erro para {@error_message} está:

  1. Consistente com o novo padrão de sintaxe
  2. Mantém a funcionalidade original
  3. Melhora a legibilidade do código

Esta é uma boa prática para exibição de mensagens de erro em componentes Phoenix.

lib/pescarte_web/live/pesquisa/pesquisador_live/show.html.heex (1)

92-102: LGTM! Atualização de sintaxe

As alterações de sintaxe de <%= ... %> para { ... } estão corretas e seguem as recomendações mais recentes do Phoenix para templates HEEx. Para mais informações, consulte a documentação do Phoenix.Component.

lib/pescarte_web/live/pesquisa/pesquisador_live/index.html.heex (1)

20-31: LGTM! Atualização de sintaxe

As alterações de sintaxe de <%= ... %> para { ... } estão corretas e seguem as recomendações mais recentes do Phoenix para templates HEEx.

lib/pescarte_web/live/pesquisa/relatorio_live/form_component.ex (1)

237-237: Atualização da sintaxe de interpolação no componente report_field

Similar à mudança anterior, a atualização da sintaxe de interpolação para {@label} segue o mesmo padrão de modernização dos templates HEEx.

💡 Dica para iniciantes: A sintaxe { ... } é mais simples de entender e lembrar, pois segue um padrão comum de interpolação encontrado em outras linguagens e frameworks.

lib/pescarte_web/templates/noticias_html/show.html.heex (2)

3-3: Atualização bem-sucedida da sintaxe do template!

A mudança da sintaxe de <%= @error_message %> para {@error_message} está alinhada com as melhores práticas do Phoenix LiveView. Esta é a sintaxe recomendada para templates HEEx.

Para mais informações, consulte a documentação oficial do Phoenix LiveView sobre templates HEEx.


54-56: Atualização consistente da sintaxe em todas as chamadas de função!

A mudança da sintaxe de <%= handle_notice_title_length(...) %> e <%= handle_notice_desc_length(...) %> para {handle_notice_title_length(...)} e {handle_notice_desc_length(...)} foi aplicada consistentemente em todo o template.

Also applies to: 60-62, 78-80, 84-86, 102-104, 108-111, 127-129, 133-135, 151-154, 158-161, 177-179, 183-185, 201-203, 207-210, 226-228, 232-234, 250-252, 256-258

lib/pescarte_web/templates/agenda_html.ex Show resolved Hide resolved
lib/pescarte/storage.ex Show resolved Hide resolved
lib/pescarte/storage.ex Show resolved Hide resolved
lib/pescarte/storage.ex Show resolved Hide resolved
lib/pescarte/storage.ex Show resolved Hide resolved
@zoedsoupe zoedsoupe merged commit ce4322c into main Jan 18, 2025
6 checks passed
@zoedsoupe zoedsoupe deleted the feat/update-supabase branch January 18, 2025 16:08
@coderabbitai coderabbitai bot mentioned this pull request Jan 18, 2025
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.

1 participant