%= error_messages_for 'holiday' %>
<%= f.text_field :name, required: true, size: 40 %>
<%= f.check_box :is_recurring, id: 'holiday_is_recurring' %>
<%= f.select :recurrence_type, Holiday::TYPES.map { |type_key| label_text = case type_key when 'fixed' then l(:label_recurrence_fixed, default: 'Fixed Date (e.g., Dec 25)') when 'dynamic' then l(:label_recurrence_dynamic, default: 'Dynamic Date (e.g., 1st Monday of Sept)') else type_key.humanize end [label_text, type_key] }, {}, id: 'holiday_recurrence_type' %>
<%= f.date_field :exact_date, id: 'holiday_exact_date' %>
<%= f.select :week_of_month, [ [l(:label_week_1st, default: '1st'), 1], [l(:label_week_2nd, default: '2nd'), 2], [l(:label_week_3rd, default: '3rd'), 3], [l(:label_week_4th, default: '4th'), 4], [l(:label_week_last, default: 'Last'), 5] ], {}, style: 'width: 80px;' %> <%= f.select :day_of_week, [ [l(:day_name_sunday, default: 'Sunday'), 0], [l(:day_name_monday, default: 'Monday'), 1], [l(:day_name_tuesday, default: 'Tuesday'), 2], [l(:day_name_wednesday, default: 'Wednesday'), 3], [l(:day_name_thursday, default: 'Thursday'), 4], [l(:day_name_friday, default: 'Friday'), 5], [l(:day_name_saturday, default: 'Saturday'), 6] ], {}, style: 'width: 120px;' %> <%= l(:label_of, default: 'of') %> <%= f.select :month, Date::MONTHNAMES.compact.each_with_index.map { |m, i| [m, i+1] }, {}, style: 'width: 120px;' %>