From b4cd6915998217012768c366f915d184fc3b72b5 Mon Sep 17 00:00:00 2001 From: Graeme Fulton Date: Fri, 23 Aug 2024 12:28:28 +0100 Subject: [PATCH] notes --- components/SocialShare.js | 39 +- components/authorBio.js | 8 +- components/date.js | 4 +- components/icons/index.js | 14 + lib/api.js | 4 +- lib/constants.js | 6 +- lib/editor/menus/settingsMenuNotes.js | 74 +++ lib/editor/savePost.js | 9 +- lib/editor/typrNotesProps.js | 31 +- lib/editor/typrProps.js | 3 + package-lock.json | 366 ++++++------ package.json | 4 +- pages/n/[slug].js | 79 +++ pages/note/[slug].js | 471 ++++++++++++++++ pages/notes/sitemap/[pageNo]/index.js | 38 ++ public/sitemap-0.xml | 776 +++++++++++++------------- styles/posts-page.scss | 33 ++ 17 files changed, 1352 insertions(+), 607 deletions(-) create mode 100644 lib/editor/menus/settingsMenuNotes.js create mode 100644 pages/n/[slug].js create mode 100644 pages/note/[slug].js create mode 100644 pages/notes/sitemap/[pageNo]/index.js diff --git a/components/SocialShare.js b/components/SocialShare.js index c92c35c9..3355cad8 100644 --- a/components/SocialShare.js +++ b/components/SocialShare.js @@ -1,6 +1,12 @@ import { FacebookLogo, TwitterLogo, LinkedinLogo } from "@/components/icons"; -export default function SocialShare({ slug, authorTwitter, title = "" , size=28}) { +export default function SocialShare({ + slug, + authorTwitter, + title = "", + size = 28, + postType = "post", +}) { const titleUrl = encodeURI(title); // const url = encodeURI(slug); @@ -9,32 +15,33 @@ export default function SocialShare({ slug, authorTwitter, title = "" , size=28}
- +
- + href={`http://www.facebook.com/share.php?u=https%3A%2F%2Fprototypr.io%2F${postType}%2F${slug}`} + > +
- - +
); } - export function SocialShareVertical({ slug, authorTwitter, title = "" }) { const titleUrl = encodeURI(title); // const url = encodeURI(slug); @@ -44,16 +51,19 @@ export function SocialShareVertical({ slug, authorTwitter, title = "" }) {
- +
- + href={`http://www.facebook.com/share.php?u=https%3A%2F%2Fprototypr.io%2Ftoolbox%2F${slug}`} + > +
@@ -61,8 +71,7 @@ export function SocialShareVertical({ slug, authorTwitter, title = "" }) { target="_blank" href={`https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fprototypr.io%2Ftoolbox%2F${slug}`} > - - +
diff --git a/components/authorBio.js b/components/authorBio.js index fec53c35..760df059 100644 --- a/components/authorBio.js +++ b/components/authorBio.js @@ -7,7 +7,7 @@ import { DribbbleLogo, GithubLogo, TwitterLogo } from "./icons"; import '~/react-kofi/dist/kofi.css'; import {KoFiButton} from "react-kofi"; -export default function AuthorBio({ author, slug, title }) { +export default function AuthorBio({ author, slug, title, showShare = true }) { const pic = author?.avatar?.data?.attributes?.url ? author?.avatar?.data?.attributes?.url : author?.legacyAvatar @@ -21,7 +21,7 @@ export default function AuthorBio({ author, slug, title }) { return (
-
@@ -39,9 +39,9 @@ export default function AuthorBio({ author, slug, title }) { />
- + }
-
+ {showShare &&
}
diff --git a/components/date.js b/components/date.js index 3172e79d..b38baa10 100644 --- a/components/date.js +++ b/components/date.js @@ -3,9 +3,9 @@ import format from 'date-fns/format' import es from 'date-fns/locale/es' import { useIntl } from "react-intl"; -export default function Date({ dateString, locale }) { +export default function Date({ dateString, locale, className }) { const intl = useIntl(); const date = parseISO(dateString) - return + return } diff --git a/components/icons/index.js b/components/icons/index.js index 25efbfa8..ea6facf3 100644 --- a/components/icons/index.js +++ b/components/icons/index.js @@ -348,6 +348,20 @@ export const NotePencil = ({ size, className, color }) => { ); }; +export const NoteReceipt = ({ size, className, color }) => { + return ( + + + + ); +}; export const Briefcase = ({ size, className, color }) => { return ( [ + { + type: 'date', + label: 'Publish Date', + initialValue: null, + adminOnly:false, + onValueChange: (value) => { + // Handle the date change + console.log('Date changed:', value); + }, + description: 'Set a publish date.', + }, + { + type: 'select', + label: 'Status', + initialValue: '', + adminOnly:false, + onValueChange: (value) => { + // Handle the post status change + console.log('Post status changed:', value); + }, + options: [ + { label: 'Draft', value: 'draft' }, + { label: 'Pending', value: 'pending' }, + { label: 'Publish', value: 'publish' }, + ], + description: '(draft, pending, or publish)', + }, + { + type: 'url', + label: 'Url', + initialValue: '', + onValueChange: (value) => { + // Handle the value change, e.g., update parent component state + console.log('Slug changed:', value); + }, + description: 'Url slug for your post', + }, + { + type: 'number', + label: 'Tier', + initialValue: '', + onValueChange: (value) => { + // Handle the tier change + console.log('Tier changed:', value); + }, + description: '(1-5 for quality ranking)', + }, + ]; + + export const seoMenu = [ + { + type: 'text', + field:'seo.opengraphTitle', + label: 'Meta Title', + initialValue: '', + onValueChange: (value) => { + // Handle the meta title change + console.log('Meta title changed:', value); + }, + description: 'SEO title for the post (max 60 characters)', + }, + { + type: 'description', + field:'seo.metaDesc', + label: 'Meta Description', + initialValue: '', + onValueChange: (value) => { + // Handle the meta description change + console.log('Meta description changed:', value); + }, + description: 'SEO description for the post (max 160 characters)', + }, + ]; \ No newline at end of file diff --git a/lib/editor/savePost.js b/lib/editor/savePost.js index dc92f3b8..4ccc8454 100644 --- a/lib/editor/savePost.js +++ b/lib/editor/savePost.js @@ -37,8 +37,15 @@ export const savePost = async ({ postId, entry, user }) => { //remove nulls and objects (wrong format for strapi) savePostData = flattenDataFields(savePostData); + if(entry.type === "note"){ + if(entry.status === "publish"){ + savePostData.publishedAt = Date.now() + }else if(entry.status === "draft"){ + savePostData.publishedAt = null + } + } - try { + try { updateData = await axios({ method: "put", url: `${process.env.NEXT_PUBLIC_API_URL}/api/posts/${postId}`, diff --git a/lib/editor/typrNotesProps.js b/lib/editor/typrNotesProps.js index 8ef14cf0..83621654 100644 --- a/lib/editor/typrNotesProps.js +++ b/lib/editor/typrNotesProps.js @@ -4,27 +4,36 @@ import { createPost } from "@/lib/editor/createPost"; import { savePost } from "@/lib/editor/savePost"; import { getUserArticle } from "@/lib/api"; // import { loggedInMenu } from "./menus/loggedInMenu"; +import { settingsMenuNotes,seoMenu } from "./menus/settingsMenuNotes"; export const typrNotesProps = ({ user, userLoading, mutateUser, router }) => ({ enablePublishingFlow: false, theme: "blue", editorWidth: "590px", components: { + nav: { - show:true, + show: true, undoRedoButtons: { show: false }, - logo: { show:false,image: `/static/images/logo-small.svg`, url: "/" }, + logo: { show: false, image: `/static/images/logo-small.svg`, url: "/" }, userBadge: { - show:false, + show: false, avatarPlaceholder: - "https://prototypr-media.sfo2.digitaloceanspaces.com/strapi/4f9713374ad556ff3b8ca33e241f6c43.png?updated_at=2022-12-14T10:55:38.818Z", + "https://prototypr-media.sfo2.digitaloceanspaces.com/strapi/4f9713374ad556ff3b8ca33e241f6c43.png?updated_at=2022-12-14T10:55:38.818Z", // loggedInMenu }, position: "sticky", }, settingsPanel: { + show: true, + generalTab: { + menu: settingsMenuNotes, + }, + seoTab: { + menu: seoMenu, + }, featuredImage: { - show:true + show: true, }, }, }, @@ -46,7 +55,11 @@ export const typrNotesProps = ({ user, userLoading, mutateUser, router }) => ({ }, postOperations: { load: async ({ postId, user }) => { - const postObject = await getUserArticle({user, id:postId, type: "note"}); + const postObject = await getUserArticle({ + user, + id: postId, + type: "note", + }); return postObject; }, save: async ({ entry, postId }) => { @@ -58,13 +71,13 @@ export const typrNotesProps = ({ user, userLoading, mutateUser, router }) => ({ return postObject; }, }, - mediaHandler:{ + mediaHandler: { config: { method: "post", url: `${process.env.NEXT_PUBLIC_API_URL}/api/users-permissions/users/article/image/upload`, headers: { Authorization: `Bearer ${user?.jwt}`, - } + }, }, }, hooks: { @@ -81,6 +94,6 @@ export const typrNotesProps = ({ user, userLoading, mutateUser, router }) => ({ }, }, router: { - push: router.push + push: router.push, }, }); diff --git a/lib/editor/typrProps.js b/lib/editor/typrProps.js index 61bbccad..95c4856a 100644 --- a/lib/editor/typrProps.js +++ b/lib/editor/typrProps.js @@ -10,6 +10,9 @@ export const typrProps = ({ user, userLoading, mutateUser, router }) => ({ theme: "blue", components: { nav: { + undoRedoButtons: { + show: false, + }, logo: { image: `/static/images/logo-small.svg`, url: "/" }, userBadge: { loggedInMenu, diff --git a/package-lock.json b/package-lock.json index d8ff4267..1c9f1f7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -128,7 +128,7 @@ "swiper": "^8.0.0", "swr": "^1.3.0", "tailwindcss-border-gradient-radius": "^3.0.1", - "tiptypr": "^0.0.86", + "tiptypr": "^0.0.87", "tsparticles": "^2.7.1", "uuidv4": "^6.2.13", "yup": "^0.32.11", @@ -149,7 +149,7 @@ "tailwindcss-scoped-groups": "^2.0.0" }, "optionalDependencies": { - "@prototypr/paper-interview": "^0.0.471", + "@prototypr/paper-interview": "^0.0.472", "@prototypr/prototypr-postie": "^1.0.91" } }, @@ -4113,9 +4113,9 @@ } }, "node_modules/@prototypr/paper-interview": { - "version": "0.0.471", - "resolved": "https://npm.pkg.github.com/download/@prototypr/paper-interview/0.0.471/d48c81bc9e1a02c9cb6f7e3b9d268e5bb3f789ec", - "integrity": "sha512-cL0vI5Y+BS0hzSpesggR3zCUnfskXuwfXrshMr7nwaZC1OX1gMh5vniZ9tQPUr7yBjFoQsqIBv5znIAj0q0z3w==", + "version": "0.0.472", + "resolved": "https://npm.pkg.github.com/download/@prototypr/paper-interview/0.0.472/b2bd12f91d183989ecc61c1998bcd7a9274a3c68", + "integrity": "sha512-B3OELFvZx1azitlzbDaU5ozovJP3+9CI+a8xNxQiwD9as6xS5AX3AWGO0F/Ekqoq8AVSbbC48D20ml3nqgNhZg==", "license": "UNLICENSED", "optional": true, "dependencies": { @@ -4157,7 +4157,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-markdown": "^6.0.0", - "tiptypr": "^0.0.86" + "tiptypr": "^0.0.87" } }, "node_modules/@prototypr/paper-interview/node_modules/@types/hast": { @@ -7951,45 +7951,45 @@ } }, "node_modules/@tiptap/core": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.6.5.tgz", - "integrity": "sha512-1q5gn4YB0Qm3xFxdQq40FMwjL0gj4flP3UeXHlHXHYvJtMK9ZckRJReYtTEGjRp99BJWivU0YehGdC/96f47GA==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.6.6.tgz", + "integrity": "sha512-VO5qTsjt6rwworkuo0s5AqYMfDA0ZwiTiH6FHKFSu2G/6sS7HKcc/LjPq+5Legzps4QYdBDl3W28wGsGuS1GdQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/pm": "^2.6.5" + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-blockquote": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.6.5.tgz", - "integrity": "sha512-lKg/8UfsToG0GycizXGqFlA4/ptB3KumM8ch3MBKRLqy/yViu4oXpbTCqE9sqx/WNUYiriPrvkQnBW10LfFIJQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.6.6.tgz", + "integrity": "sha512-hAdsNlMfzzxld154hJqPqtWqO5i4/7HoDfuxmyqBxdMJ+e2UMaIGBGwoLRXG0V9UoRwJusjqlpyD7pIorxNlgA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-bold": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.6.5.tgz", - "integrity": "sha512-ey78g9YCOQi+qQ58QBFvWJVIXLQ+9isamshO9lzoc4RdtWDm+WuIUmmyoeneRcQixbVlyvOOMUf7PNKdIZHHtg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.6.6.tgz", + "integrity": "sha512-CD6gBhdQtCoqYSmx8oAV8gvKtVOGZSyyvuNYo7by9eZ56DqLYnd7kbUj0RH7o9Ymf/iJTOUJ6XcvrsWwo4lubg==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-bubble-menu": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.6.5.tgz", - "integrity": "sha512-KIqZnbmIcHEg7ynkkDS7PKqHmsF45FZYeyJGXESrvxwfrvPElTtCwDeNaqmDwb000ljwW7BwiVUj5DjZCJlj2A==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.6.6.tgz", + "integrity": "sha512-IkfmlZq67aaegym5sBddBc/xXWCArxn5WJEl1oxKEayjQhybKSaqI7tk0lOx/x7fa5Ml1WlGpCFh+KKXbQTG0g==", "dependencies": { "tippy.js": "^6.3.7" }, @@ -7998,103 +7998,103 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-bullet-list": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.6.5.tgz", - "integrity": "sha512-6r1sc7voURIVU1bl6D9iBOJCHRQphQXHRzE2tLENCHdT8nlgO6wRwAIUVaps8Xkckr+WkLEeHTun+AD6bS+Q3A==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.6.6.tgz", + "integrity": "sha512-WEKxbVSYuvmX2wkHWP8HXk5nzA7stYwtdaubwWH/R17kGI3IGScJuMQ9sEN82uzJU8bfgL9yCbH2bY8Fj/Q4Ow==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-code": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.6.5.tgz", - "integrity": "sha512-zwp1J76CmnPG1kyx8hDSRG6UM7pEIPqSMZMJRYjJMX6n0tGGGzUFFNlcshxnsZeiKOn0KZsi0o1kJN4Pza9xbg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.6.6.tgz", + "integrity": "sha512-JrEFKsZiLvfvOFhOnnrpA0TzCuJjDeysfbMeuKUZNV4+DhYOL28d39H1++rEtJAX0LcbBU60oC5/PrlU9SpvRQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-code-block": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.6.5.tgz", - "integrity": "sha512-kV8VAerd3z23zv6vZSVkq0JJs0emzWb3KyrLsiUuhR1Yj+zgcxer3zw4IJlmDeDhp6qIXK/qTgHzNcxS+fV4Rw==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.6.6.tgz", + "integrity": "sha512-1YLp/zHMHSkE2xzht8nPR6T4sQJJ3ket798czxWuQEbetFv/l0U/mpiPpYSLObj6oTAoqYZ0kWXZj5eQSpPB8Q==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-collaboration": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-2.6.5.tgz", - "integrity": "sha512-U7eCkSsnoe8CBxr3oWKa7bcEFaLY2eLtFpjbqz295ZAL5cH9hSNHg7Pt+jNORj4JA/eC+chV8dGN3yVvZ+UoUg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-2.6.6.tgz", + "integrity": "sha512-AhmlQ6eBRhCq74jaaAKUNaNby8eKZISqv72U1TlFarW/T6JzYbBv0XcNq2MFwv+20T4ElL5bv3aT/zKAG2LN/w==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5", + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6", "y-prosemirror": "^1.2.11" } }, "node_modules/@tiptap/extension-collaboration-cursor": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-cursor/-/extension-collaboration-cursor-2.6.5.tgz", - "integrity": "sha512-yvi/Kns73ucjY5W3wyHg10FgpdJB6MmOwbao85ubU8Ga+g97eooSGWysvY0PrnLwSETw6Bme9WQd0Qc8WBqmiw==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-cursor/-/extension-collaboration-cursor-2.6.6.tgz", + "integrity": "sha512-KNGmRT6FxuSta8srK8Q13n35RZ079ySSNcOIARmJaBMQulgVXQc0wBViiEESUiV1EqvGd1FcIBJ1tzcl71g1Yw==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", + "@tiptap/core": "^2.6.6", "y-prosemirror": "^1.2.11" } }, "node_modules/@tiptap/extension-document": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.6.5.tgz", - "integrity": "sha512-3rjyNAW8yAm4jrD8AsD39n/FXZ0PMkqbEN0Uzt4RCfK0Kbi8UcTYgcRCgo+HneqqtUAK/d+5imcbdTP6R2lTCg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.6.6.tgz", + "integrity": "sha512-6qlH5VWzLHHRVeeciRC6C4ZHpMsAGPNG16EF53z0GeMSaaFD/zU3B239QlmqXmLsAl8bpf8Bn93N0t2ABUvScw==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-dropcursor": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.6.5.tgz", - "integrity": "sha512-4Kh/TseGVSwt4eoZ6EcFZiCxhK3wSrUUTwltxdeNQVsCYG1jBfflOhIyy41fMC8N73KlnaLjQXsCvesUNx/X2Q==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.6.6.tgz", + "integrity": "sha512-O6CeKriA9uyHsg7Ui4z5ZjEWXQxrIL+1zDekffW0wenGC3G4LUsCzAiFS4LSrR9a3u7tnwqGApW10rdkmCGF4w==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-floating-menu": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.6.5.tgz", - "integrity": "sha512-RrGNBvpvklZH5n3iIeTgrKVH07n6ozb7IZ60T5idhxedWBtvbEAou3Y9XlCqOhNgooHiCqWkiV4dPngk51G2Yg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.6.6.tgz", + "integrity": "sha512-lPkESOfAUxgmXRiNqUU23WSyja5FUfSWjsW4hqe+BKNjsUt1OuFMEtYJtNc+MCGhhtPfFvM3Jg6g9jd6g5XsLQ==", "dependencies": { "tippy.js": "^6.3.7" }, @@ -8103,101 +8103,101 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-gapcursor": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.6.5.tgz", - "integrity": "sha512-ga6bSmvcd0YuM6xKMg4E8YzzIPWbT9oZOIM2euNLPCZHDlIeUeNewbNa9exPotg1GZJIrYO52dKvOSJ+U0dVqA==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.6.6.tgz", + "integrity": "sha512-O2lQ2t0X0Vsbn3yLWxFFHrXY6C2N9Y6ZF/M7LWzpcDTUZeWuhoNkFE/1yOM0h6ZX1DO2A9hNIrKpi5Ny8yx+QA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-hard-break": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.6.5.tgz", - "integrity": "sha512-5DcI6hDm3pw5I1jWwzNo/tx/2Nx+as4Nl6Stk3tJO1WPKCWPWouyR62EHyzhgMqcPFKRUWtWpeHag2rGDoY4Bw==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.6.6.tgz", + "integrity": "sha512-bsUuyYBrMDEiudx1dOQSr9MzKv13m0xHWrOK+DYxuIDYJb5g+c9un5cK7Js+et/HEYYSPOoH/iTW6h+4I5YeUg==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-heading": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.6.5.tgz", - "integrity": "sha512-H7WqddzURXUptUznPWqW988mVK1HwghSwKYNTvcw3BHUI6nbVK2UJQyZUV3+XDDru2W77lXwvmBTw8xglPkHlg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.6.6.tgz", + "integrity": "sha512-bgx9vptVFi5yFkIw1OI53J7+xJ71Or3SOe/Q8eSpZv53DlaKpL/TzKw8Z54t1PrI2rJ6H9vrLtkvixJvBZH1Ug==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-history": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.6.5.tgz", - "integrity": "sha512-zDCXiVKfqii0D+Q9lu65skW3+4Jqzicge+sw42YBQp4H7jXLJC55QoLuctwhl4iGXliiWnobRpotTPdaUXYhoA==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.6.6.tgz", + "integrity": "sha512-tPTzAmPGqMX5Bd5H8lzRpmsaMvB9DvI5Dy2za/VQuFtxgXmDiFVgHRkRXIuluSkPTuANu84XBOQ0cBijqY8x4w==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-horizontal-rule": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.6.5.tgz", - "integrity": "sha512-NzbbzR9VQ0YY/NbjiRxuk7k1M0GfCx327I/TXc7/0YTQ2Am3QvOtrnpwQsM4P9920yhc6QT65ZP63LXcJFkiBg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.6.6.tgz", + "integrity": "sha512-cFEfv7euDpuLSe8exY8buwxkreKBAZY9Hn3EetKhPcLQo+ut5Y24chZTxFyf9b+Y0wz3UhOhLTZSz7fTobLqBA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-image": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.6.5.tgz", - "integrity": "sha512-JDwjtGMzcPd9aq2+3LjNoZpwsDaRrKr+Eam3WfBrmses9avezb5ajSU0aSECkUvIDvgzOm4W3Kemep9zsNdrjA==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.6.6.tgz", + "integrity": "sha512-dwJKvoqsr72B4tcTH8hXhfBJzUMs/jXUEE9MnfzYnSXf+CYALLjF8r/IkGYbxce62GP/bMDoj8BgpF8saeHtqA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-italic": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.6.5.tgz", - "integrity": "sha512-g+OC1KcgKu3xhaydTRDcw/Ydr+EEAVLelmtwNILv5UfypFDvcYZRQNqF5/m2ZJ6kjtXQQ8whC3ddMGUgxs29Bg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.6.6.tgz", + "integrity": "sha512-t7ZPsXqa8nJZZ/6D0rQyZ/KsvzLaSihC6hBTjUQ77CeDGV9PhDWjIcBW4OrvwraJDBd12ETBeQ2CkULJOgH+lQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-link": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.6.5.tgz", - "integrity": "sha512-AZCATebxJJdt4sJCkrbhTZZpyU2uqfLz7qv9FaVSUdYEMCDSFEDVfBhN5rKG+ZsXrrDo6fX7JO1xgkXGPWJNBw==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.6.6.tgz", + "integrity": "sha512-NJSR5Yf/dI3do0+Mr6e6nkbxRQcqbL7NOPxo5Xw8VaKs2Oe8PX+c7hyqN3GZgn6uEbZdbVi1xjAniUokouwpFg==", "dependencies": { "linkifyjs": "^4.1.0" }, @@ -8206,111 +8206,111 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-list-item": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.6.5.tgz", - "integrity": "sha512-Ks/m2spl3t3pX8W23H1clq0CQ2cGrLKdPxpSn3DAbZxYjT3SF7jpJaG3e+MKKh84PcjY0Xa3FextuLFRSLlgOw==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.6.6.tgz", + "integrity": "sha512-k+oEzZu2cgVKqPqOP1HzASOKLpTEV9m7mRVPAbuaaX8mSyvIgD6f+JUx9PvgYv//D918wk98LMoRBFX53tDJ4w==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-ordered-list": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.6.5.tgz", - "integrity": "sha512-brTZiwS3Lg3bFXCJABfJ1UOLiX08BNnWw/mOBYuKsnBvIPJQpJ98C1galnX77ihsjFtAUdVdm7xlwcX2q5x8Yg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.6.6.tgz", + "integrity": "sha512-AJwyfLXIi7iUGnK5twJbwdVVpQyh7fU6OK75h1AwDztzsOcoPcxtffDlZvUOd4ZtwuyhkzYqVkeI0f+abTWZTw==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-paragraph": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.6.5.tgz", - "integrity": "sha512-RGevQMVpqTxuU9Gz2G4STOVcqoP9i9Fc0QurM/B0mDjs5onzCCJLd6qIqxuT7WfFYILe8q3QIu8KB+XGmvmobQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.6.6.tgz", + "integrity": "sha512-fD/onCr16UQWx+/xEmuFC2MccZZ7J5u4YaENh8LMnAnBXf78iwU7CAcmuc9rfAEO3qiLoYGXgLKiHlh2ZfD4wA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-placeholder": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.6.5.tgz", - "integrity": "sha512-ysPt++WIN9j57lQJFk5UmKK1lPMrbREAB206VrOqDmsehThegpgl4rRWQP6G4AUr+ieytYPV49vjJtZQGxo3WA==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.6.6.tgz", + "integrity": "sha512-J0ZMvF93NsRrt+R7IQ3GhxNq32vq+88g25oV/YFJiwvC48HMu1tQB6kG1I3LJpu5b8lN+LnfANNqDOEhiBfjaA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/extension-strike": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.6.5.tgz", - "integrity": "sha512-ehA++vHPMmLNhfjKFDHJR6FAh3wziIfehaZShuvkjlF7mryTa19y7KJem+8d0wv2w5AwoFOMBJmC7EBXyG0boQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.6.6.tgz", + "integrity": "sha512-Ze8KhGk+wzSJSJRl5fbhTI6AvPu2LmcHYeO3pMEH8u4gV5WTXfmKJVStEIAzkoqvwEQVWzXvy8nDgsFQHiojPg==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-text": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.6.5.tgz", - "integrity": "sha512-ItYw4K2EjP4yNBP2BVa77kimdvpsEqDy0Iic+d46F3SM60wLMhp1qmauZhwk5oo89sDuMz3DI0p+R4lI43wprA==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.6.6.tgz", + "integrity": "sha512-e84uILnRzNzcwK1DVQNpXVmBG1Cq3BJipTOIDl1LHifOok7MBjhI/X+/NR0bd3N2t6gmDTWi63+4GuJ5EeDmsg==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-underline": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.6.5.tgz", - "integrity": "sha512-OUkCVviAe1m5j0xZZHDdNhX4kd7TpasWJn9TvEhAoE9zCaCn54T1xSFGWq61Eu4qICn+KPjgWXWOGwniKEIrKg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.6.6.tgz", + "integrity": "sha512-3A4HqsDM/AFb2VaeWACpGexjgI257kz0yU4jNV8uyydDR2KhqeinuEnoSoOmx9T3pL006TWfPg4vaQYPO3qvrQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/extension-youtube": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.6.5.tgz", - "integrity": "sha512-6sH4r+FUJkkGufGuGlbgUBhosPmgL/ZCJg12IrjbswFOREfBdx9AecWUwKQKhP4mVXd1noneoILJJ9uO/iHy9w==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.6.6.tgz", + "integrity": "sha512-p25UnWrUYjKS7lr6bEYfmdSka67Xxylh02fdoejzuDS412oOyh1Pr0MPlRH6AT+jdolEZ7vHNF/YZ9HYjCqgJg==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5" + "@tiptap/core": "^2.6.6" } }, "node_modules/@tiptap/html": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/html/-/html-2.6.5.tgz", - "integrity": "sha512-pHaVyoGIXPBPMmKwStao8pad+ivxcMX13Zji5WrYocunhmnFiuUR7SnueING9JWInqmQ+VsaT7yHLaWBYcDupg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/html/-/html-2.6.6.tgz", + "integrity": "sha512-OjS+rmu3jNTGbt0BR9pKVaK2w2y8dhnWOqqu4Fn7CKMJGD0HkDM+pYV/ks5ZU2TgTkPT6edosOantnrkvJJcmQ==", "dependencies": { "zeed-dom": "^0.10.9" }, @@ -8319,14 +8319,14 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tiptap/pm": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.6.5.tgz", - "integrity": "sha512-5n7O7MdVATwJTNMs5mW0qngtIfaxzBXnkO6gaQj169HgmDHKA0ST60r/G6r6yQ/QU6UCt6ey9Stgr7ko1eU1NQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.6.6.tgz", + "integrity": "sha512-56FGLPn3fwwUlIbLs+BO21bYfyqP9fKyZQbQyY0zWwA/AG2kOwoXaRn7FOVbjP6CylyWpFJnpRRmgn694QKHEg==", "dependencies": { "prosemirror-changeset": "^2.2.1", "prosemirror-collab": "^1.3.1", @@ -8353,12 +8353,12 @@ } }, "node_modules/@tiptap/react": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/react/-/react-2.6.5.tgz", - "integrity": "sha512-mhlsbBzP7a1+wFNESpmfOH/L5OY96BrEb1cOWLauU/Xs/EG+++cVR5bWt4WenWJ5GFcDsRDuMuza1WFyXiLcUQ==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/react/-/react-2.6.6.tgz", + "integrity": "sha512-AUmdb/J1O/vCO2b8LL68ctcZr9a3931BwX4fUUZ1kCrCA5lTj2xz0rjeAtpxEdzLnR+Z7q96vB7vf7bPYOUAew==", "dependencies": { - "@tiptap/extension-bubble-menu": "^2.6.5", - "@tiptap/extension-floating-menu": "^2.6.5", + "@tiptap/extension-bubble-menu": "^2.6.6", + "@tiptap/extension-floating-menu": "^2.6.6", "@types/use-sync-external-store": "^0.0.6", "use-sync-external-store": "^1.2.2" }, @@ -8367,37 +8367,37 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5", + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0" } }, "node_modules/@tiptap/starter-kit": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.6.5.tgz", - "integrity": "sha512-TrI2GQEw/g9lOU+u/qDvgwI25wgvnEwVyldMvgriRDveiK8lPrMyVfPbFyo78bqXQ1Rz3vx9/fgzhb59GBn52g==", - "dependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/extension-blockquote": "^2.6.5", - "@tiptap/extension-bold": "^2.6.5", - "@tiptap/extension-bullet-list": "^2.6.5", - "@tiptap/extension-code": "^2.6.5", - "@tiptap/extension-code-block": "^2.6.5", - "@tiptap/extension-document": "^2.6.5", - "@tiptap/extension-dropcursor": "^2.6.5", - "@tiptap/extension-gapcursor": "^2.6.5", - "@tiptap/extension-hard-break": "^2.6.5", - "@tiptap/extension-heading": "^2.6.5", - "@tiptap/extension-history": "^2.6.5", - "@tiptap/extension-horizontal-rule": "^2.6.5", - "@tiptap/extension-italic": "^2.6.5", - "@tiptap/extension-list-item": "^2.6.5", - "@tiptap/extension-ordered-list": "^2.6.5", - "@tiptap/extension-paragraph": "^2.6.5", - "@tiptap/extension-strike": "^2.6.5", - "@tiptap/extension-text": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.6.6.tgz", + "integrity": "sha512-zb9xIg3WjG9AsJoyWrfqx5SL9WH7/HTdkB79jFpWtOF/Kaigo7fHFmhs2FsXtJMJlcdMTO2xeRuCYHt5ozXlhg==", + "dependencies": { + "@tiptap/core": "^2.6.6", + "@tiptap/extension-blockquote": "^2.6.6", + "@tiptap/extension-bold": "^2.6.6", + "@tiptap/extension-bullet-list": "^2.6.6", + "@tiptap/extension-code": "^2.6.6", + "@tiptap/extension-code-block": "^2.6.6", + "@tiptap/extension-document": "^2.6.6", + "@tiptap/extension-dropcursor": "^2.6.6", + "@tiptap/extension-gapcursor": "^2.6.6", + "@tiptap/extension-hard-break": "^2.6.6", + "@tiptap/extension-heading": "^2.6.6", + "@tiptap/extension-history": "^2.6.6", + "@tiptap/extension-horizontal-rule": "^2.6.6", + "@tiptap/extension-italic": "^2.6.6", + "@tiptap/extension-list-item": "^2.6.6", + "@tiptap/extension-ordered-list": "^2.6.6", + "@tiptap/extension-paragraph": "^2.6.6", + "@tiptap/extension-strike": "^2.6.6", + "@tiptap/extension-text": "^2.6.6", + "@tiptap/pm": "^2.6.6" }, "funding": { "type": "github", @@ -8405,16 +8405,16 @@ } }, "node_modules/@tiptap/suggestion": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-2.6.5.tgz", - "integrity": "sha512-yjJUwhkHTfGNOt/zzGRVrkNyBkkfU42mmqCntbrggAVbkw2QDD7QqDpYZOqLGADnkfct6DYiDQHXh1pMYi+Caw==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-2.6.6.tgz", + "integrity": "sha512-jogG0QgGit9UtTznVnhQfNImZfQM89NR0is20yRQzC0HmD8B8f3jmGrotG63Why2oKbeoe3CpM5/5eDE/paqCA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.6.5", - "@tiptap/pm": "^2.6.5" + "@tiptap/core": "^2.6.6", + "@tiptap/pm": "^2.6.6" } }, "node_modules/@tootallnate/once": { @@ -19424,9 +19424,9 @@ } }, "node_modules/prosemirror-tables": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.4.0.tgz", - "integrity": "sha512-fxryZZkQG12fSCNuZDrYx6Xvo2rLYZTbKLRd8rglOPgNJGMKIS8uvTt6gGC38m7UCu/ENnXIP9pEz5uDaPc+cA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.5.0.tgz", + "integrity": "sha512-VMx4zlYWm7aBlZ5xtfJHpqa3Xgu3b7srV54fXYnXgsAcIGRqKSrhiK3f89omzzgaAgAtDOV4ImXnLKhVfheVNQ==", "dependencies": { "prosemirror-keymap": "^1.1.2", "prosemirror-model": "^1.8.1", @@ -19469,9 +19469,9 @@ } }, "node_modules/prosemirror-view": { - "version": "1.33.11", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.33.11.tgz", - "integrity": "sha512-K0z9oMf6EI2ZifS9yW8PUPjEw2o1ZoFAaNzvcuyfcjIzsU6pJMo3tk9r26MyzEsuGHXZwmKPEmrjgFd78biTGA==", + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.34.0.tgz", + "integrity": "sha512-oBFfImMwV9siXRW20hJ/pASfYz7dcHqBuRR8xtF4/Hot9dGwfXMjTgTQKhTFyr+iF0Wn4EFGXACab5dywNOaYQ==", "dependencies": { "prosemirror-model": "^1.20.0", "prosemirror-state": "^1.0.0", @@ -22192,9 +22192,9 @@ } }, "node_modules/tiptypr": { - "version": "0.0.86", - "resolved": "https://registry.npmjs.org/tiptypr/-/tiptypr-0.0.86.tgz", - "integrity": "sha512-0LglvLrtud1rOGY7nTaMUGa8gaWibnkomD6FylyfX3g8B9xGsv3B/1ZsUrhlrsIgzsG6agvZ1WJ0Jo5omcyb2Q==", + "version": "0.0.87", + "resolved": "https://registry.npmjs.org/tiptypr/-/tiptypr-0.0.87.tgz", + "integrity": "sha512-SJa61bLqBWhrlD8t/xsX/E98ueInHVepFqNM+AVHCt4Z/xIAiTip++VhgA4hynRsF+w+HeDX6qXk4Fq8oPr0+Q==", "dependencies": { "@geist-ui/icons": "^1.0.2", "@heroicons/react": "^1.0.5", @@ -24270,7 +24270,7 @@ }, "prototypr-packages/paper-interview": { "name": "@prototypr/paper-interview", - "version": "0.0.471", + "version": "0.0.472", "extraneous": true, "license": "UNLICENSED", "dependencies": { @@ -24312,7 +24312,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-markdown": "^6.0.0", - "tiptypr": "^0.0.86" + "tiptypr": "^0.0.87" }, "devDependencies": { "@babel/cli": "^7.24.8", diff --git a/package.json b/package.json index 0f14a9d1..0289efc2 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "swiper": "^8.0.0", "swr": "^1.3.0", "tailwindcss-border-gradient-radius": "^3.0.1", - "tiptypr": "^0.0.86", + "tiptypr": "^0.0.87", "tsparticles": "^2.7.1", "uuidv4": "^6.2.13", "yup": "^0.32.11", @@ -168,7 +168,7 @@ "tailwindcss-scoped-groups": "^2.0.0" }, "optionalDependencies": { - "@prototypr/paper-interview": "^0.0.471", + "@prototypr/paper-interview": "^0.0.472", "@prototypr/prototypr-postie": "^1.0.91" } } diff --git a/pages/n/[slug].js b/pages/n/[slug].js new file mode 100644 index 00000000..4a77bc94 --- /dev/null +++ b/pages/n/[slug].js @@ -0,0 +1,79 @@ +import { useEffect, useState } from "react"; +import useUser from "@/lib/iron-session/useUser"; +import { useRouter } from "next/router"; +import dynamic from "next/dynamic"; + +import "tippy.js/dist/svg-arrow.css"; +import "tippy.js/animations/scale-subtle.css"; +import "react-datepicker/dist/react-datepicker.css"; +import { typrNotesProps } from "@/lib/editor/typrNotesProps"; +import Layout from "@/components/new-index/layoutForIndex"; + +const Tiptypr = dynamic(() => import("tiptypr"), { + ssr: false, +}); + +/** + * + * Editor for slug page + * + * @returns + */ +export default function EditPostPage() { + const { user, isLoading, mutateUser } = useUser({ + redirectTo: "/onboard", + redirectIfFound: false, + }); + + const router = useRouter(); + const [postId, setPostId] = useState(-1); + + useEffect(() => { + if (router.isReady && (router.query.slug || router.query.id)) { + setPostId(router.query.slug || router.query.id || -1); + } + }, [router.isReady, router.query.slug, router.query.id]); + + return ( + +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ + ); +} diff --git a/pages/note/[slug].js b/pages/note/[slug].js new file mode 100644 index 00000000..74d081bc --- /dev/null +++ b/pages/note/[slug].js @@ -0,0 +1,471 @@ +import dynamic from "next/dynamic"; + +import { useRouter } from "next/router"; +import ErrorPage from "next/error"; +import Container from "@/components/container"; +import useUser from "@/lib/iron-session/useUser"; +import Date from "@/components/date"; + +// import ProductItem from "@/components/new-index/ProductItem"; + +const AuthorBio = dynamic(() => import("@/components/authorBio"), { + ssr: true, +}); +// const SourcePanel = dynamic(() => import("@/components/new-index/SourcePanel")); +import { useIntl } from "react-intl"; + +import Layout from "@/components/layoutForBlogPost"; + +import { getAllPostsWithSlug, getPost } from "@/lib/api"; +const NoticeTranslation = dynamic( + () => import("@/components/notice-translation"), + { ssr: true } +); + +import { transformPost, transformPostList } from "@/lib/locale/transformLocale"; +import { useEffect } from "react"; +import Link from "next/link"; +import Image from "next/image"; +import gumletLoader from "@/components/new-index/gumletLoader"; +import { TOTAL_STATIC_POSTS } from "@/lib/constants"; +import PostHeader from "@/components/post-header"; +import SocialShare from "@/components/SocialShare"; +import PostGroupRow from "@/components/v4/layout/PostGroupRow"; +import { addTwitterScript } from "@/lib/addTwitterScript"; +import { createB64WithFallback } from "@/lib/utils/blurHashToDataURL"; +import getSponsors from "@/lib/utils/getSponsors"; + +import AdCard from "@/components/v4/card/AdCard"; +import { NoteReceipt, PenLineSimple } from "@/components/icons"; +import AuthorSidebar from "@/components/AuthorSidebar"; +import LikeButton from "@/components/LikeButton"; +import isoToReadableDate from "@/lib/utils/isoToReadableDate"; +import { Note } from "@phosphor-icons/react"; + +// import ToolBackgroundCard from "@/components/v4/card/ToolBackgroundCard"; +const StickyFooterCTA = dynamic(() => import("@/components/StickyFooterCTA"), { + ssr: false, +}); +// const WMPostTracker = dynamic( +// () => import("@/components/WebMonetization/WMPostTracker"), +// { +// ssr: false, +// } +// ); + +export default function Post({ + post, + preview, + relatedPosts, + postContent, + sponsors, + navSponsor, + date, +}) { + const router = useRouter(); + + const { user, isLoading } = useUser({ + redirectIfFound: false, + }); + + if (!router.isFallback && !post?.attributes?.slug) { + return ( + <> + {JSON.stringify(post)} + + + ); + } + + const tags = post?.attributes?.tags?.data; + const title = post?.attributes?.seo?.opengraphTitle + ? post?.attributes?.seo?.opengraphTitle + : post?.attributes?.title && post.attributes.title; + const description = post?.attributes?.seo?.opengraphDescription + ? post?.attributes?.seo?.opengraphDescription + : post?.attributes?.excerpt && post.attributes.excerpt; + const image = post?.attributes?.seo?.opengraphImage + ? post?.attributes?.seo?.opengraphImage + : post?.attributes?.featuredImage?.data?.attributes?.url + ? post?.attributes?.featuredImage?.data?.attributes?.url + : post?.legacyFeaturedImage + ? post?.legacyFeaturedImage?.mediaItemUrl + : post?.ogImage + ? post?.ogImage.opengraphImage + : "https://s3-us-west-1.amazonaws.com/tinify-bucket/%2Fprototypr%2Ftemp%2F1595435549331-1595435549330.png"; + + const canonical = post?.attributes?.seo?.canonical + ? post?.attributes?.seo?.canonical + : post?.attributes?.slug && + `https://prototypr.io/post/${post?.attributes.slug}`; + const url = post?.attributes?.seo?.canonical + ? post?.attributes?.seo?.canonical + : post?.attributes?.slug && + `https://prototypr.io/post/${post?.attributes.slug}`; + + const author = post.attributes?.author?.data?.attributes; + const avatar = author?.avatar?.data?.attributes?.url + ? author?.avatar?.data?.attributes?.url + : author?.legacyAvatar + ? author?.legacyAvatar + : "https://s3-us-west-1.amazonaws.com/tinify-bucket/%2Fprototypr%2Ftemp%2F1595435549331-1595435549330.png"; + + const authorName = `${author?.firstName ? author?.firstName : ""}${ + author?.lastName ? " " + author?.lastName : "" + } ${!author?.firstName && !author?.lastName ? author?.name : ""}`; + + const paymentPointer = + post?.attributes?.author?.data?.attributes?.paymentPointer; + const intl = useIntl(); + + useEffect(() => { + addTwitterScript(); + }, []); + + useEffect(() => { + var tweets = document.getElementsByClassName("twitter-tweet"); + + for (var x = 0; x < tweets.length; x++) { + let id = tweets[x]?.getAttribute("tweetId"); + tweets[x].outerHTML = ``; + + window?.twttr?.widgets?.createTweet(id, tweets[x]); + } + }, [post.attributes?.content]); + + return ( + + +
+ {user?.isAdmin && ( +
+ {/* */} +
+ )} + {!user?.isAdmin && user?.id == post?.attributes?.author?.data?.id ? ( +
+ {/* */} +
+ ) : null} + + {/* */} +
+ {/* {post?.id && process.env.NODE_ENV === "production" && ( + + )} */} + {router.isFallback ? ( +

+ Loading +

+ ) : ( + <> + {/* */} +
+
+
+
+
+
+ +
Note
+
+

+ {title} +

+ {author ? ( +
+
+
+ +
+
+ {avatar && ( + {authorName} + )} +
+
+ {authorName} +
+
+ +
+ {/* {date && ( +
+ Published +
+ )} */} +
+
+ {/* */} +
+ +
+
+
+ ) : null} + +
+ +
+
+
+
+
+ + {/*
+
+
*/} +
+
+
+
+
+ {/* */} + {/* + {post.attributes?.title} | Prototypr + */} + {/* */} + {/* */} + {/*
+ +
*/} + {/*
+
+ +
+
*/} + + )} +
+ + {/* */} +
+ {/*
+
+ {!user?.isLoggedIn && } +
+
*/} + {!user?.isLoggedIn && ( + + )} +
+
+
+ +
+

+ Related Articles +

+
+ {relatedPosts?.data?.length > 0 ? ( + + ) : null} +
+
+ {/* {post.attributes?.template !== 2 && ( +
+
+ +
+
+ )} */} +
+
+ ); +} +export async function getStaticProps({ params, preview = null, locale }) { + const data = await getPost(params.slug, preview, "note"); + //if no post found, 404 + if (!data?.posts?.data[0]) { + return { + props: { + post: null, + }, + // revalidate:30 + }; + } + + let relatedPosts = {}; + + const postData = transformPost(data?.posts.data[0], locale); + relatedPosts.data = transformPostList( + data?.posts.data[0].attributes.relatedArticles, + locale + ); + + for (let i = 0; i < relatedPosts.data.length; i++) { + relatedPosts.data[i].base64 = createB64WithFallback( + relatedPosts?.data[i]?.featuredImage?.data?.attributes?.blurhash + ); + } + + // console.log(data?.posts.data[0]?.attributes?.relatedArticles) + const removeFirstImageIfMatchModule = await import("@/lib/removeFirstImage"); + const removeFirstImageIfMatch = removeFirstImageIfMatchModule.default; + + const gumletPostContentLoaderModule = await import( + "@/lib/gumletPostContentLoader" + ); + const gumletPostContentLoader = gumletPostContentLoaderModule.default; + + const post = data?.posts?.data[0]; + + post.attributes.base64 = createB64WithFallback( + post?.attributes?.featuredImage?.data?.attributes?.blurhash + ); + + const image = post?.attributes?.featuredImage?.data?.attributes?.url + ? post?.attributes?.featuredImage?.data?.attributes?.url + : post?.attributes?.seo?.opengraphImage + ? post?.attributes?.seo?.opengraphImage + : post?.legacyFeaturedImage + ? post?.legacyFeaturedImage?.mediaItemUrl + : post?.ogImage + ? post?.ogImage.opengraphImage + : "https://s3-us-west-1.amazonaws.com/tinify-bucket/%2Fprototypr%2Ftemp%2F1595435549331-1595435549330.png"; + + let html = removeFirstImageIfMatch(post?.attributes?.content, image); + html = gumletPostContentLoader(html); + + const { navSponsor, sponsors } = await getSponsors(); + + const insertBannerAdsModule = await import("@/lib/insertBannerAds"); + const insertBannerAds = insertBannerAdsModule.default; + + html = insertBannerAds(html, navSponsor, sponsors); + + const date = isoToReadableDate(post.attributes.date); + + return { + props: { + preview, + postContent: html, + post: { + ...postData, + }, + sponsors: sponsors?.length ? sponsors : [], + navSponsor, + date, + relatedPosts: relatedPosts, + }, + // revalidate: 20, + }; +} + +export async function getStaticPaths({ locales }) { + const allPosts = await getAllPostsWithSlug( + "note", + process.env.NODE_ENV || + process.env.NEXT_PUBLIC_HOME_URL.indexOf("localhost") > -1 + ? TOTAL_STATIC_POSTS + : 20 + ); + + return { + paths: + (allPosts && + allPosts.data?.map(post => { + // console.log(post.attributes.slug) + return `/note/${post.attributes.slug}`; + })) || + [], + fallback: "blocking", + }; +} diff --git a/pages/notes/sitemap/[pageNo]/index.js b/pages/notes/sitemap/[pageNo]/index.js new file mode 100644 index 00000000..f57bf023 --- /dev/null +++ b/pages/notes/sitemap/[pageNo]/index.js @@ -0,0 +1,38 @@ +import { getServerSideSitemap } from 'next-sitemap' +import { getAllPostsForSitemap } from "@/lib/api"; + +export const getServerSideProps = async (ctx) => { + // Method to source urls from cms + // const urls = await fetch('https//example.com/api') + console.log(ctx.params.pageNo) + let fields = [] + + const first12Posts = await getAllPostsForSitemap("note", parseInt(ctx.params.pageNo)); + + for(var x = 0;x -https://prototypr.iodaily0.72024-08-20T20:58:32.685Z -https://prototypr.io/admindaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/admin/draftsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/admin/publisheddaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/applydaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/apply/formdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/dashboard/partnerdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/dashboard/partner/adsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/dashboard/partner/edit-companydaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/dashboard/partner/jobsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/dashboard/statsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/feed.xmldaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/jobsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/jobs/postdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/newsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/newsletterweekly0.72024-08-20T20:58:32.687Z -https://prototypr.io/notedaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/payoutsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/peopledaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/postsweekly0.72024-08-20T20:58:32.687Z -https://prototypr.io/rss/jobs.xmldaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/rss/posts.xmldaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/rss/tools.xmldaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/sign-indaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/sponsor/bookingdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/sponsor/booking/checkout-completedaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolboxweekly0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/postdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/post/successdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/topicsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/web-monetizationdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/web-monetization/payment-pointerdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/writedaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/typrdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/jobsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/news/post-4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/news/post-3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/news/enterprise-design-system-how-to-build-and-scaledaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/news/post-1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/news/3d-scenes-reactdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/news/post-2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/news/papa-onedaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/newsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/jobs/111daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/jobs/113daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/onboarddaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/newsletterdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/peopledaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ESdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/postsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/post/design-tokens-cheatsheetdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/post/the-origins-of-product-designdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/people/page/0daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/sign-indaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/0daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/5daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/6daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/7daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/8daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/9daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/10daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/11daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/12daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/13daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/14daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/15daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/16daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/17daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/18daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/19daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/20daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/21daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/22daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/23daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/page/24daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/sponsordaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/sponsor/bookingdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/page/0daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/chatbot_generators/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/page/0daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/conversational-design-tools/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/toolboxdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/creative-commons-searchdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/elementz-library-for-easy-modern-developmentdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/3d/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/3d/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/3d/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/augmented_reality/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/augmented_reality/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/curated_resources/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/curated_resources/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/curated_resources/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/viewer/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/virtual_reality/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/virtual_reality/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/augmented-reality-tools/virtual_reality/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/posts/uxdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/posts/uidaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/posts/accessibilitydaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/0daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/5daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/6daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/7daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/8daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/9daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/10daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/11daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/12daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/13daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/14daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/15daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/16daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/17daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/18daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/19daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/20daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/21daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/22daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/23daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/24daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/25daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/26daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/27daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/28daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/29daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/30daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/31daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/32daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/33daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/34daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/35daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/36daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/37daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/38daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/39daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/40daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/41daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/42daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/43daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/44daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/45daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/46daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/47daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/48daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/49daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/50daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/51daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/52daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/53daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/54daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/55daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/56daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/57daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/58daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/59daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/60daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/61daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/62daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/63daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/64daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/65daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/66daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/67daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/68daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/69daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/70daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/71daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/72daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/73daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/74daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/75daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/76daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/77daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/78daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/79daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/80daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/81daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/82daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/83daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/84daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/85daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/86daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/87daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/88daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/89daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/90daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/91daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/92daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/93daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/page/94daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/posts/ux/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/posts/ui/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/posts/accessibility/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/people/hoangnguyen/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/design/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/design/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/5daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/6daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/7daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/8daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/9daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/10daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/11daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/12daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/13daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/prototyping/page/14daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/handoff/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/handoff/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/handoff/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/handoff/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/handoff/page/5daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/animation/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/animation/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/5daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/6daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/7daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/collaboration/page/8daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/interactions/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/interactions/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/analytics/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/specs/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/prototyping/heatmap/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/0daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/4daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/5daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/6daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/7daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/8daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/9daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/10daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/11daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/12daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/13daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ux-tools/page/14daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/es-ES/topicsdaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/topic/ux/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/topic/ui/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/topic/accessibility/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/people/hoangnguyendaily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ai/page/1daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ai/page/2daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ai/page/3daily0.72024-08-20T20:58:32.686Z -https://prototypr.io/toolbox/ai/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/accessibility/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/6daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/7daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/color/page/8daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/css/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/css/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/css/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/css/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/icons/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/icons/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/icons/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/icons/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/icons/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/icons/page/6daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/illustration/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/illustration/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/illustration/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/illustration/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/illustration/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/illustration/page/6daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/analysis/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/analysis/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/analysis/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/analysis/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/journey/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/journey/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/journey/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/research/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/research/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/xd/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/xd/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/6daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/7daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/figma/page/8daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/sketch/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/sketch/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/sketch/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/sketch/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/sketch/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/sketch/page/6daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/sketch/page/7daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/6daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/7daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/8daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/9daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/10daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/11daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/12daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/13daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/14daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/design/page/15daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/handoff/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/handoff/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/handoff/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/handoff/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/handoff/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/interactions/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/interactions/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ar/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ar/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/vr/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/vr/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/vr/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/chatbots/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/chatbots/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/chatbots/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/chatbots/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/heatmaps/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/record/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/record/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/recruiting/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/transcribe/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/survey/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/3daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/4daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/5daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/6daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/7daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/collaboration/page/8daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/mindmapping/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/moodboards/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/whiteboard/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/feedback/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/feedback/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/kanban/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/notes/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/notes/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/roadmapping/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/workspace/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/workspace/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/journey/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/personas/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/personas/page/2daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-tools/userflow/page/1daily0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/augmented-reality-toolsweekly0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/conversational-design-toolsweekly0.72024-08-20T20:58:32.687Z -https://prototypr.io/toolbox/ux-toolsweekly0.72024-08-20T20:58:32.687Z -https://prototypr.io/prototypingweekly0.72024-08-20T20:58:32.687Z +https://prototypr.iodaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/admindaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/admin/draftsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/admin/publisheddaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/applydaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/apply/formdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/dashboard/partnerdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/dashboard/partner/adsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/dashboard/partner/edit-companydaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/dashboard/partner/jobsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/dashboard/statsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/feed.xmldaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/jobsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/jobs/postdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/newsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/newsletterweekly0.72024-08-23T11:07:08.526Z +https://prototypr.io/notedaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/payoutsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/peopledaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/postsweekly0.72024-08-23T11:07:08.526Z +https://prototypr.io/rss/jobs.xmldaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/rss/posts.xmldaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/rss/tools.xmldaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/sign-indaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/sponsor/bookingdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/sponsor/booking/checkout-completedaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolboxweekly0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/postdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/post/successdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/topicsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/web-monetizationdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/web-monetization/payment-pointerdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/writedaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/typrdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/jobsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/jobs/111daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/jobs/113daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/news/post-4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/news/post-3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/news/enterprise-design-system-how-to-build-and-scaledaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/news/post-1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/news/3d-scenes-reactdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/news/post-2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/news/papa-onedaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/newsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/newsletterdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/onboarddaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/peopledaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/people/page/0daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ESdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/postsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/post/design-tokens-cheatsheetdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/post/the-origins-of-product-designdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/0daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/5daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/6daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/7daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/8daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/9daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/10daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/11daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/12daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/13daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/14daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/15daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/16daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/17daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/18daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/19daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/20daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/21daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/22daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/23daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/page/24daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/sign-indaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/sponsor/bookingdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/sponsordaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/creative-commons-searchdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/elementz-library-for-easy-modern-developmentdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/posts/uxdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/posts/uidaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/posts/accessibilitydaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/posts/ux/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/posts/ui/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/posts/accessibility/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/people/hoangnguyendaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/people/hoangnguyen/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/page/0daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/toolboxdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/page/0daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/chat_design/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/conversational-design-tools/chatbot_generators/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/design/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/design/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/5daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/6daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/7daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/8daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/9daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/10daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/11daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/12daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/13daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/prototyping/page/14daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/handoff/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/handoff/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/handoff/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/handoff/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/handoff/page/5daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/animation/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/animation/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/5daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/6daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/7daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/collaboration/page/8daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/interactions/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/interactions/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/analytics/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/specs/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/prototyping/heatmap/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/0daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/5daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/6daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/7daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/8daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/9daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/10daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/11daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/12daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/13daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/14daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/15daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/16daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/17daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/18daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/19daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/20daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/21daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/22daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/23daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/24daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/25daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/26daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/27daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/28daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/29daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/30daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/31daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/32daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/33daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/34daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/35daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/36daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/37daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/38daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/39daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/40daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/41daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/42daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/43daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/44daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/45daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/46daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/47daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/48daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/49daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/50daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/51daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/52daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/53daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/54daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/55daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/56daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/57daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/58daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/59daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/60daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/61daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/62daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/63daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/64daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/65daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/66daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/67daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/68daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/69daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/70daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/71daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/72daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/73daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/74daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/75daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/76daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/77daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/78daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/79daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/80daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/81daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/82daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/83daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/84daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/85daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/86daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/87daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/88daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/89daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/90daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/91daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/92daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/93daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/page/94daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/3d/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/3d/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/3d/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/augmented_reality/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/augmented_reality/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/curated_resources/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/curated_resources/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/curated_resources/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/viewer/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/virtual_reality/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/virtual_reality/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/augmented-reality-tools/virtual_reality/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/0daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/5daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/6daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/7daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/8daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/9daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/10daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/11daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/12daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/13daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ux-tools/page/14daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/es-ES/topicsdaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/note/mangodaily0.72024-08-23T11:07:08.525Z +https://prototypr.io/note/m05x3qz6uc534smrqt--920daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/topic/ux/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/topic/ui/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/topic/accessibility/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ai/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ai/page/2daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ai/page/3daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/ai/page/4daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/accessibility/page/1daily0.72024-08-23T11:07:08.525Z +https://prototypr.io/toolbox/color/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/color/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/color/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/color/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/color/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/color/page/6daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/color/page/7daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/color/page/8daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/css/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/css/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/css/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/css/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/icons/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/icons/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/icons/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/icons/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/icons/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/icons/page/6daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/illustration/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/illustration/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/illustration/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/illustration/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/illustration/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/illustration/page/6daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/analysis/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/analysis/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/analysis/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/analysis/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/journey/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/journey/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/journey/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/research/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/research/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/xd/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/xd/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/6daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/7daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/figma/page/8daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/sketch/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/sketch/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/sketch/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/sketch/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/sketch/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/sketch/page/6daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/sketch/page/7daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/6daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/7daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/8daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/9daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/10daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/11daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/12daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/13daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/14daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/design/page/15daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/handoff/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/handoff/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/handoff/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/handoff/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/handoff/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/interactions/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/interactions/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ar/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ar/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/vr/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/vr/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/vr/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/chatbots/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/chatbots/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/chatbots/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/chatbots/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/heatmaps/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/record/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/record/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/recruiting/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/transcribe/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/survey/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/3daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/4daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/5daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/6daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/7daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/collaboration/page/8daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/mindmapping/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/moodboards/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/whiteboard/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/feedback/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/feedback/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/kanban/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/notes/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/notes/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/roadmapping/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/workspace/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/workspace/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/journey/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/personas/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/personas/page/2daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-tools/userflow/page/1daily0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/augmented-reality-toolsweekly0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/conversational-design-toolsweekly0.72024-08-23T11:07:08.526Z +https://prototypr.io/toolbox/ux-toolsweekly0.72024-08-23T11:07:08.526Z +https://prototypr.io/prototypingweekly0.72024-08-23T11:07:08.526Z \ No newline at end of file diff --git a/styles/posts-page.scss b/styles/posts-page.scss index a0e7e097..79674f9f 100644 --- a/styles/posts-page.scss +++ b/styles/posts-page.scss @@ -804,4 +804,37 @@ figure, pre{ // max-width: 50rem!important; margin-left: 0rem!important; } + } + + .menu-items-container { + .menu-item { + opacity: 0; + transform: scale(0.5); + animation: bubbleIn 0.3s ease-out forwards; + } + + @for $i from 1 through 5 { + .menu-item:nth-child(#{$i}) { + animation-delay: #{$i * 0.05}s; + } + } + } + + @keyframes bubbleIn { + 0% { + opacity: 0; + transform: scale(0.5); + } + 70% { + opacity: 1; + transform: scale(1.1); + } + 100% { + opacity: 1; + transform: scale(1); + } + } + + [data-tippy-root]{ + z-index: 50!important; } \ No newline at end of file