cv_gen_view.ex 1.9 KB

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