work.ex 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. defmodule CvGenView.Work do
  2. use Phoenix.Component
  3. import CvGenView.Date, only: [date: 1]
  4. attr(:name, :string, required: true)
  5. attr(:start_date, :any, required: true)
  6. attr(:end_date, :any, default: nil)
  7. attr(:summary, :string, required: true)
  8. attr(:location, :string, required: true)
  9. attr(:highlights, :list, required: true)
  10. def work(assigns) do
  11. ~H"""
  12. <div>
  13. <h1><%= @name %></h1>
  14. <dl>
  15. <dt class="position" lang="fr">Poste</dt>
  16. <dd lang="fr"><%= @position %></dd>
  17. <dt class="start_date">Date début</dt>
  18. <dd><.date class="start_date" date={@start_date} /></dd>
  19. <%= unless is_nil(@end_date) do %>
  20. <dt class="end_date">Date fin</dt>
  21. <dd><.date class="end_date" date={@end_date} /></dd>
  22. <% end %>
  23. <dt class="work_location"></dt>
  24. <dd><%= @location %></dd>
  25. </dl>
  26. <p class="summary" lang="en"><%= @summary %></p>
  27. <ul class="highlights">
  28. <%= for highlight <- @highlights do %>
  29. <li><%= highlight %></li>
  30. <% end %>
  31. </ul>
  32. </div>
  33. """
  34. end
  35. def css,
  36. do: """
  37. #work {
  38. }
  39. """
  40. end