From 913755d971709f898af624578acef3184171cd56 Mon Sep 17 00:00:00 2001 From: Vishesh 'ironeagle' Bangotra Date: Sat, 15 Nov 2025 04:28:42 +0530 Subject: [PATCH] changes for UX of opening and closing editor from both home and through article view --- src/blog/Blog.tsx | 18 ++++++++++++++---- src/blog/components/Article/ArticleView.tsx | 8 +++++++- src/blog/types/props.ts | 1 + 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/blog/Blog.tsx b/src/blog/Blog.tsx index 61e3151..3705462 100644 --- a/src/blog/Blog.tsx +++ b/src/blog/Blog.tsx @@ -53,7 +53,6 @@ export default function Blog(props: { disableCustomTheme?: boolean }) { setShowProfile(false); }; const handleShowEditor = () => { - console.log("handleShowEditor") setShowEditor(true); }; const handleHideEditor = () => { @@ -67,7 +66,7 @@ export default function Blog(props: { disableCustomTheme?: boolean }) { // derive a single source of truth for view const view: View = React.useMemo(() => { - if (selectedArticle !== null) return 'article'; + if (selectedArticle !== null && !showEditor) return 'article'; if (showRegister) return 'register'; if (showLogin) return 'login'; if (showProfile) return 'profile'; @@ -97,9 +96,20 @@ export default function Blog(props: { disableCustomTheme?: boolean }) { ); case 'article': if (selectedArticle == null || !articles[selectedArticle]) return null; - return ; + return ; case 'editor': - return + if (selectedArticle == null || !articles[selectedArticle]) + return + return case 'home': default: return ( diff --git a/src/blog/components/Article/ArticleView.tsx b/src/blog/components/Article/ArticleView.tsx index b371081..edbcbf9 100644 --- a/src/blog/components/Article/ArticleView.tsx +++ b/src/blog/components/Article/ArticleView.tsx @@ -3,6 +3,7 @@ import { marked } from 'marked'; import { Box, Typography, Divider, IconButton, Chip } from '@mui/material'; import { styled } from '@mui/material/styles'; import ArrowBackRoundedIcon from '@mui/icons-material/ArrowBackRounded'; +import EditRoundedIcon from '@mui/icons-material/EditRounded'; import { ArticleMeta } from "../ArticleMeta"; import { ArticleProps } from '../../types/props'; @@ -25,7 +26,8 @@ const CoverImage = styled('img')({ export default function ArticleView({ article, - onBack + onBack, + onEdit, }: ArticleProps) { return ( @@ -41,6 +43,10 @@ export default function ArticleView({ sx={{ mb: 2, textTransform: 'uppercase', fontWeight: 500 }} /> + + + + {article.title} diff --git a/src/blog/types/props.ts b/src/blog/types/props.ts index cafaf2b..dd724fd 100644 --- a/src/blog/types/props.ts +++ b/src/blog/types/props.ts @@ -9,6 +9,7 @@ export interface LatestProps { export interface ArticleProps { article: ArticleModel; onBack: () => void; + onEdit: () => void; } export interface ArticleEditorProps {