|
1 | 1 | <div id="<%= dom_id event %>" class="card group"> |
2 | 2 | <% future = Time.zone.now < event.start_at %> |
3 | | - |
| 3 | + |
4 | 4 | <div class="p-8"> |
5 | 5 | <!-- Event Header --> |
6 | | - <div class="flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-8"> |
| 6 | + <div |
| 7 | + class=" |
| 8 | + flex flex-col md:flex-row md:items-start md:justify-between gap-4 mb-8 |
| 9 | + " |
| 10 | + > |
7 | 11 | <div> |
8 | 12 | <h2 class="mb-3"> |
9 | | - <%= event.name %> |
| 13 | + <%= link_to event.name, event_path(event) %> |
10 | 14 | </h2> |
11 | 15 | <div class="flex flex-wrap items-center gap-4 text-sm"> |
12 | 16 | <div class="flex items-center gap-2 text-gray-600"> |
13 | | - <svg class="w-5 h-5 text-ruby-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
14 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path> |
| 17 | + <svg |
| 18 | + class="w-5 h-5 text-ruby-400" |
| 19 | + fill="none" |
| 20 | + stroke="currentColor" |
| 21 | + viewBox="0 0 24 24" |
| 22 | + > |
| 23 | + <path |
| 24 | + stroke-linecap="round" |
| 25 | + stroke-linejoin="round" |
| 26 | + stroke-width="2" |
| 27 | + d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" |
| 28 | + ></path> |
15 | 29 | </svg> |
16 | 30 | <span class="font-medium"><%= event.start_time %></span> |
17 | 31 | </div> |
18 | 32 | <% if future %> |
19 | | - <span class="inline-flex items-center px-3 py-1 rounded-full text-xs font-medium bg-green-100 text-green-800"> |
| 33 | + <span |
| 34 | + class=" |
| 35 | + inline-flex items-center px-3 py-1 rounded-full text-xs font-medium bg-green-100 |
| 36 | + text-green-800 |
| 37 | + " |
| 38 | + > |
20 | 39 | Upcoming |
21 | 40 | </span> |
22 | 41 | <% else %> |
23 | | - <span class="inline-flex items-center px-3 py-1 rounded-full text-xs font-medium bg-gray-100 text-gray-800"> |
| 42 | + <span |
| 43 | + class=" |
| 44 | + inline-flex items-center px-3 py-1 rounded-full text-xs font-medium bg-gray-100 |
| 45 | + text-gray-800 |
| 46 | + " |
| 47 | + > |
24 | 48 | Past Event |
25 | 49 | </span> |
26 | 50 | <% end %> |
27 | 51 | </div> |
28 | 52 | </div> |
29 | | - |
| 53 | + |
30 | 54 | <% if future %> |
31 | 55 | <%= link_to event.rsvp_link, class: "btn-primary", target: "_blank", rel: "noopener" do %> |
32 | 56 | Join the event |
33 | 57 | <svg class="w-4 h-4 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
34 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"></path> |
| 58 | + <path |
| 59 | + stroke-linecap="round" |
| 60 | + stroke-linejoin="round" |
| 61 | + stroke-width="2" |
| 62 | + d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" |
| 63 | + ></path> |
35 | 64 | </svg> |
36 | 65 | <% end %> |
37 | 66 | <% end %> |
38 | 67 | </div> |
39 | | - |
40 | 68 | <!-- Event Content Grid --> |
41 | 69 | <div class="grid md:grid-cols-2 gap-8"> |
42 | 70 | <!-- Location --> |
43 | 71 | <div> |
44 | 72 | <h3 class="text-lg font-semibold mb-3 flex items-center gap-2"> |
45 | | - <svg class="w-5 h-5 text-ruby-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
46 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"></path> |
47 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"></path> |
| 73 | + <svg |
| 74 | + class="w-5 h-5 text-ruby-400" |
| 75 | + fill="none" |
| 76 | + stroke="currentColor" |
| 77 | + viewBox="0 0 24 24" |
| 78 | + > |
| 79 | + <path |
| 80 | + stroke-linecap="round" |
| 81 | + stroke-linejoin="round" |
| 82 | + stroke-width="2" |
| 83 | + d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" |
| 84 | + ></path> |
| 85 | + <path |
| 86 | + stroke-linecap="round" |
| 87 | + stroke-linejoin="round" |
| 88 | + stroke-width="2" |
| 89 | + d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" |
| 90 | + ></path> |
48 | 91 | </svg> |
49 | 92 | Location |
50 | 93 | </h3> |
51 | 94 | <div class="prose prose-sm text-gray-600"> |
52 | 95 | <%= event.location %> |
53 | 96 | </div> |
54 | 97 | </div> |
55 | | - |
56 | 98 | <!-- Agenda --> |
57 | 99 | <div> |
58 | 100 | <h3 class="text-lg font-semibold mb-3 flex items-center gap-2"> |
59 | | - <svg class="w-5 h-5 text-ruby-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
60 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"></path> |
| 101 | + <svg |
| 102 | + class="w-5 h-5 text-ruby-400" |
| 103 | + fill="none" |
| 104 | + stroke="currentColor" |
| 105 | + viewBox="0 0 24 24" |
| 106 | + > |
| 107 | + <path |
| 108 | + stroke-linecap="round" |
| 109 | + stroke-linejoin="round" |
| 110 | + stroke-width="2" |
| 111 | + d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" |
| 112 | + ></path> |
61 | 113 | </svg> |
62 | 114 | Agenda |
63 | 115 | </h3> |
|
68 | 120 | </div> |
69 | 121 | </div> |
70 | 122 | </div> |
71 | | - |
72 | 123 | <!-- Sponsor Section --> |
73 | 124 | <% if event.sponsor %> |
74 | 125 | <div class="mt-8 pt-8 border-t border-gray-100"> |
75 | 126 | <div class="flex items-center justify-between"> |
76 | 127 | <h3 class="text-lg font-semibold">Event Sponsor</h3> |
77 | 128 | <%= link_to event.sponsor_link, class: "group flex items-center gap-4 hover:opacity-80 transition-opacity", target: "_blank", rel: "noopener" do %> |
78 | 129 | <% if event.sponsor_logo.present? %> |
79 | | - <%= image_tag "sponsors/#{event.sponsor_logo}", class: "max-h-16 max-w-[200px] object-contain", alt: event.sponsor %> |
| 130 | + <%= image_tag "sponsors/#{event.sponsor_logo}", |
| 131 | + class: "max-h-16 max-w-[200px] object-contain", |
| 132 | + alt: event.sponsor %> |
80 | 133 | <% else %> |
81 | | - <span class="text-lg font-medium text-gray-700 group-hover:text-ruby-500 transition-colors"> |
| 134 | + <span |
| 135 | + class=" |
| 136 | + text-lg font-medium text-gray-700 group-hover:text-ruby-500 transition-colors |
| 137 | + " |
| 138 | + > |
82 | 139 | <%= event.sponsor.titleize %> |
83 | 140 | </span> |
84 | 141 | <% end %> |
85 | | - <svg class="w-5 h-5 text-gray-400 group-hover:text-ruby-500 transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24"> |
86 | | - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path> |
| 142 | + <svg |
| 143 | + class=" |
| 144 | + w-5 h-5 text-gray-400 group-hover:text-ruby-500 transition-colors |
| 145 | + " |
| 146 | + fill="none" |
| 147 | + stroke="currentColor" |
| 148 | + viewBox="0 0 24 24" |
| 149 | + > |
| 150 | + <path |
| 151 | + stroke-linecap="round" |
| 152 | + stroke-linejoin="round" |
| 153 | + stroke-width="2" |
| 154 | + d="M9 5l7 7-7 7" |
| 155 | + ></path> |
87 | 156 | </svg> |
88 | 157 | <% end %> |
89 | 158 | </div> |
|
0 commit comments