diff --git a/.changeset/swift-planets-play.md b/.changeset/swift-planets-play.md new file mode 100644 index 0000000..e9ef6b8 --- /dev/null +++ b/.changeset/swift-planets-play.md @@ -0,0 +1,5 @@ +--- +"@fade/booksy": minor +--- + +0.12.0 diff --git a/.changeset/weak-monkeys-begin.md b/.changeset/weak-monkeys-begin.md new file mode 100644 index 0000000..b338047 --- /dev/null +++ b/.changeset/weak-monkeys-begin.md @@ -0,0 +1,5 @@ +--- +"@fade/booksy": minor +--- + +0.13.0 diff --git a/apps/web/package.json b/apps/web/package.json index 8f4df0b..32d550e 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -22,7 +22,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@d0paminedriven/booksy": "^0.11.0", + "@d0paminedriven/booksy": "^0.13.0", "@d0paminedriven/codemod": "^2.3.0", "@ducanh2912/next-pwa": "^10.2.9", "@headlessui/react": "^2.2.0", @@ -47,7 +47,7 @@ "fast-equals": "^5.0.1", "focus-trap-react": "^10.3.1", "focus-visible": "^5.2.1", - "framer-motion": "^11.12.0", + "framer-motion": "^11.13.1", "graphql": "^16.9.0", "graphql-tag": "^2.12.6", "html-react-parser": "^5.1.18", @@ -55,13 +55,13 @@ "intl-segmenter-polyfill": "^0.4.4", "js-cookie": "^3.0.5", "lodash.throttle": "^4.1.1", - "lucide-react": "^0.462.0", + "lucide-react": "^0.464.0", "nanoid": "^5.0.9", "next": "^15.0.3", "next-seo": "^6.6.0", "next-sitemap": "^4.2.3", "next-themes": "^0.4.3", - "next-view-transitions": "^0.3.2", + "next-view-transitions": "^0.3.4", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hot-toast": "^2.4.1", @@ -75,8 +75,8 @@ "tsparticles": "^3.7.1" }, "devDependencies": { - "@edge-runtime/cookies": "^5.0.2", - "@edge-runtime/types": "^3.0.3", + "@edge-runtime/cookies": "^6.0.0", + "@edge-runtime/types": "^4.0.0", "@fade/eslint-config": "workspace:*", "@fade/prettier-config": "workspace:*", "@fade/tsconfig": "workspace:*", @@ -106,7 +106,7 @@ "@xpd/tailwind-3dtransforms": "^1.0.3", "autoprefixer": "^10.4.20", "csstype": "^3.1.3", - "dotenv": "^16.4.5", + "dotenv": "^16.4.7", "dotenv-cli": "^7.4.4", "dotenv-expand": "^12.0.1", "eslint": "latest", @@ -124,6 +124,6 @@ "tsx": "latest", "typescript": "latest", "urlpattern-polyfill": "^10.0.0", - "webpack": "^5.96.1" + "webpack": "^5.97.0" } } diff --git a/apps/web/src/lib/forward-ref-enhanced.ts b/apps/web/src/lib/forward-ref-enhanced.ts new file mode 100644 index 0000000..476bac6 --- /dev/null +++ b/apps/web/src/lib/forward-ref-enhanced.ts @@ -0,0 +1,71 @@ +"use client"; + +import * as React from "react"; + +export function forwardRefEnhanced< + const T, + const P = object +>( + render: React.ForwardRefRenderFunction> +): ( + props: React.PropsWithoutRef

& React.RefAttributes +) => React.ReactNode { + return React.forwardRef(render) satisfies React.ForwardRefExoticComponent< + React.PropsWithoutRef

& React.RefAttributes + >; +} + +/* uncomment code below to test */ + +/* +import { Unenumerate } from "@/types"; + +const data = [ + { + color: "blue", + pet: "dog", + season: "winter" + }, + { color: "red", pet: "cat", season: "autumn" } +] as const; + +function TableTest< + const T extends Unenumerate, + const P extends HTMLTableElement | null +>( + props: { data: readonly T[] | T[]; renderRow: (row: T) => React.ReactNode }, + ref: React.ForwardedRef

+) { + return ( + + + {props.data.map((item, i) => ( + + ))} + +
+ ); +} + +const ForwardedTable = forwardRefEnhanced(TableTest); + +export const TestFunctionality = ({ ...props }: HTMLTableElement) => { + return ( + { + return ( + + {color} + {pet} + {season} + + ); + }} + /> + ); +}; + + +*/ diff --git a/apps/web/src/lib/merge-refs.ts b/apps/web/src/lib/merge-refs.ts new file mode 100644 index 0000000..aa4b0d1 --- /dev/null +++ b/apps/web/src/lib/merge-refs.ts @@ -0,0 +1,15 @@ +import type { ForwardedRef, LegacyRef, MutableRefObject, RefCallback } from "react"; + +export function mergeRefs( + refs: (MutableRefObject | LegacyRef | ForwardedRef)[] +): RefCallback { + return value => { + refs.forEach(ref => { + if (typeof ref === "function") { + ref(value); + } else if (ref != null) { + (ref as MutableRefObject).current = value; + } + }); + }; +} diff --git a/apps/web/src/ui/reviews-paginated/ui/ReviewContent.tsx b/apps/web/src/ui/reviews-paginated/ui/ReviewContent.tsx index c6c5d48..ceb5bc0 100644 --- a/apps/web/src/ui/reviews-paginated/ui/ReviewContent.tsx +++ b/apps/web/src/ui/reviews-paginated/ui/ReviewContent.tsx @@ -1,37 +1,54 @@ "use client"; -import { useState } from "react"; +import { forwardRef, useLayoutEffect, useRef, useState } from "react"; import { ChevronDown, ChevronUp } from "lucide-react"; +import { mergeRefs } from "@/lib/merge-refs"; +import { TsxTargeted } from "@/types/helpers"; import { Button } from "@/ui/reviews-paginated/ui/Button"; -export function ReviewContent({ content }: { content: string }) { - const [isExpanded, setIsExpanded] = useState(false); +export type ReviewContentProps = TsxTargeted<"div"> & { content: string }; - return ( -

-

- {content} -

- {content.length > 175 && ( - - )} -
- ); -} +export const ReviewContent = forwardRef( + ({ content }, ref) => { + const [isExpanded, setIsExpanded] = useState(false); + const [contentHeight, setContentHeight] = useState(0); + const divRef = useRef(null); + const merged = mergeRefs([divRef, ref]); + useLayoutEffect(() => { + // eslint-disable-next-line + const { height } = divRef?.current?.getBoundingClientRect()!; + setContentHeight(height); + console.log("Measured content height: " + height); + }, []); + + return ( +
+

+ {content.concat(`\n ${contentHeight}`)} +

+ {content.length > 150 && ( + + )} +
+ ); + } +); + +ReviewContent.displayName = "ReviewContent"; /* diff --git a/apps/web/src/utils/__generated__/image-object.ts b/apps/web/src/utils/__generated__/image-object.ts index 8a67c67..851c284 100644 --- a/apps/web/src/utils/__generated__/image-object.ts +++ b/apps/web/src/utils/__generated__/image-object.ts @@ -24,6 +24,14 @@ export const imageData = { "relative_path": "/booksy/images/23808504.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808504-znKjTXCzBCL0g06Rpyt7MuuIM3SVwG.jpeg" }, + { + "id": 23808481, + "width": 1755, + "height": 2340, + "file_extension": "jpeg", + "relative_path": "/booksy/images/23808481.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808481-XFWrhXR9RWtAeGRLjiiVk8bkhtAYqh.jpeg" + }, { "id": 23808484, "width": 1755, @@ -33,20 +41,20 @@ export const imageData = { "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808484-j3Nz5AUJVYNxinuh6jeXP78lpsKJAW.jpeg" }, { - "id": 23808481, - "width": 1755, + "id": 23808478, + "width": 1960, "height": 2340, "file_extension": "jpeg", - "relative_path": "/booksy/images/23808481.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808481-XFWrhXR9RWtAeGRLjiiVk8bkhtAYqh.jpeg" + "relative_path": "/booksy/images/23808478.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808478-GhCb2gwqGeIbn8vKSFSEnQsX7bv39W.jpeg" }, { - "id": 23808482, - "width": 1755, - "height": 2340, + "id": 21309817, + "width": 836, + "height": 707, "file_extension": "jpeg", - "relative_path": "/booksy/images/23808482.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808482-FBAgag1EB7vprvhDpAT6tzKwvx66Mv.jpeg" + "relative_path": "/booksy/images/21309817.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21309817-hlVbxEYJ9Jxh9RiqYllSuTjTFDmpfC.jpeg" }, { "id": 21322177, @@ -56,14 +64,6 @@ export const imageData = { "relative_path": "/booksy/images/21322177.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21322177-axdrfZEKboGTD4L7oASwLf6h8p6TPS.jpeg" }, - { - "id": 23808478, - "width": 1960, - "height": 2340, - "file_extension": "jpeg", - "relative_path": "/booksy/images/23808478.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808478-GhCb2gwqGeIbn8vKSFSEnQsX7bv39W.jpeg" - }, { "id": 21322186, "width": 724, @@ -73,12 +73,20 @@ export const imageData = { "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21322186-2Knc6WvmsT0BYmRa7v2lOQdAm4sXbI.jpeg" }, { - "id": 21309817, - "width": 836, - "height": 707, + "id": 23808479, + "width": 1655, + "height": 2340, "file_extension": "jpeg", - "relative_path": "/booksy/images/21309817.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21309817-hlVbxEYJ9Jxh9RiqYllSuTjTFDmpfC.jpeg" + "relative_path": "/booksy/images/23808479.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808479-2Tyxgips0SKAeRU9gpqlNEdpa5mgNj.jpeg" + }, + { + "id": 23808482, + "width": 1755, + "height": 2340, + "file_extension": "jpeg", + "relative_path": "/booksy/images/23808482.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808482-FBAgag1EB7vprvhDpAT6tzKwvx66Mv.jpeg" }, { "id": 21315053, @@ -88,14 +96,6 @@ export const imageData = { "relative_path": "/booksy/images/21315053.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21315053-pCXawbDDWEXWqJlxzmHuCyGokQol0d.jpeg" }, - { - "id": 23808479, - "width": 1655, - "height": 2340, - "file_extension": "jpeg", - "relative_path": "/booksy/images/23808479.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/23808479-2Tyxgips0SKAeRU9gpqlNEdpa5mgNj.jpeg" - }, { "id": 23808483, "width": 1755, @@ -112,6 +112,14 @@ export const imageData = { "relative_path": "/booksy/images/21315052.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21315052-uOMAN9KACupgcjpf7AyKHundnyVd9L.jpeg" }, + { + "id": 21177791, + "width": 724, + "height": 736, + "file_extension": "jpeg", + "relative_path": "/booksy/images/21177791.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21177791-R5FRTHhpiHMxhAmEHR7vN0EeXWAkC4.jpeg" + }, { "id": 21177793, "width": 724, @@ -120,6 +128,14 @@ export const imageData = { "relative_path": "/booksy/images/21177793.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21177793-J1PIE7pGUakRS7giT57iKIa71QABYz.jpeg" }, + { + "id": 21177792, + "width": 724, + "height": 696, + "file_extension": "jpeg", + "relative_path": "/booksy/images/21177792.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21177792-qHjm0dEnvvYAHeIhzh6eSnF5W1Fsg0.jpeg" + }, { "id": 21177790, "width": 724, @@ -129,12 +145,12 @@ export const imageData = { "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21177790-BBXkzlUAJFBFyEmBqmEkEQkiL9WovL.jpeg" }, { - "id": 21016758, - "width": 602, - "height": 362, + "id": 21016759, + "width": 593, + "height": 357, "file_extension": "jpeg", - "relative_path": "/booksy/images/21016758.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21016758-GAACVwJ23YsaTR5cOkKfDLOimV6SHe.jpeg" + "relative_path": "/booksy/images/21016759.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21016759-RilgtOylwufCyCcTxcZrLAHxgnQa0B.jpeg" }, { "id": 20952274, @@ -145,20 +161,28 @@ export const imageData = { "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952274-7IzavWUi332O5xHlVGCO4ZvCn6z4pi.jpeg" }, { - "id": 21177791, - "width": 724, - "height": 736, + "id": 20952267, + "width": 748, + "height": 739, "file_extension": "jpeg", - "relative_path": "/booksy/images/21177791.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21177791-R5FRTHhpiHMxhAmEHR7vN0EeXWAkC4.jpeg" + "relative_path": "/booksy/images/20952267.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952267-P60iQpScSr8lXihNtoA12N44BJpu0c.jpeg" }, { - "id": 21177792, - "width": 724, - "height": 696, + "id": 20952269, + "width": 595, + "height": 358, "file_extension": "jpeg", - "relative_path": "/booksy/images/21177792.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21177792-qHjm0dEnvvYAHeIhzh6eSnF5W1Fsg0.jpeg" + "relative_path": "/booksy/images/20952269.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952269-mxPgDQwqHjxkyAyoT9IMrzHkDfUMoS.jpeg" + }, + { + "id": 20952268, + "width": 747, + "height": 729, + "file_extension": "jpeg", + "relative_path": "/booksy/images/20952268.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952268-Onx0OLxWOg14NeHLjBC1oYv3GayNzL.jpeg" }, { "id": 20952275, @@ -169,12 +193,12 @@ export const imageData = { "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952275-cYgSTWCZW8kdNZ1dqg3u3EVlwkVl5s.jpeg" }, { - "id": 21016759, - "width": 593, - "height": 357, + "id": 21016758, + "width": 602, + "height": 362, "file_extension": "jpeg", - "relative_path": "/booksy/images/21016759.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21016759-RilgtOylwufCyCcTxcZrLAHxgnQa0B.jpeg" + "relative_path": "/booksy/images/21016758.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/21016758-GAACVwJ23YsaTR5cOkKfDLOimV6SHe.jpeg" }, { "id": 20952271, @@ -185,28 +209,12 @@ export const imageData = { "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952271-vSrWhG63x6Q8GDlJ5Ma31Cq7fPiBJD.jpeg" }, { - "id": 20952269, - "width": 595, - "height": 358, - "file_extension": "jpeg", - "relative_path": "/booksy/images/20952269.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952269-mxPgDQwqHjxkyAyoT9IMrzHkDfUMoS.jpeg" - }, - { - "id": 20952267, - "width": 748, - "height": 739, - "file_extension": "jpeg", - "relative_path": "/booksy/images/20952267.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952267-P60iQpScSr8lXihNtoA12N44BJpu0c.jpeg" - }, - { - "id": 20952268, - "width": 747, - "height": 729, + "id": 20952264, + "width": 724, + "height": 753, "file_extension": "jpeg", - "relative_path": "/booksy/images/20952268.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952268-Onx0OLxWOg14NeHLjBC1oYv3GayNzL.jpeg" + "relative_path": "/booksy/images/20952264.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952264-poouTFBXLW2WjFHuLXr4NpkfkimSQf.jpeg" }, { "id": 20952266, @@ -216,14 +224,6 @@ export const imageData = { "relative_path": "/booksy/images/20952266.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952266-xlJRHj4sjxzdF5OOjoEDixAUIdze7w.jpeg" }, - { - "id": 20952264, - "width": 724, - "height": 753, - "file_extension": "jpeg", - "relative_path": "/booksy/images/20952264.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952264-poouTFBXLW2WjFHuLXr4NpkfkimSQf.jpeg" - }, { "id": 20952262, "width": 724, @@ -240,22 +240,6 @@ export const imageData = { "relative_path": "/booksy/images/20952263.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952263-5hCkMEdXYSSqCiZXWnX3p26xWSKpR0.jpeg" }, - { - "id": 20952260, - "width": 724, - "height": 647, - "file_extension": "jpeg", - "relative_path": "/booksy/images/20952260.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952260-E60w2JjN8mApzS8CLSKjrQQ8CIVTxR.jpeg" - }, - { - "id": 20952261, - "width": 724, - "height": 743, - "file_extension": "jpeg", - "relative_path": "/booksy/images/20952261.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952261-K4RGAlik3YD1Ghi4bX5o1EPH9WxRk6.jpeg" - }, { "id": 20881758, "width": 724, @@ -272,6 +256,22 @@ export const imageData = { "relative_path": "/booksy/images/20881757.jpeg", "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20881757-9yk8Na1KsSVMlUZ1lSwGLbIyMcYkuY.jpeg" }, + { + "id": 20952261, + "width": 724, + "height": 743, + "file_extension": "jpeg", + "relative_path": "/booksy/images/20952261.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952261-K4RGAlik3YD1Ghi4bX5o1EPH9WxRk6.jpeg" + }, + { + "id": 20952260, + "width": 724, + "height": 647, + "file_extension": "jpeg", + "relative_path": "/booksy/images/20952260.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20952260-E60w2JjN8mApzS8CLSKjrQQ8CIVTxR.jpeg" + }, { "id": 20881752, "width": 836, @@ -297,20 +297,20 @@ export const imageData = { "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20867570-QXMvZPu3T2ZVcFkCzSfkaIIKc6Y9tA.jpeg" }, { - "id": 20867572, + "id": 20867568, "width": 724, "height": 435, "file_extension": "jpeg", - "relative_path": "/booksy/images/20867572.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20867572-XyhTAEoLyMJMmKhKeBKg41ND3ThHBI.jpeg" + "relative_path": "/booksy/images/20867568.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20867568-o62QDhOyVxSn4j7yqUdyURj0o77vfu.jpeg" }, { - "id": 20867568, + "id": 20867572, "width": 724, "height": 435, "file_extension": "jpeg", - "relative_path": "/booksy/images/20867568.jpeg", - "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20867568-o62QDhOyVxSn4j7yqUdyURj0o77vfu.jpeg" + "relative_path": "/booksy/images/20867572.jpeg", + "url": "https://adgf6mjgcvaeo8u4.public.blob.vercel-storage.com/20867572-XyhTAEoLyMJMmKhKeBKg41ND3ThHBI.jpeg" }, { "id": 20838044, diff --git a/apps/web/src/utils/__generated__/reviews.json b/apps/web/src/utils/__generated__/reviews.json index 14d29bc..8490089 100644 --- a/apps/web/src/utils/__generated__/reviews.json +++ b/apps/web/src/utils/__generated__/reviews.json @@ -3,6 +3,7 @@ { "anonymized": false, "appointment_date": 1732636800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Niki%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -36,6 +37,7 @@ { "anonymized": false, "appointment_date": 1731582000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Daniel%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -69,6 +71,7 @@ { "anonymized": false, "appointment_date": 1727859600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Rashid%20a.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -102,6 +105,7 @@ { "anonymized": false, "appointment_date": 1727782200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Luc%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -135,6 +139,7 @@ { "anonymized": false, "appointment_date": 1727172000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Adam%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -168,6 +173,7 @@ { "anonymized": false, "appointment_date": 1726819200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Manny%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -201,6 +207,7 @@ { "anonymized": false, "appointment_date": 1724236200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Sabeo%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -234,6 +241,7 @@ { "anonymized": false, "appointment_date": 1723829400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Polina%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -267,6 +275,7 @@ { "anonymized": false, "appointment_date": 1722929400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Gerald%20D.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -300,6 +309,7 @@ { "anonymized": false, "appointment_date": 1721230200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Claire%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -333,6 +343,7 @@ { "anonymized": false, "appointment_date": 1717059600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Roey%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -366,6 +377,7 @@ { "anonymized": false, "appointment_date": 1716973200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Steve%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -399,6 +411,7 @@ { "anonymized": false, "appointment_date": 1716890400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Thomas%20K.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -432,6 +445,7 @@ { "anonymized": false, "appointment_date": 1714203000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Alla%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -465,6 +479,7 @@ { "anonymized": false, "appointment_date": 1713276000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Alex%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -498,6 +513,7 @@ { "anonymized": false, "appointment_date": 1712147400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Andra%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -537,6 +553,7 @@ { "anonymized": false, "appointment_date": 1711621800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Scott%20W.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -570,6 +587,7 @@ { "anonymized": false, "appointment_date": 1707820200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Brad%20H.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -603,6 +621,7 @@ { "anonymized": false, "appointment_date": 1709722800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ian%20W.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -636,6 +655,7 @@ { "anonymized": false, "appointment_date": 1709287200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Cody%20H.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -669,6 +689,7 @@ { "anonymized": false, "appointment_date": 1709132400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jared%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -702,6 +723,7 @@ { "anonymized": false, "appointment_date": 1708513200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Sandro%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -735,6 +757,7 @@ { "anonymized": false, "appointment_date": 1706625000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Luis%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -768,6 +791,7 @@ { "anonymized": false, "appointment_date": 1704447000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ben%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -807,6 +831,7 @@ { "anonymized": false, "appointment_date": 1705653000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Pavel%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -840,6 +865,7 @@ { "anonymized": false, "appointment_date": 1705508100000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jennifer%20E.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -873,6 +899,7 @@ { "anonymized": false, "appointment_date": 1703586600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Lauren%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -906,6 +933,7 @@ { "anonymized": false, "appointment_date": 1702906200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Christina%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -950,6 +978,7 @@ { "anonymized": false, "appointment_date": 1698226200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Michael%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -983,6 +1012,7 @@ { "anonymized": false, "appointment_date": 1691575200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Riley%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1016,6 +1046,7 @@ { "anonymized": false, "appointment_date": 1693311300000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=John%20K.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1049,6 +1080,7 @@ { "anonymized": false, "appointment_date": 1692702000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Lucia%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1088,6 +1120,7 @@ { "anonymized": false, "appointment_date": 1687948500000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Riley%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1121,6 +1154,7 @@ { "anonymized": false, "appointment_date": 1689764400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Alex%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1154,6 +1188,7 @@ { "anonymized": false, "appointment_date": 1687966200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jason%20T.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1187,6 +1222,7 @@ { "anonymized": false, "appointment_date": 1686654000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Shaka%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1220,6 +1256,7 @@ { "anonymized": false, "appointment_date": 1683286200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Carlos%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1256,6 +1293,7 @@ { "anonymized": false, "appointment_date": 1683289800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Hunter%20H.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1289,6 +1327,7 @@ { "anonymized": false, "appointment_date": 1682676000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Bruce%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1322,6 +1361,7 @@ { "anonymized": false, "appointment_date": 1680688800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Kyle%20K.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1355,6 +1395,7 @@ { "anonymized": false, "appointment_date": 1681216200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Teddy%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1388,6 +1429,7 @@ { "anonymized": false, "appointment_date": 1680084000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=William%20W.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1421,6 +1463,7 @@ { "anonymized": false, "appointment_date": 1680879600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ernesto%20L.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1454,6 +1497,7 @@ { "anonymized": false, "appointment_date": 1679911200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jesse%20K.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1487,6 +1531,7 @@ { "anonymized": false, "appointment_date": 1676723400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Danny%20Y.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1520,6 +1565,7 @@ { "anonymized": false, "appointment_date": 1676462400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Michael%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1553,6 +1599,7 @@ { "anonymized": false, "appointment_date": 1675163700000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Robert%20K.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1586,6 +1633,7 @@ { "anonymized": false, "appointment_date": 1673604900000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=David%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1622,6 +1670,7 @@ { "anonymized": false, "appointment_date": 1674306000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Julia%20T.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1655,6 +1704,7 @@ { "anonymized": false, "appointment_date": 1671800400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jocelyn%20V.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1688,6 +1738,7 @@ { "anonymized": false, "appointment_date": 1668502800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Anthony%20V.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1721,6 +1772,7 @@ { "anonymized": false, "appointment_date": 1669997700000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Beau%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1754,6 +1806,7 @@ { "anonymized": false, "appointment_date": 1668771900000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Alex%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1793,6 +1846,7 @@ { "anonymized": false, "appointment_date": 1669120200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jimena%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1826,6 +1880,7 @@ { "anonymized": false, "appointment_date": 1668078000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Philip%20E.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1859,6 +1914,7 @@ { "anonymized": false, "appointment_date": 1667388600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=David%20E.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1892,6 +1948,7 @@ { "anonymized": false, "appointment_date": 1667313000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ryan%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1925,6 +1982,7 @@ { "anonymized": false, "appointment_date": 1666967400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Fernando%20L.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1958,6 +2016,7 @@ { "anonymized": false, "appointment_date": 1666789200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Robert%20T.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -1991,6 +2050,7 @@ { "anonymized": false, "appointment_date": 1666443600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Christopher%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2024,6 +2084,7 @@ { "anonymized": false, "appointment_date": 1665048600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Men%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2057,6 +2118,7 @@ { "anonymized": false, "appointment_date": 1663768800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Tom%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2090,6 +2152,7 @@ { "anonymized": false, "appointment_date": 1663950600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Koko%20K.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2123,6 +2186,7 @@ { "anonymized": false, "appointment_date": 1662981300000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Robert%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2156,6 +2220,7 @@ { "anonymized": false, "appointment_date": 1661506200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Brandon%20N.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2189,6 +2254,7 @@ { "anonymized": false, "appointment_date": 1657877400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=anthony%20m.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2222,6 +2288,7 @@ { "anonymized": false, "appointment_date": 1656678600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ro%20t.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2255,6 +2322,7 @@ { "anonymized": false, "appointment_date": 1656406800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Shwin%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2288,6 +2356,7 @@ { "anonymized": false, "appointment_date": 1655982000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Eric%20L.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2321,6 +2390,7 @@ { "anonymized": false, "appointment_date": 1653406200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Dana%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2354,6 +2424,7 @@ { "anonymized": false, "appointment_date": 1655460000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jonathan%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2387,6 +2458,7 @@ { "anonymized": false, "appointment_date": 1653408000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ethan%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2420,6 +2492,7 @@ { "anonymized": false, "appointment_date": 1651243500000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Stephen%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2453,6 +2526,7 @@ { "anonymized": false, "appointment_date": 1650695400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Angel%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2486,6 +2560,7 @@ { "anonymized": false, "appointment_date": 1649328300000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Mark%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2519,6 +2594,7 @@ { "anonymized": false, "appointment_date": 1646301600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Gianni%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2552,6 +2628,7 @@ { "anonymized": false, "appointment_date": 1644057000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Larry%20L.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2585,6 +2662,7 @@ { "anonymized": false, "appointment_date": 1641991500000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Fernando%20O.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2624,6 +2702,7 @@ { "anonymized": false, "appointment_date": 1643445000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Scott%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2666,6 +2745,7 @@ { "anonymized": false, "appointment_date": 1641295800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Daquan%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2699,6 +2779,7 @@ { "anonymized": false, "appointment_date": 1642154400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Daniel%20W.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2732,6 +2813,7 @@ { "anonymized": false, "appointment_date": 1638963000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Anthony%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2765,6 +2847,7 @@ { "anonymized": false, "appointment_date": 1636794000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Katrina%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2798,6 +2881,7 @@ { "anonymized": false, "appointment_date": 1638371700000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Amy%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2831,6 +2915,7 @@ { "anonymized": false, "appointment_date": 1637416800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Alex%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2864,6 +2949,7 @@ { "anonymized": false, "appointment_date": 1637075700000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jason%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2897,6 +2983,7 @@ { "anonymized": false, "appointment_date": 1635867900000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Hipolito%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2930,6 +3017,7 @@ { "anonymized": false, "appointment_date": 1635525000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Elijiah%20V.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2963,6 +3051,7 @@ { "anonymized": false, "appointment_date": 1635498000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Aaron%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -2996,6 +3085,7 @@ { "anonymized": false, "appointment_date": 1634369400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Shane%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3029,6 +3119,7 @@ { "anonymized": false, "appointment_date": 1635496200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Reid%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3062,6 +3153,7 @@ { "anonymized": false, "appointment_date": 1635962400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Anton%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3095,6 +3187,7 @@ { "anonymized": false, "appointment_date": 1635265800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Elaine%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3128,6 +3221,7 @@ { "anonymized": false, "appointment_date": 1634202000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Adam%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3161,6 +3255,7 @@ { "anonymized": false, "appointment_date": 1632911400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=PepeJon%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3194,6 +3289,7 @@ { "anonymized": false, "appointment_date": 1634149800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Barry%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3227,6 +3323,7 @@ { "anonymized": false, "appointment_date": 1633539600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Frank%20T.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3260,6 +3357,7 @@ { "anonymized": false, "appointment_date": 1632844800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Andriy%20D.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3293,6 +3391,7 @@ { "anonymized": false, "appointment_date": 1632394800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Luis%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3326,6 +3425,7 @@ { "anonymized": false, "appointment_date": 1632308400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Matt%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3359,6 +3459,7 @@ { "anonymized": false, "appointment_date": 1630692000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Bryan%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3392,6 +3493,7 @@ { "anonymized": false, "appointment_date": 1629286200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Emily%20H.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3431,6 +3533,7 @@ { "anonymized": false, "appointment_date": 1629275400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Simon%20D.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3464,6 +3567,7 @@ { "anonymized": false, "appointment_date": 1628077500000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Eddie%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3497,6 +3601,7 @@ { "anonymized": false, "appointment_date": 1628609400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Christine%20H.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3544,6 +3649,7 @@ { "anonymized": false, "appointment_date": 1627038000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Adam%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3577,6 +3683,7 @@ { "anonymized": false, "appointment_date": 1627480800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jesse%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3610,6 +3717,7 @@ { "anonymized": false, "appointment_date": 1625652900000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Sergiy%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3643,6 +3751,7 @@ { "anonymized": false, "appointment_date": 1626771600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Peter%20r.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3676,6 +3785,7 @@ { "anonymized": false, "appointment_date": 1626525000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jair%20V.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3709,6 +3819,7 @@ { "anonymized": false, "appointment_date": 1626948000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jayson%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3742,6 +3853,7 @@ { "anonymized": false, "appointment_date": 1625680800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=stephen%20v.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3775,6 +3887,7 @@ { "anonymized": false, "appointment_date": 1625067000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Camron%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3808,6 +3921,7 @@ { "anonymized": false, "appointment_date": 1623750300000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Sandro%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3841,6 +3955,7 @@ { "anonymized": false, "appointment_date": 1621441800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=mike%20b.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3874,6 +3989,7 @@ { "anonymized": false, "appointment_date": 1623495600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Zach%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3907,6 +4023,7 @@ { "anonymized": false, "appointment_date": 1622031300000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jayson%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3940,6 +4057,7 @@ { "anonymized": false, "appointment_date": 1622214900000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ben%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -3973,6 +4091,7 @@ { "anonymized": false, "appointment_date": 1620467100000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Shaji%20J.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4006,6 +4125,7 @@ { "anonymized": false, "appointment_date": 1620226800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=John%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4039,6 +4159,7 @@ { "anonymized": false, "appointment_date": 1619607600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Gustavo%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4072,6 +4193,7 @@ { "anonymized": false, "appointment_date": 1619776800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Paul%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4105,6 +4227,7 @@ { "anonymized": false, "appointment_date": 1617372000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Evelyn%20Cruz%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4138,6 +4261,7 @@ { "anonymized": false, "appointment_date": 1617366600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Congo%20I.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4171,6 +4295,7 @@ { "anonymized": false, "appointment_date": 1619617500000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ayad%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4204,6 +4329,7 @@ { "anonymized": false, "appointment_date": 1618567200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ralph%20Delos%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4237,6 +4363,7 @@ { "anonymized": false, "appointment_date": 1618914600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Kyle%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4270,6 +4397,7 @@ { "anonymized": false, "appointment_date": 1618596000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Heidi%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4303,6 +4431,7 @@ { "anonymized": false, "appointment_date": 1617347700000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jair%20V.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4336,6 +4465,7 @@ { "anonymized": false, "appointment_date": 1618318800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Robert%20F.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4369,6 +4499,7 @@ { "anonymized": false, "appointment_date": 1617811200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Cicely%20L.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4402,6 +4533,7 @@ { "anonymized": false, "appointment_date": 1617442200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Cesar%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4435,6 +4567,7 @@ { "anonymized": false, "appointment_date": 1616607900000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Raluca%20G.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4474,6 +4607,7 @@ { "anonymized": false, "appointment_date": 1616168700000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jeff%20W.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4507,6 +4641,7 @@ { "anonymized": false, "appointment_date": 1612863000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Scott%20W.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4540,6 +4675,7 @@ { "anonymized": false, "appointment_date": 1611320400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Joe%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4573,6 +4709,7 @@ { "anonymized": false, "appointment_date": 1607340600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Jessica%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4606,6 +4743,7 @@ { "anonymized": false, "appointment_date": 1609245000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Todd%20L.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4639,6 +4777,7 @@ { "anonymized": false, "appointment_date": 1608318900000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Stuart%20N.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4672,6 +4811,7 @@ { "anonymized": false, "appointment_date": 1608049800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Matt%20D.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4708,6 +4848,7 @@ { "anonymized": false, "appointment_date": 1607941800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=David%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4741,6 +4882,7 @@ { "anonymized": false, "appointment_date": 1605967200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Marta%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4774,6 +4916,7 @@ { "anonymized": false, "appointment_date": 1605290400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Irvin%20V.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4807,6 +4950,7 @@ { "anonymized": false, "appointment_date": 1606923000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Faisal%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4840,6 +4984,7 @@ { "anonymized": false, "appointment_date": 1606892400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Brandon%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4873,6 +5018,7 @@ { "anonymized": false, "appointment_date": 1605871800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Bryan%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4909,6 +5055,7 @@ { "anonymized": false, "appointment_date": 1606322700000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Steven%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4942,6 +5089,7 @@ { "anonymized": false, "appointment_date": 1606325400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=David%20D.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -4975,6 +5123,7 @@ { "anonymized": false, "appointment_date": 1605949200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Kyle%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5008,6 +5157,7 @@ { "anonymized": false, "appointment_date": 1606310100000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ari%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5041,6 +5191,7 @@ { "anonymized": false, "appointment_date": 1606303800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Michael%20J.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5074,6 +5225,7 @@ { "anonymized": false, "appointment_date": 1606233600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Erick%20H.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5107,6 +5259,7 @@ { "anonymized": false, "appointment_date": 1606125600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Sandro%20S.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5140,6 +5293,7 @@ { "anonymized": false, "appointment_date": 1605970800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Simon%20D.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5173,6 +5327,7 @@ { "anonymized": false, "appointment_date": 1605956400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Diana%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5210,6 +5365,7 @@ { "anonymized": false, "appointment_date": 1605961800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Ninos%20D.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5247,6 +5403,7 @@ { "anonymized": false, "appointment_date": 1605864600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Dima%20K.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5280,6 +5437,7 @@ { "anonymized": false, "appointment_date": 1605686400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Joshua%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5313,6 +5471,7 @@ { "anonymized": false, "appointment_date": 1605009600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Sergio%20Rivera%20J.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5346,6 +5505,7 @@ { "anonymized": false, "appointment_date": 1605349800000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Scott%20M.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5382,6 +5542,7 @@ { "anonymized": false, "appointment_date": 1605364200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Stephanie%20B.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5436,6 +5597,7 @@ { "anonymized": false, "appointment_date": 1605353400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Andrew%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5469,6 +5631,7 @@ { "anonymized": false, "appointment_date": 1605339000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Katrina%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5508,6 +5671,7 @@ { "anonymized": false, "appointment_date": 1605279600000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Marco%20R.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5541,6 +5705,7 @@ { "anonymized": false, "appointment_date": 1605002400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Mark%20A.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5574,6 +5739,7 @@ { "anonymized": false, "appointment_date": 1605024000000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Tatiana%20L.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5607,6 +5773,7 @@ { "anonymized": false, "appointment_date": 1604912400000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Emmanuel%20P.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", @@ -5651,6 +5818,7 @@ { "anonymized": false, "appointment_date": 1605004200000, + "avatar": "https://api.dicebear.com/6.x/initials/svg?seed=Akhil%20C.&backgroundColor=d7be69&textColor=1a1d1e", "business": { "id": 481001, "name": "The Fade Room", diff --git a/packages/booksy/package.json b/packages/booksy/package.json index 70cda66..f7f251c 100644 --- a/packages/booksy/package.json +++ b/packages/booksy/package.json @@ -1,6 +1,6 @@ { "name": "@fade/booksy", - "version": "0.11.0", + "version": "0.13.0", "description": "booksy api handling, file generation, and more for a client project", "publishConfig": { "access": "public", @@ -68,7 +68,7 @@ }, "dependencies": { "@vercel/blob": "^0.26.0", - "dotenv": "^16.4.5", + "dotenv": "^16.4.7", "gradient-string": "^3.0.0", "yaml": "^2.6.1" }, @@ -82,7 +82,7 @@ "@types/gradient-string": "^1.1.6", "@types/node": "^22.10.1", "chokidar": "^4.0.1", - "dotenv": "^16.4.5", + "dotenv": "^16.4.7", "dotenv-cli": "^7.4.4", "dotenv-expand": "^12.0.1", "eslint": "^9.16.0", diff --git a/packages/booksy/src/index.ts b/packages/booksy/src/index.ts index a48d90c..c3a62f1 100644 --- a/packages/booksy/src/index.ts +++ b/packages/booksy/src/index.ts @@ -85,3 +85,18 @@ export type { Widget } from "@/types/json.js"; export { Serializer } from "@/types/json.js"; + +/** + * augmenting the "node/http.d.ts" module to inject known booksy + * and vercel headers of utility into the root of this package + **/ +declare module "http" { + export interface IncomingHttpHeaders { + "X-fingerprint"?: string; + "X-Access-Token"?: string; + "X-Api-Key"?: string; + "X-Vercel-IP-Timezone"?: string; + "X-Vercel-IP-City"?: string; + "X-Vercel-IP-Country"?: string; + } +} diff --git a/packages/booksy/src/services/booksy/reviews/index.ts b/packages/booksy/src/services/booksy/reviews/index.ts index 784c682..5ee9397 100644 --- a/packages/booksy/src/services/booksy/reviews/index.ts +++ b/packages/booksy/src/services/booksy/reviews/index.ts @@ -107,7 +107,7 @@ export class BooksyReviewsService extends ConfigHandler { appointment_date: new Date( appointment_date.concat(":00.000Z") ).valueOf(), - avatar: `https://api.dicebear.com/6.x/initials/svg?seed=${nameForUrl}&backgroundColor=1a1d1e&textColor=d7be69`, + avatar: `https://api.dicebear.com/6.x/initials/svg?seed=${nameForUrl}&backgroundColor=d7be69&textColor=1a1d1e`, business, created: new Date(created.concat(":00.000Z")).valueOf(), feedback_status, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 99b5baf..5c78c47 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: 22.10.1 dotenv: specifier: latest - version: 16.4.5 + version: 16.4.7 dotenv-cli: specifier: latest version: 7.4.4 @@ -66,14 +66,14 @@ importers: apps/web: dependencies: '@d0paminedriven/booksy': - specifier: ^0.11.0 - version: 0.11.0 + specifier: ^0.13.0 + version: 0.13.0 '@d0paminedriven/codemod': specifier: ^2.3.0 version: 2.3.0(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@ducanh2912/next-pwa': specifier: ^10.2.9 - version: 10.2.9(@types/babel__core@7.20.5)(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))) + version: 10.2.9(@types/babel__core@7.20.5)(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13))) '@headlessui/react': specifier: ^2.2.0 version: 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -141,8 +141,8 @@ importers: specifier: ^5.2.1 version: 5.2.1 framer-motion: - specifier: ^11.12.0 - version: 11.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^11.13.1 + version: 11.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) graphql: specifier: ^16.9.0 version: 16.9.0 @@ -165,8 +165,8 @@ importers: specifier: ^4.1.1 version: 4.1.1 lucide-react: - specifier: ^0.462.0 - version: 0.462.0(react@18.3.1) + specifier: ^0.464.0 + version: 0.464.0(react@18.3.1) nanoid: specifier: ^5.0.9 version: 5.0.9 @@ -183,8 +183,8 @@ importers: specifier: ^0.4.3 version: 0.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-view-transitions: - specifier: ^0.3.2 - version: 0.3.2(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^0.3.4 + version: 0.3.4(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -220,11 +220,11 @@ importers: version: 3.7.1 devDependencies: '@edge-runtime/cookies': - specifier: ^5.0.2 - version: 5.0.2 + specifier: ^6.0.0 + version: 6.0.0 '@edge-runtime/types': - specifier: ^3.0.3 - version: 3.0.3 + specifier: ^4.0.0 + version: 4.0.0 '@fade/eslint-config': specifier: workspace:* version: link:../../tooling/eslint @@ -313,8 +313,8 @@ importers: specifier: ^3.1.3 version: 3.1.3 dotenv: - specifier: ^16.4.5 - version: 16.4.5 + specifier: ^16.4.7 + version: 16.4.7 dotenv-cli: specifier: ^7.4.4 version: 7.4.4 @@ -367,8 +367,8 @@ importers: specifier: ^10.0.0 version: 10.0.0 webpack: - specifier: ^5.96.1 - version: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)) + specifier: ^5.97.0 + version: 5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13)) packages/booksy: dependencies: @@ -376,8 +376,8 @@ importers: specifier: ^0.26.0 version: 0.26.0 dotenv: - specifier: ^16.4.5 - version: 16.4.5 + specifier: ^16.4.7 + version: 16.4.7 gradient-string: specifier: ^3.0.0 version: 3.0.0 @@ -444,7 +444,7 @@ importers: version: 5.7.2 typescript-eslint: specifier: latest - version: 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + version: 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) tooling/eslint: dependencies: @@ -477,7 +477,7 @@ importers: version: 2.4.1 typescript-eslint: specifier: latest - version: 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + version: 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) devDependencies: '@fade/prettier-config': specifier: workspace:* @@ -1248,8 +1248,8 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@d0paminedriven/booksy@0.11.0': - resolution: {integrity: sha512-V0aZSB5T48C8h/lqjeR8AoWhHp9zQXzQ5kmdQ13FzTG40r6OdB7Pil0XnJ/tMqXu/ZCkx0xxwQ/SaT6TSsr5UQ==} + '@d0paminedriven/booksy@0.13.0': + resolution: {integrity: sha512-Q9Ns74zrnLtsOeBvSp8ROghl/zPGy77BooNM5ROhsiAHs16jZlFivvqhGvEffrWwC+fWCXmiZY5YE2bP3HSYZw==} hasBin: true '@d0paminedriven/codemod@2.3.0': @@ -1275,9 +1275,9 @@ packages: next: '>=14.0.0' webpack: '>=5.9.0' - '@edge-runtime/cookies@5.0.2': - resolution: {integrity: sha512-Sd8LcWpZk/SWEeKGE8LT6gMm5MGfX/wm+GPnh1eBEtCpya3vYqn37wYknwAHw92ONoyyREl1hJwxV/Qx2DWNOg==} - engines: {node: '>=16'} + '@edge-runtime/cookies@6.0.0': + resolution: {integrity: sha512-VVO/8AwC2qVbygLb2IOkX1zWFx2yWIHzFv4D602CTnoRffd/+cdcXqpSydKaedFrk7a1dRYXbWwjzfV/gwZ2Gw==} + engines: {node: '>=18'} '@edge-runtime/format@2.2.1': resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} @@ -1295,13 +1295,13 @@ packages: resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} engines: {node: '>=16'} - '@edge-runtime/primitives@5.1.1': - resolution: {integrity: sha512-osrHE4ObQ3XFkvd1sGBLkheV2mcHUqJI/Bum2AWA0R3U78h9lif3xZAdl6eLD/XnW4xhsdwjPUejLusXbjvI4Q==} - engines: {node: '>=16'} + '@edge-runtime/primitives@6.0.0': + resolution: {integrity: sha512-FqoxaBT+prPBHBwE1WXS1ocnu/VLTQyZ6NMUBAdbP7N2hsFTTxMC/jMu2D/8GAlMQfxeuppcPuCUk/HO3fpIvA==} + engines: {node: '>=18'} - '@edge-runtime/types@3.0.3': - resolution: {integrity: sha512-m9qcrI61xUDyX0nVRHEz92J+T4wC4XLai9gjS8jpH1Dt+K09BrF/WCSqhk9QjeiK8gdliDgzo0402oeXPnE/mA==} - engines: {node: '>=16'} + '@edge-runtime/types@4.0.0': + resolution: {integrity: sha512-6HiX1oSir5R+X74IzM08fCQkR5mTcOxgfFVdn335jz/CckIHVFphh7hNkIcI+XsMYhAfWOJ5b8TfBU/Hbx1EIQ==} + engines: {node: '>=18'} '@edge-runtime/vm@3.2.0': resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} @@ -3323,8 +3323,8 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@typescript-eslint/eslint-plugin@8.16.0': - resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==} + '@typescript-eslint/eslint-plugin@8.17.0': + resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -3334,8 +3334,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.16.0': - resolution: {integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==} + '@typescript-eslint/parser@8.17.0': + resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3344,12 +3344,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.16.0': - resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==} + '@typescript-eslint/scope-manager@8.17.0': + resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.16.0': - resolution: {integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==} + '@typescript-eslint/type-utils@8.17.0': + resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3358,12 +3358,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.16.0': - resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==} + '@typescript-eslint/types@8.17.0': + resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.16.0': - resolution: {integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==} + '@typescript-eslint/typescript-estree@8.17.0': + resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -3371,8 +3371,8 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.16.0': - resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==} + '@typescript-eslint/utils@8.17.0': + resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3381,8 +3381,8 @@ packages: typescript: optional: true - '@typescript-eslint/visitor-keys@8.16.0': - resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} + '@typescript-eslint/visitor-keys@8.17.0': + resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -4389,8 +4389,8 @@ packages: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} dset@3.1.4: @@ -4960,8 +4960,8 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@11.12.0: - resolution: {integrity: sha512-gZaZeqFM6pX9kMVti60hYAa75jGpSsGYWAHbBfIkuHN7DkVHVkxSxeNYnrGmHuM0zPkWTzQx10ZT+fDjn7N4SA==} + framer-motion@11.13.1: + resolution: {integrity: sha512-F40tpGTHByhn9h3zdBQPcEro+pSLtzARcocbNqAyfBI+u9S+KZuHH/7O9+z+GEkoF3eqFxfvVw0eBDytohwqmQ==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 @@ -5943,8 +5943,8 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - lucide-react@0.462.0: - resolution: {integrity: sha512-NTL7EbAao9IFtuSivSZgrAh4fZd09Lr+6MTkqIxuHaH2nnYiYIzXPo06cOxHg9wKLdj6LL8TByG4qpePqwgx/g==} + lucide-react@0.464.0: + resolution: {integrity: sha512-eCx1qClbnw5qRqB2Z1AFFp71wdJXEwhPp5ii8LviyvHb7o/7eMXFiTyDHh7JpjM9BO9pC6ZUp/c7mCwwxbPIcg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc @@ -6193,6 +6193,12 @@ packages: engines: {node: '>=10'} hasBin: true + motion-dom@11.13.0: + resolution: {integrity: sha512-Oc1MLGJQ6nrvXccXA89lXtOqFyBmvHtaDcTRGT66o8Czl7nuA8BeHAd9MQV1pQKX0d2RHFBFaw5g3k23hQJt0w==} + + motion-utils@11.13.0: + resolution: {integrity: sha512-lq6TzXkH5c/ysJQBxgLXgM01qwBH1b4goTPh57VvZWJbVJZF/0SB31UWEn4EIqbVPf3au88n2rvK17SpDTja1A==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -6255,10 +6261,10 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next-view-transitions@0.3.2: - resolution: {integrity: sha512-77QRvHjKDQHBDbe/qTVh/p9zbx2AWUFvlmLpHZQtc+q0/a+QWn5fejU9TqrJdrHvwuc9rzqL6K5xpkRtyjQajw==} + next-view-transitions@0.3.4: + resolution: {integrity: sha512-SSiskenQ8JkEFGzPjvFwC5LGGoqgTxM5dxexkeugxvcXFLpWI2ZUh4IsCURD3ovW+8Ue7xXlrtrpy8b7XR7IwQ==} peerDependencies: - next: ^14.0.0 + next: '>=14.0.0' react: ^18.2.0 react-dom: ^18.2.0 @@ -7698,8 +7704,8 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript-eslint@8.16.0: - resolution: {integrity: sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==} + typescript-eslint@8.17.0: + resolution: {integrity: sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -7919,8 +7925,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.96.1: - resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} + webpack@5.97.0: + resolution: {integrity: sha512-CWT8v7ShSfj7tGs4TLRtaOLmOCPWhoKEvp+eA7FVx8Xrjb3XfT0aXdxDItnRZmE8sHcH+a8ayDrJCOjXKxVFfQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -9125,17 +9131,17 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@d0paminedriven/booksy@0.11.0': + '@d0paminedriven/booksy@0.13.0': dependencies: '@vercel/blob': 0.26.0 - dotenv: 16.4.5 + dotenv: 16.4.7 gradient-string: 3.0.0 yaml: 2.6.1 '@d0paminedriven/codemod@2.3.0(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: chalk: 5.3.0 - dotenv: 16.4.5 + dotenv: 16.4.7 gradient-string: 2.0.2 react: 18.3.1 optionalDependencies: @@ -9147,26 +9153,26 @@ snapshots: '@inquirer/core': 10.1.0(@types/node@22.10.1) '@inquirer/prompts': 7.1.0(@types/node@22.10.1) chalk: 5.3.0 - dotenv: 16.4.5 + dotenv: 16.4.7 gradient-string: 3.0.0 transitivePeerDependencies: - '@types/node' - '@ducanh2912/next-pwa@10.2.9(@types/babel__core@7.20.5)(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)))': + '@ducanh2912/next-pwa@10.2.9(@types/babel__core@7.20.5)(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13)))': dependencies: fast-glob: 3.3.2 next: 15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) semver: 7.6.3 - webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)) + webpack: 5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13)) workbox-build: 7.1.1(@types/babel__core@7.20.5) workbox-core: 7.1.0 - workbox-webpack-plugin: 7.1.0(@types/babel__core@7.20.5)(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))) + workbox-webpack-plugin: 7.1.0(@types/babel__core@7.20.5)(webpack@5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13))) workbox-window: 7.1.0 transitivePeerDependencies: - '@types/babel__core' - supports-color - '@edge-runtime/cookies@5.0.2': {} + '@edge-runtime/cookies@6.0.0': {} '@edge-runtime/format@2.2.1': {} @@ -9176,11 +9182,11 @@ snapshots: '@edge-runtime/primitives@4.1.0': {} - '@edge-runtime/primitives@5.1.1': {} + '@edge-runtime/primitives@6.0.0': {} - '@edge-runtime/types@3.0.3': + '@edge-runtime/types@4.0.0': dependencies: - '@edge-runtime/primitives': 5.1.1 + '@edge-runtime/primitives': 6.0.0 '@edge-runtime/vm@3.2.0': dependencies: @@ -9757,7 +9763,7 @@ snapshots: '@whatwg-node/fetch': 0.10.1 chalk: 4.1.2 debug: 4.3.7 - dotenv: 16.4.5 + dotenv: 16.4.7 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) http-proxy-agent: 7.0.2 @@ -11422,14 +11428,14 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/type-utils': 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 eslint: 9.16.0(jiti@2.4.1) graphemer: 1.4.0 ignore: 5.3.2 @@ -11440,12 +11446,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7 eslint: 9.16.0(jiti@2.4.1) optionalDependencies: @@ -11453,15 +11459,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.16.0': + '@typescript-eslint/scope-manager@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 - '@typescript-eslint/type-utils@8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) debug: 4.3.7 eslint: 9.16.0(jiti@2.4.1) ts-api-utils: 1.4.0(typescript@5.7.2) @@ -11470,12 +11476,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.16.0': {} + '@typescript-eslint/types@8.17.0': {} - '@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/visitor-keys': 8.16.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -11487,21 +11493,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': + '@typescript-eslint/utils@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.1)) - '@typescript-eslint/scope-manager': 8.16.0 - '@typescript-eslint/types': 8.16.0 - '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) eslint: 9.16.0(jiti@2.4.1) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.16.0': + '@typescript-eslint/visitor-keys@8.17.0': dependencies: - '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/types': 8.17.0 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.0': {} @@ -12660,7 +12666,7 @@ snapshots: dotenv-cli@7.4.4: dependencies: cross-spawn: 7.0.6 - dotenv: 16.4.5 + dotenv: 16.4.7 dotenv-expand: 10.0.0 minimist: 1.2.8 @@ -12668,11 +12674,11 @@ snapshots: dotenv-expand@12.0.1: dependencies: - dotenv: 16.4.5 + dotenv: 16.4.7 dotenv@16.0.3: {} - dotenv@16.4.5: {} + dotenv@16.4.7: {} dset@3.1.4: {} @@ -13373,8 +13379,10 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@11.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + framer-motion@11.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: + motion-dom: 11.13.0 + motion-utils: 11.13.0 tslib: 2.8.1 optionalDependencies: react: 18.3.1 @@ -14583,7 +14591,7 @@ snapshots: dependencies: yallist: 4.0.0 - lucide-react@0.462.0(react@18.3.1): + lucide-react@0.464.0(react@18.3.1): dependencies: react: 18.3.1 @@ -15030,6 +15038,10 @@ snapshots: mkdirp@1.0.4: {} + motion-dom@11.13.0: {} + + motion-utils@11.13.0: {} + mri@1.2.0: {} ms@2.1.1: {} @@ -15086,7 +15098,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - next-view-transitions@0.3.2(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-view-transitions@0.3.4(next@15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: next: 15.0.3(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 @@ -16315,14 +16327,14 @@ snapshots: term-size@2.2.1: {} - terser-webpack-plugin@5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))): + terser-webpack-plugin@5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.13))(webpack@5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.36.0 - webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)) + webpack: 5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13)) optionalDependencies: '@swc/core': 1.9.3(@swc/helpers@0.5.13) @@ -16627,11 +16639,11 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript-eslint@8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2): + typescript-eslint@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/parser': 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) - '@typescript-eslint/utils': 8.16.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2))(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.4.1))(typescript@5.7.2) eslint: 9.16.0(jiti@2.4.1) optionalDependencies: typescript: 5.7.2 @@ -16850,7 +16862,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)): + webpack@5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -16872,7 +16884,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.3(@swc/helpers@0.5.13))(webpack@5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13))) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -17103,12 +17115,12 @@ snapshots: workbox-sw@7.1.0: {} - workbox-webpack-plugin@7.1.0(@types/babel__core@7.20.5)(webpack@5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13))): + workbox-webpack-plugin@7.1.0(@types/babel__core@7.20.5)(webpack@5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13))): dependencies: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.13)) + webpack: 5.97.0(@swc/core@1.9.3(@swc/helpers@0.5.13)) webpack-sources: 1.4.3 workbox-build: 7.1.0(@types/babel__core@7.20.5) transitivePeerDependencies: