feat: newsletter subscription page & components

This commit is contained in:
Hossein Mehrabi
2023-11-17 03:02:22 +03:30
parent efc43834ee
commit dada34a537
25 changed files with 537 additions and 44 deletions
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.4 KiB

@@ -0,0 +1,10 @@
<svg width="59" height="31" viewBox="0 0 59 31" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.9048 24.2321H7.14453V15.6368H20.8918L20.9048 24.2321ZM14.0095 16.3264C12.835 16.3276 11.679 16.6225 10.6441 17.1849C9.60916 17.7473 8.72734 18.5598 8.07692 19.5502C7.99086 19.6508 7.9435 19.7794 7.9435 19.9125C7.9435 20.0456 7.99086 20.1743 8.07692 20.2749C8.73152 21.2607 9.61501 22.0688 10.6499 22.6283C11.6847 23.1877 12.8393 23.4814 14.0124 23.4836C15.1855 23.4857 16.3411 23.1963 17.378 22.6407C18.4149 22.0851 19.3013 21.2803 19.9594 20.2968C20.0533 20.1905 20.1052 20.0529 20.1052 19.9103C20.1052 19.7677 20.0533 19.6301 19.9594 19.5238C19.3031 18.5374 18.4168 17.7301 17.379 17.1732C16.3413 16.6162 15.184 16.3269 14.0095 16.3308V16.3264Z" fill="white"/>
<path d="M14.0485 14.833C12.8816 14.8307 11.7326 14.5417 10.7001 13.991C9.66754 13.4402 8.78232 12.644 8.12029 11.6707C8.00991 11.5518 7.94846 11.3948 7.94846 11.2315C7.94846 11.0683 8.00991 10.9113 8.12029 10.7923C8.78196 9.8208 9.66776 9.02751 10.7008 8.48135C11.7339 7.93519 12.8829 7.65266 14.0482 7.65829C15.2136 7.66391 16.3599 7.95753 17.3878 8.51364C18.4156 9.06975 19.2939 9.87154 19.9464 10.8494C20.04 10.955 20.0917 11.0919 20.0917 11.2337C20.0917 11.3756 20.04 11.5125 19.9464 11.618C19.2947 12.5984 18.4172 13.4034 17.3897 13.9635C16.3621 14.5237 15.2154 14.8221 14.0485 14.833ZM16.6158 11.2754C16.6279 10.7518 16.4856 10.2364 16.2072 9.79501C15.9287 9.35363 15.5266 9.00632 15.0524 8.7974C14.5781 8.58849 14.0531 8.52744 13.5445 8.62207C13.0358 8.7167 12.5665 8.96272 12.1965 9.3287C11.8265 9.69468 11.5726 10.164 11.4672 10.6768C11.3617 11.1896 11.4096 11.7226 11.6046 12.2077C11.7997 12.6928 12.133 13.1081 12.5621 13.4005C12.9913 13.6928 13.4967 13.8491 14.0138 13.8492C14.6935 13.8494 15.3463 13.5802 15.8326 13.0992C16.3189 12.6183 16.6 11.9637 16.6158 11.2754Z" fill="white"/>
<path d="M14.0224 22.506C13.5181 22.4973 13.0276 22.3379 12.6125 22.0478C12.1973 21.7576 11.8762 21.3497 11.6893 20.8752C11.5024 20.4008 11.4581 19.881 11.562 19.3811C11.6659 18.8812 11.9134 18.4236 12.2734 18.0658C12.6333 17.7079 13.0896 17.4658 13.585 17.3698C14.0804 17.2739 14.5928 17.3283 15.0577 17.5263C15.5226 17.7244 15.9194 18.0571 16.1981 18.4828C16.4769 18.9086 16.6252 19.4082 16.6244 19.919C16.6233 20.2625 16.5549 20.6024 16.4232 20.9189C16.2914 21.2354 16.0989 21.5223 15.8569 21.7629C15.6149 22.0035 15.3281 22.1931 15.0132 22.3207C14.6983 22.4482 14.3615 22.5112 14.0224 22.506Z" fill="white"/>
<path d="M24.6875 19.3744V12.4648H25.9392V18.3251H28.9823V19.3744H24.6875Z" fill="white"/>
<path d="M32.0851 19.4756C31.579 19.4756 31.1405 19.3643 30.7693 19.1416C30.3982 18.9189 30.1103 18.6074 29.9057 18.207C29.7032 17.8067 29.602 17.3389 29.602 16.8035C29.602 16.2682 29.7032 15.7993 29.9057 15.3967C30.1103 14.9941 30.3982 14.6814 30.7693 14.4588C31.1405 14.2361 31.579 14.1248 32.0851 14.1248C32.5912 14.1248 33.0298 14.2361 33.4009 14.4588C33.772 14.6814 34.0588 14.9941 34.2612 15.3967C34.4659 15.7993 34.5682 16.2682 34.5682 16.8035C34.5682 17.3389 34.4659 17.8067 34.2612 18.207C34.0588 18.6074 33.772 18.9189 33.4009 19.1416C33.0298 19.3643 32.5912 19.4756 32.0851 19.4756ZM32.0919 18.4972C32.3663 18.4972 32.5957 18.4218 32.7801 18.2711C32.9645 18.1182 33.1017 17.9135 33.1917 17.6571C33.2839 17.4007 33.33 17.1151 33.33 16.8002C33.33 16.483 33.2839 16.1963 33.1917 15.9399C33.1017 15.6812 32.9645 15.4754 32.7801 15.3224C32.5957 15.1695 32.3663 15.093 32.0919 15.093C31.8107 15.093 31.5768 15.1695 31.3901 15.3224C31.2057 15.4754 31.0674 15.6812 30.9751 15.9399C30.8852 16.1963 30.8402 16.483 30.8402 16.8002C30.8402 17.1151 30.8852 17.4007 30.9751 17.6571C31.0674 17.9135 31.2057 18.1182 31.3901 18.2711C31.5768 18.4218 31.8107 18.4972 32.0919 18.4972Z" fill="white"/>
<path d="M37.6685 21.4256C37.2299 21.4256 36.8531 21.366 36.5383 21.2468C36.2234 21.1299 35.9703 20.9724 35.7792 20.7745C35.588 20.5766 35.4553 20.3573 35.3811 20.1166L36.4809 19.8501C36.5304 19.9513 36.6024 20.0514 36.6968 20.1504C36.7913 20.2516 36.9184 20.3348 37.0781 20.4C37.24 20.4675 37.4436 20.5012 37.6887 20.5012C38.0351 20.5012 38.3219 20.4169 38.549 20.2482C38.7762 20.0818 38.8898 19.8073 38.8898 19.425V18.4432H38.8291C38.7661 18.5692 38.6739 18.6985 38.5524 18.8312C38.4332 18.9639 38.2746 19.0752 38.0767 19.1652C37.881 19.2552 37.6347 19.3002 37.3378 19.3002C36.9397 19.3002 36.5787 19.2068 36.2549 19.0201C35.9332 18.8312 35.6768 18.55 35.4856 18.1767C35.2967 17.8011 35.2022 17.331 35.2022 16.7664C35.2022 16.1974 35.2967 15.7172 35.4856 15.3258C35.6768 14.9322 35.9344 14.6342 36.2582 14.4318C36.5821 14.2271 36.9431 14.1248 37.3412 14.1248C37.6449 14.1248 37.8945 14.1765 38.0902 14.2799C38.2881 14.3812 38.4456 14.5037 38.5625 14.6477C38.6795 14.7894 38.7683 14.9232 38.8291 15.0492H38.8965V14.1922H40.101V19.4587C40.101 19.9018 39.9953 20.2684 39.7838 20.5586C39.5724 20.8487 39.2834 21.0658 38.9168 21.2097C38.5502 21.3537 38.1341 21.4256 37.6685 21.4256ZM37.6786 18.342C37.9373 18.342 38.1577 18.279 38.3399 18.1531C38.522 18.0271 38.6604 17.846 38.7548 17.6099C38.8493 17.3737 38.8965 17.0903 38.8965 16.7597C38.8965 16.4336 38.8493 16.1479 38.7548 15.9027C38.6626 15.6576 38.5254 15.4675 38.3432 15.3326C38.1633 15.1954 37.9418 15.1268 37.6786 15.1268C37.4064 15.1268 37.1793 15.1976 36.9971 15.3393C36.8149 15.481 36.6777 15.6756 36.5855 15.923C36.4933 16.1681 36.4472 16.447 36.4472 16.7597C36.4472 17.0768 36.4933 17.3546 36.5855 17.593C36.68 17.8292 36.8183 18.0136 37.0005 18.1463C37.1849 18.2768 37.4109 18.342 37.6786 18.342Z" fill="white"/>
<path d="M43.4231 19.4756C42.917 19.4756 42.4784 19.3643 42.1073 19.1416C41.7362 18.9189 41.4483 18.6074 41.2436 18.207C41.0412 17.8067 40.94 17.3389 40.94 16.8035C40.94 16.2682 41.0412 15.7993 41.2436 15.3967C41.4483 14.9941 41.7362 14.6814 42.1073 14.4588C42.4784 14.2361 42.917 14.1248 43.4231 14.1248C43.9291 14.1248 44.3677 14.2361 44.7388 14.4588C45.1099 14.6814 45.3967 14.9941 45.5991 15.3967C45.8038 15.7993 45.9062 16.2682 45.9062 16.8035C45.9062 17.3389 45.8038 17.8067 45.5991 18.207C45.3967 18.6074 45.1099 18.9189 44.7388 19.1416C44.3677 19.3643 43.9291 19.4756 43.4231 19.4756ZM43.4298 18.4972C43.7042 18.4972 43.9336 18.4218 44.1181 18.2711C44.3025 18.1182 44.4397 17.9135 44.5297 17.6571C44.6219 17.4007 44.668 17.1151 44.668 16.8002C44.668 16.483 44.6219 16.1963 44.5297 15.9399C44.4397 15.6812 44.3025 15.4754 44.1181 15.3224C43.9336 15.1695 43.7042 15.093 43.4298 15.093C43.1487 15.093 42.9147 15.1695 42.7281 15.3224C42.5436 15.4754 42.4053 15.6812 42.3131 15.9399C42.2231 16.1963 42.1781 16.483 42.1781 16.8002C42.1781 17.1151 42.2231 17.4007 42.3131 17.6571C42.4053 17.9135 42.5436 18.1182 42.7281 18.2711C42.9147 18.4218 43.1487 18.4972 43.4298 18.4972Z" fill="white"/>
<path d="M50.8485 15.562L49.7352 15.6834C49.7037 15.571 49.6486 15.4653 49.5698 15.3663C49.4934 15.2673 49.3899 15.1875 49.2595 15.1268C49.129 15.066 48.9693 15.0357 48.7804 15.0357C48.5262 15.0357 48.3125 15.0908 48.1394 15.201C47.9684 15.3112 47.8841 15.454 47.8863 15.6295C47.8841 15.7802 47.9392 15.9027 48.0516 15.9972C48.1663 16.0917 48.3553 16.1693 48.6184 16.23L49.5024 16.4189C49.9927 16.5246 50.3571 16.6922 50.5955 16.9216C50.8361 17.151 50.9576 17.4513 50.9598 17.8224C50.9576 18.1486 50.862 18.4365 50.6731 18.6861C50.4864 18.9335 50.2266 19.127 49.8937 19.2664C49.5608 19.4059 49.1785 19.4756 48.7466 19.4756C48.1124 19.4756 47.6018 19.3429 47.2149 19.0775C46.8281 18.8098 46.5975 18.4376 46.5233 17.9608L47.7143 17.846C47.7682 18.08 47.883 18.2565 48.0584 18.3757C48.2338 18.4949 48.4621 18.5545 48.7433 18.5545C49.0334 18.5545 49.2662 18.4949 49.4416 18.3757C49.6193 18.2565 49.7082 18.1092 49.7082 17.9338C49.7082 17.7853 49.6508 17.6627 49.5361 17.566C49.4236 17.4693 49.2482 17.3951 49.0098 17.3434L48.1259 17.1578C47.6288 17.0543 47.2611 16.88 47.0226 16.6349C46.7842 16.3874 46.6661 16.0748 46.6684 15.6969C46.6661 15.3776 46.7527 15.1009 46.9282 14.867C47.1059 14.6308 47.3521 14.4486 47.667 14.3204C47.9842 14.19 48.3497 14.1248 48.7635 14.1248C49.3708 14.1248 49.8487 14.2541 50.1974 14.5127C50.5482 14.7714 50.7653 15.1211 50.8485 15.562Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

@@ -0,0 +1,9 @@
<svg width="74" height="31" viewBox="0 0 74 31" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M25.8145 15.9252V21.5065C22.7455 21.5065 21.1633 21.2275 19.3029 18.7159C17.4424 16.2043 16.2404 15.9251 14.6517 15.9251V21.5065H9.07031V15.9251H14.6517V10.3438C17.5153 10.3437 19.3029 10.7158 21.1633 13.1345C23.0238 15.5531 24.0048 15.9252 25.8145 15.9252V10.3438H31.3959V15.9252H25.8145Z" fill="white"/>
<path d="M40.2168 12.7823V19.3491H39.1586L36.0644 14.8761H36.0099V19.3491H34.8203V12.7823H35.8849L38.9759 17.2585H39.0336V12.7823H40.2168Z" fill="white"/>
<path d="M41.4617 19.3491V14.424H42.6224V19.3491H41.4617ZM42.0453 13.725C41.8614 13.725 41.7032 13.6641 41.5707 13.5422C41.4382 13.4182 41.3719 13.2697 41.3719 13.0965C41.3719 12.9212 41.4382 12.7727 41.5707 12.6508C41.7032 12.5268 41.8614 12.4648 42.0453 12.4648C42.2312 12.4648 42.3894 12.5268 42.5198 12.6508C42.6524 12.7727 42.7186 12.9212 42.7186 13.0965C42.7186 13.2697 42.6524 13.4182 42.5198 13.5422C42.3894 13.6641 42.2312 13.725 42.0453 13.725Z" fill="white"/>
<path d="M43.816 19.3491V14.424H44.9255V15.2609H44.9832C45.0858 14.9787 45.2557 14.7585 45.493 14.6003C45.7303 14.44 46.0135 14.3599 46.3427 14.3599C46.6762 14.3599 46.9573 14.4411 47.186 14.6036C47.4169 14.7639 47.5793 14.983 47.6734 15.2609H47.7247C47.8337 14.9873 48.0176 14.7692 48.2762 14.6068C48.537 14.4422 48.8459 14.3599 49.2029 14.3599C49.6561 14.3599 50.0259 14.5031 50.3123 14.7895C50.5988 15.076 50.742 15.4939 50.742 16.0433V19.3491H49.578V16.2228C49.578 15.9171 49.4968 15.6937 49.3343 15.5527C49.1719 15.4094 48.9731 15.3378 48.7379 15.3378C48.4579 15.3378 48.2388 15.4255 48.0806 15.6008C47.9246 15.7739 47.8465 15.9994 47.8465 16.2773V19.3491H46.7083V16.1747C46.7083 15.9203 46.6313 15.7173 46.4774 15.5655C46.3256 15.4137 46.1268 15.3378 45.881 15.3378C45.7143 15.3378 45.5625 15.3806 45.4257 15.4661C45.2889 15.5495 45.1798 15.6681 45.0986 15.822C45.0174 15.9738 44.9768 16.1512 44.9768 16.3543V19.3491H43.816Z" fill="white"/>
<path d="M51.9709 19.3491V12.7823H53.1316V15.2384H53.1797C53.2395 15.1187 53.324 14.9915 53.433 14.8569C53.542 14.7201 53.6895 14.6036 53.8755 14.5074C54.0615 14.409 54.2987 14.3599 54.5873 14.3599C54.9678 14.3599 55.3109 14.4571 55.6166 14.6516C55.9244 14.844 56.1681 15.1294 56.3477 15.5078C56.5294 15.884 56.6202 16.3457 56.6202 16.893C56.6202 17.4338 56.5315 17.8934 56.3541 18.2717C56.1767 18.6501 55.9351 18.9387 55.6294 19.1375C55.3237 19.3363 54.9774 19.4357 54.5905 19.4357C54.3084 19.4357 54.0743 19.3887 53.8883 19.2946C53.7023 19.2005 53.5527 19.0872 53.4394 18.9547C53.3283 18.82 53.2417 18.6929 53.1797 18.5731H53.1123V19.3491H51.9709ZM53.1091 16.8865C53.1091 17.2051 53.154 17.484 53.2438 17.7234C53.3357 17.9628 53.4672 18.1499 53.6382 18.2846C53.8114 18.4171 54.0208 18.4834 54.2667 18.4834C54.5232 18.4834 54.738 18.415 54.9112 18.2782C55.0843 18.1392 55.2147 17.95 55.3024 17.7106C55.3921 17.4691 55.437 17.1944 55.437 16.8865C55.437 16.5809 55.3932 16.3094 55.3056 16.0721C55.2179 15.8348 55.0875 15.6489 54.9144 15.5142C54.7412 15.3795 54.5253 15.3122 54.2667 15.3122C54.0187 15.3122 53.8082 15.3774 53.635 15.5078C53.4619 15.6382 53.3304 15.8209 53.2406 16.0561C53.153 16.2912 53.1091 16.568 53.1091 16.8865Z" fill="white"/>
<path d="M60.7461 17.2777V14.424H61.9069V19.3491H60.7814V18.4737H60.7301C60.6189 18.7495 60.4362 18.975 60.1818 19.1503C59.9295 19.3256 59.6185 19.4132 59.2487 19.4132C58.9259 19.4132 58.6406 19.3416 58.3926 19.1984C58.1468 19.053 57.9544 18.8425 57.8154 18.5667C57.6765 18.2888 57.607 17.9532 57.607 17.5599V14.424H58.7677V17.3803C58.7677 17.6924 58.8532 17.9404 59.0243 18.1242C59.1953 18.3081 59.4197 18.4 59.6976 18.4C59.8686 18.4 60.0343 18.3583 60.1946 18.2749C60.3549 18.1916 60.4864 18.0676 60.589 17.903C60.6938 17.7363 60.7461 17.5278 60.7461 17.2777Z" fill="white"/>
<path d="M66.9931 15.7258L65.935 15.8412C65.905 15.7344 65.8527 15.6339 65.7779 15.5398C65.7052 15.4458 65.6068 15.3699 65.4829 15.3122C65.3589 15.2545 65.2071 15.2256 65.0275 15.2256C64.786 15.2256 64.5829 15.278 64.4183 15.3827C64.2559 15.4875 64.1757 15.6232 64.1778 15.7899C64.1757 15.9332 64.2281 16.0497 64.335 16.1394C64.444 16.2292 64.6235 16.303 64.8736 16.3607L65.7137 16.5403C66.1797 16.6407 66.526 16.8 66.7526 17.018C66.9813 17.2361 67.0968 17.5214 67.0989 17.8741C67.0968 18.1841 67.0059 18.4577 66.8264 18.695C66.6489 18.9301 66.402 19.114 66.0857 19.2465C65.7693 19.379 65.4059 19.4453 64.9955 19.4453C64.3927 19.4453 63.9074 19.3192 63.5397 19.0669C63.1721 18.8126 62.953 18.4588 62.8824 18.0056L64.0143 17.8966C64.0656 18.1189 64.1746 18.2867 64.3414 18.4C64.5081 18.5133 64.7251 18.5699 64.9923 18.5699C65.268 18.5699 65.4893 18.5133 65.656 18.4C65.8249 18.2867 65.9093 18.1467 65.9093 17.98C65.9093 17.8389 65.8548 17.7224 65.7458 17.6304C65.6389 17.5385 65.4722 17.468 65.2456 17.4188L64.4055 17.2425C63.9331 17.1441 63.5836 16.9785 63.357 16.7455C63.1304 16.5103 63.0182 16.2132 63.0203 15.8541C63.0182 15.5505 63.1005 15.2876 63.2672 15.0653C63.4361 14.8408 63.6701 14.6677 63.9694 14.5458C64.2708 14.4219 64.6182 14.3599 65.0115 14.3599C65.5887 14.3599 66.0429 14.4828 66.3743 14.7286C66.7077 14.9744 66.914 15.3068 66.9931 15.7258Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -0,0 +1,11 @@
<svg width="47" height="31" viewBox="0 0 47 31" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.973 10.5752C13.6426 9.96171 13.1455 9.45438 12.5393 9.11186L11.7695 8.69179C11.7695 8.69179 12.6592 7.34849 13.7747 7.71316C14.8903 8.07784 14.54 10.5106 14.3095 11.4384" fill="#4D4D4D"/>
<path d="M17.107 13.372C17.0234 12.0006 16.5832 10.6751 15.8301 9.52669C16.204 9.27234 16.6605 9.17001 17.107 9.24048C17.3316 9.2824 17.5433 9.37649 17.725 9.51518C17.9067 9.65387 18.0534 9.83331 18.1534 10.0391C18.2933 10.4114 18.3377 10.813 18.2824 11.207C18.2788 11.3857 18.2493 11.563 18.1949 11.7332C18.157 11.8399 18.1075 11.942 18.0473 12.0379C17.9705 12.1641 17.8875 12.2841 17.7984 12.3979C17.5679 12.7165 17.3374 13.0581 17.107 13.372Z" fill="#999999"/>
<path d="M10.2115 8.13867C11.1466 8.18661 12.0431 8.5273 12.7745 9.11269C13.4982 9.65278 14.3464 10.7745 14.3095 11.4208C14.2726 12.067 12.7238 15.2984 12.6177 17.1402C12.5117 18.9821 12.8879 20.6508 13.1949 21.6156C13.6773 22.3611 16.2208 24.203 16.2208 24.203C16.2208 24.203 15.3559 24.203 14.1597 23.7645C13.5127 23.619 12.7078 23.1703 12.274 22.6681C9.87232 20.3323 9.98431 18.5782 9.99353 15.3007C9.99353 12.9187 10.5729 11.6793 10.6513 10.7838C10.7297 9.88823 11.1667 9.53394 10.7877 8.62337L10.2115 8.13867Z" fill="#1A1A1A"/>
<path d="M14.46 10.3808C14.3116 11.3424 14.0195 12.276 13.5934 13.1505C13.1967 14.0732 12.858 15.0198 12.5793 15.9848C12.2072 17.4626 12.3119 19.3137 12.5792 20.3425C13.0933 22.3208 14.1507 23.837 16.2193 24.2016C15.2213 23.4065 14.5182 22.341 14.1835 21.1088C13.9894 20.4737 13.9233 19.8063 13.9889 19.1454C14.0546 18.4845 14.2508 17.8432 14.5661 17.2589C14.7411 16.9304 14.9334 16.6114 15.1423 16.3034L16.917 13.5336C17.0067 13.4111 17.0738 13.2735 17.1152 13.1274C17.1438 12.9749 17.1438 12.8183 17.1152 12.6658C16.8669 11.2843 16.2845 9.98465 15.4189 8.88054C14.9118 8.23427 14.2111 7.65234 13.3906 7.65234C13.7636 7.67875 14.1104 7.8959 14.248 8.2435C14.5248 8.89596 14.5137 9.68428 14.46 10.3808Z" fill="#808080"/>
<path d="M19.7619 14.6854C19.7619 14.9837 19.9989 15.2884 20.1271 15.4638C20.4015 15.8393 20.9568 16.3409 20.9568 16.4978C20.9476 16.5948 20.9035 16.641 20.7856 16.7274C20.6378 16.8357 20.3869 16.9825 20.3869 16.9825C20.3869 16.9825 20.432 17.1549 20.5335 17.2755C20.6412 17.4035 20.7952 17.5565 20.6111 17.735C20.427 17.9135 20.343 17.9635 20.343 17.9635C20.343 17.9635 20.4239 18.0279 20.4959 18.1273C20.5679 18.2268 20.5771 18.3189 20.5835 18.4228C20.565 18.649 20.2746 18.7413 20.1686 18.9444C20.1222 19.0584 20.1078 19.3347 20.1271 19.4562C20.1624 19.8123 20.0141 19.904 19.8643 20.0286C19.7146 20.1533 19.5509 20.1651 19.3803 20.1533C18.9209 20.1533 17.8738 20.0258 17.2404 20.3535C16.2456 20.8682 16.3303 23.1537 16.2208 24.2017C14.5729 23.6516 13.8163 20.5947 13.8164 19.4562C13.8165 18.3177 14.0994 17.5226 14.6047 16.6865C15.5573 15.3171 16.4793 13.9322 17.3705 12.532C17.9083 11.7229 18.1292 10.9173 18.1065 9.94922C18.1065 9.94922 18.8735 10.9018 19.2328 11.4102C19.5661 11.8617 19.9588 12.9625 20.0141 13.5452C20.0566 13.9937 19.7619 14.3871 19.7619 14.6854Z" fill="#CCCCCC"/>
<path d="M16.22 24.2013C13.1503 24.0697 9.11587 22.184 8.10716 17.7109C7.09845 13.2378 8.23277 10.1404 8.67725 9.29105C9.12174 8.4417 9.86131 7.97684 10.5888 8.19694C11.9164 8.59855 10.3217 12.01 10.1682 14.0711C10.0147 16.1322 10.1682 18.2372 11.1768 20.4737C12.1855 22.7103 13.8958 24.1017 16.22 24.2013Z" fill="black"/>
<path d="M24.5413 12.4648L26.3552 17.9508H26.4267L28.2372 12.4648H29.6257L27.1686 19.4345H25.6099L23.1562 12.4648H24.5413Z" fill="white"/>
<path d="M31.259 19.54C30.9277 19.54 30.6294 19.4811 30.3639 19.3631C30.1008 19.2428 29.892 19.0659 29.7378 18.8322C29.5857 18.5985 29.5097 18.3104 29.5097 17.9678C29.5097 17.6728 29.5642 17.4289 29.6731 17.2361C29.782 17.0432 29.9306 16.889 30.1189 16.7733C30.3072 16.6576 30.5193 16.5702 30.7553 16.5112C30.9935 16.45 31.2397 16.4057 31.4938 16.3785C31.8001 16.3467 32.0485 16.3184 32.2391 16.2934C32.4297 16.2662 32.5681 16.2254 32.6543 16.1709C32.7428 16.1142 32.787 16.0268 32.787 15.9089V15.8884C32.787 15.6321 32.711 15.4335 32.559 15.2929C32.407 15.1522 32.188 15.0819 31.9022 15.0819C31.6004 15.0819 31.3611 15.1477 31.1841 15.2793C31.0094 15.4109 30.8914 15.5663 30.8302 15.7455L29.6799 15.5822C29.7706 15.2645 29.9204 14.9991 30.1291 14.7858C30.3378 14.5703 30.5931 14.4092 30.8948 14.3026C31.1966 14.1937 31.5301 14.1392 31.8954 14.1392C32.1472 14.1392 32.3979 14.1687 32.6475 14.2277C32.897 14.2867 33.125 14.3842 33.3315 14.5204C33.538 14.6542 33.7036 14.8369 33.8284 15.0683C33.9554 15.2997 34.0189 15.589 34.0189 15.9361V19.4345H32.8346V18.7165H32.7938C32.7189 18.8617 32.6134 18.9978 32.4773 19.1249C32.3434 19.2496 32.1744 19.3506 31.9702 19.4277C31.7683 19.5026 31.5312 19.54 31.259 19.54ZM31.5789 18.6348C31.8262 18.6348 32.0406 18.586 32.2221 18.4885C32.4036 18.3886 32.5431 18.257 32.6407 18.0937C32.7405 17.9303 32.7904 17.7522 32.7904 17.5594V16.9434C32.7518 16.9752 32.686 17.0047 32.593 17.0319C32.5023 17.0591 32.4002 17.083 32.2867 17.1034C32.1733 17.1238 32.061 17.1419 31.9498 17.1578C31.8386 17.1737 31.7422 17.1873 31.6605 17.1987C31.4768 17.2236 31.3123 17.2645 31.1671 17.3212C31.0219 17.3779 30.9073 17.4573 30.8234 17.5594C30.7394 17.6592 30.6974 17.7885 30.6974 17.9474C30.6974 18.1742 30.7803 18.3455 30.9459 18.4612C31.1115 18.5769 31.3225 18.6348 31.5789 18.6348Z" fill="white"/>
<path d="M37.3462 19.5366C36.8243 19.5366 36.3763 19.4221 36.0019 19.1929C35.6298 18.9638 35.3428 18.6473 35.1409 18.2434C34.9412 17.8373 34.8414 17.37 34.8414 16.8413C34.8414 16.3104 34.9435 15.8419 35.1477 15.4358C35.3519 15.0274 35.64 14.7098 36.0121 14.4829C36.3865 14.2538 36.8289 14.1392 37.3394 14.1392C37.7636 14.1392 38.1391 14.2175 38.4658 14.374C38.7948 14.5283 39.0568 14.7472 39.2519 15.0308C39.4471 15.3122 39.5582 15.6411 39.5855 16.0178H38.408C38.3603 15.7659 38.2469 15.5561 38.0676 15.3882C37.8907 15.218 37.6536 15.1329 37.3564 15.1329C37.1045 15.1329 36.8833 15.201 36.6928 15.3371C36.5022 15.471 36.3536 15.6638 36.2469 15.9157C36.1426 16.1675 36.0904 16.4692 36.0904 16.8209C36.0904 17.1771 36.1426 17.4834 36.2469 17.7398C36.3513 17.9939 36.4976 18.1901 36.6859 18.3285C36.8765 18.4646 37.1 18.5327 37.3564 18.5327C37.5379 18.5327 37.7001 18.4987 37.843 18.4306C37.9882 18.3603 38.1096 18.2593 38.2072 18.1277C38.3047 17.9961 38.3717 17.8362 38.408 17.6479H39.5855C39.556 18.0177 39.4471 18.3455 39.2587 18.6314C39.0704 18.915 38.8141 19.1373 38.4896 19.2984C38.1652 19.4572 37.784 19.5366 37.3462 19.5366Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB

+1 -1
View File
@@ -21,7 +21,7 @@
},
"dependencies": {
"@acid-info/docusaurus-og": "^1.0.0-alpha.111",
"@acid-info/lsd-react": "^0.1.0-alpha.17",
"@acid-info/lsd-react": "^0.1.0-alpha.21",
"@docusaurus/core": "^2.4.1",
"@docusaurus/mdx-loader": "^2.4.1",
"@docusaurus/module-type-aliases": "^2.4.1",
@@ -1,8 +1,8 @@
import {
ChevronLeftIcon,
ChevronRightIcon,
IconButton,
IconButtonGroup,
NavigateBeforeIcon,
NavigateNextIcon,
THEME_BREAKPOINTS,
} from '@acid-info/lsd-react'
import { css } from '@emotion/react'
@@ -43,10 +43,10 @@ export const Grid: { Item: typeof GridItem } & React.FC<GridProps> = ({
<div className="mdx-grid__scroll">
<IconButtonGroup size="small" color="primary">
<IconButton size="small" onClick={scroll.bind(null, -1)}>
<NavigateBeforeIcon />
<ChevronLeftIcon />
</IconButton>
<IconButton size="small" onClick={scroll.bind(null, 1)}>
<NavigateNextIcon />
<ChevronRightIcon />
</IconButton>
</IconButtonGroup>
</div>
@@ -0,0 +1,68 @@
@use '../../../css/utils';
@use '../../../css/lsd';
.mdx-ns {
}
.mdx-ns__inner {
form {
width: 100%;
margin-top: 40px;
}
.mdx-ns__inputs {
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
> * {
flex-grow: 1;
}
}
.mdx-ns__submit-button {
margin-top: 40px;
}
.mdx-ns__toast {
width: 100%;
margin-top: -16px;
margin-bottom: 24px;
.lsd-toast__close-button {
display: none;
}
}
}
.mdx-ns__description {
font-size: 32px !important;
line-height: 40px !important;
}
@include utils.responsive('md', 'down') {
.mdx-ns__description {
font-size: 24px !important;
line-height: 32px !important;
}
.mdx-ns__inner {
form {
margin-top: 40px;
}
.mdx-ns__inputs {
flex-direction: column;
gap: 24px;
& > * {
width: 100%;
}
}
.mdx-ns__submit-button {
margin-top: 24px;
}
}
}
@@ -0,0 +1,104 @@
import {
Button,
CheckIcon,
ErrorIcon,
TextField,
Toast,
} from '@acid-info/lsd-react'
import clsx from 'clsx'
import React from 'react'
import { CallToActionSection } from '..'
import { useNewsletterApi } from '../../../lib/useNewsletterApi'
import { useThemeOptions } from '../../../lib/useThemeOptions'
import './NewsletterSubscription.scss'
export type NewsletterSubscriptionProps = Omit<
React.HTMLAttributes<HTMLDivElement>,
'title'
> & {
mailingListId?: number
title?: React.ReactNode
description?: React.ReactNode
}
export const NewsletterSubscription: React.FC<NewsletterSubscriptionProps> = ({
title: _title,
description: _description,
mailingListId: _mailingListId,
...props
}) => {
const defaultMailingListId =
useThemeOptions()?.newsletterSubscription?.mailingListId ?? 0
const mailingListId = _mailingListId ?? defaultMailingListId
const api = useNewsletterApi()
const displayForm = !api.message || api.error
const title = _title ?? 'Newsletter'
const description = _description ?? (
<>
Subscribe
<br />
to our newsletter
</>
)
const onSubmit: React.FormEventHandler = (e) => {
e.preventDefault()
const form = e.target as HTMLFormElement
const name = (form.elements.namedItem('name') as HTMLInputElement).value
const email = (form.elements.namedItem('email') as HTMLInputElement).value
api.subscribe(mailingListId, email, name)
}
return (
<CallToActionSection
className="mdx-ns"
title={<span className="mdx-ns__title">{title}</span>}
description={
<div className="mdx-ns__inner">
<span className="mdx-ns__description">{description}</span>
<form onSubmit={onSubmit}>
{api.message && (
<Toast
title={api.message}
className="mdx-ns__toast"
icon={api.error ? ErrorIcon : CheckIcon}
/>
)}
<div className={clsx('mdx-ns__inputs', !displayForm && 'hidden')}>
<TextField
inputProps={{ type: 'text', name: 'name' }}
variant="underlined"
placeholder="First Name or Pseudonym"
/>
<TextField
inputProps={{
type: 'email',
name: 'email',
required: true,
}}
variant="underlined"
placeholder="Email address (required)"
/>
</div>
<Button
size="large"
color="primary"
variant="outlined"
className={clsx(
'mdx-ns__submit-button',
!displayForm && 'hidden',
)}
disabled={api.busy}
>
Subscribe
</Button>
</form>
</div>
}
columns={2}
/>
)
}
@@ -0,0 +1 @@
export * from './NewsletterSubscription'
@@ -1,4 +1,4 @@
import { ArrowDownIcon, IconButton } from '@acid-info/lsd-react'
import { ChevronDownIcon, IconButton } from '@acid-info/lsd-react'
import clsx from 'clsx'
import React, { HTMLProps, useMemo } from 'react'
import { useWindowSize } from 'react-use'
@@ -56,7 +56,7 @@ export const ScrollToBottom = (
)}
{...(rest as any)}
>
<ArrowDownIcon color="primary" />
<ChevronDownIcon color="primary" />
</IconButton>
)
}
@@ -6,6 +6,7 @@ export * from './CallToActionSection'
export * from './DocMetadata'
export * from './ExternalResourceCard'
export * from './FeatureList'
export * from './GithubChallenges'
export * from './Grid'
export * from './Hero'
export * from './HeroAction'
@@ -15,6 +16,8 @@ export * from './HeroInfo'
export * from './HeroModel'
export * from './HeroTitle'
export * from './HeroVideo'
export * from './JobsPerDepartment'
export * from './NewsletterSubscription'
export * from './PoweredBy'
export * from './ProfileCard'
export * from './Roadmap'
@@ -24,5 +27,3 @@ export * from './Showcase'
export * from './ShowcaseCard'
export * from './SocialCard'
export * from './TimelineItem'
export * from './JobsPerDepartment'
export * from './GithubChallenges'
@@ -1279,4 +1279,9 @@ code {
--lsd-subtitle1-fontWeight: 300;
}
.hidden {
visibility: hidden;
opacity: 0;
}
@import './blog.scss';
@@ -29,6 +29,7 @@ export const useTheme = () => {
typographyGlobal: {
genericFontFamily,
},
spacing: [],
}
return {
@@ -0,0 +1,52 @@
import { useState } from 'react'
export const useNewsletterApi = () => {
const [busy, setBusy] = useState(false)
const [res, setRes] = useState({
error: false,
message: '',
})
const subscribe = async (listId: number, email: string, name: string) => {
setBusy(true)
try {
const res = await fetch(
'https://odoo.logos.co/website_mass_mailing/subscribe2',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'call',
params: {
name,
value: email,
list_id: listId,
subscription_type: 'email',
},
}),
},
)
const data = await res.json()
setRes({
error: false,
message: data.result.message,
})
} catch (e) {
setRes({
error: true,
message: 'Something went wrong!',
})
}
setBusy(false)
}
return {
busy,
error: res.error,
message: res.message,
subscribe,
}
}
@@ -1,23 +1,23 @@
import React, { useEffect, useMemo } from 'react'
import clsx from 'clsx'
import {
ThemeClassNames,
useThemeConfig,
usePrevious,
Collapsible,
useCollapsible,
} from '@docusaurus/theme-common'
import {
isActiveSidebarItem,
findFirstCategoryLink,
useDocSidebarItemsExpandedState,
isSamePath,
} from '@docusaurus/theme-common/internal'
import { ChevronUpIcon, Typography } from '@acid-info/lsd-react'
import Link from '@docusaurus/Link'
import { translate } from '@docusaurus/Translate'
import {
Collapsible,
ThemeClassNames,
useCollapsible,
usePrevious,
useThemeConfig,
} from '@docusaurus/theme-common'
import {
findFirstCategoryLink,
isActiveSidebarItem,
isSamePath,
useDocSidebarItemsExpandedState,
} from '@docusaurus/theme-common/internal'
import useIsBrowser from '@docusaurus/useIsBrowser'
import DocSidebarItems from '@theme/DocSidebarItems'
import { ArrowDownIcon, ArrowUpIcon, Typography } from '@acid-info/lsd-react'
import clsx from 'clsx'
import React, { useEffect, useMemo } from 'react'
// If we navigate to a category and it becomes active, it should automatically
// expand itself
@@ -168,7 +168,7 @@ export default function DocSidebarItemCategory({
<Typography variant="body2" color="primary">
{label}
</Typography>
{collapsible && <ArrowUpIcon />}
{collapsible && <ChevronUpIcon />}
</Link>
{href && collapsible && (
<CollapseButton
@@ -1,4 +1,4 @@
import { ArrowDownIcon, Dropdown, Typography } from '@acid-info/lsd-react'
import { ChevronDownIcon, Typography } from '@acid-info/lsd-react'
import {
Collapsible,
isRegexpStringMatch,
@@ -86,7 +86,7 @@ function DropdownNavbarItemDesktop({
>
{props.children ?? props.label}
</NavbarNavLink>
<ArrowDownIcon className={clsx('margin-left-8', 'cursor-pointer')} />
<ChevronDownIcon className={clsx('margin-left-8', 'cursor-pointer')} />
<ul className="dropdown__menu">
{items.map((childItemProps, i) => (
<NavbarItem
@@ -1,12 +1,8 @@
import React from 'react'
import clsx from 'clsx'
import { Typography } from '@acid-info/lsd-react'
import Link from '@docusaurus/Link'
import {
NavigateBeforeIcon,
NavigateNextIcon,
Typography,
} from '@acid-info/lsd-react'
import { IconArrowLeft, IconArrowRight } from '@logos-theme/components/Icon'
import clsx from 'clsx'
import React from 'react'
export default function PaginatorNavLink(props) {
const { permalink, title, subLabel, isNext } = props
@@ -0,0 +1,80 @@
%flex {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.container {
display: flex !important;
min-height: calc(100vh - var(--ifm-navbar-height));
@extend %flex;
}
.root {
width: 90%;
max-width: 448px;
@extend %flex;
& > * {
width: 100%;
}
}
.header {
@extend %flex;
gap: 4px;
padding-bottom: 56px;
p {
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 24px;
}
}
.toast {
margin-top: -24px;
margin-bottom: 32px;
width: 100% !important;
:global {
.lsd-toast__close-button {
display: none;
}
}
}
.form {
.inputs {
width: 100%;
@extend %flex;
gap: 24px;
& > * {
width: 100%;
}
}
.submit {
width: 100%;
padding: 48px 0;
@extend %flex;
button {
padding: 6px 24px;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 20px;
}
}
}
.toHome {
@extend %flex;
padding: 48px 0;
}
@@ -0,0 +1,100 @@
import {
Button,
CheckIcon,
ErrorIcon,
TextField,
Toast,
Typography,
} from '@acid-info/lsd-react'
import Layout from '@theme/Layout'
import ThemedImage from '@theme/ThemedImage'
import React from 'react'
import { useNewsletterApi } from '../../lib/useNewsletterApi'
import { useThemeOptions } from '../../lib/useThemeOptions'
import styles from './SubscriptionPage.module.scss'
import Link from '@docusaurus/Link'
export type SubscriptionPageProps = {}
export const SubscriptionPage: React.FC<SubscriptionPageProps> = ({}) => {
const opts = useThemeOptions()
const api = useNewsletterApi()
const displayForm = !api.message || api.error
const onSubmit = (event: React.FormEvent<HTMLFormElement>) => {
event.preventDefault()
const form = event.target as HTMLFormElement
const name = (form.elements.namedItem('name') as HTMLInputElement).value
const email = (form.elements.namedItem('email') as HTMLInputElement).value
api.subscribe(opts.newsletterSubscription!.mailingListId!, email, name)
}
return (
<Layout>
<div className={styles.container}>
<div className={styles.root}>
<div className={styles.header}>
<ThemedImage
sources={{
dark: '/theme/image/horizontal_lockup_small_white.svg',
light: '/theme/image/horizontal_lockup_small_black.svg',
}}
height={88}
/>
<Typography component="p">Subscribe for updates</Typography>
</div>
{api.message && (
<Toast
size="medium"
title={api.message}
icon={api.error ? ErrorIcon : CheckIcon}
className={styles.toast}
/>
)}
{api.error && api.message && <div></div>}
{displayForm && (
<form className={styles.form} onSubmit={onSubmit}>
<div className={styles.inputs}>
<TextField
inputProps={{
name: 'name',
type: 'text',
required: false,
}}
size="medium"
variant="underlined"
placeholder="First Name or Pseudonym"
/>
<TextField
inputProps={{
name: 'email',
type: 'email',
required: true,
}}
size="medium"
variant="underlined"
placeholder="Email address (required)"
/>
</div>
<div className={styles.submit}>
<Button variant="filled" disabled={api.busy}>
Subscribe
</Button>
</div>
</form>
)}
{!displayForm && (
<div className={styles.toHome}>
<Link href="/">
<Button variant="filled">To home page</Button>
</Link>
</div>
)}
</div>
</div>
</Layout>
)
}
export default SubscriptionPage

Some files were not shown because too many files have changed in this diff Show More