diff --git a/Dockerfile b/Dockerfile index d32387a2..390feade 100644 --- a/Dockerfile +++ b/Dockerfile @@ -91,10 +91,10 @@ RUN chown nobody /pescarte RUN apt-get update -y RUN apt-get install -y iputils-ping libstdc++6 glibc-source \ - openssl libncurses5 locales postgresql-client \ - && rm -rf /var/lib/apt/lists/* \ - && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ - && locale-gen + openssl libncurses5 locales postgresql-client \ + && rm -rf /var/lib/apt/lists/* \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en diff --git a/apps/plataforma_digital/assets/css/app.scss b/apps/plataforma_digital/assets/css/app.scss index 8be76233..982fb10f 100644 --- a/apps/plataforma_digital/assets/css/app.scss +++ b/apps/plataforma_digital/assets/css/app.scss @@ -176,6 +176,7 @@ footer { // Com autenticação @import "./pages/app/researcher/profile.scss"; @import "./pages/app/researcher/relatorio/mensal.scss"; +@import "./pages/app/researcher/relatorio/anual.scss"; // Páginas de Erros @import "./errors/404.scss"; diff --git a/apps/plataforma_digital/assets/css/pages/app/researcher/relatorio/anual.scss b/apps/plataforma_digital/assets/css/pages/app/researcher/relatorio/anual.scss new file mode 100644 index 00000000..0efb193c --- /dev/null +++ b/apps/plataforma_digital/assets/css/pages/app/researcher/relatorio/anual.scss @@ -0,0 +1,29 @@ +.yearly-report-wrapper { + @apply w-full; + + padding: 0 2.5rem; + overflow-y: scroll; + height: calc(100vh - $footer-height); + + > h1 { + margin: 2.5rem 0; + } + + > form .report-field { + height: max-content; + margin-bottom: 2.25rem; + + h3 { + margin-bottom: 0.75rem; + } + + textarea { + @apply w-full; + min-height: 12rem; + } + } + + button { + margin-bottom: 2rem; + } +} diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/researcher/relatorio/anual_live.ex b/apps/plataforma_digital/lib/plataforma_digital/live/researcher/relatorio/anual_live.ex new file mode 100644 index 00000000..2548aa80 --- /dev/null +++ b/apps/plataforma_digital/lib/plataforma_digital/live/researcher/relatorio/anual_live.ex @@ -0,0 +1,66 @@ +defmodule PlataformaDigital.Researcher.Relatorio.AnualLive do + use PlataformaDigital, :auth_live_view + + import Timex.Format.DateTime.Formatter, only: [lformat!: 3] + + alias ModuloPesquisa.Models.RelatorioAnualPesquisa + + @locale "pt_BR" + + # Título de cada campo completo e os respectivos ids + @report_field_names [ + {"Plano de Trabalho", :plano_de_trabalho}, + {"Resumo", :resumo}, + {"Introdução", :introducao}, + {"Embasamento Teórico", :embasamento_teorico}, + {"Resultados", :resultados}, + {"Atividades Acadêmicas", :atividades_academicas}, + {"Atividades Não Acadêmicas", :atividades_nao_academicas}, + {"Conclusão", :conclusao}, + {"Referências", :referencias} + ] + + @impl true + def mount(_, _, socket) do + # TODO: finalizar tela + relatorio_anual = + %RelatorioAnualPesquisa{} + |> Ecto.Changeset.change() + |> to_form(as: :relatorio_anual) + + {:ok, + socket + |> assign(field_names: @report_field_names) + |> assign(year: get_formatted_year(Date.utc_today())) + |> assign(form: relatorio_anual)} + end + + attr :form, :any, required: true + attr :label, :string, required: true + attr :id, :string, required: true + + defp report_field(assigns) do + ~H""" + <.text_area field={@form[@id]} class="report-field"> + <:label> + <.text size="h3" color="text-blue-100"> + <%= @label %> + + + + """ + end + + defp get_formatted_year(%Date{} = today) do + year = lformat!(today, "{YYYY}", @locale) + + %{year: year} + end + + # Events + + @impl true + def handle_event("save", _params, socket) do + {:noreply, socket} + end +end diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/researcher/relatorio/anual_live.html.heex b/apps/plataforma_digital/lib/plataforma_digital/live/researcher/relatorio/anual_live.html.heex new file mode 100644 index 00000000..f2237698 --- /dev/null +++ b/apps/plataforma_digital/lib/plataforma_digital/live/researcher/relatorio/anual_live.html.heex @@ -0,0 +1,15 @@ +
+ <.text size="h1" color="text-blue-100"> + Relatório Mensal de Pesquisa do ano de <%= @year %> + + + <.form :let={f} for={@form} phx-submit="save"> + <.report_field :for={{name, id} <- @field_names} label={name} id={id} form={f} /> + + <.text size="h3" color="text-blue-100">Recursos + + <.button style="primary" submit> + Salvar + + +
diff --git a/apps/plataforma_digital/lib/plataforma_digital/router.ex b/apps/plataforma_digital/lib/plataforma_digital/router.ex index 1c12694c..a863eb39 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/router.ex +++ b/apps/plataforma_digital/lib/plataforma_digital/router.ex @@ -1,4 +1,5 @@ defmodule PlataformaDigital.Router do + alias PlataformaDigital.Researcher use PlataformaDigital, :router import PhoenixStorybook.Router @@ -43,6 +44,7 @@ defmodule PlataformaDigital.Router do scope "/relatorios" do live "/mensal", Researcher.Relatorio.MensalLive + live "/anual", Researcher.Relatorio.AnualLive end end end