From 02aae52fa90abb59f2e14ae18a55ff6285da22fe Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:45:37 +0300 Subject: [PATCH 001/915] Update header.tsx --- .../blog-starter-kit/themes/enterprise/components/header.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/header.tsx b/packages/blog-starter-kit/themes/enterprise/components/header.tsx index 136c48523..84ec01eac 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/header.tsx @@ -32,7 +32,6 @@ export const Header = () => {
  • @@ -99,7 +98,6 @@ export const Header = () => {
    -
    From a80b815b3849954e5b90f02a6db5e46d9a962a10 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:54:50 +0300 Subject: [PATCH 002/915] Update publication-logo.tsx --- .../themes/enterprise/components/publication-logo.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/publication-logo.tsx b/packages/blog-starter-kit/themes/enterprise/components/publication-logo.tsx index 11dcde8e9..aad365b6a 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/publication-logo.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/publication-logo.tsx @@ -28,7 +28,6 @@ export const PublicationLogo = ({ isSidebar }: { isSidebar?: boolean }) => { alt={publication.title} src={resizeImage(PUBLICATION_LOGO, { w: 320, h: 80 })} /> - Blog ) : ( Date: Wed, 12 Jun 2024 15:56:04 +0300 Subject: [PATCH 003/915] Update footer.tsx --- .../themes/enterprise/components/footer.tsx | 240 ++++++++---------- 1 file changed, 103 insertions(+), 137 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index bc2e91412..033108766 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -8,142 +8,108 @@ export const Footer = () => { const PUBLICATION_LOGO = publication.preferences.logo; return ( + +
    +
    + +
    +

    Markalarımız

    + +
    +
    +
    + +

    © 2023 Company Inc.

    +
    + Server time: {localTime} +
    +

    + + Privacy Policy + {' '} + ·{' '} + + Terms + +

    +
    +
    +
    +
    +

    © 2008 - 2024 Temizmama Inc.

    + +

    + {PUBLICATION_LOGO ? ( +
    + + {publication.title} + +
    + ) : ( +

    + {publication.title} +

    + )} +
    +
    + ); }; From 49b890a7bf95ebb00fa093eed2d623a2b5eb849d Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:58:17 +0300 Subject: [PATCH 004/915] Update footer.tsx --- .../themes/enterprise/components/footer.tsx | 241 ++++++++++-------- 1 file changed, 137 insertions(+), 104 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index 033108766..b11ed560a 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -2,114 +2,147 @@ import Link from 'next/link'; import { Container } from './container'; import { useAppContext } from './contexts/appContext'; import { SocialLinks } from './social-links'; - export const Footer = () => { const { publication } = useAppContext(); const PUBLICATION_LOGO = publication.preferences.logo; return ( + + {PUBLICATION_LOGO ? ( +
    + + {publication.title} + +
    + ) : ( +

    + {publication.title} +

    + )} +
    +
    +
    +

    + Stay in touch +

    + +
    +
    +

    Resources

    + +
    + +
    +

    Other links

    + +
    +
    +
    + +

    © 2023 Company Inc.

    +

    + + Privacy Policy + {' '} + ·{' '} + + Terms + +

    +
    +
    +
    + ); }; From 7434615523934ac7017c0b174081b45a27b29d6d Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:04:56 +0300 Subject: [PATCH 005/915] Update footer.tsx --- .../themes/enterprise/components/footer.tsx | 191 +++++++----------- 1 file changed, 72 insertions(+), 119 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index b11ed560a..faf1a027a 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -23,125 +23,78 @@ export const Footer = () => { {publication.title}

    )} -
    -
    -
    -

    - Stay in touch -

    - -
    -
    -

    Resources

    - -
    -
    -

    Product

    - -
    -
    -

    Other links

    - -
    -
    -
    - -

    © 2023 Company Inc.

    -

    - - Privacy Policy - {' '} - ·{' '} - - Terms - -

    -
    -
    +
    +
    +
    +

    + Bizi tanıyın +

    + +
    +
    +

    Markalarımız

    + +
    +
    +
    + +

    © 2023 Company Inc.

    +
    + Server time: {localTime} +
    +

    + + Privacy Policy + {' '} + ·{' '} + + Terms + +

    +
    +
    ); From 06828f87516b9ea5887dea2b398bb640edb4fc8e Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:07:07 +0300 Subject: [PATCH 006/915] Update footer.tsx --- .../themes/enterprise/components/footer.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index faf1a027a..b9c501331 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -31,22 +31,22 @@ export const Footer = () => {

    +

    © 2008 - 2024 Çağatay Inc.

    Deployed on

    ); }; From 9ff5b0a0b0115a12f8d85ebf20fd4522e123d28b Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:15:33 +0300 Subject: [PATCH 009/915] Update footer.tsx --- .../themes/enterprise/components/footer.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index 0e83c7c6a..a1780d9fb 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -93,7 +93,12 @@ export const Footer = () => { -

    © 2008 - 2024 Çağatay Inc.

    Deployed on

    +
    +

    © 2008 - 2024 Çağatay Inc.

    + +

    Deployed on

    +
    +
    ); }; From 10b5c32158d28831642c94deaf4e94eeab32e1f8 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:19:53 +0300 Subject: [PATCH 010/915] Update footer.tsx --- .../blog-starter-kit/themes/enterprise/components/footer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index a1780d9fb..fb8c531f2 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -95,7 +95,7 @@ export const Footer = () => {

    © 2008 - 2024 Çağatay Inc.

    - +

    Deployed on

    From 5b75982435f3bf6615c5681bb374b5e587898537 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:22:13 +0300 Subject: [PATCH 011/915] Update footer.tsx --- .../blog-starter-kit/themes/enterprise/components/footer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index fb8c531f2..fe69fc53d 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -92,13 +92,13 @@ export const Footer = () => {

    - -
    +

    © 2008 - 2024 Çağatay Inc.

    Deployed on

    + ); }; From 2790d7632185052b4a07fcd7586cc75829bbae0f Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:24:18 +0300 Subject: [PATCH 012/915] Update index.tsx --- .../blog-starter-kit/themes/enterprise/pages/index.tsx | 8 -------- 1 file changed, 8 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx index 91b7db654..43c51a015 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx @@ -153,14 +153,6 @@ export default function Index({ publication, initialAllPosts, initialPageInfo }:
    {allPosts.length > 0 && ( -
    -
    -

    - Subscribe to our newsletter for updates and changelog. -

    - -
    -
    )} {morePosts.length > 0 && ( From fa455ae50ef554538bf74658ebe0bda23130c6c1 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:25:57 +0300 Subject: [PATCH 013/915] Update index.tsx --- packages/blog-starter-kit/themes/enterprise/pages/index.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx index 43c51a015..d24d883b8 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx @@ -30,10 +30,6 @@ import { } from '../generated/graphql'; import { DEFAULT_COVER } from '../utils/const'; -const SubscribeForm = dynamic(() => - import('../components/subscribe-form').then((mod) => mod.SubscribeForm), -); - const GQL_ENDPOINT = process.env.NEXT_PUBLIC_HASHNODE_GQL_ENDPOINT; type Props = { From 2c15fc0e2acb758caf41968dee7011801031bb04 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 11:07:12 +0300 Subject: [PATCH 014/915] gg --- .../enterprise/components/post-header.tsx | 53 +------------------ 1 file changed, 1 insertion(+), 52 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index 170561a5c..dedae186c 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -21,7 +21,7 @@ type Props = { readTimeInMinutes: number; }; -export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes }: Props) => { +export const PostHeader = ({ title, coverImage }: Props) => { const { post: _post } = useAppContext(); const post = _post as unknown as PostFullFragment; const authorsArray = [post.author, ...(post.coAuthors || [])]; @@ -37,59 +37,8 @@ export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes {title}
    - {authorsArray.map((coAuthor, index) => ( -
    0 ? 'hidden md:block' : '', - authorsArray.length === 1 - ? 'h-10 w-10 md:h-12 md:w-12' - : 'h-8 w-8 border-2 border-slate-100 dark:border-slate-800 md:h-9 md:w-9 [&:not(:first-of-type)]:-ml-3 md:[&:not(:first-of-type)]:-ml-6 ', - )} - > - -
    - ))} - {post.coAuthors && post.coAuthors.length > 0 && ( - - )} - {!post.coAuthors?.length && ( - - {post.author.name} - - )} - {post.coAuthors && post.coAuthors.length > 0 && ( - - )}
    - · - - {readTimeInMinutes && ·} -
    {coverImage && ( From badd7f4497778139891aeb9964cc37d58c5dab7b Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 11:26:18 +0300 Subject: [PATCH 015/915] gg --- .../themes/enterprise/components/post-header.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index dedae186c..7d1e732c0 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -1,15 +1,11 @@ import { resizeImage } from '@starter-kit/utils/image'; import { PostFullFragment, User } from '../generated/graphql'; -import { Avatar } from './avatar'; import { CoverImage } from './cover-image'; -import { DateFormatter } from './date-formatter'; import CoAuthorsModal from './co-authors-modal'; -import { ReadTimeInMinutes } from './post-read-time-in-minutes'; import { PostTitle } from './post-title'; import { useAppContext } from './contexts/appContext'; import { twJoin } from 'tailwind-merge'; import { useState } from 'react'; -import ProfileImage from './profile-image'; type Author = Pick; From d74d6023b86563bb19f0ee0714bcff7b8d9b6bcf Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 11:28:44 +0300 Subject: [PATCH 016/915] default just change author link --- .../enterprise/components/post-header.tsx | 59 ++++++++++++++++++- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index 7d1e732c0..526c7971d 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -1,11 +1,15 @@ import { resizeImage } from '@starter-kit/utils/image'; import { PostFullFragment, User } from '../generated/graphql'; +import { Avatar } from './avatar'; import { CoverImage } from './cover-image'; +import { DateFormatter } from './date-formatter'; import CoAuthorsModal from './co-authors-modal'; +import { ReadTimeInMinutes } from './post-read-time-in-minutes'; import { PostTitle } from './post-title'; import { useAppContext } from './contexts/appContext'; import { twJoin } from 'tailwind-merge'; import { useState } from 'react'; +import ProfileImage from './profile-image'; type Author = Pick; @@ -17,7 +21,7 @@ type Props = { readTimeInMinutes: number; }; -export const PostHeader = ({ title, coverImage }: Props) => { +export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes }: Props) => { const { post: _post } = useAppContext(); const post = _post as unknown as PostFullFragment; const authorsArray = [post.author, ...(post.coAuthors || [])]; @@ -33,8 +37,59 @@ export const PostHeader = ({ title, coverImage }: Props) => { {title}
    + {authorsArray.map((coAuthor, index) => ( +
    0 ? 'hidden md:block' : '', + authorsArray.length === 1 + ? 'h-10 w-10 md:h-12 md:w-12' + : 'h-8 w-8 border-2 border-slate-100 dark:border-slate-800 md:h-9 md:w-9 [&:not(:first-of-type)]:-ml-3 md:[&:not(:first-of-type)]:-ml-6 ', + )} + > + +
    + ))} + {post.coAuthors && post.coAuthors.length > 0 && ( + + )} + {!post.coAuthors?.length && ( + + {post.author.name} + + )} + {post.coAuthors && post.coAuthors.length > 0 && ( + + )}
    + · + + {readTimeInMinutes && ·} +
    {coverImage && ( @@ -51,4 +106,4 @@ export const PostHeader = ({ title, coverImage }: Props) => { )} ); -}; +}; \ No newline at end of file From 09dafeca1c5f050c26526413538567c495b0aed3 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 11:34:38 +0300 Subject: [PATCH 017/915] gg --- .../themes/enterprise/components/post-header.tsx | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index 526c7971d..4d276a833 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -49,7 +49,6 @@ export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes : 'h-8 w-8 border-2 border-slate-100 dark:border-slate-800 md:h-9 md:w-9 [&:not(:first-of-type)]:-ml-3 md:[&:not(:first-of-type)]:-ml-6 ', )} > - ))} {post.coAuthors && post.coAuthors.length > 0 && ( @@ -63,10 +62,9 @@ export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes )} {!post.coAuthors?.length && ( - {post.author.name} )} {post.coAuthors && post.coAuthors.length > 0 && ( @@ -85,12 +83,6 @@ export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes )} -
    - · - - {readTimeInMinutes && ·} - -
    {coverImage && (
    @@ -106,4 +98,4 @@ export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes )} ); -}; \ No newline at end of file +}; From cc4d7c69018720e8c4ffb24f676dfc57c17ffd8b Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 11:35:31 +0300 Subject: [PATCH 018/915] gg --- .../themes/enterprise/components/post-header.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index 4d276a833..f3c6436f5 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -83,7 +83,7 @@ export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes )}
    - + {coverImage && (
    Date: Thu, 13 Jun 2024 11:38:17 +0300 Subject: [PATCH 019/915] profile image silindi --- .../enterprise/components/profile-image.js | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/profile-image.js b/packages/blog-starter-kit/themes/enterprise/components/profile-image.js index 08d078de0..ac9d18252 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/profile-image.js +++ b/packages/blog-starter-kit/themes/enterprise/components/profile-image.js @@ -18,39 +18,5 @@ export default class ProfileImage extends React.Component { render() { const user = this.props.user; const blogURL = this.props.blogURL; - return ( - { - this.profileImage = c; - }} - className={`relative block h-full w-full`} - > - {user - - ); } } From 4155a0a7b86a28da3898f879e7c3ef15a9e13c30 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 11:43:01 +0300 Subject: [PATCH 020/915] subs silme denemeleri --- .../themes/enterprise/components/avatar.tsx | 37 +------------------ .../enterprise/components/date-formatter.tsx | 17 +-------- .../enterprise/components/post-header.tsx | 4 +- .../components/post-read-time-in-minutes.tsx | 15 +------- .../themes/enterprise/pages/[slug].tsx | 2 - 5 files changed, 5 insertions(+), 70 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx b/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx index a52ed1426..62bc633b2 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx @@ -1,37 +1,2 @@ import { resizeImage } from '@starter-kit/utils/image'; -import { DEFAULT_AVATAR } from '../utils/const'; - -type Props = { - username: string; - name: string; - picture: string | null | undefined; - size: number; -}; - -export const Avatar = ({ username, name, picture, size }: Props) => { - return ( - - ); -}; +import { DEFAULT_AVATAR } from '../utils/const'; \ No newline at end of file diff --git a/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx b/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx index b98f7e052..a7643b352 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx @@ -1,16 +1 @@ -import { format, parseISO } from 'date-fns'; - -type Props = { - dateString: string; -}; - -export const DateFormatter = ({ dateString }: Props) => { - if (!dateString) return <>; - const date = parseISO(dateString); - - return ( - <> - - - ); -}; +import { format, parseISO } from 'date-fns'; \ No newline at end of file diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index f3c6436f5..4ed561f89 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -11,7 +11,7 @@ import { twJoin } from 'tailwind-merge'; import { useState } from 'react'; import ProfileImage from './profile-image'; -type Author = Pick; +type Author = Pick; type Props = { title: string; @@ -21,7 +21,7 @@ type Props = { readTimeInMinutes: number; }; -export const PostHeader = ({ title, coverImage, date, author, readTimeInMinutes }: Props) => { +export const PostHeader = ({ title, coverImage}: Props) => { const { post: _post } = useAppContext(); const post = _post as unknown as PostFullFragment; const authorsArray = [post.author, ...(post.coAuthors || [])]; diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-read-time-in-minutes.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-read-time-in-minutes.tsx index 426f36ee3..bfb33c479 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-read-time-in-minutes.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-read-time-in-minutes.tsx @@ -1,14 +1 @@ -import BookOpenSVG from './icons/svgs/BookOpenSVG'; - -type Props = { readTimeInMinutes: number }; - -export const ReadTimeInMinutes = ({ readTimeInMinutes }: Props) => { - return ( - <> -

    - - {readTimeInMinutes} min read -

    - - ); -}; +import BookOpenSVG from './icons/svgs/BookOpenSVG'; \ No newline at end of file diff --git a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx index 83b1e608f..afa1fb4ef 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx @@ -30,7 +30,6 @@ import { useEffect, useState } from 'react'; import { triggerCustomWidgetEmbed } from '@starter-kit/utils/trigger-custom-widget-embed'; const AboutAuthor = dynamic(() => import('../components/about-author'), { ssr: false }); -const Subscribe = dynamic(() => import('../components/subscribe').then((mod) => mod.Subscribe)); const PostComments = dynamic(() => import('../components/post-comments').then((mod) => mod.PostComments), ); @@ -142,7 +141,6 @@ const Post = ({ publication, post }: PostProps) => { )} {!post.preferences.disableComments && post.comments.totalDocuments > 0 && } - ); }; From 59bc4b4766d6a8774f1a69a7ff9d1eaf4af53935 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 13:45:37 +0300 Subject: [PATCH 021/915] updated --- .../themes/enterprise/components/avatar.tsx | 37 +++- .../enterprise/components/date-formatter.tsx | 17 +- .../themes/enterprise/components/footer.tsx | 206 +++++++++--------- .../components/icons/svgs/RssSVG.js | 3 +- .../themes/enterprise/components/navbar.tsx | 1 - .../enterprise/components/post-header.tsx | 57 +---- .../components/post-read-time-in-minutes.tsx | 15 +- .../enterprise/components/profile-image.js | 34 +++ .../enterprise/components/searchbar.tsx | 2 +- .../enterprise/components/social-links.tsx | 6 +- .../themes/enterprise/pages/[slug].tsx | 8 +- .../themes/enterprise/styles/index.css | 112 +++++++++- 12 files changed, 329 insertions(+), 169 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx b/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx index 62bc633b2..8e0059d85 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/avatar.tsx @@ -1,2 +1,37 @@ import { resizeImage } from '@starter-kit/utils/image'; -import { DEFAULT_AVATAR } from '../utils/const'; \ No newline at end of file +import { DEFAULT_AVATAR } from '../utils/const'; + +type Props = { + username: string; + name: string; + picture: string | null | undefined; + size: number; +}; + +export const Avatar = ({ username, name, picture, size }: Props) => { + return ( + + ); +}; diff --git a/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx b/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx index a7643b352..b98f7e052 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/date-formatter.tsx @@ -1 +1,16 @@ -import { format, parseISO } from 'date-fns'; \ No newline at end of file +import { format, parseISO } from 'date-fns'; + +type Props = { + dateString: string; +}; + +export const DateFormatter = ({ dateString }: Props) => { + if (!dateString) return <>; + const date = parseISO(dateString); + + return ( + <> + + + ); +}; diff --git a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx index fe69fc53d..8a8038fc0 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/footer.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/footer.tsx @@ -3,102 +3,114 @@ import { Container } from './container'; import { useAppContext } from './contexts/appContext'; import { SocialLinks } from './social-links'; export const Footer = () => { - const { publication } = useAppContext(); - const PUBLICATION_LOGO = publication.preferences.logo; - return ( -
  • + +
  • + + Instagram + + +
  • + +
  • + + Twitter + + +
  • + +
  • + + Youtube + + +
  • +
  • + +
  • + + +
    +

    +Temizmama.com, bir Çağatay Markasıdır. +
    +© 2008 - 2024 Temizmama.com her hakkı saklıdır. +

    +
    + + + Yukarı + + + + + +); }; diff --git a/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/RssSVG.js b/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/RssSVG.js index 4634acb51..209f005b1 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/RssSVG.js +++ b/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/RssSVG.js @@ -4,12 +4,13 @@ export default class RssSVG extends React.Component { render() { return ( - ); diff --git a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx index 294afff82..69400e8e8 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx @@ -5,7 +5,6 @@ export const Navbar = () => { return (
    -
    ); }; diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index 4ed561f89..b328694da 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -1,24 +1,17 @@ import { resizeImage } from '@starter-kit/utils/image'; import { PostFullFragment, User } from '../generated/graphql'; -import { Avatar } from './avatar'; import { CoverImage } from './cover-image'; -import { DateFormatter } from './date-formatter'; import CoAuthorsModal from './co-authors-modal'; -import { ReadTimeInMinutes } from './post-read-time-in-minutes'; import { PostTitle } from './post-title'; import { useAppContext } from './contexts/appContext'; import { twJoin } from 'tailwind-merge'; import { useState } from 'react'; -import ProfileImage from './profile-image'; type Author = Pick; type Props = { title: string; coverImage: string | null | undefined; - date: string; - author: Author; - readTimeInMinutes: number; }; export const PostHeader = ({ title, coverImage}: Props) => { @@ -36,54 +29,8 @@ export const PostHeader = ({ title, coverImage}: Props) => { <> {title}
    -
    - {authorsArray.map((coAuthor, index) => ( -
    0 ? 'hidden md:block' : '', - authorsArray.length === 1 - ? 'h-10 w-10 md:h-12 md:w-12' - : 'h-8 w-8 border-2 border-slate-100 dark:border-slate-800 md:h-9 md:w-9 [&:not(:first-of-type)]:-ml-3 md:[&:not(:first-of-type)]:-ml-6 ', - )} - > -
    - ))} - {post.coAuthors && post.coAuthors.length > 0 && ( - - )} - {!post.coAuthors?.length && ( - - - )} - {post.coAuthors && post.coAuthors.length > 0 && ( - - )} -
    -
    + + {coverImage && (
    { + return ( + <> +

    + + {readTimeInMinutes} min read +

    + + ); +}; diff --git a/packages/blog-starter-kit/themes/enterprise/components/profile-image.js b/packages/blog-starter-kit/themes/enterprise/components/profile-image.js index ac9d18252..3325f8129 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/profile-image.js +++ b/packages/blog-starter-kit/themes/enterprise/components/profile-image.js @@ -18,5 +18,39 @@ export default class ProfileImage extends React.Component { render() { const user = this.props.user; const blogURL = this.props.blogURL; + return ( + { + this.profileImage = c; + }} + className={`relative block h-full w-full`} + > + {user + + ); } } diff --git a/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx index 0fee5f8cd..c30183a2c 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx @@ -110,7 +110,7 @@ export const Search = () => { ref={searchInputRef} onKeyUp={escapeSearchOnESC} onChange={updateSearchQuery} - placeholder="Search blog posts…" + placeholder="Ara…" className="w-full rounded-full border border-slate-200 bg-slate-50 px-4 py-2 text-base focus:bg-transparent dark:border-neutral-800 dark:bg-neutral-800 dark:text-neutral-50 dark:placeholder:text-neutral-400 dark:hover:bg-neutral-950" /> {query && ( diff --git a/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx b/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx index fb8edec02..5a8fab3e2 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx @@ -54,7 +54,7 @@ export const SocialLinks = ({ isSidebar }: { isSidebar?: boolean }) => { target="_blank" rel="noopener noreferrer" aria-label="Find us on Hashnode, external website, opens in new tab" - className="flex flex-row items-center justify-center rounded-full border border-slate-200 p-2 hover:bg-slate-100 dark:border-neutral-800 dark:hover:bg-neutral-600" + className="flex flex-row items-center justify-center rounded-full border border-slate-200 p-2 hover:bg-slate-100 dark:border-neutral-800 dark:hover:bg-neutral-600 " > @@ -68,9 +68,9 @@ export const SocialLinks = ({ isSidebar }: { isSidebar?: boolean }) => { target="_blank" rel="noopener noreferrer" aria-label="Open blog XML Feed, opens in new tab" - className="flex flex-row items-center justify-center rounded-full border border-slate-200 p-2 hover:bg-slate-100 dark:border-neutral-800 dark:hover:bg-neutral-600" + className="flex flex-row items-center justify-center rounded-full dark:border-neutral-800 dark:hover:bg-neutral-600 transition hover:text-gray-700/75" > - +
    diff --git a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx index afa1fb4ef..32e531b35 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx @@ -30,6 +30,7 @@ import { useEffect, useState } from 'react'; import { triggerCustomWidgetEmbed } from '@starter-kit/utils/trigger-custom-widget-embed'; const AboutAuthor = dynamic(() => import('../components/about-author'), { ssr: false }); +const Subscribe = dynamic(() => import('../components/subscribe').then((mod) => mod.Subscribe)); const PostComments = dynamic(() => import('../components/post-comments').then((mod) => mod.PostComments), ); @@ -128,9 +129,6 @@ const Post = ({ publication, post }: PostProps) => { {post.features.tableOfContents.isEnabled && } @@ -139,9 +137,7 @@ const Post = ({ publication, post }: PostProps) => {
      {tagsList}
    )} - - {!post.preferences.disableComments && post.comments.totalDocuments > 0 && } - + ); }; diff --git a/packages/blog-starter-kit/themes/enterprise/styles/index.css b/packages/blog-starter-kit/themes/enterprise/styles/index.css index 8e1f9d0a7..77f225a25 100644 --- a/packages/blog-starter-kit/themes/enterprise/styles/index.css +++ b/packages/blog-starter-kit/themes/enterprise/styles/index.css @@ -5,7 +5,6 @@ .hashnode-content-style{ @apply prose break-words text-slate-950 first:prose-p:mt-0 prose-img:max-w-full prose-p:leading-snug prose-a:underline hover:prose-a:bg-primary-50 dark:hover:prose-a:text-primary-500 dark:hover:prose-a:bg-neutral-800 dark:text-neutral-50 prose-blockquote:leading-snug prose-a:leading-snug prose-figure:leading-snug prose-figcaption:leading-snug prose-pre:leading-snug prose-li:leading-snug prose-ul:leading-snug prose-ol:leading-snug prose-th:leading-snug prose-td:leading-snug lg:prose-xl dark:prose-invert dark:prose-pre:bg-neutral-900 first:prose-h1:mt-0 first:prose-h2:mt-0 first:prose-h3:mt-0 first:prose-h4:mt-0 first:prose-h5:mt-0; } - /* Override to remove the backtick */ .hashnode-content-style :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before, .hashnode-content-style :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after { content: none; @@ -45,4 +44,113 @@ .dark .prose pre code { background-color: transparent; color: #ddd; -} \ No newline at end of file +} + +/* Custom Scrollbar */ +::-webkit-scrollbar { + display: none; +} + +::-webkit-scrollbar-track { + display: none; +} + +::-webkit-scrollbar-thumb { + display: none; +} + +::-webkit-scrollbar-thumb:hover { + display: none; +} + + +/* scroll-up */ + +*, +*:after, +*:before { + box-sizing: border-box; +} +html { + scroll-behavior: smooth; +} + +:root { + --line: hsl(0 0% 5% / 0.15); + --accent: canvas; + --padding: 2rem; + --distance: 10vh; + accent-color: hsl(0 100% 50%); + color-scheme: light only; +} + +#cta { + position: sticky; + bottom: var(--padding); + margin-top: calc(100vh + var(--distance, 0)); + translate: calc(-100% - var(--padding)) 0; + display: grid; + white-space: nowrap; + place-self: end; + border-radius: 100px; + background: var(--accent); + text-decoration: none; + border: 1px solid canvasText; + color: canvasText; + width: 40px; + height: 40px; + aspect-ratio: 1; + place-items: center; +} + +#cta svg { + width: 24px; + stroke-width: 3; +} + +#cta:is(:hover, :focus-visible) { + --intent: 1; +} + +#cta::after { + content: ""; + position: absolute; + inset: 0; + background: canvasText; + border-radius: 100px; + opacity: calc(var(--intent, 0) * 0.1); + transition: opacity 0.2s; +} + +@supports (animation-timeline: scroll()) { + @property --show { + inherits: true; + initial-value: 0; + syntax: ''; + } + #cta { + position: fixed; + bottom: var(--padding); + right: var(--padding); + translate: 0 calc(20vh - (var(--show, 0) * 20vh)); + transition: translate 0.875s linear( + 0, 0.5007 7.21%, 0.7803 12.29%, + 0.8883 14.93%, 0.9724 17.63%, + 1.0343 20.44%, 1.0754 23.44%, + 1.0898 25.22%, 1.0984 27.11%, + 1.1014 29.15%, 1.0989 31.4%, + 1.0854 35.23%, 1.0196 48.86%, + 1.0043 54.06%, 0.9956 59.6%, + 0.9925 68.11%, 1 + ); + } + body { + animation: show-cta both steps(1); + animation-timeline: scroll(root); + animation-range: 0 var(--distance); + } + @keyframes show-cta { + to { --show: 1; } + } +} + From 89996888294763b16a0b084fde84b8f1bc1ff9c8 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 13:49:33 +0300 Subject: [PATCH 022/915] index --- packages/blog-starter-kit/themes/enterprise/pages/index.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx index d24d883b8..51c467be0 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx @@ -30,6 +30,8 @@ import { } from '../generated/graphql'; import { DEFAULT_COVER } from '../utils/const'; + + const GQL_ENDPOINT = process.env.NEXT_PUBLIC_HASHNODE_GQL_ENDPOINT; type Props = { @@ -148,8 +150,7 @@ export default function Index({ publication, initialAllPosts, initialPageInfo }:
    {secondaryPosts}
    - {allPosts.length > 0 && ( - )} + {morePosts.length > 0 && ( <> From 4e6702ba73f9011eaef8dae032378ed2169dd035 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 13:51:47 +0300 Subject: [PATCH 023/915] =?UTF-8?q?d=C3=BCzenlendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blog-starter-kit/themes/enterprise/pages/preview/[id].tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/preview/[id].tsx b/packages/blog-starter-kit/themes/enterprise/pages/preview/[id].tsx index bb8a817ca..dd428e996 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/preview/[id].tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/preview/[id].tsx @@ -58,9 +58,6 @@ export default function Post({ publication, post }: Props) {
    From 88b7cbd97c418980b4d5656a0313b729e7e0de10 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 14:06:50 +0300 Subject: [PATCH 024/915] gg --- packages/blog-starter-kit/themes/enterprise/.env.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/.env.example b/packages/blog-starter-kit/themes/enterprise/.env.example index ba67fbccd..6e2b94439 100644 --- a/packages/blog-starter-kit/themes/enterprise/.env.example +++ b/packages/blog-starter-kit/themes/enterprise/.env.example @@ -1,3 +1,3 @@ NEXT_PUBLIC_HASHNODE_GQL_ENDPOINT=https://gql.hashnode.com -NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST=engineering.hashnode.com +NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST=blog.temizmama.com NEXT_PUBLIC_MODE=development \ No newline at end of file From 6a517c569c649da755cd57c0b68c6574bb5d0154 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Thu, 13 Jun 2024 14:20:56 +0300 Subject: [PATCH 025/915] head --- .../blog-starter-kit/themes/enterprise/components/header.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/header.tsx b/packages/blog-starter-kit/themes/enterprise/components/header.tsx index 84ec01eac..cddfe4825 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/header.tsx @@ -76,7 +76,7 @@ export const Header = () => { ); return ( -
    +
    ); return ( -
    +
    {slug ? ( {image} diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx index b328694da..cb03e6015 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-header.tsx @@ -32,7 +32,7 @@ export const PostHeader = ({ title, coverImage}: Props) => {
    {coverImage && ( -
    +
    Date: Fri, 14 Jun 2024 09:33:29 +0300 Subject: [PATCH 036/915] geri eklendi --- .../blog-starter-kit/themes/enterprise/components/navbar.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx index 142b405b8..62d9665b7 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx @@ -3,6 +3,7 @@ import { Search } from './searchbar'; export const Navbar = () => { return (
    +
    ); }; From e4714b22acb1318c4c3f6e00a0c82f18763d1d17 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 09:35:33 +0300 Subject: [PATCH 037/915] =?UTF-8?q?cover=20img=20d=C3=BCzeltildi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../themes/enterprise/components/cover-image.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx index c00937e96..701489f12 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx @@ -24,7 +24,7 @@ export const CoverImage = ({ title, src, slug, priority = false }: Props) => {
    ); return ( -
    +
    {slug ? ( {image} From a9261488127309422ee4a7e7ae098626c6a05c39 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 09:40:02 +0300 Subject: [PATCH 038/915] =?UTF-8?q?searchbar=20sonu=C3=A7=20t=C3=BCrk?= =?UTF-8?q?=C3=A7ele=C5=9Ftirildi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blog-starter-kit/themes/enterprise/components/searchbar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx index c30183a2c..5e0cc0c75 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/searchbar.tsx @@ -137,7 +137,7 @@ export const Search = () => { {searchResults.length > 0 && !isSearching && (

    - Found {searchResults.length} results + {searchResults.length} sonuç bulundu


    {searchResultsList} From 1c3791c403609ff679a9a6b16ff7dd69276a1168 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 09:48:05 +0300 Subject: [PATCH 039/915] =?UTF-8?q?resim=20d=C3=BCzeltildi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../themes/enterprise/components/cover-image.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx index 701489f12..710a026a3 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx @@ -24,7 +24,7 @@ export const CoverImage = ({ title, src, slug, priority = false }: Props) => {
    ); return ( -
    +
    {slug ? ( {image} From 3a830f710c7aae1b5eb81bb54f518ab7b3c36a70 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:32:00 +0300 Subject: [PATCH 040/915] author --- .../components/post-author-info.tsx | 70 +++++-------------- .../hashnode/components/blog-post-preview.tsx | 19 +---- .../hashnode/components/co-authors-modal.tsx | 18 +---- 3 files changed, 22 insertions(+), 85 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx index 20e70abbd..d20946b85 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx @@ -1,5 +1,3 @@ -import { twJoin } from 'tailwind-merge'; - import CustomImage from './custom-image'; import { getBlurHash, resizeImage } from '@starter-kit/utils/image'; @@ -11,59 +9,29 @@ function PostAuthorInfo(props: any) { return (
    - -
    -
    -

    - {author.name} -

    -
    - {author.bio?.html && ( -
    -
    -
    - )} -
    -
    - {author.bio?.html && ( -
    -
    -
    - )} + +
    ); } diff --git a/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx b/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx index cf7b9b7a0..ac1c383bb 100644 --- a/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx +++ b/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx @@ -79,24 +79,7 @@ function BlogPostPreview(props: { > {publication.isTeam && ( )} {layout === 'grid' && post.id === pinnedPostId && ( diff --git a/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx b/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx index 732f86eb7..0715acbf9 100644 --- a/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx +++ b/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx @@ -2,8 +2,6 @@ import Button from './hn-button'; import { CloseSVG } from './icons/svgs'; import * as DialogPrimitive from '@radix-ui/react-dialog'; import CustomScrollArea from './scroll-area'; -import { DEFAULT_AVATAR } from '../utils/const/images'; -import { ResizableImage } from './resizable-image'; import { useAppContext } from './contexts/appContext'; import { PostFullFragment } from '../generated/graphql'; @@ -19,21 +17,9 @@ const AuthorCard = ({ author }: { author: PostFullFragment['author']; }) => { className="flex w-full flex-wrap items-center justify-between overflow-hidden px-0 py-2.5" >
    From e6ed45501cf4f281b971b5e3de072ee87206b862 Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:36:35 +0300 Subject: [PATCH 041/915] revers upt. --- .../components/post-author-info.tsx | 70 ++++++++++++++----- .../hashnode/components/blog-post-preview.tsx | 19 ++++- .../hashnode/components/co-authors-modal.tsx | 18 ++++- 3 files changed, 85 insertions(+), 22 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx b/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx index d20946b85..20e70abbd 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/post-author-info.tsx @@ -1,3 +1,5 @@ +import { twJoin } from 'tailwind-merge'; + import CustomImage from './custom-image'; import { getBlurHash, resizeImage } from '@starter-kit/utils/image'; @@ -9,29 +11,59 @@ function PostAuthorInfo(props: any) { return (
    -
    - + + - + }), + )} + width={256} + height={256} + alt={author.name} + /> + +
    +
    + + {author.bio?.html && ( +
    +
    +
    + )} +
    +
    + {author.bio?.html && ( +
    +
    +
    + )}
    ); } diff --git a/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx b/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx index ac1c383bb..cf7b9b7a0 100644 --- a/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx +++ b/packages/blog-starter-kit/themes/hashnode/components/blog-post-preview.tsx @@ -79,7 +79,24 @@ function BlogPostPreview(props: { > {publication.isTeam && ( )} {layout === 'grid' && post.id === pinnedPostId && ( diff --git a/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx b/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx index 0715acbf9..732f86eb7 100644 --- a/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx +++ b/packages/blog-starter-kit/themes/hashnode/components/co-authors-modal.tsx @@ -2,6 +2,8 @@ import Button from './hn-button'; import { CloseSVG } from './icons/svgs'; import * as DialogPrimitive from '@radix-ui/react-dialog'; import CustomScrollArea from './scroll-area'; +import { DEFAULT_AVATAR } from '../utils/const/images'; +import { ResizableImage } from './resizable-image'; import { useAppContext } from './contexts/appContext'; import { PostFullFragment } from '../generated/graphql'; @@ -17,9 +19,21 @@ const AuthorCard = ({ author }: { author: PostFullFragment['author']; }) => { className="flex w-full flex-wrap items-center justify-between overflow-hidden px-0 py-2.5" >
    From 61e974519ede47f852d9740904d42575209f6e1e Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:58:59 +0300 Subject: [PATCH 042/915] update --- .../themes/enterprise/components/navbar.tsx | 5 +++++ .../themes/enterprise/styles/index.css | 20 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx index 62d9665b7..39528c4e7 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx @@ -4,6 +4,11 @@ export const Navbar = () => { return (
    +
    + +

    Temizmama Blog

    +

    Sevimli dostlarımız için en taze mamayı sunan Temizmama aracılığıyla kedi & köpek bakımı ile ilgili bilinmesi gerekenlerin hepsi bu sayfada!

    +
    ); }; diff --git a/packages/blog-starter-kit/themes/enterprise/styles/index.css b/packages/blog-starter-kit/themes/enterprise/styles/index.css index 4d2d3bc07..63dd7d385 100644 --- a/packages/blog-starter-kit/themes/enterprise/styles/index.css +++ b/packages/blog-starter-kit/themes/enterprise/styles/index.css @@ -51,6 +51,26 @@ color: #ddd; } + +/* Custom header title css */ + +.text-5xl { + font-size: 3rem; + line-height: 1; +} +.mt-2 { + margin-top: .5rem; +} +.text-purple-500 { + --tw-text-opacity: 1; + color: rgba(139, 92, 246, var(--tw-text-opacity)); +} +.max-w-xl { + max-width: 36rem; +} +h1, h2 { + font-family: "Source Serif Pro", serif; +} /* Custom Scrollbar */ ::-webkit-scrollbar { display: none; From 107b0765ad8ec5b1d8fc8e76fd7b5a03380d449d Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:00:56 +0300 Subject: [PATCH 043/915] =?UTF-8?q?className=20olarak=20g=C3=BCncellendi?= =?UTF-8?q?=20navbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../themes/enterprise/components/navbar.tsx | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx index 39528c4e7..ef5ab8c46 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx @@ -1,14 +1,19 @@ -import { Search } from './searchbar'; +import { Search } from "./searchbar"; export const Navbar = () => { - return ( -
    - -
    - -

    Temizmama Blog

    -

    Sevimli dostlarımız için en taze mamayı sunan Temizmama aracılığıyla kedi & köpek bakımı ile ilgili bilinmesi gerekenlerin hepsi bu sayfada!

    -
    -
    - ); + return ( +
    + +
    +

    + Temizmama Blog +

    +

    + Sevimli dostlarımız için en taze mamayı sunan Temizmama aracılığıyla + kedi & köpek bakımı ile ilgili bilinmesi gerekenlerin hepsi bu + sayfada! +

    +
    +
    + ); }; From 74f924152aabd5f395c90c61fe482eb9097c046a Mon Sep 17 00:00:00 2001 From: Bigo <26485488+EXELANCE-LLC@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:06:10 +0300 Subject: [PATCH 044/915] =?UTF-8?q?navbar=20title=20konum=20g=C3=BCncellem?= =?UTF-8?q?esi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../themes/enterprise/components/navbar.tsx | 10 - .../themes/enterprise/pages/index.tsx | 416 ++++++++++-------- 2 files changed, 221 insertions(+), 205 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx index ef5ab8c46..a1c75d56a 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx @@ -4,16 +4,6 @@ export const Navbar = () => { return (
    -
    -

    - Temizmama Blog -

    -

    - Sevimli dostlarımız için en taze mamayı sunan Temizmama aracılığıyla - kedi & köpek bakımı ile ilgili bilinmesi gerekenlerin hepsi bu - sayfada! -

    -
    ); }; diff --git a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx index 51c467be0..43d8652fd 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/index.tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/index.tsx @@ -1,206 +1,232 @@ -import { addPublicationJsonLd } from '@starter-kit/utils/seo/addPublicationJsonLd'; -import { getAutogeneratedPublicationOG } from '@starter-kit/utils/social/og'; -import request from 'graphql-request'; -import { GetStaticProps } from 'next'; -import dynamic from 'next/dynamic'; -import Head from 'next/head'; -import { useState } from 'react'; -import { Waypoint } from 'react-waypoint'; -import { Button } from '../components/button'; -import { Container } from '../components/container'; -import { AppProvider } from '../components/contexts/appContext'; -import { Footer } from '../components/footer'; -import { Header } from '../components/header'; -import { HeroPost } from '../components/hero-post'; -import { ArticleSVG, ChevronDownSVG } from '../components/icons'; -import { Layout } from '../components/layout'; -import { MorePosts } from '../components/more-posts'; -import { Navbar } from '../components/navbar'; -import { SecondaryPost } from '../components/secondary-post'; +import { addPublicationJsonLd } from "@starter-kit/utils/seo/addPublicationJsonLd"; +import { getAutogeneratedPublicationOG } from "@starter-kit/utils/social/og"; +import request from "graphql-request"; +import { GetStaticProps } from "next"; +import dynamic from "next/dynamic"; +import Head from "next/head"; +import { useState } from "react"; +import { Waypoint } from "react-waypoint"; +import { Button } from "../components/button"; +import { Container } from "../components/container"; +import { AppProvider } from "../components/contexts/appContext"; +import { Footer } from "../components/footer"; +import { Header } from "../components/header"; +import { HeroPost } from "../components/hero-post"; +import { ArticleSVG, ChevronDownSVG } from "../components/icons"; +import { Layout } from "../components/layout"; +import { MorePosts } from "../components/more-posts"; +import { Navbar } from "../components/navbar"; +import { SecondaryPost } from "../components/secondary-post"; import { - MorePostsByPublicationDocument, - MorePostsByPublicationQuery, - MorePostsByPublicationQueryVariables, - PageInfo, - PostFragment, - PostsByPublicationDocument, - PostsByPublicationQuery, - PostsByPublicationQueryVariables, - PublicationFragment, -} from '../generated/graphql'; -import { DEFAULT_COVER } from '../utils/const'; - - + MorePostsByPublicationDocument, + MorePostsByPublicationQuery, + MorePostsByPublicationQueryVariables, + PageInfo, + PostFragment, + PostsByPublicationDocument, + PostsByPublicationQuery, + PostsByPublicationQueryVariables, + PublicationFragment, +} from "../generated/graphql"; +import { DEFAULT_COVER } from "../utils/const"; const GQL_ENDPOINT = process.env.NEXT_PUBLIC_HASHNODE_GQL_ENDPOINT; type Props = { - publication: PublicationFragment; - initialAllPosts: PostFragment[]; - initialPageInfo: PageInfo; + publication: PublicationFragment; + initialAllPosts: PostFragment[]; + initialPageInfo: PageInfo; }; -export default function Index({ publication, initialAllPosts, initialPageInfo }: Props) { - const [allPosts, setAllPosts] = useState(initialAllPosts); - const [pageInfo, setPageInfo] = useState(initialPageInfo); - const [loadedMore, setLoadedMore] = useState(false); - - const loadMore = async () => { - const data = await request( - GQL_ENDPOINT, - MorePostsByPublicationDocument, - { - first: 10, - host: process.env.NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST, - after: pageInfo.endCursor, - }, - ); - if (!data.publication) { - return; - } - const newPosts = data.publication.posts.edges.map((edge) => edge.node); - setAllPosts([...allPosts, ...newPosts]); - setPageInfo(data.publication.posts.pageInfo); - setLoadedMore(true); - }; - - const firstPost = allPosts[0]; - const secondaryPosts = allPosts.slice(1, 4).map((post) => { - return ( - - ); - }); - const morePosts = allPosts.slice(4); - - return ( - - - - - {publication.displayTitle || publication.title || 'Hashnode Blog Starter Kit'} - - - - - - - - - ) : null} - {fathomSiteID && ( - - )} - {hotjarSiteID && hotjarForUsers && ( - - )} - {matomoURL && ( - - )} - {plausibleAnalyticsEnabled && ( - - )} - - ); -} diff --git a/packages/blog-starter-kit/themes/.hashnode/components/layout.tsx b/packages/blog-starter-kit/themes/.hashnode/components/layout.tsx deleted file mode 100644 index 039f9e30f..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Analytics } from './analytics'; -import { Integrations } from './integrations'; -import { Meta } from './meta'; -import { Scripts } from './scripts'; - -type Props = { - children: React.ReactNode; -}; - -export const Layout = ({ children }: Props) => { - return ( - <> - - -
    -
    {children}
    -
    - - - - ); -}; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/magazine-blog-post-preview.tsx b/packages/blog-starter-kit/themes/.hashnode/components/magazine-blog-post-preview.tsx deleted file mode 100644 index 412642b76..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/magazine-blog-post-preview.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import Link from 'next/link'; - -import CustomImage from './custom-image'; -import { BookOpenSVG, ChartMixedSVG } from './icons/svgs'; -import { getDefaultPostCoverImageUrl } from '../utils/commonUtils'; -import { blurImageDimensions } from '../utils/const/images'; -import { getBlurHash, resizeImage } from '../utils/image'; -import { kFormatter } from '../utils/image'; -import { PostThumbnailFragment, PublicationFragment } from '../generated/graphql'; - -function BlogPostPreview(props: { - post: PostThumbnailFragment; - publication: Pick; -}) { - const { post, publication } = props; - const postURL = `/${post.slug}`; - const postCoverImageURL = post.coverImage?.url ?? getDefaultPostCoverImageUrl(); - - const preload = async () => { - const nextData = document.getElementById('__NEXT_DATA__'); - if (nextData) { - const { buildId } = JSON.parse(nextData.innerHTML); - if (buildId) { - fetch(`/_next/data/${buildId}/${post.slug}.json?slug=${post.slug}`); - } - } - }; - - return ( -
    - undefined} - aria-label={`Cover photo of the article titled ${post.title}`} - className="mb-4 block w-full overflow-hidden rounded-lg border bg-slate-100 hover:opacity-90 dark:border-slate-800 dark:bg-slate-800" - > - - -

    - undefined}> - {post.title} - -

    -
    -
    - undefined} - > - {post.author.name} - -
    - {publication.features.readTime.isEnabled && post.readTimeInMinutes ? ( - <> -

    - undefined} - > - - {post.readTimeInMinutes} min read - -

    - - ) : null} - {post.readTimeInMinutes && Number(post.views) > 0 && publication.features.viewCount.isEnabled ? ( -

    ·

    - ) : null} - {Number(post.views) > 0 && publication.features.viewCount.isEnabled ? ( -

    - undefined} - > - - {kFormatter(post.views)} views - -

    - ) : null} -
    -
    -
    -
    - ); -} - -export default BlogPostPreview; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/markdown-styles.module.css b/packages/blog-starter-kit/themes/.hashnode/components/markdown-styles.module.css deleted file mode 100644 index 95d4f8b04..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/markdown-styles.module.css +++ /dev/null @@ -1,18 +0,0 @@ -.markdown { - @apply text-lg leading-relaxed; -} - -.markdown p, -.markdown ul, -.markdown ol, -.markdown blockquote { - @apply my-6; -} - -.markdown h2 { - @apply text-3xl mt-12 mb-4 leading-snug; -} - -.markdown h3 { - @apply text-2xl mt-8 mb-4 leading-snug; -} diff --git a/packages/blog-starter-kit/themes/.hashnode/components/meta.tsx b/packages/blog-starter-kit/themes/.hashnode/components/meta.tsx deleted file mode 100644 index 578c3a741..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/meta.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import parse from 'html-react-parser'; -import Head from 'next/head'; - -import { useAppContext } from './contexts/appContext'; - -export const Meta = () => { - const { publication } = useAppContext(); - const { metaTags, favicon } = publication; - const defaultFavicons = ( - <> - - - - - - - - ); - - return ( - - {favicon ? : defaultFavicons} - - - {metaTags && parse(metaTags)} - - ); -}; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/modern-layout-posts.tsx b/packages/blog-starter-kit/themes/.hashnode/components/modern-layout-posts.tsx deleted file mode 100644 index de2335d8f..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/modern-layout-posts.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import { Waypoint } from 'react-waypoint'; - -import Button from './hn-button'; -import { ChevronDownSVG } from './icons/svgs'; -import { PageInfo, PublicationFragment, PostThumbnailFragment } from '../generated/graphql'; -import BlogPostPreview from './magazine-blog-post-preview'; - -const PublicationPosts = (props: { - posts: { - edges: Array<{ - cursor: string; - node: PostThumbnailFragment; - }>; - pageInfo: Pick; - }; - publication: Pick; - fetchMore: () => void; - fetching: boolean; - fetchedOnce: boolean; -}) => { - const { posts, publication, fetchMore, fetching, fetchedOnce } = props; - const { edges, pageInfo } = posts; - - const slicedPosts = edges.map((edge) => edge.node).slice(3); - - return ( -
    -
    - {slicedPosts.map((post) => ( - - ))} - {fetching && ( - <> -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - )} - {pageInfo.hasNextPage && !fetchedOnce && !fetching ? ( -
    - -
    - ) : null} -
    - {fetchedOnce && pageInfo.hasNextPage ? : null} - {fetchedOnce && !pageInfo.hasNextPage ? ( -
    -

    You've reached the end! 👋

    -
    - ) : null} -
    - ); -}; - -export default PublicationPosts; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/other-posts-of-account.tsx b/packages/blog-starter-kit/themes/.hashnode/components/other-posts-of-account.tsx deleted file mode 100644 index 16f0d0f9f..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/other-posts-of-account.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import { twJoin } from 'tailwind-merge'; - -import { resizeImage } from '../utils/image'; -import ProfileImage from './profile-image'; -import CustomImage from './custom-image'; -import { PostFullFragment } from '../generated/graphql'; - - -type Props = { - post: PostFullFragment; - morePosts: any -}; - -function OtherPostsOfAccount(props: Props) { - const { morePosts, post } = props; - - if (!morePosts || morePosts.length === 0) { - return
    ; - } - - const morePostsRendered = morePosts.map((postNode: any) => { - const post = postNode.node; - const postURL = post.slug; - return ( - - ); - }); - - return ( -
    -

    - {true ? 'More articles' : `More Stories by ${post.author.name}`} -

    -
    - {morePostsRendered} -
    -
    - ); -} - - - -export default OtherPostsOfAccount; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/post-author-info.tsx b/packages/blog-starter-kit/themes/.hashnode/components/post-author-info.tsx deleted file mode 100644 index 0b806ea2c..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/post-author-info.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { twJoin } from 'tailwind-merge'; - -import CustomImage from './custom-image'; -import { getBlurHash, resizeImage } from '../utils/image'; - -function PostAuthorInfo(props: any) { - const { - author, - } = props; - - return ( -
    -
    -
    - - - -
    -
    -
    -

    - {author.name} -

    -
    - {author.bio?.html && ( -
    -
    -
    - )} -
    -
    - {author.bio?.html && ( -
    -
    -
    - )} -
    - ); -} - -export default PostAuthorInfo; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/post-comments-sidebar.tsx b/packages/blog-starter-kit/themes/.hashnode/components/post-comments-sidebar.tsx deleted file mode 100644 index 79bfd02b8..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/post-comments-sidebar.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { PostFullFragment } from '../generated/graphql'; -import CommentsSheet from './comments-sheet'; -import ResponseList from './response-list'; - -const PostCommentsSidebar = ({ - hideSidebar, - isPublicationPost, - selectedFilter, - post, -}: { - hideSidebar: () => void; - isPublicationPost: boolean; - selectedFilter: string; - post: PostFullFragment; -}) => ( - - - {!post.preferences.disableComments ? ( - - ) : ( -
    -

    The comments have been disabled by the author for this article

    -
    - )} -
    -); - -export default PostCommentsSidebar; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/post-comments.tsx b/packages/blog-starter-kit/themes/.hashnode/components/post-comments.tsx deleted file mode 100644 index 87b61eb96..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/post-comments.tsx +++ /dev/null @@ -1,171 +0,0 @@ -import moment from 'dayjs'; - -import localizedFormat from 'dayjs/plugin/localizedFormat'; -import relativeTime from 'dayjs/plugin/relativeTime'; - -import { twJoin } from 'tailwind-merge'; -import { formatDate } from '../utils'; -import Autolinker from '../utils/autolinker'; -import { imageReplacer } from '../utils/image'; -import { useAppContext } from './contexts/appContext'; -import { Button } from './custom-button'; -import { ExternalArrowSVG, HashnodeSVG } from './icons'; -import ProfileImage from './profile-image'; -import ResponseFooter from './response-footer'; - -moment.extend(relativeTime); -moment.extend(localizedFormat); - -export const PostComments = () => { - const { post } = useAppContext(); - if (!post) return null; - const discussionUrl = `https://hashnode.com/discussions/post/${post.id}`; - const checkIfCommentByAuthor = (comment: any) => { - return comment.author.id.toString() === post.author.id.toString(); - }; - - const loadProfile = (e: any, comment: any) => { - e.preventDefault(); - const isPublication = true; - const url = `${isPublication ? 'https://hashnode.com/@' : '/@'}${comment.author.username}`; - if (isPublication) { - window.location.href = url; - } - return null; - // Router.push(url); - }; - - const noop = (e: any) => { - e.preventDefault(); - }; - - const commentsList = post.comments.edges.map((edge) => { - const comment = edge.node as any; - return ( -
    -
    - -
    -
    string; getTwitterHandle: () => void }, - ) { - switch (match.getType()) { - case 'twitter': - // eslint-disable-next-line no-case-declarations - const username = match.getTwitterHandle(); - return `@${username}`; - default: - return null; - } - }, - }), - ), - }} - /> - -
    - ); - }); - - return ( -
    -
    -
    -

    - Comments{' '} - {post.responseCount > 0 ? ( - ({(post.responseCount || 0) + (post.replyCount || 0)}) - ) : ( - '' - )} -

    -
    -
    -
    {commentsList}
    -
    -
    -
    - ); -}; diff --git a/packages/blog-starter-kit/themes/.hashnode/components/post-floating-bar-tooltip-wrapper.tsx b/packages/blog-starter-kit/themes/.hashnode/components/post-floating-bar-tooltip-wrapper.tsx deleted file mode 100644 index bddbedf4b..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/post-floating-bar-tooltip-wrapper.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as Tooltip from '@radix-ui/react-tooltip'; -import React from 'react'; -import { twMerge } from 'tailwind-merge'; - -export default function PostFloatingBarTooltipWrapper({ - children, - label, - asChild = true, - labelSide = 'top', - contentClassName = '', - delayDuration, -}: { - children: React.ReactChild; - label: string; - asChild?: boolean; - labelSide?: 'top' | 'right' | 'bottom' | 'left'; - contentClassName?: string; - delayDuration?: number; -}) { - return ( - - - {children} - - - - {label} - - - - ); -} diff --git a/packages/blog-starter-kit/themes/.hashnode/components/post-floating-bar.tsx b/packages/blog-starter-kit/themes/.hashnode/components/post-floating-bar.tsx deleted file mode 100644 index e5d41d1bc..000000000 --- a/packages/blog-starter-kit/themes/.hashnode/components/post-floating-bar.tsx +++ /dev/null @@ -1,144 +0,0 @@ -import * as Tooltip from '@radix-ui/react-tooltip'; -import { useEffect } from 'react'; - -import { CommentSVGV2 } from './icons/svgs'; -import { kFormatter } from '../utils/image'; -import { Separator } from './separator-root'; -import PostFloatingBarTooltipWrapper from './post-floating-bar-tooltip-wrapper'; -import { PostFullFragment } from '../generated/graphql'; -import TocSheet from './toc-sheet'; -import PostShareWidget from './post-share-widget'; - - -function PostFloatingMenu(props: { - isPublicationPost: boolean; - post: PostFullFragment; - shareText: string; - showPaymentModal?: () => void; - openComments?: () => void; - list: any[]; -}) { - const { - isPublicationPost, - post, - shareText, - showPaymentModal, - openComments, - list, - } = props; - - const handleFloatingBarDisplay = () => { - const blogHeader = document.querySelector('.blog-header'); - const blogContent = document.querySelector('#post-content-parent'); - const floatingBar = document.querySelector('.post-floating-bar'); - - if (!floatingBar?.classList.contains('freeze')) { - if (window.scrollY > blogHeader!.clientHeight) { - floatingBar?.classList.add('active', 'animation'); - } else if (floatingBar?.classList.contains('active')) { - floatingBar?.classList.remove('active'); - } - } - - const currentViewportHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); - // Adding 40 as a buffer to adjust the trigger - const isPostContentBottomInsideViewport = blogContent!.getBoundingClientRect().bottom + 40 <= currentViewportHeight; - // Adding 175 as a buffer to adjust the trigger - const isPostContentBottomAlmostOut = - window.scrollY - currentViewportHeight - 175 <= blogContent!.clientHeight && - floatingBar?.classList.contains('freeze'); - - if (isPostContentBottomInsideViewport) { - floatingBar?.classList.remove('active'); - floatingBar?.classList.add('freeze'); - } else if (isPostContentBottomAlmostOut) { - floatingBar?.classList.remove('freeze', 'animation'); - floatingBar?.classList.add('active'); - } - }; - - useEffect(() => { - handleFloatingBarDisplay(); - window.addEventListener('scroll', handleFloatingBarDisplay); - return () => { - window.removeEventListener('scroll', handleFloatingBarDisplay); - }; - }, []); - - // Best practice to have the accessible name being with the visible text (comment count) - const commentBtnAccessibleLabel = - post?.responseCount > 0 - ? `${kFormatter(post.responseCount + (post.replyCount || 0))} comment${ - post.responseCount === 1 ? '' : 's' - }, open the comments` - : 'Open comments'; - - return ( - - - - - - ); -}; - -const Page = ({ page }: PageProps) => { - const title = page.title; - return ( - <> - - {title} - -
    - -
    - - ); -}; - -export default function PostOrPage(props: Props) { - const headerRef = useRef(null); - const maybePost = props.type === 'post' ? props.post : null; - const maybePage = props.type === 'page' ? props.page : null; - const publication = props.publication; - const navPositionStyles = - 'relative transform-none md:sticky md:top-0 md:left-0 md:backdrop-blur-lg'; - - if (props.type === 'post') { - return ( - - -
    - -
    - -
    - -
    -
    - -
    -
    - ); - } - - const description = - publication.descriptionSEO || publication.title || `${publication.author.name}'s Blog`; - - return ( - - - - - {publication.displayTitle || publication.title || 'Hashnode Blog Starter Kit'} - - - - - - - - - ) : null} - {fathomSiteID && ( - - )} - {hotjarSiteID && hotjarForUsers && ( - - )} - {matomoURL && ( - - )} - {plausibleAnalyticsEnabled && ( - - )} - - ); -} diff --git a/packages/blog-starter-kit/themes/personal/components/layout.tsx b/packages/blog-starter-kit/themes/personal/components/layout.tsx deleted file mode 100644 index 039f9e30f..000000000 --- a/packages/blog-starter-kit/themes/personal/components/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Analytics } from './analytics'; -import { Integrations } from './integrations'; -import { Meta } from './meta'; -import { Scripts } from './scripts'; - -type Props = { - children: React.ReactNode; -}; - -export const Layout = ({ children }: Props) => { - return ( - <> - - -
    -
    {children}
    -
    - - - - ); -}; diff --git a/packages/blog-starter-kit/themes/personal/components/markdown-styles.module.css b/packages/blog-starter-kit/themes/personal/components/markdown-styles.module.css deleted file mode 100644 index 95d4f8b04..000000000 --- a/packages/blog-starter-kit/themes/personal/components/markdown-styles.module.css +++ /dev/null @@ -1,18 +0,0 @@ -.markdown { - @apply text-lg leading-relaxed; -} - -.markdown p, -.markdown ul, -.markdown ol, -.markdown blockquote { - @apply my-6; -} - -.markdown h2 { - @apply text-3xl mt-12 mb-4 leading-snug; -} - -.markdown h3 { - @apply text-2xl mt-8 mb-4 leading-snug; -} diff --git a/packages/blog-starter-kit/themes/personal/components/markdown-to-html.tsx b/packages/blog-starter-kit/themes/personal/components/markdown-to-html.tsx deleted file mode 100644 index e2f7535c5..000000000 --- a/packages/blog-starter-kit/themes/personal/components/markdown-to-html.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { useEmbeds } from '@starter-kit/utils/renderer/hooks/useEmbeds'; -import { markdownToHtml } from '@starter-kit/utils/renderer/markdownToHtml'; -import { memo } from 'react'; - -type Props = { - contentMarkdown: string; -}; - -const _MarkdownToHtml = ({ contentMarkdown }: Props) => { - const content = markdownToHtml(contentMarkdown); - useEmbeds({ enabled: true }); - - return ( -
    - ); -}; - -export const MarkdownToHtml = memo(_MarkdownToHtml); diff --git a/packages/blog-starter-kit/themes/personal/components/meta.tsx b/packages/blog-starter-kit/themes/personal/components/meta.tsx deleted file mode 100644 index 42d7118d0..000000000 --- a/packages/blog-starter-kit/themes/personal/components/meta.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import parse from 'html-react-parser'; -import Head from 'next/head'; -import { useAppContext } from './contexts/appContext'; - -export const Meta = () => { - const { publication } = useAppContext(); - const { metaTags, favicon } = publication; - const defaultFavicons = ( - <> - - - - - - - - ); - - return ( - - {favicon ? : defaultFavicons} - - - {metaTags && parse(metaTags)} - - ); -}; diff --git a/packages/blog-starter-kit/themes/personal/components/minimal-post-preview.tsx b/packages/blog-starter-kit/themes/personal/components/minimal-post-preview.tsx deleted file mode 100644 index dc545c4f7..000000000 --- a/packages/blog-starter-kit/themes/personal/components/minimal-post-preview.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import Link from 'next/link'; -import { User } from '../generated/graphql'; -import { DateFormatter } from './date-formatter'; - -type Author = Pick; - -type Props = { - title: string; - date: string; - author: Author; - slug: string; - commentCount: number; -}; - -export const MinimalPostPreview = ({ title, date, slug, commentCount }: Props) => { - const postURL = `/${slug}`; - - return ( -
    -

    - {title} -

    -

    - - - - {commentCount > 2 && ( - <> - · - - {commentCount} comments - - - )} -

    -
    - ); -}; diff --git a/packages/blog-starter-kit/themes/personal/components/minimal-posts.tsx b/packages/blog-starter-kit/themes/personal/components/minimal-posts.tsx deleted file mode 100644 index 372c1af45..000000000 --- a/packages/blog-starter-kit/themes/personal/components/minimal-posts.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { PostFragment } from '../generated/graphql'; -import { MinimalPostPreview } from './minimal-post-preview'; - -type Props = { - posts: PostFragment[]; - context: 'home' | 'series' | 'tag'; -}; - -export const MinimalPosts = ({ posts }: Props) => { - return ( -
    - {posts.map((post) => ( - - ))} -
    - ); -}; diff --git a/packages/blog-starter-kit/themes/personal/components/personal-theme-header.tsx b/packages/blog-starter-kit/themes/personal/components/personal-theme-header.tsx deleted file mode 100644 index 43ff19e09..000000000 --- a/packages/blog-starter-kit/themes/personal/components/personal-theme-header.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import * as DropdownMenu from '@radix-ui/react-dropdown-menu'; -import { resizeImage } from '@starter-kit/utils/image'; -import Link from 'next/link'; -import { PublicationNavbarItem } from '../generated/graphql'; -import { useAppContext } from './contexts/appContext'; -import { ToggleTheme } from './toggle-theme'; - -function hasUrl( - navbarItem: PublicationNavbarItem, -): navbarItem is PublicationNavbarItem & { url: string } { - return !!navbarItem.url && navbarItem.url.length > 0; -} - -export const PersonalHeader = () => { - const { publication } = useAppContext(); - - const navbarItems = publication.preferences.navbarItems.filter(hasUrl); - const visibleItems = navbarItems.slice(0, 2); - const hiddenItems = navbarItems.slice(2); - - const navList = ( -
      - {visibleItems.map((item) => ( -
    • - - {item.label} - -
    • - ))} - - {hiddenItems.length > 0 && ( -
    • - - - - - - - {hiddenItems.map((item) => ( - - - {item.label} - - - ))} - - - -
    • - )} -
    - ); - - return ( -
    -
    -
    -

    - - {publication.author.profilePicture && ( - {publication.author.name} - )} - {publication.title} - -

    - -
    -
    -
    - - - {/*
    -
    - ); -}; diff --git a/packages/blog-starter-kit/themes/personal/components/scripts.tsx b/packages/blog-starter-kit/themes/personal/components/scripts.tsx deleted file mode 100644 index 712c790c0..000000000 --- a/packages/blog-starter-kit/themes/personal/components/scripts.tsx +++ /dev/null @@ -1,12 +0,0 @@ -export const Scripts = () => { - const googleAnalytics = ` - window.dataLayer = window.dataLayer || []; - function gtag(){window.dataLayer.push(arguments);} - gtag('js', new Date());`; - return ( - <> - - ) : null} - {fathomSiteID && ( - - )} - {hotjarSiteID && hotjarForUsers && ( - - )} - {matomoURL && ( - - )} - {plausibleAnalyticsEnabled && ( - - )} - - ); -} + return ( + <> + {fbPixelID && ( + + )} + {fathomSiteID && ( + + )} + {hotjarSiteID && hotjarForUsers && ( + + )} + {matomoURL && matomoAnalytics && ( + + )} + {plausibleAnalyticsEnabled && domainURL && ( + + )} + + ); +} \ No newline at end of file diff --git a/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx b/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx index 93bd534ed..cdcd152b7 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/social-links.tsx @@ -3,77 +3,82 @@ import { useAppContext } from './contexts/appContext'; import { GithubSVG, HashnodeSVG, LinkedinSVG, RssSVG, XSVG } from './icons'; export const SocialLinks = ({ isSidebar }: { isSidebar?: boolean }) => { - const { publication } = useAppContext(); - const hasSocialLinks = !Object.values(publication.links!).every((val) => val === ''); + const { publication } = useAppContext(); + + // publication.links'in varlığını kontrol et + const links = publication?.links || {}; + + // Boş olmayan link değerlerini kontrol et + const hasSocialLinks = Object.values(links).some((val) => val && val !== ''); - return ( - <> -
    - {hasSocialLinks && ( - <> - {publication.links?.twitter && ( - - - - )} - {publication.links?.github && ( - - - - )} - {publication.links?.linkedin && ( - - - - )} - {publication.links?.hashnode && ( - - - - )} - - )} + return ( + <> +
    + {hasSocialLinks && ( + <> + {links.twitter && ( + + + + )} + {links.github && ( + + + + )} + {links.linkedin && ( + + + + )} + {links.hashnode && ( + + + + )} + + )} - - - -
    - - ); -}; + + + +
    + + ); +}; \ No newline at end of file diff --git a/packages/blog-starter-kit/themes/enterprise/pages/404.tsx b/packages/blog-starter-kit/themes/enterprise/pages/404.tsx new file mode 100644 index 000000000..76cb0bd52 --- /dev/null +++ b/packages/blog-starter-kit/themes/enterprise/pages/404.tsx @@ -0,0 +1,58 @@ +import React from 'react'; +import Link from 'next/link'; +import { Layout } from '../components/layout'; +import { Navbar } from '../components/navbar'; +import { Footer } from '../components/footer'; +import Head from 'next/head'; + +const Custom404 = () => { + return ( + + + Üzgünüz, bir şeyler yanlış gitti. + + + + + + + + + + + + + + + + + + + + + + + + + {/* )} + {openReplayProjectKey && ( +
    diff --git a/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx b/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx index 317406e1d..157b1da38 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx @@ -118,7 +118,6 @@ type GetDogPostsResponse = { const hasCatKeyword = catKeywords.some(keyword => content.includes(keyword)); const hasCommonKeyword = commonKeywords.some(keyword => content.includes(keyword)); - // Köpekle ilgili içerik varsa VE kediyle ilgili içerik yoksa VEYA her ikisiyle ilgili ortak bir konu varsa return (hasDogKeyword && !hasCatKeyword) || (hasDogKeyword && hasCatKeyword && hasCommonKeyword); } @@ -172,6 +171,50 @@ type GetDogPostsResponse = { rel="canonical" href={`${baseUrl}/kopek${currentPage > 1 ? `/sayfa/${currentPage}` : ''}`} /> +
    From cfe1f0949c01443171128b10fb176b91f77fa34e Mon Sep 17 00:00:00 2001 From: Bigo Date: Mon, 7 Oct 2024 12:09:59 +0300 Subject: [PATCH 877/915] =?UTF-8?q?hotjar,=20plausable,=20openreplay=20kal?= =?UTF-8?q?d=C4=B1r=C4=B1ld=C4=B1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enterprise/components/integrations.tsx | 109 +----------------- 1 file changed, 2 insertions(+), 107 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/integrations.tsx b/packages/blog-starter-kit/themes/enterprise/components/integrations.tsx index 6c9dc3e72..94ae2c73b 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/integrations.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/integrations.tsx @@ -1,43 +1,24 @@ import { useEffect } from 'react'; import { useAppContext } from './contexts/appContext'; -// OpenReplay için tip tanımlamaları -interface OpenReplayInitOptions { - projectKey: string; - defaultInputMode: number; - obscureTextNumbers: boolean; - obscureTextEmails: boolean; -} - -interface OpenReplayStartOptions { - userID: string; -} - declare global { interface Window { - OpenReplay: any; gtag: any; } } - export function Integrations() { const { publication } = useAppContext(); const { gaTrackingID, fbPixelID, - hotjarSiteID, matomoURL, matomoSiteID, fathomSiteID, fathomCustomDomain, fathomCustomDomainEnabled, - plausibleAnalyticsEnabled, } = (publication?.integrations as any) ?? {}; - const openReplayProjectKey = 'rOeEEWoveoIqi68TKLef'; - - // URL kontrolü ve varsayılan değer atama let domainURL = ''; try { @@ -64,19 +45,6 @@ export function Integrations() { fbPixel += `fbq('init', '${encodeURI(fbPixelID)}');`; } - const hotjarForUsers = hotjarSiteID - ? ` - (function(h,o,t,j,a,r){ - h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; - h._hjSettings={hjid:${encodeURI(hotjarSiteID)},hjsv:6}; - a=o.getElementsByTagName('head')[0]; - r=o.createElement('script');r.async=1;r.defer=1; - r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; - a.appendChild(r); - })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); - ` - : ''; - const matomoAnalytics = matomoURL ? ` var _paq = window._paq = window._paq || []; @@ -91,36 +59,7 @@ export function Integrations() { })(); ` : ''; - - // OpenReplay initialization function - const initOpenReplay = (initOpts: OpenReplayInitOptions, startOpts: OpenReplayStartOptions): void => { - const initOpenReplay = (A: string, s: number, a: number, y: OpenReplayInitOptions, e: OpenReplayStartOptions, r: any): void => { - r = window.OpenReplay = [e, r, y, [s - 1, e]]; - const script = document.createElement('script'); - script.src = A; - script.async = !a; - document.getElementsByTagName('head')[0].appendChild(script); - r.start = (v: any) => r.push([0]); - r.stop = (v: any) => r.push([1]); - r.setUserID = (id: string) => r.push([2, id]); - r.setUserAnonymousID = (id: string) => r.push([3, id]); - r.setMetadata = (k: string, v: any) => r.push([4, k, v]); - r.event = (k: string, p: any, i: any) => r.push([5, k, p, i]); - r.issue = (k: string, p: any) => r.push([6, k, p]); - r.isActive = () => false; - r.getSessionToken = () => {}; - }; - - initOpenReplay( - "//static.openreplay.com/latest/openreplay-assist.js", - 1, - 0, - initOpts, - startOpts, - undefined // r argümanı için - ); - }; - + useEffect(() => { if (gaTrackingID && typeof window !== 'undefined' && 'gtag' in window) { window.gtag('config', gaTrackingID, { @@ -129,20 +68,7 @@ export function Integrations() { }); } - // OpenReplay initialization - if (openReplayProjectKey && typeof window !== 'undefined') { - const initOpts: OpenReplayInitOptions = { - projectKey: openReplayProjectKey, - defaultInputMode: 2, - obscureTextNumbers: false, - obscureTextEmails: true, - }; - const startOpts: OpenReplayStartOptions = { - userID: "" // Kullanıcı ID'sini buraya ekleyebilirsiniz - }; - initOpenReplay(initOpts, startOpts); - } - }, [gaTrackingID, openReplayProjectKey]); + }, [gaTrackingID]); return ( <> @@ -161,43 +87,12 @@ export function Integrations() { defer > )} - {hotjarSiteID && hotjarForUsers && ( - - )} {matomoURL && matomoAnalytics && ( )} - {plausibleAnalyticsEnabled && domainURL && ( - - )} - {openReplayProjectKey && ( - - -
    - -

    Kediler Hakkında {currentPage > 1 ? `- Sayfa ${currentPage}` : ''}

    -
    -
    -
    + +
    + +

    Kediler Hakkında {currentPage > 1 ? `- Sayfa ${currentPage}` : ''}

    +
    +
    +
    {displayedPosts.length > 0 ? ( <> - +
    {currentPage === 1 ? ( hasMorePosts && ( - + + + Daha Fazla + + + ) ) : ( <> {hasPreviousPage && ( - + + + ← Önceki Sayfa + + + )} {hasMorePosts && ( - + + + Sonraki Sayfa → + + )} )}
    ) : ( - <> +

    Henüz kedi ile ilgili içerik bulunmamaktadır.

    )}
    -
    -
    - - +
    +
    + + + ); +} + +export const getStaticPaths: GetStaticPaths = async () => { + if (!GQL_ENDPOINT) { + console.error('GQL_ENDPOINT is not defined'); + return { paths: [], fallback: false }; + } + + try { + const data = await request( + GQL_ENDPOINT, + GET_CAT_POSTS, + { + host: process.env.NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST || '', + first: 100, + } ); + + const filteredPosts = data.publication.posts.edges + .map((edge: { node: PostFragment }) => edge.node) + .filter(isCatRelated); + + const totalPages = Math.ceil(filteredPosts.length / POSTS_PER_PAGE); + + const paths = Array.from({ length: totalPages }, (_, i) => ({ + params: { page: (i + 1).toString() }, + })); + + return { paths, fallback: false }; + } catch (error) { + console.error('Veri alımı sırasında hata oluştu:', error); + return { paths: [], fallback: false }; } +}; -export const getStaticProps: GetStaticProps = async () => { +export const getStaticProps: GetStaticProps = async ({ params }) => { if (!GQL_ENDPOINT) { console.error('GQL_ENDPOINT is not defined'); - return { props: { allPosts: [], publication: {}, currentPage: 1 }, revalidate: 60 }; + return { props: { allPosts: [], publication: {}, currentPage: 1, totalPages: 1 }, revalidate: 60 }; } try { @@ -255,7 +272,7 @@ export const getStaticProps: GetStaticProps = async () => { GET_CAT_POSTS, { host: process.env.NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST || '', - first: 100, // Daha fazla post çekmek için bu sayıyı artırabilirsiniz + first: 100, } ); @@ -263,16 +280,20 @@ export const getStaticProps: GetStaticProps = async () => { .map((edge: { node: PostFragment }) => edge.node) .filter(isCatRelated); + const totalPages = Math.ceil(filteredPosts.length / POSTS_PER_PAGE); + const currentPage = params?.page ? parseInt(params.page as string, 10) : 1; + return { props: { allPosts: filteredPosts, publication: data.publication, - currentPage: 1, + currentPage, + totalPages, }, revalidate: 3600, }; } catch (error) { console.error('Veri alımı sırasında hata oluştu:', error); - return { props: { allPosts: [], publication: {}, currentPage: 1 }, revalidate: 60 }; + return { props: { allPosts: [], publication: {}, currentPage: 1, totalPages: 1 }, revalidate: 60 }; } }; \ No newline at end of file From 8a99bfcb522a2f6acc8b6f5a537a2dfdaa8c088f Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 15:18:40 +0300 Subject: [PATCH 898/915] . --- .../themes/enterprise/pages/kedi.tsx | 100 ++++++------------ 1 file changed, 30 insertions(+), 70 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/kedi.tsx b/packages/blog-starter-kit/themes/enterprise/pages/kedi.tsx index 6246a5e16..254578a14 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/kedi.tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/kedi.tsx @@ -1,5 +1,5 @@ -import { GetStaticProps, GetStaticPaths } from 'next'; -import Head from 'next/head'; +import { GetStaticProps } from 'next'; +import Head from 'next/head'; import Link from 'next/link'; import { Container } from '../components/container'; import { MorePosts } from '../components/more-posts'; @@ -86,8 +86,7 @@ type GetCatPostsResponse = { type Props = { allPosts: PostFragment[]; publication: PublicationFragment; - currentPage: number; - totalPages: number; + currentPage?: number; }; const catKeywords = ['kedi', 'kedicik', 'kediş', 'miyav', 'kedi maması', 'kedi bakımı']; @@ -99,7 +98,7 @@ function isCatRelated(post: PostFragment): boolean { const POSTS_PER_PAGE = 12; -export default function KediPage({ allPosts, publication, currentPage, totalPages }: Props) { +export default function KediPage({ allPosts, publication, currentPage = 1 }: Props) { const [displayedPosts, setDisplayedPosts] = useState([]); useEffect(() => { @@ -108,12 +107,12 @@ export default function KediPage({ allPosts, publication, currentPage, totalPage setDisplayedPosts(allPosts.slice(startIndex, endIndex)); }, [currentPage, allPosts]); - const hasMorePosts = currentPage < totalPages; + const hasMorePosts = currentPage * POSTS_PER_PAGE < allPosts.length; const hasPreviousPage = currentPage > 1; - - return ( - - + + return ( + + {`Kediler Hakkında Bilgiler | Kedi Sağlığı, Bakımı & Fazlası ${currentPage > 1 ? `| Sayfa ${currentPage}` : ''} | Temizmama Blog`} @@ -173,14 +172,14 @@ export default function KediPage({ allPosts, publication, currentPage, totalPage } `} - - -
    - -

    Kediler Hakkında {currentPage > 1 ? `- Sayfa ${currentPage}` : ''}

    -
    -
    -
    + + +
    + +

    Kediler Hakkında {currentPage > 1 ? `- Sayfa ${currentPage}` : ''}

    +
    +
    +
    {displayedPosts.length > 0 ? ( <> @@ -188,25 +187,23 @@ export default function KediPage({ allPosts, publication, currentPage, totalPage
    {currentPage === 1 ? ( hasMorePosts && ( - + Daha Fazla - ) ) : ( <> {hasPreviousPage && ( - + ← Önceki Sayfa - )} {hasMorePosts && ( - + Sonraki Sayfa → @@ -217,53 +214,20 @@ export default function KediPage({ allPosts, publication, currentPage, totalPage
    ) : ( -

    Henüz kedi ile ilgili içerik bulunmamaktadır.

    + <> )}
    -
    -
    - - - ); -} - -export const getStaticPaths: GetStaticPaths = async () => { - if (!GQL_ENDPOINT) { - console.error('GQL_ENDPOINT is not defined'); - return { paths: [], fallback: false }; - } - - try { - const data = await request( - GQL_ENDPOINT, - GET_CAT_POSTS, - { - host: process.env.NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST || '', - first: 100, - } +
    +
    + + ); - - const filteredPosts = data.publication.posts.edges - .map((edge: { node: PostFragment }) => edge.node) - .filter(isCatRelated); - - const totalPages = Math.ceil(filteredPosts.length / POSTS_PER_PAGE); - - const paths = Array.from({ length: totalPages }, (_, i) => ({ - params: { page: (i + 1).toString() }, - })); - - return { paths, fallback: false }; - } catch (error) { - console.error('Veri alımı sırasında hata oluştu:', error); - return { paths: [], fallback: false }; } -}; -export const getStaticProps: GetStaticProps = async ({ params }) => { +export const getStaticProps: GetStaticProps = async () => { if (!GQL_ENDPOINT) { console.error('GQL_ENDPOINT is not defined'); - return { props: { allPosts: [], publication: {}, currentPage: 1, totalPages: 1 }, revalidate: 60 }; + return { props: { allPosts: [], publication: {}, currentPage: 1 }, revalidate: 60 }; } try { @@ -272,7 +236,7 @@ export const getStaticProps: GetStaticProps = async ({ params }) => { GET_CAT_POSTS, { host: process.env.NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST || '', - first: 100, + first: 100, // Daha fazla post çekmek için bu sayıyı artırabilirsiniz } ); @@ -280,20 +244,16 @@ export const getStaticProps: GetStaticProps = async ({ params }) => { .map((edge: { node: PostFragment }) => edge.node) .filter(isCatRelated); - const totalPages = Math.ceil(filteredPosts.length / POSTS_PER_PAGE); - const currentPage = params?.page ? parseInt(params.page as string, 10) : 1; - return { props: { allPosts: filteredPosts, publication: data.publication, - currentPage, - totalPages, + currentPage: 1, }, revalidate: 3600, }; } catch (error) { console.error('Veri alımı sırasında hata oluştu:', error); - return { props: { allPosts: [], publication: {}, currentPage: 1, totalPages: 1 }, revalidate: 60 }; + return { props: { allPosts: [], publication: {}, currentPage: 1 }, revalidate: 60 }; } }; \ No newline at end of file From 71d6f275be2464cb0eda5cb89c2c93c317184fa7 Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 15:24:40 +0300 Subject: [PATCH 899/915] . --- .../themes/enterprise/pages/kopek.tsx | 115 ++++++++---------- 1 file changed, 48 insertions(+), 67 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx b/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx index 157b1da38..e3b52c132 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/kopek.tsx @@ -1,6 +1,6 @@ import { GetStaticProps } from 'next'; import Head from 'next/head'; -import { useRouter } from 'next/router'; +import Link from 'next/link'; import { Container } from '../components/container'; import { MorePosts } from '../components/more-posts'; import { Navbar } from '../components/navbar'; @@ -124,7 +124,6 @@ type GetDogPostsResponse = { const POSTS_PER_PAGE = 12; export default function KopekPage({ allPosts, publication, currentPage = 1 }: Props) { - const router = useRouter(); const [displayedPosts, setDisplayedPosts] = useState([]); const dogRelatedPosts = useMemo(() => allPosts.filter(isDogRelated), [allPosts]); @@ -135,21 +134,6 @@ type GetDogPostsResponse = { setDisplayedPosts(dogRelatedPosts.slice(startIndex, endIndex)); }, [currentPage, dogRelatedPosts]); - - const goToNextPage = () => { - const nextPage = currentPage + 1; - router.push(`/kopek/sayfa/${nextPage}`); - }; - - const goToPreviousPage = () => { - const previousPage = currentPage - 1; - if (previousPage === 1) { - router.push('/kopek'); - } else { - router.push(`/kopek/sayfa/${previousPage}`); - } - }; - const hasMorePosts = currentPage * POSTS_PER_PAGE < dogRelatedPosts.length; const hasPreviousPage = currentPage > 1; @@ -215,60 +199,57 @@ type GetDogPostsResponse = { } `} - - -
    - -

    Köpekler Hakkında {currentPage > 1 ? `- Sayfa ${currentPage}` : ''}

    -
    -
    -
    + + +
    - {displayedPosts.length > 0 ? ( - <> - -
    - {currentPage === 1 ? ( - hasMorePosts && ( -
    +
    + + {displayedPosts.length > 0 ? ( + <> + +
    + {currentPage === 1 ? ( + hasMorePosts && ( + + Daha Fazla - - ) - ) : ( - <> - {hasPreviousPage && ( - - )} - {hasMorePosts && ( - - )} - - )} -
    - - ) : ( - <> - )} -
    -
    -
    + + ) : ( +

    Henüz köpek ile ilgili içerik bulunmamaktadır.

    + )} + +
    +
    + + + ); +} export const getStaticProps: GetStaticProps = async () => { if (!GQL_ENDPOINT) { From 99418c7f15477dbcb4e5e2a4fdbc8d17f1fe9ed6 Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 15:50:17 +0300 Subject: [PATCH 900/915] =?UTF-8?q?related=20post=20slug=20sayfas=C4=B1nda?= =?UTF-8?q?n=20kald=C4=B1r=C4=B1ld=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../themes/enterprise/pages/[slug].tsx | 170 ++++++------------ 1 file changed, 53 insertions(+), 117 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx index 22ba8be67..4d258e4cb 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx @@ -238,7 +238,7 @@ const Post = ({ publication, post, relatedPosts }: PostProps) => { - + ); }; @@ -386,105 +386,65 @@ export const getStaticProps: GetStaticProps = async ({ params }) const postData = await request(endpoint, SinglePostByPublicationDocument, { host, slug }); if (postData.publication?.post) { - const currentPost = postData.publication.post; - const tagSlugs = currentPost.tags?.map(tag => tag.slug) || []; - - let allRelatedPosts: RelatedPostFragment[] = []; - let hasNextPage = true; - let after = null; - - while (hasNextPage && allRelatedPosts.length < 20) { - const relatedPostsData: PostsByTagQuery = await request(endpoint, PostsByTagDocument, { - host, - tagSlugs, - first: 20, - after - }); - - const newPosts = relatedPostsData.publication?.posts.edges - .map((edge) => edge.node) - .filter((post) => post.id !== currentPost.id) ?? []; + const currentPost = postData.publication.post; + + // undefined değerleri kaldırmak için bir yardımcı fonksiyon + const removeUndefined = (obj: any): any => { + Object.keys(obj).forEach(key => { + if (obj[key] && typeof obj[key] === 'object') { + removeUndefined(obj[key]); + } else if (obj[key] === undefined) { + delete obj[key]; + } + }); + return obj; + }; - allRelatedPosts = [...allRelatedPosts, ...newPosts]; - hasNextPage = relatedPostsData.publication?.posts.pageInfo?.hasNextPage ?? false; - after = relatedPostsData.publication?.posts.pageInfo?.endCursor ?? null; + return { + props: removeUndefined({ + type: 'post', + post: currentPost, + publication: postData.publication, + }), + revalidate: 1, + }; } - const shuffledPosts = allRelatedPosts.sort(() => 0.5 - Math.random()); - const relatedPosts = shuffledPosts.slice(0, 3); - - const formattedRelatedPosts: PostFragment[] = relatedPosts.map(post => ({ - id: post.id, - title: post.title, - brief: post.brief, - slug: post.slug, - coverImage: post.coverImage ? { url: post.coverImage.url || '' } : null, - tags: post.tags ? post.tags.map(tag => ({ - id: tag.id, - name: tag.name, - slug: tag.slug - })) : null, - content: '' - })); - - // undefined değerleri kaldırmak için bir yardımcı fonksiyon - const removeUndefined = (obj: any): any => { - Object.keys(obj).forEach(key => { - if (obj[key] && typeof obj[key] === 'object') { - removeUndefined(obj[key]); - } else if (obj[key] === undefined) { - delete obj[key]; - } - }); - return obj; - }; - - return { - props: removeUndefined({ - type: 'post', - post: currentPost, - publication: postData.publication, - relatedPosts: formattedRelatedPosts, - }), - revalidate: 1, - }; - } - - // Statik sayfa için kontrol - const pageData = await request(endpoint, PageByPublicationDocument, { host, slug }); + // Statik sayfa için kontrol + const pageData = await request(endpoint, PageByPublicationDocument, { host, slug }); - if (pageData.publication?.staticPage) { - return { - props: removeUndefined({ - type: 'page', - page: pageData.publication.staticPage, - publication: pageData.publication, - }), - revalidate: 1, - }; - } + if (pageData.publication?.staticPage) { + return { + props: removeUndefined({ + type: 'page', + page: pageData.publication.staticPage, + publication: pageData.publication, + }), + revalidate: 1, + }; + } - // Kategori (series) için kontrol - const seriesData = await request(endpoint, SeriesPostsByPublicationDocument, { - host, - seriesSlug: slug, - first: 20, - }); + // Kategori (series) için kontrol + const seriesData = await request(endpoint, SeriesPostsByPublicationDocument, { + host, + seriesSlug: slug, + first: 20, + }); - if (seriesData.publication?.series) { - const series = seriesData.publication.series; - const posts = series.posts.edges.map(edge => edge.node) as PostFullFragment[]; + if (seriesData.publication?.series) { + const series = seriesData.publication.series; + const posts = series.posts.edges.map(edge => edge.node) as PostFullFragment[]; - return { - props: removeUndefined({ - type: 'category', - series, - posts, - publication: seriesData.publication, - }), - revalidate: 1, - }; - } + return { + props: removeUndefined({ + type: 'category', + series, + posts, + publication: seriesData.publication, + }), + revalidate: 1, + }; + } } catch (error) { console.error("GraphQL request failed:", error); return { @@ -496,28 +456,4 @@ export const getStaticProps: GetStaticProps = async ({ params }) notFound: true, revalidate: 1, }; -}; - -export const getStaticPaths: GetStaticPaths = async () => { - const data = await request( - process.env.NEXT_PUBLIC_HASHNODE_GQL_ENDPOINT, - SlugPostsByPublicationDocument, - { - first: 10, - host: process.env.NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST, - }, - ); - - const postSlugs = (data.publication?.posts.edges ?? []).map((edge) => edge.node.slug); - - return { - paths: postSlugs.map((slug) => { - return { - params: { - slug: slug, - }, - }; - }), - fallback: 'blocking', - }; }; \ No newline at end of file From ece22fffa331766e154a09d92efcace55741ca7b Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 15:57:44 +0300 Subject: [PATCH 901/915] . --- .../themes/enterprise/pages/[slug].tsx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx index 4d258e4cb..f239073d7 100644 --- a/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx +++ b/packages/blog-starter-kit/themes/enterprise/pages/[slug].tsx @@ -456,4 +456,35 @@ export const getStaticProps: GetStaticProps = async ({ params }) notFound: true, revalidate: 1, }; +}; + +export const getStaticPaths: GetStaticPaths = async () => { + const endpoint = process.env.NEXT_PUBLIC_HASHNODE_GQL_ENDPOINT; + const host = process.env.NEXT_PUBLIC_HASHNODE_PUBLICATION_HOST; + + try { + const data = await request( + endpoint, + SlugPostsByPublicationDocument, + { + first: 100, // Burada kaç sayfa için statik olarak oluşturulacağını belirleyebilirsiniz + host: host, + } + ); + + const paths = data.publication?.posts.edges.map((edge) => ({ + params: { slug: edge.node.slug }, + })) || []; + + return { + paths, + fallback: 'blocking', // veya 'true' ya da false, ihtiyacınıza göre + }; + } catch (error) { + console.error("Error fetching slugs:", error); + return { + paths: [], + fallback: 'blocking', + }; + } }; \ No newline at end of file From e0d2878faf23a711cc8f352dac3db5e2d254fac4 Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 17:05:09 +0300 Subject: [PATCH 902/915] image jsx fix --- .../enterprise/components/cover-image.tsx | 84 +++++++++++-------- 1 file changed, 47 insertions(+), 37 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx index 29e698a44..571add70e 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import Image from 'next/image'; import Link from 'next/link'; @@ -20,8 +20,50 @@ export const CoverImage = ({ title, src, slug, priority = false, onLoad, classNa if (onLoad) onLoad(); }; + useEffect(() => { + // Global styles + const style = document.createElement('style'); + style.textContent = ` + @keyframes shimmer { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(100%); + } + } + .shimmer { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient( + 90deg, + rgba(255, 255, 255, 0) 0%, + rgba(255, 255, 255, 0.3) 50%, + rgba(255, 255, 255, 0) 100% + ); + animation: shimmer 1.5s infinite; + } + .dark .shimmer { + background: linear-gradient( + 90deg, + rgba(255, 255, 255, 0) 0%, + rgba(255, 255, 255, 0.1) 50%, + rgba(255, 255, 255, 0) 100% + ); + } + `; + document.head.appendChild(style); + + return () => { + document.head.removeChild(style); + }; + }, []); + const image = ( -
    +
    {`Temizmama -
    +
    ); return ( @@ -47,38 +89,6 @@ export const CoverImage = ({ title, src, slug, priority = false, onLoad, classNa ) : ( image )} -
    ); }; \ No newline at end of file From 9155f2b189be927b3cdcf7f57b0f420984780dcc Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 17:06:51 +0300 Subject: [PATCH 903/915] s --- .../themes/enterprise/components/cover-image.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx index 571add70e..cd6644023 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx @@ -20,7 +20,7 @@ export const CoverImage = ({ title, src, slug, priority = false, onLoad, classNa if (onLoad) onLoad(); }; - useEffect(() => { + useEffect(() => { // Global styles const style = document.createElement('style'); style.textContent = ` From b16a2d29b1950fd0ccf550422527dadb42e83c68 Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 17:12:06 +0300 Subject: [PATCH 904/915] s --- .../themes/enterprise/components/cover-image.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx index cd6644023..701d2d6fe 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx @@ -19,7 +19,7 @@ export const CoverImage = ({ title, src, slug, priority = false, onLoad, classNa setImageLoaded(true); if (onLoad) onLoad(); }; - + useEffect(() => { // Global styles const style = document.createElement('style'); From 02402a442545d9b672f5814351bdf81578f2b1cc Mon Sep 17 00:00:00 2001 From: Bigo Date: Thu, 10 Oct 2024 17:23:26 +0300 Subject: [PATCH 905/915] . --- .../themes/enterprise/components/cover-image.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx index 701d2d6fe..b7d5dace1 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/cover-image.tsx @@ -18,7 +18,7 @@ export const CoverImage = ({ title, src, slug, priority = false, onLoad, classNa const handleImageLoad = () => { setImageLoaded(true); if (onLoad) onLoad(); - }; + }; useEffect(() => { // Global styles From 754231df1d7221ff714da7a342aa4d7c2765999b Mon Sep 17 00:00:00 2001 From: Bigo Date: Fri, 11 Oct 2024 09:56:47 +0300 Subject: [PATCH 906/915] =?UTF-8?q?logo=20titre=C5=9Fim=20-=20mobil=20i?= =?UTF-8?q?=C3=A7in?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../themes/enterprise/components/navbar.tsx | 64 ++++++++++--------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx index 321c83106..f6440587f 100644 --- a/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx +++ b/packages/blog-starter-kit/themes/enterprise/components/navbar.tsx @@ -76,6 +76,12 @@ export const Navbar: React.FC = () => { }, ]; + const handleLogoClick = useCallback(() => { + if (typeof navigator !== 'undefined' && navigator.vibrate) { + navigator.vibrate(50); // Vibrate for 50ms + } + }, []); + const [isMenuHovered, setIsMenuHovered] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isSearchOpen, setIsSearchOpen] = useState(false); @@ -473,34 +479,34 @@ export const Navbar: React.FC = () => { return ( <>