diff --git a/shared/data/products.json b/shared/data/products.json index 5640a0c..2d0138d 100644 --- a/shared/data/products.json +++ b/shared/data/products.json @@ -5,7 +5,12 @@ "description": "A healty protain bar for eazy foodz", "brand": 1, "price": { "value": 2399.95, "currency": "USD" }, - "image": "data:image/webp;base64,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", + "thumbnail": "/images/product/1-thumbnail.webp", + "images": [ + "/images/product/1-1.webp", + "/images/product/1-2.webp", + "/images/product/1-3.webp" + ], "properties": [ 1, 2 ], "variations": [ { "color": "white", "size": "xxs" }, diff --git a/solid-start/package.json b/solid-start/package.json index d4abec4..7860d7e 100644 --- a/solid-start/package.json +++ b/solid-start/package.json @@ -7,10 +7,11 @@ "start": "vinxi start" }, "dependencies": { + "@kobalte/core": "^0.12.1", "@solidjs/router": "0.12.3", "@solidjs/start": "0.5.9", "solid-js": "1.8.15", - "vinxi": "^0.3.0", + "vinxi": "^0.2", "vite-plugin-mkcert": "^1.17.3" }, "engines": { diff --git a/solid-start/pnpm-lock.yaml b/solid-start/pnpm-lock.yaml index de5436b..87bcb73 100644 --- a/solid-start/pnpm-lock.yaml +++ b/solid-start/pnpm-lock.yaml @@ -5,18 +5,21 @@ settings: excludeLinksFromLockfile: false dependencies: + '@kobalte/core': + specifier: ^0.12.1 + version: 0.12.1(solid-js@1.8.15) '@solidjs/router': specifier: 0.12.3 version: 0.12.3(solid-js@1.8.15) '@solidjs/start': specifier: 0.5.9 - version: 0.5.9(solid-js@1.8.15)(vinxi@0.3.3)(vite@5.1.3) + version: 0.5.9(solid-js@1.8.15)(vinxi@0.2.1)(vite@5.1.3) solid-js: specifier: 1.8.15 version: 1.8.15 vinxi: - specifier: ^0.3.0 - version: 0.3.3(lightningcss@1.23.0)(preact@10.19.5) + specifier: ^0.2 + version: 0.2.1(lightningcss@1.23.0)(preact@10.19.5) vite-plugin-mkcert: specifier: ^1.17.3 version: 1.17.3(vite@5.1.3) @@ -303,17 +306,6 @@ packages: mime: 3.0.0 dev: false - /@deno/shim-deno-test@0.5.0: - resolution: {integrity: sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w==} - dev: false - - /@deno/shim-deno@0.19.1: - resolution: {integrity: sha512-8hYIpmDqpG76sn+UY1853RCi+CI7ZWz9tt37nfyDL8rwr6xbW0+GHUwCLcsGbh1uMIKURuJy6xtrIcnW+a0duA==} - dependencies: - '@deno/shim-deno-test': 0.5.0 - which: 4.0.0 - dev: false - /@esbuild/aix-ppc64@0.19.12: resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -724,6 +716,35 @@ packages: engines: {node: '>=14'} dev: false + /@floating-ui/core@1.6.0: + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + dependencies: + '@floating-ui/utils': 0.2.1 + dev: false + + /@floating-ui/dom@1.6.3: + resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} + dependencies: + '@floating-ui/core': 1.6.0 + '@floating-ui/utils': 0.2.1 + dev: false + + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + dev: false + + /@internationalized/date@3.5.2: + resolution: {integrity: sha512-vo1yOMUt2hzp63IutEaTUxROdvQg1qlMRsbCvbay2AK2Gai7wIgCyK5weEX3nHkiLgo4qCXHijFNC/ILhlRpOQ==} + dependencies: + '@swc/helpers': 0.5.6 + dev: false + + /@internationalized/number@3.5.1: + resolution: {integrity: sha512-N0fPU/nz15SwR9IbfJ5xaS9Ss/O5h1sVXMZf43vc9mxEG48ovglvvzBjF53aHlq20uoR6c+88CrIXipU/LSzwg==} + dependencies: + '@swc/helpers': 0.5.6 + dev: false + /@ioredis/commands@1.2.0: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} dev: false @@ -765,6 +786,33 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: false + /@kobalte/core@0.12.1(solid-js@1.8.15): + resolution: {integrity: sha512-/GvgH/jknZ/jr3qnc8PwnPnwNfp8pQHj9Ja0TjFUcTsnGKS/XoDXSWqCjiKOL3M6uBfZmmdn1A/3i3Na4w9Ujg==} + peerDependencies: + solid-js: ^1.7.11 + dependencies: + '@floating-ui/dom': 1.6.3 + '@internationalized/date': 3.5.2 + '@internationalized/number': 3.5.1 + '@kobalte/utils': 0.9.0(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@kobalte/utils@0.9.0(solid-js@1.8.15): + resolution: {integrity: sha512-TYVCpQcpqo1+0HBn3NXoGEBzxd4tH6Um1oc07nrYw1V7Qq0qbMaYAOnfBc1qhlh7sGV4XZldmb0j13Of0FrZQg==} + peerDependencies: + solid-js: ^1.7.11 + dependencies: + '@solid-primitives/event-listener': 2.3.1(solid-js@1.8.15) + '@solid-primitives/keyed': 1.2.1(solid-js@1.8.15) + '@solid-primitives/map': 0.4.9(solid-js@1.8.15) + '@solid-primitives/media': 2.2.6(solid-js@1.8.15) + '@solid-primitives/props': 3.1.9(solid-js@1.8.15) + '@solid-primitives/refs': 1.0.6(solid-js@1.8.15) + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + /@mapbox/node-pre-gyp@1.0.11: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true @@ -1082,7 +1130,7 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.5)(vite@5.1.1): + /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.5)(vite@4.5.0): resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} peerDependencies: '@babel/core': 7.x @@ -1091,7 +1139,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) - '@prefresh/vite': 2.4.5(preact@10.19.5)(vite@5.1.1) + '@prefresh/vite': 2.4.5(preact@10.19.5)(vite@4.5.0) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.9) debug: 4.3.4 @@ -1099,7 +1147,7 @@ packages: magic-string: 0.30.5 node-html-parser: 6.1.12 resolve: 1.22.8 - vite: 5.1.1(lightningcss@1.23.0) + vite: 4.5.0(lightningcss@1.23.0) transitivePeerDependencies: - preact - supports-color @@ -1121,7 +1169,7 @@ packages: resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} dev: false - /@prefresh/vite@2.4.5(preact@10.19.5)(vite@5.1.1): + /@prefresh/vite@2.4.5(preact@10.19.5)(vite@4.5.0): resolution: {integrity: sha512-iForDVJ2M8gQYnm5pHumvTEJjGGc7YNYC0GVKnHFL+GvFfKHfH9Rpq67nUAzNbjuLEpqEOUuQVQajMazWu2ZNQ==} peerDependencies: preact: ^10.4.0 @@ -1133,7 +1181,7 @@ packages: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.19.5 - vite: 5.1.1(lightningcss@1.23.0) + vite: 4.5.0(lightningcss@1.23.0) transitivePeerDependencies: - supports-color dev: false @@ -1389,6 +1437,97 @@ packages: engines: {node: '>=18'} dev: false + /@solid-primitives/event-listener@2.3.1(solid-js@1.8.15): + resolution: {integrity: sha512-S1AfFYatOJ3g/ZUbGDoKplSGLTTfarQ3Mfd3F/fXb9SnzGtROtd+Y6yLkPVzK4AVw83r2wUSaS0GS6dg8izTEQ==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/keyed@1.2.1(solid-js@1.8.15): + resolution: {integrity: sha512-fLZ3CX41IiG2kshCWFMDBq4LeSuuHpZ91UrWqcr6EFq3lGWE5iPswHyHilSiaeLWZLpbhZ/HAwrM/wlh2S1mYQ==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + solid-js: 1.8.15 + dev: false + + /@solid-primitives/map@0.4.9(solid-js@1.8.15): + resolution: {integrity: sha512-wMbIhfn24QDnNqJHRskFjKJ2bwvcx28/S0xBKoZdRdUaqIPZYWOVT8SM++dfWS44YdC2kJPF4RSTY1022aujLA==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/trigger': 1.0.9(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/media@2.2.6(solid-js@1.8.15): + resolution: {integrity: sha512-VopOSqoUZgmSFY4SNnwBzHYaoGG+7gQYcwX+RJ/qQtuZJgzOiC+PejZEwNJh+aBZ383HPwrypyd3zrYVm7EnpQ==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/event-listener': 2.3.1(solid-js@1.8.15) + '@solid-primitives/rootless': 1.4.3(solid-js@1.8.15) + '@solid-primitives/static-store': 0.0.6(solid-js@1.8.15) + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/props@3.1.9(solid-js@1.8.15): + resolution: {integrity: sha512-2MvjgxF0rwMR8BGq2onN9KhxF66bQhtFWdrEkO/qjy8I4wr/OQrhwgM9RP89/gtzOVPXUYKSxt2lkCk+JQpNJA==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/refs@1.0.6(solid-js@1.8.15): + resolution: {integrity: sha512-ruh4YdVMxThEVnvqbpeLXKojW442vpFU8q7dSKtElGOTa31aKOAkRb9BTbdaTwVjN4BEq79fiiYIXozJNl4dSw==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/rootless@1.4.3(solid-js@1.8.15): + resolution: {integrity: sha512-IPsfUhKsqQOxLtRMQWK2EZAYbL9RKJMLBelLwpaXl9+oa1tl5aNvA6GHgrNrK+85oUhiYh7/OuogO18AuHepqQ==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/static-store@0.0.6(solid-js@1.8.15): + resolution: {integrity: sha512-PtvkbbucbjT+9p95pksOciG9gOnCtJz4IUyAKX1Ld7YwI+QgtPTo0Wuxs8gNbNtLtoDv5PNv5t4YRzUyl0fwdg==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/trigger@1.0.9(solid-js@1.8.15): + resolution: {integrity: sha512-hW9r8LkFQ0KSAtesSVUfZ9uIAuttslndgfJs+hD+SD1C5JwHyDm4sFoJKzahexh04iKX29JXmuDEjdjudIWqFQ==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + '@solid-primitives/utils': 6.2.2(solid-js@1.8.15) + solid-js: 1.8.15 + dev: false + + /@solid-primitives/utils@6.2.2(solid-js@1.8.15): + resolution: {integrity: sha512-11ypVbp987XxETeRqY5Y3OmmTpm8/jZqJXRvo6AyqBthzkvvjEdReuUMU2yVb+pwWGxfZpWHZ6EUCcGXUMhfwg==} + peerDependencies: + solid-js: ^1.6.12 + dependencies: + solid-js: 1.8.15 + dev: false + /@solidjs/router@0.12.3(solid-js@1.8.15): resolution: {integrity: sha512-s5HunmOt5BXt514kHD9aDbiQ6la33297h9XKUGuMKpzJD1wgXhWTm+HmtG3SXirRfGc0UJ3yDDhNoAD8b2Om1w==} peerDependencies: @@ -1405,12 +1544,12 @@ packages: solid-js: 1.8.15 dev: false - /@solidjs/start@0.5.9(solid-js@1.8.15)(vinxi@0.3.3)(vite@5.1.3): + /@solidjs/start@0.5.9(solid-js@1.8.15)(vinxi@0.2.1)(vite@5.1.3): resolution: {integrity: sha512-NNDmre4EYPQ6ZklfFZl1s4uvmGhsC61CMkOxcdfWS3+KAS0GpF52my7IztApKw4h+adLFbBy3qkF7qi8aCfcjw==} dependencies: - '@vinxi/plugin-directives': 0.2.0(vinxi@0.3.3) - '@vinxi/server-components': 0.2.0(vinxi@0.3.3) - '@vinxi/server-functions': 0.2.1(vinxi@0.3.3) + '@vinxi/plugin-directives': 0.2.0(vinxi@0.2.1) + '@vinxi/server-components': 0.2.0(vinxi@0.2.1) + '@vinxi/server-functions': 0.2.1(vinxi@0.2.1) defu: 6.1.4 error-stack-parser: 2.1.4 html-to-image: 1.11.11 @@ -1432,6 +1571,12 @@ packages: - vite dev: false + /@swc/helpers@0.5.6: + resolution: {integrity: sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==} + dependencies: + tslib: 2.6.2 + dev: false + /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: @@ -1534,15 +1679,15 @@ packages: - supports-color dev: false - /@vinxi/devtools@0.2.0(@babel/core@7.23.9)(preact@10.19.5)(vite@5.1.1): + /@vinxi/devtools@0.2.0(@babel/core@7.23.9)(preact@10.19.5)(vite@4.5.0): resolution: {integrity: sha512-LpQp5zbiBhV4eo2w6AiJFtpZZj4LaRBOnzggIPTeSJYvgrxRMAqe/34Har3vVo+b7sPOjxFbE1zHZhLzaAcidw==} dependencies: - '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.19.5)(vite@5.1.1) + '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.19.5)(vite@4.5.0) '@solidjs/router': 0.8.4(solid-js@1.8.15) birpc: 0.2.15 solid-js: 1.8.15 - vite-plugin-inspect: 0.7.42(vite@5.1.1) - vite-plugin-solid: 2.10.1(solid-js@1.8.15)(vite@5.1.1) + vite-plugin-inspect: 0.7.42(vite@4.5.0) + vite-plugin-solid: 2.10.1(solid-js@1.8.15)(vite@4.5.0) ws: 8.16.0 transitivePeerDependencies: - '@babel/core' @@ -1579,7 +1724,7 @@ packages: uqr: 0.1.2 dev: false - /@vinxi/plugin-directives@0.2.0(vinxi@0.3.3): + /@vinxi/plugin-directives@0.2.0(vinxi@0.2.1): resolution: {integrity: sha512-DoYuIuvdylU+0XNOipvcbw08XDBBbEksc3euCsbApNVpmQ/mC+2CjoErHtjb4zX1RqNwe1sJ8awMK6fKUMLGRA==} peerDependencies: vinxi: ^0.2.0 @@ -1593,37 +1738,37 @@ packages: magicast: 0.2.11 recast: 0.23.4 tslib: 2.6.2 - vinxi: 0.3.3(lightningcss@1.23.0)(preact@10.19.5) + vinxi: 0.2.1(lightningcss@1.23.0)(preact@10.19.5) dev: false - /@vinxi/server-components@0.2.0(vinxi@0.3.3): + /@vinxi/server-components@0.2.0(vinxi@0.2.1): resolution: {integrity: sha512-U3z6pxK5CWBxaUmyg7zdDMTl1AMa47MpYCUcs0QVOz/C8kKlT6C9Ozh5pZWuzAO0cTeueNpQumDWhQ4YTXTsZw==} peerDependencies: vinxi: ^0.2.0 dependencies: - '@vinxi/plugin-directives': 0.2.0(vinxi@0.3.3) + '@vinxi/plugin-directives': 0.2.0(vinxi@0.2.1) acorn: 8.11.3 acorn-loose: 8.4.0 acorn-typescript: 1.4.13(acorn@8.11.3) astring: 1.8.6 magicast: 0.2.11 recast: 0.23.4 - vinxi: 0.3.3(lightningcss@1.23.0)(preact@10.19.5) + vinxi: 0.2.1(lightningcss@1.23.0)(preact@10.19.5) dev: false - /@vinxi/server-functions@0.2.1(vinxi@0.3.3): + /@vinxi/server-functions@0.2.1(vinxi@0.2.1): resolution: {integrity: sha512-ir06Q6nEpJFU1uXqHdKE2OXqZFjChAIgAHpCJzMunHiutRNyYTJ7ZhbFCUk5xOx+StMpWKtqOv72TDeP/xTLtA==} peerDependencies: vinxi: ^0.2.1 dependencies: - '@vinxi/plugin-directives': 0.2.0(vinxi@0.3.3) + '@vinxi/plugin-directives': 0.2.0(vinxi@0.2.1) acorn: 8.11.3 acorn-loose: 8.4.0 acorn-typescript: 1.4.13(acorn@8.11.3) astring: 1.8.6 magicast: 0.2.11 recast: 0.23.4 - vinxi: 0.3.3(lightningcss@1.23.0)(preact@10.19.5) + vinxi: 0.2.1(lightningcss@1.23.0)(preact@10.19.5) dev: false /abbrev@1.1.1: @@ -2178,13 +2323,6 @@ packages: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: false - /dax-sh@0.39.1: - resolution: {integrity: sha512-QrVpBGbcdQWFDXVHPjR9PcoZliKJc/sRP5RU1dL+YiJZ5ZiPnjTU7hOj3E3fUy+rCZmpUBMNFVfJQabTAGUUbA==} - dependencies: - '@deno/shim-deno': 0.19.1 - undici-types: 5.26.5 - dev: false - /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -3130,11 +3268,6 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: false - /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: false - /jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true @@ -4029,6 +4162,14 @@ packages: yargs: 17.7.2 dev: false + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: false + /rollup@4.12.0: resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -4684,8 +4825,8 @@ packages: resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} dev: false - /vinxi@0.3.3(lightningcss@1.23.0)(preact@10.19.5): - resolution: {integrity: sha512-0KYGeNowy9SU7K2F7DTI7H4aGAelKLHzzxthf6fdd6cmokFhHM8xZ+fooTTciplbSMccW2adtsrg9Ia61jaPDg==} + /vinxi@0.2.1(lightningcss@1.23.0)(preact@10.19.5): + resolution: {integrity: sha512-zrgFO2XuKpdoW5VwlbieeQ0YhzMuuYCJyFWFyj41h9BnymHZ5dnKElALvFQn5JVzHhyrsdmlm8GU7tIuH786hw==} hasBin: true dependencies: '@babel/core': 7.23.9 @@ -4694,7 +4835,7 @@ packages: '@types/micromatch': 4.0.6 '@types/serve-static': 1.15.5 '@types/ws': 8.5.10 - '@vinxi/devtools': 0.2.0(@babel/core@7.23.9)(preact@10.19.5)(vite@5.1.1) + '@vinxi/devtools': 0.2.0(@babel/core@7.23.9)(preact@10.19.5)(vite@4.5.0) '@vinxi/listhen': 1.5.6 boxen: 7.1.1 c12: 1.8.0 @@ -4702,7 +4843,6 @@ packages: citty: 0.1.6 consola: 3.2.3 cookie-es: 1.0.0 - dax-sh: 0.39.1 defu: 6.1.4 dts-buddy: 0.2.5 es-module-lexer: 1.4.1 @@ -4731,7 +4871,7 @@ packages: unenv: 1.9.0 unimport: 3.7.1(rollup@4.12.0) unstorage: 1.10.1 - vite: 5.1.1(lightningcss@1.23.0) + vite: 4.5.0(lightningcss@1.23.0) ws: 8.16.0 zod: 3.22.4 transitivePeerDependencies: @@ -4766,7 +4906,7 @@ packages: - xml2js dev: false - /vite-plugin-inspect@0.7.42(vite@5.1.1): + /vite-plugin-inspect@0.7.42(vite@4.5.0): resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==} engines: {node: '>=14'} peerDependencies: @@ -4784,7 +4924,7 @@ packages: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.1(lightningcss@1.23.0) + vite: 4.5.0(lightningcss@1.23.0) transitivePeerDependencies: - rollup - supports-color @@ -4829,7 +4969,7 @@ packages: - supports-color dev: false - /vite-plugin-solid@2.10.1(solid-js@1.8.15)(vite@5.1.1): + /vite-plugin-solid@2.10.1(solid-js@1.8.15)(vite@4.5.0): resolution: {integrity: sha512-kfVdNLWaJqaJVL52U6iCCKNW/nXE7bS1VVGOWPGllOkJfcNILymVSY0LCBLSnyy0iYnRtrXpiHm14rMuzeC7CA==} peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* @@ -4845,8 +4985,8 @@ packages: merge-anything: 5.1.7 solid-js: 1.8.15 solid-refresh: 0.6.3(solid-js@1.8.15) - vite: 5.1.1(lightningcss@1.23.0) - vitefu: 0.2.5(vite@5.1.1) + vite: 4.5.0(lightningcss@1.23.0) + vitefu: 0.2.5(vite@4.5.0) transitivePeerDependencies: - supports-color dev: false @@ -4873,12 +5013,12 @@ packages: - supports-color dev: false - /vite@5.1.1(lightningcss@1.23.0): - resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} - engines: {node: ^18.0.0 || >=20.0.0} + /vite@4.5.0(lightningcss@1.23.0): + resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} + engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 + '@types/node': '>= 14' less: '*' lightningcss: ^1.21.0 sass: '*' @@ -4901,10 +5041,10 @@ packages: terser: optional: true dependencies: - esbuild: 0.19.12 + esbuild: 0.18.20 lightningcss: 1.23.0 postcss: 8.4.35 - rollup: 4.12.0 + rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 dev: false @@ -4945,7 +5085,7 @@ packages: fsevents: 2.3.3 dev: false - /vitefu@0.2.5(vite@5.1.1): + /vitefu@0.2.5(vite@4.5.0): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 @@ -4953,7 +5093,7 @@ packages: vite: optional: true dependencies: - vite: 5.1.1(lightningcss@1.23.0) + vite: 4.5.0(lightningcss@1.23.0) dev: false /vitefu@0.2.5(vite@5.1.3): @@ -5006,14 +5146,6 @@ packages: isexe: 2.0.0 dev: false - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - isexe: 3.1.1 - dev: false - /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: diff --git a/solid-start/public/images/product/1-1.webp b/solid-start/public/images/product/1-1.webp new file mode 100644 index 0000000..7509738 Binary files /dev/null and b/solid-start/public/images/product/1-1.webp differ diff --git a/solid-start/public/images/product/1-2.webp b/solid-start/public/images/product/1-2.webp new file mode 100644 index 0000000..c11ffbc Binary files /dev/null and b/solid-start/public/images/product/1-2.webp differ diff --git a/solid-start/public/images/product/1-3.webp b/solid-start/public/images/product/1-3.webp new file mode 100644 index 0000000..f55f152 Binary files /dev/null and b/solid-start/public/images/product/1-3.webp differ diff --git a/solid-start/public/images/product/1-thumbnail.webp b/solid-start/public/images/product/1-thumbnail.webp new file mode 100644 index 0000000..6937f95 Binary files /dev/null and b/solid-start/public/images/product/1-thumbnail.webp differ diff --git a/solid-start/src/app.tsx b/solid-start/src/app.tsx index 6af5415..39159f4 100644 --- a/solid-start/src/app.tsx +++ b/solid-start/src/app.tsx @@ -8,8 +8,7 @@ import { AuthProvider } from './contexts/auth'; export default function App() { return <> - {/* {props.children}}> */} - {props.children}}> + {props.children}}> diff --git a/solid-start/src/components/auth/menu.tsx b/solid-start/src/components/auth/menu.tsx index 8ff3f82..5c1efe2 100644 --- a/solid-start/src/components/auth/menu.tsx +++ b/solid-start/src/components/auth/menu.tsx @@ -2,19 +2,40 @@ import { useAuth } from '~/contexts/auth'; import styles from './menu.module.css'; import { A } from '@solidjs/router'; import ActionButton from '../form/action-button'; +import { Show } from 'solid-js'; export default function Menu() { - const { user, login, logout } = useAuth(); + const { user } = useAuth(); return <>
+ +
+ +} + +type ContentProps = { + isLoggedIn: boolean, +}; + +function Content() { + const { user, login, logout } = useAuth(); + + if(user() !== undefined) { + return <> Sales - {user !== undefined ? 'logout' : 'login'} - + logout + + } + + return <> + login } \ No newline at end of file diff --git a/solid-start/src/components/customer/nav.tsx b/solid-start/src/components/customer/nav.tsx index e6bb026..d61811c 100644 --- a/solid-start/src/components/customer/nav.tsx +++ b/solid-start/src/components/customer/nav.tsx @@ -1,14 +1,14 @@ -import { JSX, ParentProps } from 'solid-js'; +import { JSX } from 'solid-js'; import Cart from './shop/cart'; import styles from './nav.module.css' import Menu from '../auth/menu'; -import logo from '~/../public/images/logo.svg'; +import logo from '~/images/logo.svg'; export default function Nav(props: JSX.HTMLAttributes) { return