From d67cbcae85d0d2c5ae4c4b51b464b462f6dea1f0 Mon Sep 17 00:00:00 2001 From: DefectingCat Date: Mon, 3 Jan 2022 10:15:20 +0800 Subject: [PATCH] Fix comment disappear * Add ts-node --- __tests__/components/BackToTop.test.tsx | 17 +++++ components/Footer.tsx | 4 +- components/post/PostComment.tsx | 11 ++-- package.json | 1 + yarn.lock | 82 ++++++++++++++++++++++++- 5 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 __tests__/components/BackToTop.test.tsx diff --git a/__tests__/components/BackToTop.test.tsx b/__tests__/components/BackToTop.test.tsx new file mode 100644 index 0000000..ea2cfa0 --- /dev/null +++ b/__tests__/components/BackToTop.test.tsx @@ -0,0 +1,17 @@ +/** + * @jest-environment jsdom + */ + +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import BackToTop from 'components/BackToTop'; + +describe('Back to top', () => { + it('should render', () => { + const { container, rerender } = render( + {}} /> + ); + + expect(container).toBeInTheDocument(); + }); +}); diff --git a/components/Footer.tsx b/components/Footer.tsx index 85f6478..2f179c1 100644 --- a/components/Footer.tsx +++ b/components/Footer.tsx @@ -8,11 +8,11 @@ const Footer: FC = () => { <> - + ©{YEAR} 小肥羊 - + Powered by Next.js ❤️ Chakra UI diff --git a/components/post/PostComment.tsx b/components/post/PostComment.tsx index 1939595..aa58ee9 100644 --- a/components/post/PostComment.tsx +++ b/components/post/PostComment.tsx @@ -18,11 +18,14 @@ const PostComment: FC = () => { * When get the message, its mean Giscus component loading completed. */ const handleMessage = useCallback((event: MessageEvent) => { - // if (event.origin !== 'https://giscus.app') return; - if (!(typeof event.data === 'object' && event.data.giscus)) return; - + if ( + event.origin === 'https://giscus.app' && + event.data === '[iFrameResizerChild]Ready' + ) { + setCommentLoaded(true); + } + // if (!(typeof event.data === 'object' && event.data.giscus)) return; // const giscusData = event.data.giscus; - setCommentLoaded(true); }, []); useEffect(() => { diff --git a/package.json b/package.json index 3660928..c033eea 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "identity-obj-proxy": "^3.0.0", "jest": "^27.4.5", "react-test-renderer": "^17.0.2", + "ts-node": "^10.4.0", "typescript": "4.4.4" } } diff --git a/yarn.lock b/yarn.lock index 7e8f274..f1c0795 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1068,6 +1068,18 @@ dependencies: "@chakra-ui/utils" "1.9.1" +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.nlark.com/@cspotcode/source-map-consumer/download/@cspotcode/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha1-M79LeznBeIIWBvZpu8RHpqYpeGs= + +"@cspotcode/source-map-support@0.7.0": + version "0.7.0" + resolved "https://registry.npmmirror.com/@cspotcode/source-map-support/download/@cspotcode/source-map-support-0.7.0.tgz?cache=0&sync_timestamp=1633908984001&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40cspotcode%2Fsource-map-support%2Fdownload%2F%40cspotcode%2Fsource-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + integrity sha1-R4mECqhZ5G0vMXNyercHxmvzRPU= + dependencies: + "@cspotcode/source-map-consumer" "0.8.0" + "@ctrl/tinycolor@^3.4.0": version "3.4.0" resolved "https://registry.nlark.com/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" @@ -1706,6 +1718,26 @@ resolved "https://registry.npmmirror.com/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz?cache=0&sync_timestamp=1632734062895&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40tootallnate%2Fonce%2Fdownload%2F%40tootallnate%2Fonce-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha1-zLkURTYBeaBOf+av94wA/8Hur4I= +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.nlark.com/@tsconfig/node10/download/@tsconfig/node10-1.0.8.tgz?cache=0&sync_timestamp=1623230113943&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode10%2Fdownload%2F%40tsconfig%2Fnode10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha1-weToDW+WT77LM1nEO9SLQPfK2tk= + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.nlark.com/@tsconfig/node12/download/@tsconfig/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha1-YsH23uLr2a6tgNw6+laBDljhoEw= + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.nlark.com/@tsconfig/node14/download/@tsconfig/node14-1.0.1.tgz?cache=0&sync_timestamp=1623230113946&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode14%2Fdownload%2F%40tsconfig%2Fnode14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha1-lfLRZ/+5uNIGiwsjUwL6/U33EfI= + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.nlark.com/@tsconfig/node16/download/@tsconfig/node16-1.0.2.tgz?cache=0&sync_timestamp=1626840702633&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40tsconfig%2Fnode16%2Fdownload%2F%40tsconfig%2Fnode16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha1-Qjx3h30Fadsg4fyAiFrEEYMUAQ4= + "@types/aria-query@^4.2.0": version "4.2.2" resolved "https://registry.npmmirror.com/@types/aria-query/download/@types/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" @@ -2042,6 +2074,11 @@ acorn-walk@^7.1.1: resolved "https://registry.nlark.com/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w= +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.nlark.com/acorn-walk/download/acorn-walk-8.2.0.tgz?cache=0&sync_timestamp=1630916608758&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-walk%2Fdownload%2Facorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha1-dBIQ8uJCZFRQiFOi9E0KuDt/acE= + acorn@8.5.0: version "8.5.0" resolved "https://registry.npmmirror.com/acorn/download/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" @@ -2052,7 +2089,7 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo= -acorn@^8.2.4: +acorn@^8.2.4, acorn@^8.4.1: version "8.7.0" resolved "https://registry.npmmirror.com/acorn/download/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -2176,6 +2213,11 @@ anymatch@^3.0.3, anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmmirror.com/arg/download/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2884,6 +2926,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/create-require/download/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= + cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -3122,6 +3169,11 @@ diff-sequences@^27.4.0: resolved "https://registry.npmmirror.com/diff-sequences/download/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= + diff@^5.0.0: version "5.0.0" resolved "https://registry.npm.taobao.org/diff/download/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -5408,6 +5460,11 @@ make-dir@^3.0.0, make-dir@^3.0.2: dependencies: semver "^6.0.0" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.nlark.com/make-error/download/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= + makeerror@1.0.12: version "1.0.12" resolved "https://registry.npmmirror.com/makeerror/download/makeerror-1.0.12.tgz?cache=0&sync_timestamp=1635238306211&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmakeerror%2Fdownload%2Fmakeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" @@ -7690,6 +7747,24 @@ ts-easing@^0.2.0: resolved "https://registry.npm.taobao.org/ts-easing/download/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec" integrity sha1-yKijUCUQVWZYjYfb2gXdf7+lpOw= +ts-node@^10.4.0: + version "10.4.0" + resolved "https://registry.npmmirror.com/ts-node/download/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" + integrity sha1-aA+IlFiF9ObPRQ5/DWIj3UBIlfc= + dependencies: + "@cspotcode/source-map-support" "0.7.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + yn "3.1.1" + tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: version "3.12.0" resolved "https://registry.npmmirror.com/tsconfig-paths/download/tsconfig-paths-3.12.0.tgz?cache=0&sync_timestamp=1637404842509&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftsconfig-paths%2Fdownload%2Ftsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" @@ -8295,6 +8370,11 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.nlark.com/yn/download/yn-3.1.1.tgz?cache=0&sync_timestamp=1628975005240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyn%2Fdownload%2Fyn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"