41 Commits

Author SHA1 Message Date
af16336660 Progress
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-06-04 13:39:25 -04:00
f476bfc739 More todos
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-06-03 07:55:34 -04:00
e0a0f7b5ae updated todos
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-05-27 21:51:54 -04:00
83005ac835 more todos
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-05-24 16:57:57 -04:00
6a0d8793da carina updates
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-05-24 16:53:56 -04:00
79c24eb3ac todo updates
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-05-24 16:29:43 -04:00
00f90ab034 Add todos
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-05-24 09:51:24 -04:00
0aad447cd1 Update with more emphasis on ceremony details
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-05-23 21:20:34 -04:00
359183e7b9 fix color on how we met
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-05-15 22:37:24 -04:00
6e6c13437a de-optimize 2025-05-15 22:33:31 -04:00
3985b9c93c Decompose into partials 2025-05-15 22:23:12 -04:00
b492c4e111 Reorganize
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-05-15 21:09:43 -04:00
665e310e4f Remove RSVP and re-order 2025-05-15 20:44:55 -04:00
fc8dd82587 increase font for ceremony details
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-04-26 16:16:22 -04:00
f95598dfb3 Add wedding party colors 2025-04-26 15:35:10 -04:00
888b2f2d56 Fix spacing on large screens
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
2025-03-07 19:06:58 -05:00
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
1f8e167f4b Add registry button
Some checks failed
CI / scan_ruby (push) Failing after 10m33s
CI / scan_js (push) Failing after 9m51s
CI / lint (push) Failing after 9m50s
CI / test (push) Failing after 18s
2025-02-08 14:16:11 -05:00
45379ae891 Add registry mockup 2025-02-05 22:58:48 -05:00
308000ca72 Remove extra links for accommodation 2025-01-18 18:20:23 -05:00
a729cf2dd5 Remove bullet in more info about accommodations 2024-12-28 18:26:52 -05:00
e21c242221 Add hi express svg 2024-12-28 18:19:59 -05:00
bd4e35cd8e with extra info 2024-12-17 22:51:34 -05:00
6173d80f8d All paths lead home 2024-12-17 22:42:36 -05:00
ebb11eb0e7 spell horsdefadvaours correctly 2024-11-25 21:01:36 -05:00
2904c08650 Fix casing and spelling 2024-11-25 20:56:27 -05:00
c2eb2dc06a fix attire 2 2024-11-25 20:44:12 -05:00
196033389d Fix attire 2024-11-25 20:26:26 -05:00
Adam Mohammed
2059ee50fb More info 2024-11-25 16:38:44 -05:00
27bf684352 Also allow jilliandadam.love 2024-11-24 11:34:04 -05:00
7ecf1fd73f redo some wording 2024-11-24 09:59:16 -05:00
0ed84a9eb5 how we met 2024-11-23 20:08:10 -05:00
c21a880672 some fixes for medium screens 2024-11-23 19:55:27 -05:00
c3c4ecf0fd woops 2024-11-23 19:34:00 -05:00
03d47b5b5a favicon 2024-11-23 19:32:19 -05:00
7bbeb8ebc4 Fix favicon 2024-11-23 19:29:38 -05:00
09a5972138 set the proper hosts 2024-11-23 19:25:38 -05:00
18f9984ce0 Hide the accommodation information 2024-11-23 19:24:32 -05:00
5d1b1545d7 use image path to render images 2024-11-23 19:02:22 -05:00
97a094f56d Fix some responsiveness 2024-11-23 19:02:01 -05:00
34 changed files with 434 additions and 133 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

1
app/assets/images/dress.svg Executable file
View File

@@ -0,0 +1 @@
<svg class="svg-icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M846.1 787.9c-17.6-33.1-177.4-320.4-209.9-378.8 2-1.2 3.8-2.5 5.4-4.1 5.9-5.9 8.8-14.5 8.8-25.2 0-17.3-7.7-28.7-21.6-32.5 0.3-10.2 4.2-26.1 8.3-43 6.1-25.1 13-53.5 13-79.6v-68.3c0-0.6-0.1-1.2-0.2-1.7 0-0.4 0.1-0.8 0.1-1.2V99.3c0-19-15.5-34.5-34.5-34.5S581 80.3 581 99.3v48.5c-16.3 4.2-33.5 17.3-51.4 39.1-7 8.5-12.9 17-17.4 23.8-4.3-6.8-10.1-15.2-16.9-23.7-18-22.4-35.5-35.7-52.1-39.5V99.3c0-19-15.5-34.5-34.5-34.5s-34.5 15.5-34.5 34.5v54.1c0 0.4 0 0.8 0.1 1.2-0.1 0.6-0.2 1.1-0.2 1.7v68.3c0 26.1 6.9 54.5 13 79.6 4.1 16.8 8 32.8 8.3 43-13.8 3.8-21.5 15.2-21.5 32.5 0 14 5 24 14.2 29.4-32.6 58.6-192.4 345.7-210 378.8-11.5 21.7-13.9 41-6.9 57.4 7.1 16.7 23.1 28.7 47.7 35.7 39.5 11.3 120.7 18.1 141.5 19.7 5.1 6.9 16.7 21.2 35.1 35.4 23.2 17.8 62.3 39.1 116.5 39.1h0.4c54.3 0 93.3-21.3 116.5-39.1 18.5-14.2 30.1-28.4 35.1-35.4 20.8-1.6 101.9-8.4 141.5-19.7 24.5-7 40.6-19 47.7-35.7 6.7-16.4 4.4-35.7-7.1-57.4zM600.9 99.3c0-8 6.5-14.5 14.5-14.5s14.5 6.5 14.5 14.5v47h-29v-47z m-206.8 0c0-8 6.5-14.5 14.5-14.5s14.5 6.5 14.5 14.5v47h-29v-47z m-0.1 67h39c26.8 0 58.3 46.9 69.4 67 0.8 2.3 2.4 4.4 4.7 5.6 1.5 0.9 3.2 1.3 4.9 1.2 1.6 0 3.3-0.3 4.9-1.2 2.3-1.2 4-3.3 4.7-5.6 11.5-20.1 43.9-67.1 70.9-67.1H630v58.3c0 23.7-6.6 50.9-12.4 74.9-4.8 19.6-8.9 36.5-8.9 49v1c-10.7 6.1-46.8 24.5-97 24.5-50.1 0-86.1-18.5-96.5-24.6v-0.9c0-12.5-4.1-29.4-8.9-49-5.8-24-12.4-51.2-12.4-74.9v-58.2z m9.7 199.6c10.8 6.6 50.8 28.1 108 28.1 57.6 0 97.7-21.6 108.5-28.1 6.5 0.5 10 3.5 10 13.9 0 3.7-0.5 8.6-3 11.1-1.8 1.8-5.1 2.8-9.6 2.8-2 0-3.9 0.6-5.6 1.7-0.4 0.3-39.9 26.5-100 26.5-59.9 0-99.6-26.2-100-26.5-1.7-1.1-3.6-1.7-5.6-1.7-8.2 0-12.7-2.2-12.7-13.9 0.1-10.4 3.5-13.4 10-13.9z m430.8 471.6c-4.6 10.8-16.3 19-34.7 24.3-35.2 10.1-108.7 16.7-133.7 18.7l-80.5-361.3c-1.2-5.4-6.5-8.8-11.9-7.6-5.4 1.2-8.8 6.5-7.6 11.9l81.5 365.6c-10.2 13.8-54.3 66.1-135.4 66.1h-0.4c-38.8 0-73.7-11.6-103.7-34.5-16.9-12.9-27.4-25.9-31.8-31.7l81.4-365.5c1.2-5.4-2.2-10.7-7.6-11.9-5.4-1.2-10.7 2.2-11.9 7.6l-80.5 361.3c-25-2-98.4-8.6-133.6-18.7-18.4-5.3-30.1-13.4-34.7-24.3-4.5-10.6-2.4-24.1 6.1-40.2 17.9-33.6 183.5-331.2 211.6-381.6 14.4 8.1 52.4 26.1 104.9 26.1 52.5 0 90.5-18 104.9-26.1 28.1 50.4 193.6 348 211.5 381.6 8.6 16.1 10.6 29.6 6.1 40.2z" /></svg>

After

Width:  |  Height:  |  Size: 2.4 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

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 291.2 149.4" xmlns="http://www.w3.org/2000/svg">
<g fill="none">
<path d="m122.99 58.676c3.37-3.513 3.376-8.616 8.64-10.56 8.548-3.157 21.291-1.307 29.28 1.44 5.912 12.217 11.437 21.807 20.64 29.76 28.163 24.338 84.264 27.893 105.12 58.561-3.184-11.217-13.436-15.365-21.6-21.601-9.221-3.52-15.771-7.062-24.96-11.04-19.929-8.628-44.389-16.785-58.561-29.76-8.978-8.219-13.863-17.966-19.68-29.28-11.394-2.236-38.449-5.929-36.96 7.2-0.506 1.411-3.863 4.557-1.919 5.28z"/>
<path d="m160.36 135.89l15.496 0.125c26.673-0.12799 58.601-0.914 83.937-0.061996-29.029-18.144-60.857-35.118-90.721-51.841-4.125-2.31-9.093-4.681-12-8.64-4.095 1.965-7.394-5.049-12.959-4.8-37.453 21.908-76.5 42.22-113.76 64.32 49.13 0.284 93.444-0.061005 130.01 0.898z"/>
<path d="m36.109 113.4c11.191-5.206 22.048-9.965 32.64-14.399 23.062-9.656 44.426-18.075 53.28-39.36-0.908 1.651-1.188 3.932-3.36 4.32 1.101-2.082 3.935-4.22 2.4-6.24-19.833 36.833-74.489 42.059-107.52 64.8-4.75 3.271-10.328 8.895-10.08 15.84 5.223-12.915 19.778-18.977 32.64-24.961z"/>
<path d="m10.189 143.64c-0.854 0.069 0.208 0.854 0.48 0 27.403-14.837 54.53-29.95 81.12-45.6-27.722 14.677-54.324 30.476-81.6 45.6z"/>
<path d="m145.55 42.835c1.01-12.408-8.392-18.024-11.04-28.32 0.121-1.242 2.413-4.61 0.48-4.8-3.858 12.607 7.285 17.247 9.12 26.88 0.48901 2.567-0.92299 4.132 1.44 6.24z"/>
<path d="m144.11 3.476c0.435-0.195 3.354 0.147 2.88-0.48-0.17-0.226-2.841-0.268-3.84 0-1.91 0.513-5.588 2.529-7.2 5.76 1.536-2.313 6.419-4.499 8.16-5.28z"/>
<path d="m158.03 11.156c-1.75-4.014-5.334-8.743-10.561-7.68 5.573 0.506 7.845 4.315 10.561 7.68z"/>
<path d="m168.59 138.84c31.618-0.62199 59.677 0.518 95.521-0.48-7.501-2.506-16.275-1.525-24.48-1.439-14.109 0.14699-30.175 0.185-46.56-0.070007l0.083 0.146-57.892-0.479-0.287-0.134c-31.627 0.32599-64.442 0.17499-87.344-0.423-7.9-0.20599-18.043-0.57201-21.6 1.92 53.803 1.143 105.11 0.717 142.08 0.96001-36.924 1.134-75.382 0.16299-111.36 0.47899h-2.88c68.343 1.359 133.6 1.222 212.64 0.48001-26.224-1.069-63.11 0.299-97.921-0.96001z"/>
<path d="m105.23 90.836c-4.773 1.946-8.986 4.454-12.96 7.2 4.105-2.005 11.335-5.905 12.96-7.2z"/>
<path d="m52.909 139.32c-5.195-0.26601-8.024-0.159-14.4-0.479 2.761 1.884 10.849 0.985 14.4 0.479z"/>
<path d="m280.91 137.88c1.852 0.548 2.731 2.068 4.8 2.399-3.113-7.927-10.179-11.901-15.84-17.279h-2.4c-27.266-20.987-72.161-24.098-94.08-50.4-5.312-6.375-9.008-13.825-12.96-22.08-6.459-3.301-17.443-3.843-25.44-1.44 2.166 0.247 4.154 3.188 5.76 2.4-0.448-0.512-1.771-0.149-1.44-1.44 3.99 1.93 8.496 3.345 11.04 6.72-3.169-0.996-6.31-4.562-9.12-4.32 1.248 1.312 3.756 1.364 4.32 3.36-5.457-0.71899-7.983-7.216-13.44-6.72-3.73 0.339-6.928 8.203-9.12 12-8.223 14.246-21.083 24.521-33.12 31.2 0.020996-1.602 3.964-1.764 2.88-2.88-12.968 6.692-28.473 12.292-43.68 18.72-18.673 7.895-42.042 16.907-46.56 37.921 28.537-15.758 57.782-31.12 86.4-47.521 10.152-5.818 21.367-14.016 33.12-16.8 7.608-4.392 14.991-9.009 23.04-12.96 7.445 4.075 15.423 7.616 22.08 12.479h3.36c39.065 22.215 77.886 44.674 117.12 66.721 1.712-5.679-4.544-6.771-6.72-10.08z"/>
<path d="m118.67 83.155c-4.441 2.12-8.771 4.351-12.48 7.2 4.356-2.203 8.757-4.362 12.48-7.2z"/>
<path d="m26.029 139.32c1.774 1.228 8.934-0.076996 12 0.48-2.549-2.328-9.755-0.22499-12-0.48z"/>
</g>
<path d="m287.15 132.12c-4.861-7.24-15.249-12.166-21.119-17.279-6.858-1.543-12.781-4.968-18.721-7.681-6.274-2.865-12.472-5.204-18.72-7.68-18.983-7.521-37.074-16.033-49.92-29.28-4.445-4.584-8.314-10.222-11.04-15.36-1.653-3.117-2.926-8.684-5.28-10.08-4.006-2.376-11.384-0.24-15.36-1.92 3.722-13.277-10.838-18.05-10.08-28.8 0.73299-10.388 12.792-10.155 17.76-4.32 1.615 1.897 2.589 7.028 7.2 5.28 1.591-2.719-1.706-5.719-3.36-7.68-2.063-2.446-4.563-4.905-7.68-5.76-7.994-2.192-17.389 2.197-18.24 11.52-1.253 13.726 12.318 14.449 10.56 29.76-6.038 1.572-13.402-0.338-16.8 1.92-2.088 1.388-5.177 10.054-7.2 13.44-2.694 4.51-6.311 9.468-9.12 12.48-14.868 15.938-37.887 22.239-59.52 31.68-7.749 3.382-15.616 7.414-23.52 11.521-10.661 5.538-22.443 10.922-25.92 21.6-0.934 2.866-2.397 9.982 1.44 13.44 5.527 1.504 10.717-6.322 16.8-7.681 3.007-0.671 8.517 0 13.44 0h16.8c52.987 0 126.45 0.48 190.56 0.48 10.973 0 23.427-1.301 31.68 0.479 6.022 1.3 10.045 8.894 17.28 8.16 4.388-5.985 1.13-13.696-1.921-18.239zm-129.12-120.96c-2.716-3.365-4.987-7.173-10.561-7.68 5.227-1.063 8.811 3.666 10.561 7.68zm-14.881-8.16c0.99899-0.268 3.669-0.226 3.84 0 0.474 0.627-2.445 0.285-2.88 0.48-1.742 0.782-6.625 2.968-8.16 5.28 1.613-3.231 5.29-5.248 7.2-5.76zm-8.16 6.72c1.933 0.189-0.35899 3.558-0.48 4.8 2.648 10.295 12.05 15.912 11.04 28.32-2.364-2.109-0.95099-3.673-1.44-6.24-1.835-9.634-12.978-14.273-9.12-26.88zm26.881 36.48c5.816 11.314 10.702 21.061 19.68 29.28 14.172 12.975 38.632 21.132 58.561 29.76 9.188 3.979 15.739 7.521 24.96 11.04 8.164 6.235 18.416 10.384 21.6 21.601-20.856-30.668-76.957-34.223-105.12-58.561-9.203-7.953-14.728-17.543-20.64-29.76-7.989-2.747-20.732-4.597-29.28-1.44-5.264 1.944-5.27 7.047-8.64 10.56-1.944-0.72299 1.413-3.869 1.92-5.28-1.491-13.129 25.565-9.437 36.959-7.2zm-148.32 76.32c33.031-22.741 87.688-27.967 107.52-64.8 1.535 2.02-1.299 4.158-2.4 6.24 2.171-0.388 2.452-2.668 3.36-4.32-8.854 21.285-30.218 29.704-53.28 39.36-10.591 4.435-21.449 9.193-32.64 14.399-12.863 5.984-27.417 12.047-32.64 24.96-0.248-6.945 5.33-12.569 10.08-15.839zm-2.88 21.12c-0.271 0.854-1.334 0.069-0.48 0 27.276-15.124 53.878-30.923 81.6-45.6-26.59 15.65-53.717 30.763-81.12 45.6zm133.44-72.96c4.486 1.095 6.211 1.69 12.341 5.736 4.701 3.095 8.493 5.394 12.618 7.703 29.863 16.723 61.691 33.697 90.721 51.841-25.336-0.85199-57.264-0.064987-83.937 0.062012l-15.496-0.125c-36.562-0.959-80.877-0.61301-130.01-0.897 37.262-22.1 76.309-42.412 113.76-64.32zm-51.84 27.36c3.974-2.746 8.187-5.254 12.96-7.2-1.625 1.295-8.855 5.195-12.96 7.2zm13.92-7.681c3.709-2.85 8.039-5.08 12.48-7.2-3.723 2.838-8.124 4.997-12.48 7.2zm-80.16 48.96c2.245 0.255 9.451-1.849 12 0.48-3.066-0.55699-10.226 0.748-12-0.48zm12.48-0.479c6.375 0.32001 9.205 0.214 14.4 0.479-3.551 0.506-11.639 1.405-14.4-0.479zm15.36 0.479h2.88c35.978-0.31601 74.436 0.65399 111.36-0.479-36.973-0.243-88.276 0.183-142.08-0.95999 3.557-2.492 13.7-2.126 21.6-1.92 22.902 0.59801 55.717 0.74901 87.344 0.423l0.287 0.134 57.892 0.479-0.083-0.146c16.385 0.255 32.45 0.218 46.56 0.070007 8.205-0.085999 16.979-1.066 24.48 1.439-35.844 0.998-63.902-0.142-95.521 0.48001 34.811 1.259 71.696-0.10901 97.92 0.95999-79.035 0.742-144.3 0.88-212.64-0.48zm233.76 8.641c-39.234-22.047-78.055-44.506-117.12-66.721h-3.36c-6.656-4.863-14.635-8.405-22.08-12.479-8.049 3.951-15.432 8.568-23.04 12.96-11.753 2.784-22.968 10.981-33.12 16.8-28.618 16.4-57.863 31.763-86.4 47.521 4.518-21.014 27.887-30.026 46.56-37.921 15.207-6.428 30.712-12.027 43.68-18.72 1.084 1.116-2.858 1.278-2.88 2.88 12.038-6.679 24.897-16.954 33.12-31.2 2.192-3.797 5.39-11.661 9.12-12 5.457-0.496 7.983 6.001 13.44 6.72-0.56401-1.996-3.072-2.048-4.32-3.36 2.81-0.242 5.951 3.324 9.12 4.32-2.544-3.375-7.05-4.791-11.04-6.72-0.33099 1.291 0.993 0.928 1.44 1.44-1.606 0.789-3.594-2.153-5.76-2.4 7.997-2.403 18.981-1.861 25.44 1.44 3.952 8.255 7.647 15.705 12.96 22.08 21.919 26.303 66.814 29.413 94.08 50.4h2.4c5.661 5.378 12.727 9.353 15.84 17.279-2.068-0.33101-2.948-1.852-4.8-2.399 2.177 3.309 8.433 4.401 6.72 10.08z"/>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

BIN
app/assets/images/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

View File

@@ -1,4 +1,4 @@
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base
# Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has. # Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has.
allow_browser versions: :modern # allow_browser versions: :modern
end end

View File

@@ -1,4 +1,42 @@
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
Section = Struct.new(:id, :title)
SECTIONS = [
Section.new("ceremony", "Ceremony & Reception"),
Section.new("wedding-party", "Wedding Party"),
# Section.new("wedding-program", "Wedding Timeline"),
Section.new("accommodations", "Accommodations"),
Section.new("registry", "Registry"),
Section.new("our-story", "How We Met")
].freeze
def index def index
@rsvp_by_date = rsvp_by_date
@wedding_party = PARTY_MEMBERS
@sections = SECTIONS
end
def rsvp_by_date
ENV["RSVP_DATE"] || "May 1, 2025"
end end
end end

View File

@@ -0,0 +1,39 @@
<div id="accommodations" class="w-screen text-slate-900 lg:my-8 bg-[<%= color %>] lg:bg-[#fdfefe]">
<div class="container mx-auto bg-[<%= color %>] lg:rounded-2xl py-4 px-4 lg:mt-4 lg:pb-2 lg:shadow-2xl lg:mb-4">
<div class="w-fit mx-auto lg:flex lg:flex-row lg:justify-center lg:items-center">
<!-- <span class="text-7xl pl-4">🛏️</span> -->
<span class="text-5xl pl-4 lg:pt-4 rogue-script lg:text-7xl">Accommodations</span>
</div>
<div class="lg:w-2/3 px-8 lg:mx-auto">
<p class="text-lg text-justify">We have a wedding block for our guests at the Holiday Inn Express, which is a few minutes away from the venue. The block is booked now, but there are other hotels close by.</p>
</div>
<div class="flex flex-col my-4 lg:flex-row lg:w-fit lg:mx-auto lg:my-12">
<div class="flex flex-row basis-1/3 bg-[#fdfefe] rounded-lg mx-4 mt-4 px-4 py-4 items-center lg:p-12">
<img src="<%= image_path 'hiexpress.svg' %>" class="w-16 h-16" />
<div class="flex flex-col pl-2">
<a href="" class="text-3xl">Holiday Inn</a>
<span class="text-xl">3 minutes away</span>
<span>610-399-4600</span>
</div>
</div>
<div class="flex flex-row basis-1/3 bg-[#fdfefe] rounded-lg mx-4 mt-4 px-4 py-4 items-center lg:p-12">
<img src="<%= image_path 'home2.svg' %>" class="w-16 h-16" />
<div class="flex flex-col pl-2">
<a href="" class="text-3xl">Home2 Suites</a>
<span class="text-xl">7 minutes away</span>
<span>484-354-2985</span>
</div>
</div>
<div class="flex flex-row basis-1/3 bg-[#fdfefe] rounded-lg mx-4 mt-4 px-4 py-4 items-center lg:p-12">
<img src="<%= image_path 'residence-inn.svg' %>" class="w-16 h-16" />
<div class="flex flex-col pl-2">
<a href="" class="text-3xl">Residence Inn</a>
<span class="text-xl">12 minutes away</span>
<span>610-459-1190</span>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,66 @@
<div class="container mx-auto flex flex-row justify-center md:hidden lg:hidden">
<img src="<%= image_path 'daffodil-castle.jpg' %>">
</div>
<div id="ceremony" class="w-screen bg-[<%= color %>] lg:bg-[#fdfefe] lg:my-8">
<div class="container mx-auto lg:h-fit text-slate-900 lg:rounded-2xl bg-[<%= color %>] lg:shadow-2xl">
<div class="w-fit mx-auto">
<h1 class="text-5xl px-4 pt-8 pb-4 rogue-script lg:text-7xl">Ceremony & Reception</h1>
</div>
<div class="flex flex-col lg:flex-row lg:space-x-4">
<div class="basis-1/3 max-md:hidden lg:rounded-bl-2xl lg:content-center">
<img src="<%= image_path 'daffodil-castle.jpg' %>" class="lg:object-cover lg:h-full lg:rounded-bl-2xl md:mx-auto" />
</div>
<div class="basis-2/3">
<p class="text-xl px-5 pt-2">We're getting married! Come join us for our Ceremony at <b>Penn Oaks Golf Club</b> at <b>5:00pm June 7, 2025.</b></p>
<p class="text-xl px-5 pt-2">Shuttles will begin taking guests to Penn Oaks from the Holiday Inn Express at <b>4:00 PM.</b></p>
<p class="text-xl px-4 py-2" >We are looking forward to seeing you there!</p>
<div class="pb-4">
<div class="flex flex-row px-8 items-center">
<div class="w-16">
<svg width="30" height="30" viewbox="0 0 24 24">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.02 7.207c.26-.457.915-.734 1.565-.55.64.18.93.697.851 1.141-.085.464-.576.898-1.268.895a.604.604 0 0 0-.08.005.6.6 0 0 0-.687.594v1.613l-5.246 2.963-.002.001-3.064 1.716-.004.002c-.538.307-.779.94-.651 1.519v.002c.132.586.632 1.054 1.268 1.063H20.28c.64 0 1.147-.465 1.283-1.055v-.002c.132-.582-.11-1.217-.647-1.526l-.003-.002-3.02-1.716-2.747-1.556a.6.6 0 0 0-.591 1.045l2.746 1.554 3.017 1.715c.046.027.1.11.075.22-.024.103-.091.123-.113.123H3.717c-.024 0-.089-.024-.112-.125-.023-.109.031-.19.073-.215l3.063-1.716.002-.001 5.535-3.127a.598.598 0 0 0 .287-.376.599.599 0 0 0 .035-.204V9.86c.985-.158 1.836-.851 2.017-1.848.209-1.16-.583-2.194-1.706-2.51-1.11-.313-2.366.113-2.934 1.11a.6.6 0 1 0 1.043.595z" fill="currentColor"></path>
</svg>
</div>
<div class="w-full">
<span class="text-lg font-bold">Formal Attire</span>
</div>
</div>
</div>
<div class="pb-4">
<div class="flex flex-row px-8 items-center">
<div class="w-16">
<svg width="30" height="30" viewbox="0 0 24 24">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.437 9.041c0-3.73 2.886-6.81 6.52-6.835A.61.61 0 0 1 12 2.204c3.653 0 6.563 3.091 6.563 6.837 0 5.975-3.986 10.694-5.527 12.298a1.401 1.401 0 0 1-1.036.456c-.393 0-.772-.165-1.036-.456-1.54-1.605-5.527-6.34-5.527-12.298zM12 3.406c.013 0 .026 0 .039-.002 2.921.022 5.324 2.516 5.324 5.637 0 5.489-3.702 9.916-5.199 11.474a.597.597 0 0 0-.015.016.202.202 0 0 1-.149.064.202.202 0 0 1-.149-.064.388.388 0 0 0-.015-.016C10.34 18.957 6.637 14.513 6.637 9.04c0-3.134 2.423-5.635 5.363-5.635zM9.332 8.729A2.67 2.67 0 1 1 12 11.4a2.67 2.67 0 0 1-2.668-2.67zM12 4.86a3.87 3.87 0 0 0-3.868 3.87A3.87 3.87 0 1 0 12 4.86z" fill="currentColor"></path>
</svg>
</div>
<div class="w-full">
<span class="text-lg font-bold">150 Penn Oaks Dr, West Chester, PA 19382</span>
</div>
</div>
</div>
<div class="pb-4">
<div class="flex flex-row px-8 items-center">
<div class="w-16">
<svg class="svg-icon" width="30" height="30" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M846.1 787.9c-17.6-33.1-177.4-320.4-209.9-378.8 2-1.2 3.8-2.5 5.4-4.1 5.9-5.9 8.8-14.5 8.8-25.2 0-17.3-7.7-28.7-21.6-32.5 0.3-10.2 4.2-26.1 8.3-43 6.1-25.1 13-53.5 13-79.6v-68.3c0-0.6-0.1-1.2-0.2-1.7 0-0.4 0.1-0.8 0.1-1.2V99.3c0-19-15.5-34.5-34.5-34.5S581 80.3 581 99.3v48.5c-16.3 4.2-33.5 17.3-51.4 39.1-7 8.5-12.9 17-17.4 23.8-4.3-6.8-10.1-15.2-16.9-23.7-18-22.4-35.5-35.7-52.1-39.5V99.3c0-19-15.5-34.5-34.5-34.5s-34.5 15.5-34.5 34.5v54.1c0 0.4 0 0.8 0.1 1.2-0.1 0.6-0.2 1.1-0.2 1.7v68.3c0 26.1 6.9 54.5 13 79.6 4.1 16.8 8 32.8 8.3 43-13.8 3.8-21.5 15.2-21.5 32.5 0 14 5 24 14.2 29.4-32.6 58.6-192.4 345.7-210 378.8-11.5 21.7-13.9 41-6.9 57.4 7.1 16.7 23.1 28.7 47.7 35.7 39.5 11.3 120.7 18.1 141.5 19.7 5.1 6.9 16.7 21.2 35.1 35.4 23.2 17.8 62.3 39.1 116.5 39.1h0.4c54.3 0 93.3-21.3 116.5-39.1 18.5-14.2 30.1-28.4 35.1-35.4 20.8-1.6 101.9-8.4 141.5-19.7 24.5-7 40.6-19 47.7-35.7 6.7-16.4 4.4-35.7-7.1-57.4zM600.9 99.3c0-8 6.5-14.5 14.5-14.5s14.5 6.5 14.5 14.5v47h-29v-47z m-206.8 0c0-8 6.5-14.5 14.5-14.5s14.5 6.5 14.5 14.5v47h-29v-47z m-0.1 67h39c26.8 0 58.3 46.9 69.4 67 0.8 2.3 2.4 4.4 4.7 5.6 1.5 0.9 3.2 1.3 4.9 1.2 1.6 0 3.3-0.3 4.9-1.2 2.3-1.2 4-3.3 4.7-5.6 11.5-20.1 43.9-67.1 70.9-67.1H630v58.3c0 23.7-6.6 50.9-12.4 74.9-4.8 19.6-8.9 36.5-8.9 49v1c-10.7 6.1-46.8 24.5-97 24.5-50.1 0-86.1-18.5-96.5-24.6v-0.9c0-12.5-4.1-29.4-8.9-49-5.8-24-12.4-51.2-12.4-74.9v-58.2z m9.7 199.6c10.8 6.6 50.8 28.1 108 28.1 57.6 0 97.7-21.6 108.5-28.1 6.5 0.5 10 3.5 10 13.9 0 3.7-0.5 8.6-3 11.1-1.8 1.8-5.1 2.8-9.6 2.8-2 0-3.9 0.6-5.6 1.7-0.4 0.3-39.9 26.5-100 26.5-59.9 0-99.6-26.2-100-26.5-1.7-1.1-3.6-1.7-5.6-1.7-8.2 0-12.7-2.2-12.7-13.9 0.1-10.4 3.5-13.4 10-13.9z m430.8 471.6c-4.6 10.8-16.3 19-34.7 24.3-35.2 10.1-108.7 16.7-133.7 18.7l-80.5-361.3c-1.2-5.4-6.5-8.8-11.9-7.6-5.4 1.2-8.8 6.5-7.6 11.9l81.5 365.6c-10.2 13.8-54.3 66.1-135.4 66.1h-0.4c-38.8 0-73.7-11.6-103.7-34.5-16.9-12.9-27.4-25.9-31.8-31.7l81.4-365.5c1.2-5.4-2.2-10.7-7.6-11.9-5.4-1.2-10.7 2.2-11.9 7.6l-80.5 361.3c-25-2-98.4-8.6-133.6-18.7-18.4-5.3-30.1-13.4-34.7-24.3-4.5-10.6-2.4-24.1 6.1-40.2 17.9-33.6 183.5-331.2 211.6-381.6 14.4 8.1 52.4 26.1 104.9 26.1 52.5 0 90.5-18 104.9-26.1 28.1 50.4 193.6 348 211.5 381.6 8.6 16.1 10.6 29.6 6.1 40.2z" /></svg>
</div>
<div class="w-full">
<span class="text-lg">The wedding party will be in <b>dusty sage</b> dresses and suits, please avoid wearing this if you can!</span>
</div>
</div>
<div class="mx-24 my-4 aspect-1/1 w-12 h-12 outline outline-white bg-[#b3c0a7]"></div>
</div>
<div class="max-md:hidden md:w-fit md:mx-auto ">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d6120.924192987885!2d-75.56311592187585!3d39.908673971526014!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c6f042ac27b4e9%3A0xc4a8ba245e1ee29d!2sPenn%20Oaks%20Golf%20Club!5e0!3m2!1sen!2sus!4v1731812607168!5m2!1sen!2sus" width="570" height="500" style="border:0;" allowfullscreen="" loading="lazy" class="lg:rounded-xl lg:mb-4" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
</div>
<div class="basis-1/3 overflow-hidden mx-auto md:hidden lg:hidden">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d6120.924192987885!2d-75.56311592187585!3d39.908673971526014!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c6f042ac27b4e9%3A0xc4a8ba245e1ee29d!2sPenn%20Oaks%20Golf%20Club!5e0!3m2!1sen!2sus!4v1731812607168!5m2!1sen!2sus" width="370" height="300" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,34 @@
<div id="our-story" class="w-screen bg-[<%= color %>] lg:bg-[#fdfefe] lg:my-8">
<div class="container mx-auto lg:h-fit text-slate-900 lg:rounded-2xl bg-[<%= color %>] lg:shadow-2xl px-8 py-8">
<div class="w-fit mx-auto">
<h1 class="text-5xl rogue-script lg:text-7xl">How we met</h1>
</div>
<ol class="relative border-l border-slate-900">
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">June 2019</time>
<h3 class="text-lg font-semibold text-slate-900">Met Rock Climbing</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">October 2019</time>
<h3 class="text-lg font-semibold text-slate-900">Adam asked out Jillian in Italy (after climbing many stairs)</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">August 2020</time>
<h3 class="text-lg font-semibold text-slate-900">Moved to Philadelphia</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">September 2021</time>
<h3 class="text-lg font-semibold text-slate-900">Bought a house in Chalfont</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">October 2024</time>
<h3 class="text-lg font-semibold text-slate-900">5 year anniversary date and Proposal</h3>
</li>
</ol>
</div>
</div>

View File

@@ -0,0 +1,17 @@
<div id="registry" class="w-screen text-slate-900 lg:my-8 bg-[<%= color %>] lg:bg-[#fdfefe]">
<div class="container mx-auto bg-[<%= color %>] lg:rounded-2xl pt-4 lg:mt-4 lg:pb-2 lg:shadow-2xl lg:mb-4">
<div class="w-fit mx-auto lg:flex lg:flex-row lg:justify-center lg:items-center">
<span class="text-5xl pl-4 lg:pt-4 rogue-script lg:text-7xl">Registry & Gifts</span>
</div>
<div class="w-fit mx-auto px-8 pt-4 lg:w-2/3">
<p class="text-lg text-justify text-slate-900 px-6 lg:px-0">
Your presence is the best gift, but if youd like to help us start our next chapter,
weve put together a registry with some things we love. Feel free to browse or
choose something meaningful to you!
</p>
</div>
<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="/registry">Registry</a>
</div>
</div>
</div>

View File

@@ -0,0 +1,43 @@
<div id="wedding-party" class="w-screen text-slate-900 lg:my-8 bg-[<%= color %>] lg:bg-[#fdfefe]">
<div class="container mx-auto bg-[<%= color %>] lg:rounded-2xl pt-4 lg:mt-4 lg:pb-2 lg:shadow-2xl lg:mb-4">
<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 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>

View File

@@ -0,0 +1,64 @@
<div id="wedding-program" class="w-screen bg-[<%= color %>] lg:bg-[#fdfefe] lg:my-8">
<div class="container mx-auto lg:h-fit text-slate-900 lg:rounded-2xl bg-[<%= color %>] lg:shadow-2xl px-8 py-8">
<div class="w-fit mx-auto">
<h1 class="text-5xl rogue-script lg:text-7xl">Wedding Day Timeline</h1>
</div>
<ol class="relative border-l border-slate-900">
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">4:00 PM</time>
<h3 class="text-lg font-semibold text-slate-900">Shuttle service from Holiday Inn Express starts</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">5:00 PM</time>
<h3 class="text-lg font-semibold text-slate-900">Ceremony</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">6:00 PM</time>
<h3 class="text-lg font-semibold text-slate-900">Cocktail Hour</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">7:00 PM</time>
<h3 class="text-lg font-semibold text-slate-900">Find seats in the ballroom</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">7:05 PM</time>
<h3 class="text-lg font-semibold text-slate-900">Wedding Party Introductions</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">7:15 PM</time>
<h3 class="text-lg font-semibold text-slate-900">First dance</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">7:20 PM</time>
<h3 class="text-lg font-semibold text-slate-900">Toast</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">7:30 PM</time>
<h3 class="text-lg font-semibold text-slate-900">Dinner served</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">7:45</time>
<h3 class="text-lg font-semibold text-slate-900">Speeches</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">8:05PM</time>
<h3 class="text-lg font-semibold text-slate-900">Father-Daughter Dance</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">8:10PM</time>
<h3 class="text-lg font-semibold text-slate-900">Mother-Son Dance</h3>
</li>
</ol>
</div>
</div>

View File

@@ -1,8 +1,5 @@
<!-- options: #a99dab #dfebde -->
<div class="bg-[#a99dab] w-screen"> <div class="bg-[#a99dab] w-screen">
<!--- HERO START --->
<div class="hero-bg h-3/4"> <div class="hero-bg h-3/4">
<!-- Nav START -->
<div class="relative h-12 z-30"> <div class="relative h-12 z-30">
<div id="burger-menu" class="absolute right-0 pr-4 pt-4 block lg:hidden"> <div id="burger-menu" class="absolute right-0 pr-4 pt-4 block lg:hidden">
<button class="flex items-center px-3 py-2 border rounded hover:text-white hover:border-white"> <button class="flex items-center px-3 py-2 border rounded hover:text-white hover:border-white">
@@ -11,23 +8,21 @@
</div> </div>
<nav class="flex items-center justify-between flex-wrap pt-12 z-30"> <nav class="flex items-center justify-between flex-wrap pt-12 z-30">
<div class="bg-[#a99dab] w-full block flex-grow lg:hidden"> <div class="bg-[#a99dab] w-full block flex-grow lg:hidden">
<div id="nav-links" class="text-xl max-md:hidden flex flex-col pl-4 lg:flex-row lg:mr-4"> <div id="nav-links" class="text-xl max-lg:hidden flex flex-col pl-4 lg:flex-row lg:mr-4 mb-4">
<a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Our Story</a> <% @sections.each do |s| %>
<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="#<%= s.id %>" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24"><%= s.title %></a>
<!-- <a href="#registry" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Registry</a> --> <% end %>
<!-- <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>
</div> </div>
<div class="container mx-auto"> <div class="container mx-auto">
<div class="flex flex-row justify-center"> <div class="flex flex-row justify-center">
<img src="assets/lavender-wisp.png" class="basis-1/2 max-w-40 lg:max-w-80"/> <img src="<%= image_path 'lavender-wisp.png' %>" class="basis-1/2 max-w-40 lg:max-w-80"/>
<img src="assets/lavender-wisp.png" class="basis-1/2 max-w-40 lg:max-w-80" style="transform: scaleX(-1)"/> <img src="<%= image_path 'lavender-wisp.png' %>" class="basis-1/2 max-w-40 lg:max-w-80" style="transform: scaleX(-1)"/>
</div> </div>
</div> </div>
<!-- Nav END -->
<div class="container mx-auto"> <div class="container mx-auto">
<div class="pt-12 pb-8 flex flex-col items-center"> <div class="pt-12 pb-8 flex flex-col items-center">
<span class="fleur-de-leah-regular text-8xl basis-1/3">Jillian</span> <span class="fleur-de-leah-regular text-8xl basis-1/3">Jillian</span>
@@ -36,120 +31,25 @@
</div> </div>
</div> </div>
<div class="container mx-auto flex flex-col items-center py-4 hidden">
<button class="text-3xl rounded-lg bg-emerald-700 px-4 py-4 text-slate-300 hover:bg-emerald-600">RSVP</button>
</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">
<div class="text-xl px-4 lg:text-2xl">June 7, 2025 • West Chester, PA</div> <div class="text-2xl px-4 lg:text-2xl">June 7, 2025 </div>
<div class="text-xl px-4 lg:text-xl">Penn Oaks Golf Club, West Chester, PA</div>
</div> </div>
<div class="w-full block flex-grow max-md:hidden lg:flex lg:w-auto lg:justify-center lg:pb-4 lg:pt-4 lg:border-t lg:border-b"> <div class="w-full block flex-grow max-lg:hidden lg:flex lg:w-auto lg:justify-center lg:pb-4 lg:pt-4 lg:border-t lg:border-b">
<div id="nav-links-lg" class="text-xl flex flex-col lg:flex-row lg:mr-4"> <div id="nav-links-lg" class="text-xl flex flex-col lg:flex-row">
<a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 mr-24">Our Story</a> <% @sections.each do |s| %>
<a href="#ceremony" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 mr-24">Ceremony & Reception</a> <a href="#<%= s.id %>" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 px-12"><%= s.title %></a>
<a href="#accommodations" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 mr-24">Accommodations</a>
<!-- <a href="#registry" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Registry</a> --> <% end %>
<!-- <a href="#rsvp" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white">RSVP</a> -->
</div>
</div>
</div>
</div>
<div id="our-story" 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="w-fit mx-auto">
<h1 class="text-5xl rogue-script lg:text-7xl">How we met</h1>
</div>
<ol class="relative border-l border-slate-900">
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">June 2019</time>
<h3 class="text-lg font-semibold text-slate-900">Met at Doylestown Rock Gym</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">October 2019</time>
<h3 class="text-lg font-semibold text-slate-900">Started Dating</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">August 2020</time>
<h3 class="text-lg font-semibold text-slate-900">Moved to Manayunk Apartment</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">September 2021</time>
<h3 class="text-lg font-semibold text-slate-900">Bought a house in Chalfont</h3>
</li>
<li class="mb-10 ms-4">
<div class="absolute w-3 h-3 bg-slate-600 rounded-full mt-1.5 -start-1.5 border border-slate-900"></div>
<time class="mb-1 text-sm font-normal leading-none text-gray-600">October 2024</time>
<h3 class="text-lg font-semibold text-slate-900">5 year anniversary turned into Proposal</h3>
</li>
</ol>
</div>
</div>
<div id="ceremony" 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 bg-[#d2b4de] lg:shadow-2xl">
<div class="flex flex-col lg:flex-row lg:space-x-4">
<div class="basis-1/3 max-md:hidden">
<img src="assets/love-park-small.png" class="lg:scale(0.7) lg:rounded-l-2xl" />
</div>
<div class="basis-2/3">
<div class="w-fit mx-auto">
<h1 class="text-5xl px-4 py-8 rogue-script lg:text-7xl">Ceremony & Reception</h1>
</div>
<p class="text-xl px-4 py-8">You're invited to come join us to celebrate our wedding at Penn Oaks Golf Club in West Chester, Pennsylvania.</p>
<div class="max-md:hidden lg:w-fit lg:mx-auto">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d6120.924192987885!2d-75.56311592187585!3d39.908673971526014!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c6f042ac27b4e9%3A0xc4a8ba245e1ee29d!2sPenn%20Oaks%20Golf%20Club!5e0!3m2!1sen!2sus!4v1731812607168!5m2!1sen!2sus" width="570" height="500" style="border:0;" allowfullscreen="" loading="lazy" class="lg:rounded-xl" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
</div>
<div class="basis-1/3 overflow-hidden mx-auto md:hidden lg:hidden">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d6120.924192987885!2d-75.56311592187585!3d39.908673971526014!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c6f042ac27b4e9%3A0xc4a8ba245e1ee29d!2sPenn%20Oaks%20Golf%20Club!5e0!3m2!1sen!2sus!4v1731812607168!5m2!1sen!2sus" width="370" height="300" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</div>
</div>
</div>
</div>
<div class="container mx-auto flex flex-row justify-center md:hidden lg:hidden">
<img src="assets/love-park-small.png">
</div>
<div id="accommodations" class="w-screen text-slate-900 lg:my-8">
<div class="container mx-auto bg-[#92a084] lg:rounded-2xl pt-4 lg:mt-4 lg:pb-2 lg:shadow-2xl lg:mb-4">
<div class="w-fit mx-auto lg:flex lg:flex-row lg:justify-center lg:items-center">
<!-- <span class="text-7xl pl-4">🛏️</span> -->
<span class="text-5xl pl-4 lg:pt-4 rogue-script lg:text-7xl">Accommodations</span>
</div>
<div class="flex flex-col my-4 lg:flex-row lg:w-fit lg:mx-auto lg:my-12">
<div class="flex flex-row bg-[#fdfefe] rounded-lg mx-4 mt-4 px-4 py-4 items-center lg:p-12">
<img src="assets/home2.svg" class="w-16 h-16" />
<div class="flex flex-col pl-2">
<a href="" class="text-3xl">Home2 Suites</a>
<span>484-354-2985</span>
<span class="text-xl">7 minutes away</span>
</div>
</div>
<div class="flex flex-row bg-[#fdfefe] rounded-lg mx-4 mt-4 px-4 py-4 items-center lg:p-12">
<img src="assets/residence-inn.svg" class="w-16 h-16" />
<div class="flex flex-col pl-2">
<a href="#" class="text-3xl">Residence Inn</a>
<span class="text-xl">12 minutes away</span>
<span>610-459-1190</span>
</div>
</div>
<div class="flex flex-row bg-[#fdfefe] rounded-lg mx-4 mt-4 px-4 py-4 items-center lg:p-12">
<img src="assets/hotel-warner.png" class="w-16 h-16 scale-y-50" />
<div class="flex flex-col pl-2">
<span class="text-3xl">Hotel Warner</span>
<span class="text-xl">15 minutes away</span>
<span>610-6922-6920</span>
</div>
</div>
<div class="flex flex-row bg-[#fdfefe] rounded-lg mx-4 mt-4 mb-4 lg:mb-0 px-4 py-4 items-center lg:p-12">
<div class="flex flex-col pl-2">
<span class="text-3xl">Wedding Block</span>
<span class="text-xl">Details coming soon</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<% @sections.each do |section| %>
<%= render section.id, color: cycle("#ddd3be", "#b2c0b2") %>
<% end %>
<!-- stuff a bunch of classes in here so they don't get optimized out -->
<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%] bg-[#ddd3be] bg-[#b2c0b2]"></div>
</div> </div>

View File

@@ -9,10 +9,9 @@
<%= yield :head %> <%= yield :head %>
<link rel="manifest" href="/manifest.json"> <link rel="manifest" nhref="/manifest.json">
<link rel="icon" href="/icon.png" type="image/png"> <link rel="icon" href="<%= image_path 'icon.png' %>" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="<%= image_path 'icon.png' %>">
<link rel="apple-touch-icon" href="/icon.png">
<%= stylesheet_link_tag "tailwind", "inter-font", "data-turbo-track": "reload" %> <%= stylesheet_link_tag "tailwind", "inter-font", "data-turbo-track": "reload" %>
@@ -20,14 +19,14 @@
</head> </head>
<body> <body>
<div id="main-content" class="lg:bg-[#fdfefe]"/> <div id="main-content" class="lg:bg-[#fdfefe]">
<%= yield %> <%= yield %>
</div> </div>
<script> <script>
var burgerMenu = document.getElementById('burger-menu'); var burgerMenu = document.getElementById('burger-menu');
var navLinks = document.getElementById('nav-links'); var navLinks = document.getElementById('nav-links');
burgerMenu.addEventListener('click', function() { burgerMenu.addEventListener('click', function() {
navLinks.classList.toggle("max-md:hidden"); navLinks.classList.toggle("max-lg:hidden");
}); });
</script> </script>

View File

@@ -49,7 +49,7 @@ Rails.application.configure do
# config.assume_ssl = true # config.assume_ssl = true
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = true config.force_ssl = false
# Skip http-to-https redirect for the default health check endpoint. # Skip http-to-https redirect for the default health check endpoint.
# config.ssl_options = { redirect: { exclude: ->(request) { request.path == "/up" } } } # config.ssl_options = { redirect: { exclude: ->(request) { request.path == "/up" } } }
@@ -96,10 +96,10 @@ Rails.application.configure do
config.active_record.attributes_for_inspect = [ :id ] config.active_record.attributes_for_inspect = [ :id ]
# Enable DNS rebinding protection and other `Host` header attacks. # Enable DNS rebinding protection and other `Host` header attacks.
# config.hosts = [ config.hosts = [
# "example.com", # Allow requests from example.com "wedding.fixergrid.net",
# /.*\.example\.com/ # Allow requests from subdomains like `www.example.com` "jillianandadam.love"
# ] ]
# Skip DNS rebinding protection for the default health check endpoint. # Skip DNS rebinding protection for the default health check endpoint.
# config.host_authorization = { exclude: ->(request) { request.path == "/up" } } # config.host_authorization = { exclude: ->(request) { request.path == "/up" } }
end end

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 "/registry" => redirect("https://withjoy.com/adam-and-jillian-jun-25/registry")
get "*path" => redirect("/")
# Defines the root path route ("/") # Defines the root path route ("/")
# root "posts#index" # root "posts#index"
end end

78
todo.org Normal file
View File

@@ -0,0 +1,78 @@
#+TITLE: Wedding TODOS
* [8/8] Can do TODAY
** DONE Get Fig Tree
** DONE Get suit
** DONE Check all groomsmen have good shoes/belt
** DONE Talk to ridge about speech length
** DONE Start looking at Honeymoon activities
** DONE Wet Cat food
** DONE Send eric and ridge hotel info
** DONE Apply for marriage license
* [5/5] Monday
** DONE Final Venue Payment
** DONE Email Carina
- [X] Send table seating
- [X] Ask how we should handle food allergies
** DONE Send over dietary restrictions
** DONE Email the DJ with wording for the photo dash
** DONE Email Carina for photo tour + dress rack
* [3/6] Crafting Items
** DONE Seating Chart
** TODO Figure out Guestbook finger stamp situation
** DONE Signature Drink Signs
** TODO Shuttle Sign + can we put this in the hotel
** DONE Sew Drapes and Sweetheart Table Drapes
** TODO Bathroom baskets
* [4/10] Prep Week
** TODO Figure out how the tree planting will work
** DONE Those departed section of ceremony
** DONE Write Parent Thank you for Kathy
** DONE Call Bakers of Buffington - coordinate cake and flower timing
** TODO [0/7] Schedules for
- [ ] Dave
- Help drop off Adam + groomsmen to venue
- [ ] Monte
- Help drop off Jillian + Bridesmaids to venue
- [ ] Ginger
- [ ] Vidya
- When to arrive at venue?
- [ ] Bride/Bridesmaids
- When to arrive at venue
- [ ] Groom/Groomsmen
- WHen to meet up and where
- [ ] Other Family?
** TODO [0/10] Pack items for Venue
- [ ] Flowers for aisle
- [ ] Flowers for cocktail hour tables
- [ ] Flowers for gazebo
- [ ] Table Numbers
- [ ] Shuttle Sign
- [ ] Welcome Sign
- [ ] Unplugged Sign
- [ ] Seating Chart
- [ ] Lighting Wands
- [ ] Corn hole
- [ ] Sweetheart Table Drapery
- [ ] Instructions for venue to Decorate
- what are we using from the venue?
- how do we use what they have?
** TODO Pack for ....
- [ ] Day of Gifts
- [ ] Rings
- [ ] Suit/Shoes/Tie/Watch
- [ ] Dress
** TODO Figure out how we're getting everything there
** TODO Return the signed marriage license to the county
** DONE Ribbon to weave into baskets