feat: initial commit — storefront, convex backend, and shared packages
Completes the first milestone of The Pet Loft ecommerce platform: - apps/storefront: full customer-facing Next.js app with HeroUI (cart, checkout, orders, wishlist, product detail, shop, search, auth) - convex/: serverless backend with schema, queries, mutations, actions, HTTP routes, Stripe/Shippo integrations, and co-located tests - packages/types, packages/utils, packages/convex: shared workspace packages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
80
apps/storefront/public/icons/icon_bowl.svg
Normal file
80
apps/storefront/public/icons/icon_bowl.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 9.7 KiB |
61
apps/storefront/public/icons/icon_carrier.svg
Normal file
61
apps/storefront/public/icons/icon_carrier.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 8.9 KiB |
66
apps/storefront/public/icons/icon_food.svg
Normal file
66
apps/storefront/public/icons/icon_food.svg
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="119.14328"
|
||||
viewBox="0 0 119.14328 131.41817"
|
||||
enable-background="new 0 0 672 672"
|
||||
xml:space="preserve"
|
||||
height="131.41817"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs9" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<g
|
||||
id="g10"
|
||||
transform="matrix(0.30533736,0,0,0.30533736,-39.259692,-39.009023)"><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 298,127.83081 c 45.98755,0.0183 91.47513,0.0419 136.96268,0.0485 10.00793,10e-4 17.77722,3.84984 22.41003,13.01848 0.81397,1.61088 1.39908,3.39775 1.74307,5.17064 0.44245,2.2805 1.04425,4.70779 0.69916,6.93582 -3.41745,22.06328 7.39343,39.92412 16.81107,58.26765 7.75509,15.1052 15.08471,30.42861 22.81833,45.54511 7.07074,13.8208 5.74768,28.88009 6.66247,43.55893 1.88382,30.22836 3.32584,60.48422 4.94544,90.72903 0.66738,12.46289 1.2362,24.93179 2.00286,37.38855 1.89057,30.71942 4.17298,61.41837 5.68995,92.15561 0.80346,16.28088 -12.22415,37.4942 -34.20188,37.49664 -55.65133,0.006 -111.30267,0.022 -166.95401,0.0104 -50.65249,-0.0106 -101.30513,-0.12854 -151.95744,-0.0434 -20.69795,0.0348 -32.42798,-12.84533 -36.36882,-29.92126 -1.81802,-7.87762 0.53474,-15.91467 0.74936,-23.89053 0.27286,-10.13959 1.11081,-20.26398 1.70855,-30.39472 1.96015,-33.22134 3.99811,-66.43829 5.85563,-99.66537 1.19876,-21.44351 2.10073,-42.90345 3.19978,-64.35273 0.63885,-12.46792 1.00458,-24.96899 2.23592,-37.38147 1.03665,-10.45013 6.40795,-19.53123 11.07371,-28.73317 10.38435,-20.48028 20.70203,-40.98909 30.3252,-61.84585 2.88578,-6.25449 1.54374,-12.76656 2.19661,-19.14735 0.37132,-3.62906 0.0804,-7.3247 0.10928,-10.99019 0.11186,-14.17713 8.9711,-23.45314 23.31117,-23.85402 11.32176,-0.31649 22.65839,-0.11603 33.9884,-0.1201 17.82784,-0.006 35.65566,0.008 53.98348,0.0147 m 201.87561,327.58444 c 0.44351,-4.41314 -1.66129,-8.50015 -1.7175,-12.82135 -0.37921,-29.14251 -2.5964,-58.1907 -4.26492,-87.26971 -1.3064,-22.76761 -2.08621,-45.565 -3.24628,-68.34171 -0.49213,-9.66168 -1.56634,-19.19403 -6.10159,-28.07705 -10.22009,-20.01769 -20.1658,-40.17527 -30.28909,-60.24266 -4.35279,-8.62859 -9.18827,-17.07457 -9.36319,-27.12148 -0.10151,-5.83023 -0.11442,-11.66264 -0.10828,-17.494 0.01,-9.27091 -1.76322,-11.07251 -11.06366,-11.07343 -38.98434,-0.004 -77.96872,-0.0121 -116.95306,-0.004 -34.98853,0.007 -69.97713,-6.1e-4 -104.96552,0.077 -8.40929,0.0186 -10.43547,2.5921 -9.94975,11.00359 0.3163,5.47782 0.27418,10.99671 0.0247,16.48048 -0.20267,4.455 0.50554,8.63795 2.42395,12.59845 7.40423,15.28586 14.93388,30.51124 22.28538,45.82228 6.68988,13.93314 15.44614,27.12241 18.25275,42.55817 2.85971,15.72787 2.25554,31.83285 3.2753,47.76434 1.32918,20.76538 2.13981,41.56351 3.2731,62.3421 1.53206,28.09006 3.16328,56.17465 4.74289,84.26209 0.82223,14.62079 1.41241,29.25857 2.50604,43.85882 0.82578,11.02436 1.88736,21.94818 -4.21225,32.01215 -0.0928,0.15308 0.2256,0.55542 0.51846,1.21771 15.98066,0 32.11805,-0.0209 48.25534,0.004 60.30384,0.0922 120.60767,0.20411 180.9115,0.29694 11.4712,0.0176 19.82953,-8.91547 19.16703,-20.16626 -0.66437,-11.2829 -1.07843,-22.58035 -1.64051,-33.86948 -0.5462,-10.97021 -1.1409,-21.93798 -1.76083,-33.81671 M 243.8648,522.35754 c -0.17048,-21.64813 -2.17367,-43.20419 -3.30675,-64.80337 -1.7348,-33.06971 -3.81713,-66.1211 -5.58953,-99.18894 -1.25617,-23.43658 -2.06366,-46.89822 -3.45417,-70.32596 -0.45894,-7.73245 -0.45758,-15.56302 -3.70761,-23.02679 -9.17917,-21.08026 -20.19385,-41.24988 -30.21979,-61.90732 -0.74652,-1.53815 -1.32417,-3.81802 -3.65615,-3.54707 -2.09015,0.24287 -2.60357,2.38209 -3.41611,3.97474 -8.92136,17.48655 -17.78627,35.00191 -26.7312,52.47638 -4.16336,8.1334 -6.38132,16.65308 -6.7535,25.84668 -0.80096,19.78614 -2.01562,39.55567 -3.07982,59.331 -1.55587,28.91214 -3.04525,57.82821 -4.7241,86.73327 -1.04166,17.93454 -2.6668,35.83857 -3.49489,53.78101 -0.63666,13.79489 -1.60983,27.56485 -2.2953,41.34857 -0.50154,10.08484 10.5307,20.93701 19.97004,20.45435 20.30732,-1.03827 40.62699,-0.16352 60.93847,-0.5683 12.16493,-0.24237 19.3961,-7.30432 19.52041,-20.57825 z"
|
||||
id="path1-1" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 325.99969,374.19998 c 2.16602,-3.22934 4.4094,-5.86008 7.31519,-7.92538 4.9744,-3.53559 8.71939,-8.06601 11.33481,-13.64914 9.53238,-20.34864 35.17157,-22.25653 46.96396,-3.31098 4.7933,7.7009 10.23361,14.52774 17.02774,20.60163 6.74121,6.02658 9.32175,14.22699 6.93854,23.18826 -2.68427,10.09341 -9.19257,16.89609 -19.51566,19.31735 -5.17328,1.21335 -10.45898,0.0215 -14.99838,-2.44739 -8.22357,-4.47259 -15.86014,-4.06234 -24.14289,0.0802 -16.64517,8.32493 -32.89895,-4.68133 -35.04095,-20.30734 -0.75125,-5.48041 1.6308,-10.40359 4.11764,-15.54718 z"
|
||||
id="path2-2" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 282.99988,171.77496 c 40.31048,0.0262 80.12097,0.0436 119.93136,0.10521 2.48578,0.004 5.05292,0.0274 7.43702,0.62291 3.43005,0.85681 5.4923,3.57572 5.30981,6.96932 -0.19165,3.56363 -2.2984,6.25589 -6.25684,6.66163 -1.81662,0.18622 -3.66003,0.14875 -5.4913,0.14913 -54.13611,0.0113 -108.27222,0.0186 -162.40834,0.0147 -7.68434,-5.5e-4 -11.50755,-2.55257 -11.33183,-7.47739 0.16832,-4.71748 3.72238,-6.964 11.33362,-6.9931 13.65869,-0.0522 27.31762,-0.0378 41.4765,-0.0524 z"
|
||||
id="path3-7" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 362.32965,312.89392 c 0.54916,3.22055 0.59515,6.00754 -0.081,8.81131 -1.29111,5.35373 -5.75302,9.72864 -10.78815,10.48151 -5.49243,0.82129 -11.08313,-1.90702 -13.6871,-7.08506 -2.77466,-5.51742 -3.59699,-11.36715 -1.75244,-17.39697 1.65243,-5.40192 5.16448,-9.05142 10.8493,-9.677 5.42755,-0.59729 9.62659,1.9328 12.47339,6.60938 1.47745,2.42712 2.74478,4.93707 2.98599,8.25683 z"
|
||||
id="path4-0" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 401.5097,306.84048 c 2.59714,6.87482 2.0954,13.08915 -1.73895,18.95716 -3.45556,5.28839 -8.41028,7.57922 -13.49432,6.25689 -6.89643,-1.79376 -10.22177,-5.70883 -10.5546,-12.70809 -0.19696,-4.14124 -0.38888,-8.23945 1.49567,-12.23978 2.56473,-5.44422 6.38409,-8.91452 12.5347,-9.19989 6.10403,-0.28324 9.34814,3.52276 11.7575,8.93371 z"
|
||||
id="path5-9" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 321.5708,328.86133 c 7.47806,1.96579 10.56815,7.1958 11.64209,13.88672 0.85287,5.31366 -0.61307,9.87341 -5.16693,13.18866 -2.91248,2.12033 -5.93445,2.63183 -9.42035,1.53741 -9.26938,-2.91019 -13.84183,-16.62598 -8.05579,-24.45972 2.65323,-3.59222 6.32212,-4.65887 11.00098,-4.15307 z"
|
||||
id="path6-3" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 427.71466,349.41199 c -5.7294,9.51263 -14.25357,11.48297 -19.86313,4.71621 -3.84915,-4.64322 -4.07672,-10.10699 -1.94745,-15.49707 2.06082,-5.21676 5.83405,-8.87924 11.62891,-9.74945 5.47153,-0.82159 9.74487,2.10593 11.22153,7.51212 1.17712,4.30948 0.72571,8.54132 -1.03986,13.01819 z"
|
||||
id="path7-6" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 201.31534,396.99963 c 0.0118,33.82151 0.0191,67.1431 0.0202,100.46466 4e-5,1.33216 -0.0188,2.6666 -0.0969,3.99601 -0.2249,3.82892 -2.16414,6.30447 -6.00829,6.83383 -3.92772,0.54083 -6.35605,-1.72315 -7.57536,-5.12689 -0.65294,-1.82273 -0.74137,-3.9198 -0.74286,-5.89331 -0.0489,-64.81064 -0.0614,-129.62128 -0.0551,-194.43195 3.2e-4,-3.31625 -0.36163,-6.68555 0.79697,-9.90906 1.14177,-3.17676 3.14969,-5.95028 6.65118,-5.87408 3.74747,0.0815 5.77998,2.99576 6.56293,6.5177 0.35626,1.6026 0.37503,3.30243 0.37688,4.95837 0.0366,32.65491 0.0481,65.30982 0.0703,98.46472 z"
|
||||
id="path8-0" /></g></svg>
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
36
apps/storefront/public/icons/icon_litter.svg
Normal file
36
apps/storefront/public/icons/icon_litter.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 8.8 KiB |
30
apps/storefront/public/icons/icon_toys.svg
Normal file
30
apps/storefront/public/icons/icon_toys.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 7.6 KiB |
46
apps/storefront/public/icons/icon_treats.svg
Normal file
46
apps/storefront/public/icons/icon_treats.svg
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="117.33741"
|
||||
viewBox="0 0 117.33741 119.65257"
|
||||
enable-background="new 0 0 672 672"
|
||||
xml:space="preserve"
|
||||
height="119.65257"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs9" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<g
|
||||
id="g12"
|
||||
transform="matrix(0.79095488,0,0,0.79095488,-38.072758,-41.928473)"><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 144.14966,203.35962 c -11.20554,-5.06966 -15.78997,-13.6742 -13.81761,-25.55219 0.68418,-4.12034 -1.29447,-7.12321 -3.88311,-9.78566 C 115.07063,156.319 103.60671,144.69943 92.173012,133.05051 90.772758,131.6239 89.216141,130.32062 87.991936,128.75671 83.447472,122.95122 77.9851,120.46199 70.247513,121.0553 59.069221,121.91246 49.87006,113.0538 48.332176,101.41795 46.84869,90.193657 53.861641,79.834671 65.395103,77.409142 c 4.44719,-0.935265 6.005837,-2.492402 6.84105,-7.041428 2.051323,-11.17252 12.975273,-18.728569 23.447853,-17.149296 11.979684,1.806553 20.328124,12.105404 18.866214,24.140316 -0.76049,6.260727 1.06368,10.83458 5.44127,15.181358 12.88259,12.791868 25.54249,25.809188 38.21267,38.813168 4.18955,4.29992 8.63458,6.50767 15.07245,5.63742 10.37816,-1.4029 20.7359,7.07589 22.78113,17.6284 2.21402,11.4234 -4.37663,22.83697 -15.48192,25.63684 -4.64764,1.17177 -6.88744,2.58627 -7.95947,7.87975 -2.49674,12.3283 -14.97177,18.65519 -28.46669,15.22395 M 108.52586,79.751335 c 0.17073,-3.313164 0.66446,-6.624237 -0.58729,-9.876968 -2.87086,-7.460037 -9.813379,-11.708649 -17.323084,-10.51524 -7.543106,1.198715 -13.108192,7.824459 -13.304726,15.840488 -0.178756,7.291489 -0.178756,7.291489 -7.215637,7.203621 -7.072578,-0.08831 -10.996051,3.395661 -11.118591,9.873085 -0.195778,10.349079 6.083984,16.744469 16.728111,16.704739 6.137429,-0.0229 11.476944,1.60206 15.834603,6.05806 13.624054,13.93149 27.180894,27.93019 40.934724,41.73249 5.15669,5.17486 7.60759,10.90629 7.10084,18.346 -0.43415,6.37424 2.45295,11.7717 8.09308,15.06591 5.24286,3.06215 10.64217,1.94969 15.7518,-0.67325 2.46883,-1.26734 4.06693,-3.27248 4.32909,-6.26943 0.61209,-6.99763 0.67454,-6.99218 7.7458,-7.60096 8.95345,-0.77083 16.1115,-9.52301 15.13524,-18.50588 -0.88824,-8.17282 -9.35995,-15.92265 -16.91475,-14.46052 -8.27456,1.60144 -14.21913,-1.59835 -19.62736,-7.10628 -13.07373,-13.31477 -26.10248,-26.67452 -39.27059,-39.895401 -4.22946,-4.246422 -6.78296,-8.993286 -6.29126,-15.920464 z"
|
||||
id="path1-9" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 98.062119,111.68851 c -0.152947,-3.60406 1.419845,-5.76871 4.405901,-6.71484 2.3823,-0.75482 4.63081,-0.13998 6.25625,1.83771 1.57589,1.9174 2.01563,4.11732 0.96341,6.47562 -1.04995,2.35319 -2.96438,3.59983 -5.44925,3.60466 -3.19039,0.006 -5.184536,-1.79558 -6.176311,-5.20315 z"
|
||||
id="path2-20" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 116.55191,131.23082 c -1.24698,-4.2846 0.34399,-6.85281 4.04014,-8.01667 3.11951,-0.98228 5.53564,0.37035 6.94149,3.20184 1.55984,3.14161 0.64398,5.97091 -2.19243,7.73995 -3.60841,2.25052 -6.58835,1.0768 -8.7892,-2.92512 z"
|
||||
id="path3-2" /><path
|
||||
fill="#000000"
|
||||
opacity="1"
|
||||
stroke="none"
|
||||
d="m 135.74579,151.32532 c -2.4355,-4.64391 -1.79547,-7.95854 1.69559,-9.51732 3.39224,-1.51464 6.28433,-0.62625 8.04557,2.65672 1.8248,3.40144 0.52428,6.18431 -2.55323,8.05007 -2.40172,1.45603 -4.79523,0.86216 -7.18793,-1.18947 z"
|
||||
id="path4-37" /></g></svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
Reference in New Issue
Block a user