cv_gen_view.ex 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. defmodule CvGenView do
  2. use Phoenix.Component
  3. import CvGenView.Date, only: [date: 1]
  4. @after_compile __MODULE__
  5. embed_templates("templates/*")
  6. attr(:work, :map)
  7. def work(assigns) do
  8. ~H"""
  9. <div>
  10. <h1><%= @work.name %></h1>
  11. <dl>
  12. <dt class="position" lang="fr">Poste</dt>
  13. <dd lang="fr"><%= @work.position %></dd>
  14. <dt class="start_date">Date début</dt>
  15. <dd><.date class="start_date" date={@work.startDate} /></dd>
  16. <%= unless is_nil(@work[:endDate]) do %>
  17. <dt class="end_date">Date fin</dt>
  18. <dd><.date class="end_date" date={@work.endDate} /></dd>
  19. <% end %>
  20. <dt class="work_location"></dt>
  21. <dd>Paris</dd>
  22. </dl>
  23. <p class="summary" lang="en"><%= @work.summary %></p>
  24. <ul class="highlights">
  25. <%= for highlight <- @work.highlights do %>
  26. <li><%= highlight %></li>
  27. <% end %>
  28. </ul>
  29. </div>
  30. """
  31. end
  32. attr(:skill, :map)
  33. def skill(assigns) do
  34. ~H"""
  35. <h1><%= @skill.name %></h1>
  36. <ul>
  37. <%= for kw <- @skill.keywords do %>
  38. <li><%= kw %></li>
  39. <% end %>
  40. </ul>
  41. """
  42. end
  43. attr(:educ, :map)
  44. def education(assigns) do
  45. ~H"""
  46. <h1><%= @educ.institution %></h1>
  47. <dl>
  48. <dt class="location"></dt>
  49. <dd><%= @educ[:location] %></dd>
  50. <dt class="start_date">Date début</dt>
  51. <dd><.date class="start_date" date={@educ.startDate} /></dd>
  52. <dt class="end_date">Date fin</dt>
  53. <dd><.date class="end_date" date={@educ.endDate} /></dd>
  54. </dl>
  55. """
  56. end
  57. attr(:lang, :map)
  58. def language(assigns) do
  59. ~H"""
  60. <%= @lang.language %> (<%= @lang.fluency %>)
  61. """
  62. end
  63. def __after_compile__(_env, _bytecode) do
  64. CvGen.generate()
  65. end
  66. end