You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

search.erb 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <form action="/search" method="get" class="form search">
  2. <input name="q" type="search" value="<%= params[:q] %>" placeholder="Search for..." class="form__search" required>
  3. <div class="filters">
  4. <div class="filters__section">
  5. <div class="filters__subsection">
  6. <p>Exact match?</p>
  7. <label class="form__label">
  8. <input type="radio" name="exact_match" value="yes" <% if [nil,true, "yes"].include?(params[:exact_match]) %>checked<% end %>>
  9. Yes
  10. </label>
  11. <label class="form__label">
  12. <input type="radio" name="exact_match" value="no" <% if [false, "no"].include?(params[:exact_match]) %>checked<% end %>>
  13. No
  14. </label>
  15. </div>
  16. <div class="filters__subsection">
  17. <p>Search in:</p>
  18. <label class="form__label">
  19. <input type="radio" name="type" value="threads" <% if [nil, "threads"].include?(params[:type]) %>checked<% end %>>
  20. Threads
  21. </label>
  22. <label class="form__label">
  23. <input type="radio" name="type" value="posts" <% if params[:type] == "posts" %>checked<% end %>>
  24. Posts
  25. </label>
  26. </div>
  27. </div>
  28. <div class="filters__section">
  29. <div class="filters__subsection">
  30. <p>From Date <em>(YYYY-MM-DD)</em>:</p>
  31. <label class="form__label">
  32. <input
  33. type="text"
  34. name="from_date"
  35. value="<%= params[:from_date] %>"
  36. class="form__text-field"
  37. pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}"
  38. maxlength="10"
  39. >
  40. </label>
  41. </div>
  42. <div class="filters__subsection">
  43. <p>To Date <em>(YYYY-MM-DD)</em>:</p>
  44. <label class="form__label">
  45. <input
  46. type="text"
  47. name="to_date"
  48. value="<%= params[:to_date] %>"
  49. class="form__text-field"
  50. pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}"
  51. maxlength="10"
  52. >
  53. </label>
  54. </div>
  55. </div>
  56. <div class="filters__section">
  57. <div class="filters__subsection filters__subsection--static">
  58. <p>Posted by:</p>
  59. <input type="text" name="username" value="<%= params[:username] %>" class="form__text-field">
  60. </div>
  61. <div class="filters__subsection filters__subsection--sort <%= params[:type] == 'threads' ? 'open' : '' %>">
  62. <p>Sort by:</p>
  63. <label class="form__label">
  64. <input type="radio" name="sort" value="thread" <% if [nil, "thread"].include? params[:sort] %>checked<% end %>>
  65. Thread creation
  66. </label>
  67. <label class="form__label">
  68. <input type="radio" name="sort" value="post" <% if params[:sort] == "post" %>checked<% end %>>
  69. Most recent post
  70. </label>
  71. </div>
  72. </div>
  73. </div>
  74. <input type="submit" value="Search" class="btn form__submit">
  75. </form>