3 Commits

Author SHA1 Message Date
40693165eb Added our story 2024-11-18 21:44:54 -05:00
eab3494b40 for real 2024-11-17 15:25:49 -05:00
4934c26c9a starting to get things in order 2024-11-17 15:25:20 -05:00
19 changed files with 322 additions and 87 deletions

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="86px" height="50px" viewBox="0 0 86 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="home2-86x50-copy" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Logos-/-Color--/-Home2" transform="translate(2.000000, 3.000000)">
<g id="HT">
<path d="M82,0 L82,40.134 L62.019,32.447 L62.019,7.861 L82,0 Z M79.334,35.979 L79.334,30.923 L69.083,28.5 L75.801,21.678 C77.992,19.1163 79.164,15.8373 79.091,12.467 C78.572,5.888 74.797,5.403 71.854,5.888 C67.872,7.204 64.963,10.355 64.654,14.51 L68.567,14.302 C68.606,13.3535 68.951,12.4431 69.55,11.7067 C70.149,10.9703 70.97,10.4473 71.891,10.216 C73.591,9.835 75.111,10.943 75.146,13.298 C75.181,15.306 73.934,17.003 72.93,18.319 L64.515,26.734 L64.515,30.682 L79.334,35.979 Z" id="Shape" fill="#B2BB1F" fill-rule="nonzero"></path>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="59.11 22.958 59.11 25.486 47.856 25.486 47.856 7.895 59.11 7.895 59.11 10.388 50.522 10.388 50.522 15.409 57.863 15.409 57.863 17.795 50.522 17.795 50.522 22.955"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="58.9721 28.9839 58.9721 32.3079 58.3831 32.3079 57.0671 30.2649 57.0671 32.3079 56.4441 32.3079 56.4441 28.9839 56.9981 28.9839 58.3141 30.9919 58.3141 28.9839"></polygon>
<path d="M54.436,30.6458 C54.4746,30.8771 54.4638,31.114 54.4041,31.3409 C54.3445,31.5677 54.2374,31.7793 54.09,31.9618 C53.973,32.0798 53.8323,32.1717 53.6771,32.2313 C53.522,32.291 53.356,32.317 53.19,32.3078 C52.8571,32.3103 52.5355,32.1867 52.29,31.9618 C51.944,31.6158 51.978,31.1998 51.978,30.6458 C51.9062,30.1832 52.0182,29.7109 52.29,29.3298 C52.407,29.2117 52.5477,29.1198 52.7029,29.0602 C52.858,29.0005 53.024,28.9745 53.19,28.9838 C53.523,28.9812 53.8445,29.1048 54.09,29.3298 C54.436,29.6418 54.436,30.0568 54.436,30.6458 Z M53.778,30.6458 C53.778,30.0228 53.743,29.8458 53.605,29.7108 C53.5506,29.6559 53.4859,29.6123 53.4146,29.5826 C53.3433,29.5529 53.2668,29.5376 53.1895,29.5376 C53.1122,29.5376 53.0357,29.5529 52.9644,29.5826 C52.8931,29.6123 52.8284,29.6559 52.774,29.7108 C52.635,29.8498 52.601,29.9878 52.601,30.6458 C52.601,31.2688 52.636,31.4458 52.774,31.5808 C52.8284,31.6356 52.8931,31.6792 52.9644,31.7089 C53.0357,31.7387 53.1122,31.754 53.1895,31.754 C53.2668,31.754 53.3433,31.7387 53.4146,31.7089 C53.4859,31.6792 53.5506,31.6356 53.605,31.5808 C53.743,31.4078 53.779,31.2688 53.779,30.6458 L53.778,30.6458 Z" id="Shape" fill="#4A3900" fill-rule="nonzero"></path>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="50.315 28.9839 50.315 29.5729 49.449 29.5729 49.449 32.3089 48.826 32.3089 48.826 29.5729 47.96 29.5729 47.96 28.9839"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="46.679 31.7199 46.679 32.3089 44.532 32.3089 44.532 28.9839 45.19 28.9839 45.19 31.7199"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="44.9131 7.895 44.9131 25.486 42.2131 25.486 42.2131 14.509 42.1781 14.509 38.5071 22.958 36.2561 22.958 32.5851 14.509 32.5501 14.509 32.5501 25.486 29.8501 25.486 29.8501 7.895 32.3781 7.895 37.4341 19.357 42.3851 7.895"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="42.4539 28.9839 41.7959 28.9839 41.7959 32.3079 42.4539 32.3079"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="39.649 28.9839 39.649 32.3079 39.026 32.3079 39.026 30.9229 37.883 30.9229 37.883 32.3079 37.26 32.3079 37.26 28.9839 37.883 28.9839 37.883 30.3349 39.026 30.3349 39.026 28.9839"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="33.07 28.9839 32.07 30.9229 32.07 32.3079 31.438 32.3079 31.438 30.9229 30.438 28.9839 31.165 28.9839 31.754 30.3349 32.377 28.9839"></polygon>
<path d="M28.3611,30.6119 C28.4997,30.6748 28.6165,30.7775 28.6966,30.907 C28.7768,31.0364 28.8166,31.1868 28.8111,31.3389 C28.8192,31.471 28.7986,31.6032 28.7507,31.7266 C28.7029,31.8499 28.629,31.9615 28.534,32.0536 C28.439,32.1458 28.3252,32.2163 28.2005,32.2603 C28.0757,32.3044 27.9429,32.321 27.8111,32.3089 L26.4221,32.3089 L26.4221,28.9839 L27.7381,28.9839 C28.3961,28.9839 28.7771,29.3299 28.7771,29.9189 C28.7717,30.0601 28.7308,30.1976 28.6581,30.3188 C28.5853,30.4399 28.4832,30.5408 28.3611,30.6119 Z M28.1531,31.3049 C28.1554,31.2497 28.1462,31.1946 28.1261,31.1431 C28.1059,31.0916 28.0754,31.0448 28.0363,31.0057 C27.9972,30.9666 27.9504,30.9361 27.8989,30.916 C27.8474,30.8958 27.7923,30.8866 27.7371,30.8889 L27.0791,30.8889 L27.0791,31.7199 L27.7371,31.7199 C27.7931,31.7251 27.8495,31.718 27.9023,31.6989 C27.9552,31.6799 28.0032,31.6494 28.0429,31.6097 C28.0826,31.5699 28.1131,31.5219 28.1322,31.4691 C28.1512,31.4162 28.1584,31.3598 28.1531,31.3039 L28.1531,31.3049 Z M28.1221,29.9539 C28.1221,29.7119 27.9831,29.5729 27.7061,29.5729 L27.0831,29.5729 L27.0831,30.3349 L27.7061,30.3349 C27.7592,30.3409 27.813,30.3355 27.8639,30.3189 C27.9147,30.3024 27.9614,30.2752 28.0008,30.2391 C28.0403,30.203 28.0715,30.1588 28.0924,30.1096 C28.1133,30.0604 28.1235,30.0073 28.1221,29.9539 Z" id="Shape" fill="#4A3900" fill-rule="nonzero"></path>
<path d="M26.595,10.9071 C27.149,11.9461 27.357,12.4651 27.357,16.6901 C27.357,20.9151 27.149,21.4341 26.595,22.4731 C26.0314,23.4325 25.2268,24.228 24.261,24.7807 C23.2952,25.3334 22.2018,25.6242 21.089,25.6242 C19.9763,25.6242 18.8829,25.3334 17.9171,24.7807 C16.9513,24.228 16.1467,23.4325 15.583,22.4731 C15.029,21.4341 14.821,20.9151 14.821,16.6901 C14.821,12.4651 15.029,11.9461 15.583,10.9071 C16.1352,9.9376 16.9372,9.1339 17.9057,8.5799 C18.8741,8.0258 19.9734,7.7417 21.089,7.7571 C22.206,7.7345 23.3081,8.0156 24.2779,8.5704 C25.2476,9.1251 26.0485,9.9328 26.595,10.9071 Z M24.695,16.6901 C24.695,13.0901 24.487,12.5691 23.795,11.7041 C23.4686,11.2942 23.0517,10.9653 22.5771,10.7431 C22.1025,10.5208 21.583,10.4113 21.059,10.4231 C20.5354,10.4152 20.0168,10.5264 19.5425,10.7483 C19.0682,10.9702 18.6505,11.2971 18.321,11.7041 C17.628,12.6041 17.421,13.0891 17.421,16.6901 C17.421,20.2911 17.629,20.8111 18.321,21.6761 C18.6472,22.0857 19.0636,22.4143 19.5376,22.6365 C20.0117,22.8587 20.5306,22.9684 21.054,22.9571 C21.5773,22.9648 22.0955,22.8534 22.5695,22.6315 C23.0434,22.4096 23.4608,22.0829 23.79,21.6761 C24.521,20.7761 24.69,20.2911 24.69,16.6901 L24.695,16.6901 Z" id="Shape" fill="#4A3900" fill-rule="nonzero"></path>
<path d="M21.9541,29.3312 L21.5381,29.7472 C21.446,29.6604 21.3368,29.594 21.2174,29.5523 C21.0979,29.5106 20.9711,29.4945 20.8451,29.5052 C20.4991,29.5052 20.3261,29.6782 20.3261,29.9212 C20.3291,30.0112 20.3647,30.0972 20.4261,30.1632 C20.5159,30.2364 20.6236,30.2844 20.7381,30.3022 L21.1191,30.3712 C21.3459,30.3895 21.5624,30.4736 21.7421,30.6132 C21.8267,30.7066 21.8917,30.8161 21.9333,30.9351 C21.9748,31.0542 21.9921,31.1803 21.9841,31.3062 C21.9841,31.9642 21.4651,32.3062 20.7721,32.3062 C20.5494,32.3249 20.3253,32.2943 20.1158,32.2165 C19.9063,32.1387 19.7165,32.0157 19.5601,31.8562 L19.9761,31.4402 C20.0836,31.5383 20.21,31.6134 20.3475,31.6611 C20.4851,31.7087 20.6309,31.7278 20.7761,31.7172 C21.1571,31.7172 21.3651,31.5782 21.3651,31.3012 C21.3689,31.1994 21.333,31.1 21.2651,31.0242 C21.2293,30.9879 21.1858,30.96 21.1379,30.9427 C21.09,30.9254 21.0388,30.9191 20.9881,30.9242 L20.5721,30.8552 C20.3308,30.8276 20.1024,30.7315 19.9141,30.5782 C19.828,30.4916 19.7613,30.3877 19.7183,30.2734 C19.6754,30.1591 19.6572,30.037 19.6651,29.9152 C19.6674,29.7721 19.6998,29.6311 19.76,29.5013 C19.8202,29.3715 19.907,29.2557 20.0147,29.1615 C20.1223,29.0673 20.2486,28.9967 20.3853,28.9543 C20.5219,28.9118 20.6659,28.8985 20.8081,28.9152 C21.2294,28.9007 21.6401,29.0497 21.9541,29.3312 Z" id="Path" fill="#4A3900" fill-rule="nonzero"></path>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="17.9031 31.7199 17.9031 32.3089 15.7561 32.3089 15.7561 28.9839 17.9031 28.9839 17.9031 29.5729 16.3791 29.5729 16.3791 30.3349 17.6951 30.3349 17.6951 30.9239 16.3791 30.9239 16.3791 31.7239"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="13.8521 28.9839 13.8521 29.5729 12.9861 29.5729 12.9861 32.3089 12.3631 32.3089 12.3631 29.5729 11.4971 29.5729 11.4971 28.9839"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="12.328 7.895 12.328 25.486 9.628 25.486 9.628 17.795 2.666 17.795 2.666 25.482 0 25.482 0 7.895 2.666 7.895 2.666 15.409 9.626 15.409 9.626 7.895"></polygon>
<polygon id="Path" fill="#4A3900" fill-rule="nonzero" points="9.627 28.9839 8.969 28.9839 8.969 32.3079 9.627 32.3079"></polygon>
<path d="M6.8909,28.9839 L6.8909,31.1659 C6.8907,31.3218 6.8586,31.476 6.7967,31.6191 C6.7348,31.7622 6.6443,31.8912 6.5309,31.9982 C6.4175,32.1052 6.2834,32.1879 6.1369,32.2413 C5.9904,32.2947 5.8346,32.3177 5.6789,32.3089 C5.5226,32.3206 5.3656,32.2996 5.2179,32.2472 C5.0701,32.1948 4.9349,32.1122 4.8209,32.0047 C4.7068,31.8971 4.6165,31.767 4.5555,31.6226 C4.4946,31.4782 4.4644,31.3226 4.4669,31.1659 L4.4669,28.9839 L5.1249,28.9839 L5.1249,31.1309 C5.1141,31.2094 5.1204,31.2893 5.1434,31.3652 C5.1664,31.441 5.2056,31.5109 5.2583,31.5702 C5.3109,31.6294 5.3758,31.6765 5.4484,31.7082 C5.5211,31.7399 5.5997,31.7555 5.6789,31.7539 C5.7599,31.7565 5.8405,31.7418 5.9154,31.711 C5.9904,31.6801 6.0579,31.6337 6.1135,31.5748 C6.1692,31.516 6.2117,31.4459 6.2384,31.3694 C6.265,31.2929 6.2751,31.2116 6.2679,31.1309 L6.2679,28.9839 L6.8909,28.9839 Z" id="Path" fill="#4A3900" fill-rule="nonzero"></path>
<path d="M2.493,29.3312 L2.077,29.7472 C1.985,29.6604 1.8757,29.594 1.7563,29.5523 C1.6369,29.5106 1.51,29.4945 1.384,29.5052 C1.038,29.5052 0.865,29.6782 0.865,29.9212 C0.8681,30.0112 0.9036,30.0972 0.965,30.1632 C1.0548,30.2364 1.1625,30.2843 1.277,30.3022 L1.658,30.3712 C1.8848,30.3895 2.1013,30.4736 2.281,30.6132 C2.3656,30.7066 2.4306,30.8161 2.4722,30.9351 C2.5138,31.0542 2.531,31.1803 2.523,31.3062 C2.523,31.9642 2.004,32.3062 1.311,32.3062 C1.0895,32.3214 0.8674,32.2894 0.6593,32.2121 C0.4512,32.1349 0.2619,32.0142 0.104,31.8582 L0.52,31.4422 C0.6275,31.5403 0.7539,31.6154 0.8915,31.6631 C1.029,31.7107 1.1748,31.7298 1.32,31.7192 C1.701,31.7192 1.909,31.5802 1.909,31.3032 C1.9128,31.2014 1.877,31.102 1.809,31.0262 C1.7732,30.9898 1.7298,30.962 1.6819,30.9447 C1.6339,30.9274 1.5827,30.9211 1.532,30.9262 L1.104,30.8542 C0.8627,30.8266 0.6343,30.7305 0.446,30.5772 C0.3613,30.4901 0.296,30.3861 0.2542,30.272 C0.2125,30.1579 0.1954,30.0363 0.204,29.9152 C0.2064,29.7721 0.2387,29.6311 0.2989,29.5013 C0.3592,29.3715 0.4459,29.2557 0.5536,29.1615 C0.6613,29.0673 0.7875,28.9967 0.9242,28.9543 C1.0609,28.9118 1.2049,28.8985 1.347,28.9152 C1.7684,28.9007 2.179,29.0497 2.493,29.3312 Z" id="Path" fill="#4A3900" fill-rule="nonzero"></path>
<path d="M77.706,44.6710016 C77.384,44.6710016 77.069,44.5756 76.801,44.3967 C76.534,44.2178 76.325,43.9635 76.202,43.666 C76.079,43.3686 76.046,43.0412 76.109,42.7254 C76.172,42.4096 76.327,42.1195 76.555,41.8919 C76.782,41.6642 77.072,41.5091 77.388,41.4463 C77.704,41.3835 78.031,41.4157 78.329,41.539 C78.626,41.6622 78.881,41.8709 79.06,42.1386 C79.238,42.4063 79.334,42.7211 79.334,43.043 C79.334,43.2569 79.292,43.4687 79.21,43.6664 C79.129,43.864 79.009,44.0436 78.858,44.1948 C78.706,44.346 78.527,44.4659 78.329,44.5477 C78.132,44.6294 77.92,44.6713 77.706,44.6710016 Z M77.706,41.6929998 C77.533,41.6929 77.362,41.7269 77.202,41.7929 C77.042,41.859 76.897,41.956 76.775,42.0782 C76.653,42.2004 76.556,42.3455 76.49,42.5053 C76.424,42.665 76.39,42.8362 76.39,43.009 C76.387,43.1827 76.419,43.3551 76.484,43.5162 C76.549,43.6772 76.646,43.8234 76.769,43.9462 C76.891,44.069 77.038,44.1659 77.199,44.2309 C77.36,44.296 77.532,44.328 77.706,44.325 C77.879,44.325193 78.05,44.2912 78.21,44.2251 C78.369,44.159 78.515,44.0621 78.637,43.9399 C78.759,43.8177 78.856,43.6725 78.922,43.5128 C78.988,43.3531 79.022,43.1819 79.022,43.009 C79.016,42.6618 78.876,42.3303 78.63,42.0848 C78.385,41.8392 78.053,41.6987 77.706,41.6929998 Z M78.052,43.909 L77.706,43.216 L77.464,43.216 L77.464,43.909 L77.152,43.909 L77.152,42.143 L77.81,42.143 C77.884,42.1392 77.957,42.1508 78.026,42.1773 C78.095,42.2038 78.158,42.2444 78.21,42.2967 C78.263,42.3489 78.303,42.4115 78.33,42.4805 C78.356,42.5495 78.368,42.6233 78.364,42.697 C78.368,42.8047 78.336,42.9106 78.273,42.9983 C78.211,43.086 78.121,43.1506 78.018,43.182 L78.399,43.944 L78.053,43.944 L78.052,43.909 Z M77.74,42.42 L77.428,42.42 L77.428,42.939 L77.74,42.939 C77.777,42.9424 77.815,42.9376 77.85,42.9248 C77.885,42.9121 77.917,42.8918 77.943,42.8654 C77.97,42.839 77.99,42.8071 78.003,42.7719 C78.015,42.7368 78.02,42.6993 78.017,42.662 C78.052,42.559 77.913,42.416 77.74,42.416 L77.74,42.42 Z" id="Shape" fill="#B2BB1F" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 974 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -13,7 +13,8 @@
*= require_tree .
*= require_self
*/
@import url('https://fonts.googleapis.com/css2?family=Fleur+De+Leah&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Euphoria+Script&family=Fleur+De+Leah&family=Rouge+Script&display=swap');
html, body {
margin: 0;
padding: 0;
@@ -21,8 +22,14 @@ html, body {
.hero-bg {
background-image: url("assets/hero.jpg");
background-size: contain;
background-color: #FDFEFE;
}
.lavender-wisp {
background-image: url("assets/lavender-wisp.png");
background-size: cover;
height: 4rem;
}
/* #container { */
@@ -66,3 +73,9 @@ html, body {
font-weight: 400;
font-style: normal;
}
.rogue-script {
font-family: "Rouge Script", cursive;
font-weight: 400;
font-style: normal;
}

View File

@@ -0,0 +1,2 @@
class InvitationsController < ApplicationController
end

View File

@@ -0,0 +1,2 @@
module InvitationsHelper
end

6
app/models/invitation.rb Normal file
View File

@@ -0,0 +1,6 @@
class Invitation < ApplicationRecord
validates :name, length: {maximum: 64}
validates :attending, inclusion: { in: ["yes", "no"] }
validates :additional_guest, length: {maximum: 64}
end

View File

@@ -1,6 +1,5 @@
<!-- options: #a99dab #dfebde -->
<div class="bg-[#a99dab] w-screen">
<!--- HERO START --->
<div class="hero-bg h-3/4">
<!-- Nav START -->
@@ -13,91 +12,142 @@
<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 id="nav-links" class="text-xl max-md:hidden flex flex-col pl-4 lg:flex-row lg:mr-4">
<a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Our Story</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="#dress" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Dress</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 pb-4">RSVP</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 pb-4">RSVP</a> -->
</div>
</div>
</nav>
</div>
<div class="container mx-auto">
<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="assets/lavender-wisp.png" class="basis-1/2 max-w-40 lg:max-w-80" style="transform: scaleX(-1)"/>
</div>
</div>
<!-- Nav END -->
<div class="container mx-auto">
<div class="pt-24 pb-8 flex flex-col items-center">
<div class="fleur-de-leah-regular text-8xl basis-1/3">Jillian</div>
<div class="fleur-de-leah-regular text-6xl basis-1/3">and</div>
<div class="fleur-de-leah-regular text-8xl basis-1/3">Adam</div>
<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-6xl basis-1/3">and</span>
<span class="fleur-de-leah-regular text-8xl basis-1/3">Adam</span>
</div>
</div>
<div class="container mx-auto flex flex-col items-center py-4">
<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 py-4">
<div class="text-2xl">June 7, 2025 • West Chester, PA</div>
<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>
<!-- <div class="mx-auto items-center w-fit"> -->
<!-- <div class="text-3xl py-4">June 7, 2025</div> -->
<!-- </div> -->
<!-- <div class="mx-auto items-center w-fit"> -->
<!-- <div class="text-3xl py-4">207 DAYS TO GO!</div> -->
<!-- </div> -->
<div class="w-full block flex-grow max-md:hidden lg:flex lg:w-auto lg:justify-center">
<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 id="nav-links-lg" class="text-xl flex flex-col lg:flex-row lg:mr-4">
<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="#dress" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white mr-24">Dress</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>
<a href="#our-story" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 mr-24">Our Story</a>
<a href="#ceremony" class="block mt-4 lg:inline-block lg:mt-0 hover:text-slate-500 mr-24">Ceremony & Reception</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> -->
<!-- <a href="#rsvp" class="block mt-4 lg:inline-block lg:mt-0 hover:text-white">RSVP</a> -->
</div>
</div>
</div>
</div>
<div id="ceremony" class="w-screen bg-[#a99dab]">
<div class="container mx-auto ">
<div class="bg-[#ddd3be] text-slate-900">
<div class="flex flex-col">
<div class="basis-1/3">
<h1 class="text-3xl px-4 py-8">Ceremony & Reception</h1>
<p class="text-xl px-4 py-8">We will be celebrating our wedding at Penn Oaks Golf Club in West Chester, Pennsylvania
<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>
<div class="basis-2/3 h-[400px] overflow-hidden 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="370" height="300" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
<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">
<h1 class="text-5xl px-4 py-8 rogue-script lg:text-7xl">Ceremony & Reception</h1>
<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="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 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 id="accommodations" class="w-screen bg-[#9d8ca4] text-slate-200">
<div class="container mx-auto">
<div class="h-36">
<h1 class="text-3xl py-8">Accommodations</h1>
</div>
</div>
</div>
<div id="dress" class="w-screen bg-[#92a084] text-slate-200">
<div class="container mx-auto ">
<div class="h-36">
<h1 class="text-3xl">Dress</h1>
</div>
</div>
</div>
<div id="Registry" class="w-screen bg-[#9d8ca4] text-slate-200">
<div class="container mx-auto ">
<div class="h-36">
<h1 class="text-3xl">Registry</h1>
</div>
</div>
</div>
<div id="rsvp" class="w-screen bg-[#92a084] text-slate-200">
<div class="container mx-auto ">
<div class="h-36">
<h1 class="text-3xl">RSVP</h1>
</div>
</div>
</div>

View File

@@ -0,0 +1,63 @@
<div class="bg-white">
<div class="min-w-32 my-4 mx-4 border-4 border-[#f4d03f] px-4 py-4">
<div class= "flex flex-row justify-center">
<h1 class="text-5xl rogue-script">RSVP</h1>
<p class="text-xl px-8 ">Please respond by May 1, 2025</p>
</div>
<div class="flex flex-row justify-center pt-4">
<span class="width-1/3">Name:</span>
<input type="text" id="name" name="name" class="border border-b width-2/3"></input>
</div>
<div class="flex flex-col">
<div class="flex items-center space-x-2">
<label class="relative flex items-center cursor-pointer">
<input
type="radio"
id="attend-yes"
name="attend"
class="sr-only peer/attend-yes"
/>
<div class="w-6 h-6 border-2 border-gray-400 peer-checked/attend-yes:bg-blue-500 peer-checked/attend-yes:text-white flex items-center justify-center">
<span class="hidden peer-checked/attend-yes:inline-block text-lg font-bold"></span>
</div>
<span class="ml-2 text-gray-700">Accept</span>
</label>
</div>
<div class="flex items-center space-x-2">
<label class="relative flex items-center cursor-pointer">
<input
type="radio"
id="attend-no"
name="attend"
class="sr-only peer/attend-no"
/>
<div class="w-6 h-6 border-2 border-gray-400 peer-checked/attend-no:bg-blue-500 peer-checked/attend-no:text-white flex items-center justify-center">
<span class="invisible peer-checked/attend-no:visible text-lg font-bold">X</span>
</div>
<span class="ml-2 text-gray-700">Decline</span>
</label>
</div>
</div>
</div>
</div>
<!-- <div class="flex flex-col justify-center mt-8 w-fit mx-auto"> -->
<!-- <div class="flex flex-row items-center"> -->
<!-- <input type="radio" id="attend-yes" name="attending" value="yes" -->
<!-- class="peer/attend-yes"></input> -->
<!-- <label class="text-xl px-4" for="attend-yes">Accept</label> -->
<!-- <input type="radio" id="attend-no" class="ml-4" name="attending" value="yes"></input> -->
<!-- <label class="text-xl px-4" for="attend-no">Decline</label> -->
<!-- </div> -->
<!-- <div class="flex flex-row items-center justify-center"> -->
<!-- <input type="text" class="w-8 border-b-4 border-t-0 border-l-0 border-r-0 border-black focus:outline-none p-2" id="additional_guests" name="additional_guests"></input> -->
<!-- <label class="text-xl pl-4" for="additional_guests"># of Guests</label> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>

View File

@@ -1,4 +1,5 @@
Rails.application.routes.draw do
resources :invitations
# Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
root "home#index"

View File

@@ -0,0 +1,11 @@
class CreateInvitations < ActiveRecord::Migration[7.2]
def change
create_table :invitations do |t|
t.string :name
t.string :attending
t.string :additional_guest
t.timestamps
end
end
end

21
db/schema.rb generated Normal file
View File

@@ -0,0 +1,21 @@
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# This file is the source Rails uses to define your schema when running `bin/rails
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# be faster and is potentially less error prone than running all of your
# migrations from scratch. Old migrations may fail to apply correctly if those
# migrations use external dependencies or application code.
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.2].define(version: 2024_11_17_140232) do
create_table "invitations", force: :cascade do |t|
t.string "name"
t.string "attending"
t.string "additional_guest"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end

View File

@@ -0,0 +1,7 @@
require "test_helper"
class InvitationsControllerTest < ActionDispatch::IntegrationTest
# test "the truth" do
# assert true
# end
end

11
test/fixtures/invitations.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
one:
name: MyString
attending: MyString
additional_guest: MyString
two:
name: MyString
attending: MyString
additional_guest: MyString

View File

@@ -0,0 +1,7 @@
require "test_helper"
class InvitationTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
end