2 Commits

Author SHA1 Message Date
62dc4172b7 add wedding party
Some checks are pending
CI / scan_ruby (push) Waiting to run
CI / scan_js (push) Waiting to run
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
2025-03-07 19:01:12 -05:00
e71fac4f99 Add RSVP 2025-02-17 10:43:41 -05:00
17 changed files with 82 additions and 13 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

BIN
app/assets/images/emil.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

BIN
app/assets/images/eric.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

BIN
app/assets/images/gemma.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 MiB

BIN
app/assets/images/julia.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 KiB

BIN
app/assets/images/ridge.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 MiB

BIN
app/assets/images/ridge.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 KiB

BIN
app/assets/images/toby.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

BIN
app/assets/images/toby2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
app/assets/images/tom.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

BIN
app/assets/images/zack.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

View File

@@ -1,4 +1,30 @@
class HomeController < ApplicationController class HomeController < ApplicationController
Person = Struct.new(:name, :image, :role, :relationship, :extra_attrs)
PARTY_MEMBERS = [
[ "Gemma", true, "Matron of Honor", "Childhood Friend" ],
[ "Meghan", true, "Maid of Honor", "Rock Climbing Friend" ],
[ "Christine", true, "Bridesmaid", "Childhood Friend" ],
[ "Jennie", true, "Bridesmaid", "Rock Climbing Friend" ],
[ "Julia", true, "Bridesmaid", "Sister-in-law" ],
[ "DeAnna", true, "Bridesmaid", "Rock Climbing Friend", "object-left-top" ],
[ "Emil", true, "Best Man", "Adam's Brother", "object-left-top" ],
[ "Ridge", true, "Best Man", "Childhood Friend", "object-left-top" ],
[ "Tom", true, "Groomsman", "Childhood Friend" ],
[ "Eric", true, "Groomsman", "Childhood Friend", "object-top" ],
[ "Toby", true, "Groomsman", "Rock Climbing Friend", "object-top" ],
[ "Zack", true, "Groomsman", "Jillian's Brother" , "object-bottom"]
].map do |name, image, role, relationship, extra|
Person.new(name, image, role, relationship, extra)
end
def index def index
@rsvp_by_date = rsvp_by_date
@wedding_party = PARTY_MEMBERS
end
def rsvp_by_date
ENV["RSVP_DATE"] || "May 1, 2025"
end end
end end

View File

@@ -15,11 +15,9 @@
<a href="#ceremony" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Ceremony & Reception</a> <a href="#ceremony" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Ceremony & Reception</a>
<a href="#accommodations" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Accommodations</a> <a href="#accommodations" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Accommodations</a>
<a href="#registry" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Registry</a> <a href="#registry" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Registry</a>
<a href="#wedding-party" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Meet the Wedding Party</a>
<a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">How We Met</a> <a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">How We Met</a>
<a href="#more-info" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">More Info</a> <a href="/rsvp" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white pb-4">RSVP</a>
<!-- <a href="#rsvp" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white pb-4">RSVP</a> -->
</div> </div>
</div> </div>
</nav> </nav>
@@ -39,8 +37,9 @@
</div> </div>
</div> </div>
<div class="container mx-auto flex flex-col items-center py-4 hidden"> <div class="container mx-auto flex flex-col items-center text-center py-4">
<button class="text-3xl rounded-lg bg-emerald-700 px-4 py-4 text-slate-300 hover:bg-emerald-600">RSVP</button> <a href="/rsvp" class="text-xl rounded-lg bg-emerald-600 px-4 py-4 mb-4 lg:mr-4 w-1/4 text-slate-100 hover:bg-emerald-500">RSVP</a>
<div class="text-xl px-4 lg:text-2xl">Please RSVP by <%= @rsvp_by_date %></div>
</div> </div>
<div class="container mx-auto flex flex-col items-center pt-4 pb-8"> <div class="container mx-auto flex flex-col items-center pt-4 pb-8">
@@ -52,10 +51,8 @@
<a href="#ceremony" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">Ceremony & Reception</a> <a href="#ceremony" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">Ceremony & Reception</a>
<a href="#accommodations" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">Accommodations</a> <a href="#accommodations" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">Accommodations</a>
<a href="#registry" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">Registry</a> <a href="#registry" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">Registry</a>
<a href="#wedding-party" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">Wedding Party</a>
<a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">How We Met</a> <a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">How We Met</a>
<a href="#more-info" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12">More Info</a>
<!-- <a href="#registry" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Registry</a> -->
<!-- <a href="#rsvp" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white">RSVP</a> -->
</div> </div>
</div> </div>
</div> </div>
@@ -140,13 +137,56 @@
choose something meaningful to you! choose something meaningful to you!
</p> </p>
</div> </div>
<div class="flex flex-col my-4 lg:flex-row lg:w-1/3 lg:mx-auto lg:my-12 text-center items-center justify-center"> <div class="flex flex-col pt-4 lg:flex-row lg:w-1/3 lg:mx-auto lg:my-12 text-center items-center justify-center">
<a class="text-xl rounded-lg bg-emerald-600 px-4 py-4 mb-4 lg:mr-4 w-1/3 text-slate-100 hover:bg-emerald-500" href="https://withjoy.com/adam-and-jillian-jun-25/registry">Registry</a> <a class="text-xl rounded-lg bg-emerald-600 px-4 py-4 mb-4 lg:mr-4 w-1/3 text-slate-100 hover:bg-emerald-500" href="/registry">Registry</a>
</div> </div>
</div> </div>
</div> </div>
<div id="our-story" class="w-screen bg-[#ddd3be] lg:bg-[#fdfefe] lg:my-8"> <div id="wedding-party" class="w-screen bg-[#ddd3be] lg:bg-[#fdfefe] lg:my-8">
<div class="container mx-auto lg:h-fit text-slate-900 lg:rounded-2xl lg:bg-[#ddd3be] lg:shadow-2xl px-8 py-8"> <div class="container mx-auto lg:h-fit text-slate-900 lg:rounded-2xl lg:bg-[#ddd3be] lg:shadow-2xl px-4 lg:px-8 py-8">
<div class="w-fit mx-auto">
<h1 class="text-5xl rogue-script lg:text-7xl">Wedding Party</h1>
</div>
<!--- Wedding party for large screens --->
<% @wedding_party.each_slice(3) do |r| %>
<div class="max-lg:hidden flex flex-row py-4 px-4">
<% r.each do |person| %>
<div id="wp-card" class="w-1/3">
<% if person.image %>
<img src="<%= image_path(person.name.downcase + '.jpg') %>" class="w-80 h-80 mx-auto rounded-full aspect-square object-cover shadow-xl <%= person.extra_attrs || '' %>">
<% else %>
<div class="bg-red-500 w-80 h-80 mx-auto rounded-full aspect-square object-cover"></div>
<% end %>
<div id="wp-name" class="w-fit mx-auto text-xl pt-2"><%= person.name %></div>
<div id="wp-role" class="w-fit mx-auto text-md pb-2 text-slate-600"><%= person.role %></div>
<div id="wp-relation" class="w-fit mx-auto text-md pb-2 text-slate-600"><%= person.relationship %></div>
</div>
<% end %>
</div>
<% end %>
<!--- End wedding party for large screens ---->
<!--- Wedding party for small screens --->
<% @wedding_party.each_slice(1) do |r| %>
<div class="lg:hidden flex py-4 px-2">
<% r.each do |person| %>
<div id="wp-card" class="w-fit px-2 mx-auto">
<% if person.image %>
<img src="<%= image_path(person.name.downcase + '.jpg') %>" class="mx-auto w-60 h-60 md:w-80 md:h-80 rounded-full aspect-square object-cover shadow-xl <%= person.extra_attrs || '' %>">
<% else %>
<div class="bg-red-500 w-60 h-60 md:w-80 md:h-80 mx-auto rounded-full aspect-square object-cover"></div>
<% end %>
<div id="wp-name" class="w-fit mx-auto text-xl pt-2"><%= person.name %></div>
<div id="wp-role" class="w-fit mx-auto text-md text-slate-600"><%= person.role %></div>
<div id="wp-relation" class="w-fit mx-auto text-md pb-2 text-slate-600"><%= person.relationship %></div>
</div>
<% end %>
</div>
<% end %>
<!---------End WP for small screens --->
</div>
</div>
<div id="our-story" class="w-screen bg-[#b2c0b2] lg:bg-[#fdfefe] lg:my-8">
<div class="container mx-auto lg:h-fit text-slate-900 lg:rounded-2xl lg:bg-[#b2c0b2] lg:shadow-2xl px-8 py-8">
<div class="w-fit mx-auto"> <div class="w-fit mx-auto">
<h1 class="text-5xl rogue-script lg:text-7xl">How we met</h1> <h1 class="text-5xl rogue-script lg:text-7xl">How we met</h1>
</div> </div>
@@ -179,4 +219,5 @@
</ol> </ol>
</div> </div>
</div> </div>
<div class="hidden object-left-top object-top object-center object-bottom object-left-bottom object-[0%_0%] object[100%_100%] object-[50%_0%] object-[0%-50%] object-[0%_100%] object-[100%_0%]"></div>
</div> </div>

View File

@@ -12,6 +12,8 @@ Rails.application.routes.draw do
get "service-worker" => "rails/pwa#service_worker", as: :pwa_service_worker get "service-worker" => "rails/pwa#service_worker", as: :pwa_service_worker
get "manifest" => "rails/pwa#manifest", as: :pwa_manifest get "manifest" => "rails/pwa#manifest", as: :pwa_manifest
get "/rsvp" => redirect("https://withjoy.com/adam-and-jillian-jun-25/rsvp")
get "/registry" => redirect("https://withjoy.com/adam-and-jillian-jun-25/registry")
get "*path" => redirect("/") get "*path" => redirect("/")
# Defines the root path route ("/") # Defines the root path route ("/")
# root "posts#index" # root "posts#index"