11import classes from './PageLayout.module.scss' ;
22import { combineClasses , getArticleDetails , transformImagePaths , transformPath } from '../../utils/utils' ;
33import { SORTED_ARTICLES_BY_DATE } from '../../../BLOG_CONSTANTS/_ARTICLES_LIST' ;
4- import { generateRandomAvtar } from '../../constants/appConstants' ;
54import Link from 'next/link' ;
65import Seperator from '../../components/Seperator' ;
76import ArticleHeader from '../../components/ArticleHeader' ;
7+ import Avatar from '../../components/Misc/Avatar' ;
8+ import ArticleMoreFromAuthor from '../../components/Misc/ArticleMoreFromAuthor' ;
89
910const Centered = ( { children } : any ) => {
1011 const ARTICLE_DETAILS = getArticleDetails ( ) ;
@@ -20,53 +21,7 @@ const Centered = ({ children }: any) => {
2021 </ article >
2122 < Seperator />
2223 < div className = { combineClasses ( classes . author_and_more , 'mx-auto' ) } >
23- < div className = { combineClasses ( classes . sidebar_author_details , "dark:bg-slate-800 dark:border-none dark:drop-shadow-lg" ) } >
24- < div className = { classes . author } >
25- < div className = { classes . author_img } >
26- { author . profilePic ? < img src = { author . profilePic } alt = { author . name } /> : < img src = { generateRandomAvtar ( ) } alt = { author . name } /> }
27- </ div >
28- < div >
29- < p className = { 'text-[20px] font-semibold mb-0 mt-0' } >
30- { author . name }
31- </ p >
32- < p className = 'text-xs mt-0 mb-0' > { author . designation } </ p >
33- </ div >
34- </ div >
35- < p className = 'text-[16px] font-light mt-2' > { author . bio } </ p >
36- {
37- author . social ?. length &&
38- < div className = 'flex items-center flex-wrap' >
39- {
40- author . social . map ( ( each , i ) =>
41- < a href = { each . link } key = { i } target = "_blank" className = 'mr-[15px] text-[32px]'
42- rel = "noopener noreferrer" > { each . icon } </ a >
43- )
44- }
45- </ div >
46- }
47- </ div >
48- {
49- relatedArticles . length &&
50- < div className = { combineClasses ( classes . more_from_author , "flex flex-wrap items-center dark:bg-slate-800 dark:border-none dark:drop-shadow-lg" ) } >
51- < p className = 'border-b border-gray-300 pb-2 mb-3 font-medium w-full' > More from Author</ p >
52- {
53- relatedArticles . map ( ( each , i ) =>
54- < Link href = { transformPath ( each . path ) } key = { i } passHref >
55- < div className = 'lg:w-1/3 md:w-1/2 w-full md:pr-3' key = { each . path } >
56- < div className = { combineClasses ( classes . more_from_author__articles , "border border-gray-200 rounded-[8px] pl-2 dark:border-none dark:pl-0 dark:shadow bdark:g-slate-900" ) } >
57- < div className = { combineClasses ( classes . article_image , "h-[80px]" ) } style = { { background : `url(${ transformImagePaths ( each . preview . thumbnail ) } )` } } >
58- < img src = { transformImagePaths ( each . preview . thumbnail ) } className = "invisible" alt = "each.preview.articleTitle" />
59- </ div >
60- < div className = { classes . article_title } >
61- { each . preview . articleTitle }
62- </ div >
63- </ div >
64- </ div >
65- </ Link >
66- )
67- }
68- </ div >
69- }
24+ < ArticleMoreFromAuthor author = { author } relatedArticles = { relatedArticles } articleGrid />
7025 </ div >
7126
7227 </ div >
0 commit comments