From 9f1a099f74e465b624dd498157fbbe4ef2697771 Mon Sep 17 00:00:00 2001 From: pranavagarkar07 Date: Wed, 27 May 2026 16:54:42 +0530 Subject: [PATCH 1/2] fix(console): improve placeholder copy with page-specific guidance Replace generic 'Not Implemented' placeholder in NotImplemented component with contextual guidance, actionable suggestions, and clearer CTAs. Changes: - Default title: 'Not Implemented' -> 'Coming Soon' - Default description: friendlier copy encouraging exploration - Added optional 'suggestions' prop for page-specific actions - Removed developer-facing 'Hardcoded / mock data removed' badge - Polished visual design with icons and sectioned layout Fixes #15 --- components/console/not-implemented.tsx | 59 +++++++++++++++++++------- 1 file changed, 44 insertions(+), 15 deletions(-) diff --git a/components/console/not-implemented.tsx b/components/console/not-implemented.tsx index 6ec5da6..b0e5d5b 100644 --- a/components/console/not-implemented.tsx +++ b/components/console/not-implemented.tsx @@ -1,4 +1,4 @@ -import { Construction } from "lucide-react"; +import { Construction, ArrowRight, Rocket, Github, BookOpen } from "lucide-react"; import Link from "next/link"; interface NotImplementedProps { @@ -6,31 +6,60 @@ interface NotImplementedProps { description?: string; /** Optional call-to-action link */ cta?: { label: string; href: string }; + /** List of suggestions for what the user can do next */ + suggestions?: string[]; } +const DEFAULT_SUGGESTIONS = [ + "Check the sidebar for other available sections", + "Deploy a repository to get started", + "Refer to the documentation for feature availability", +]; + export function NotImplemented({ - title = "Not Implemented", - description = "This section is a UI placeholder. Backend integration is required before real data appears here.", + title = "Coming Soon", + description = "This feature is under active development. Check back soon — or explore other parts of the console in the meantime.", cta, + suggestions, }: NotImplementedProps) { + const items = suggestions ?? DEFAULT_SUGGESTIONS; return (

{title}

-

{description}

-

- Hardcoded / mock data removed -

- {cta && ( - - {cta.label} - - )} +

{description}

+ +
+ {cta && ( + + {cta.label} + + )} + +
+ +

+ In the meantime, you can: +

+
    + {items.map((item, i) => ( +
  • + {i === 0 ? : + i === 1 ? : + } + {item} +
  • + ))} +
+
); } From 268c47380218583b2531f6753bfa81e45662d781 Mon Sep 17 00:00:00 2001 From: pranavagarkar07 Date: Wed, 27 May 2026 17:02:36 +0530 Subject: [PATCH 2/2] fix(not-implemented): guard guidance section against empty suggestions When suggestions is intentionally set to an empty array, items resolves to [] (not DEFAULT_SUGGESTIONS), so the divider, heading, and empty
    should not render. Wrap the block with items.length > 0. --- components/console/not-implemented.tsx | 38 ++++++++++++++------------ 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/components/console/not-implemented.tsx b/components/console/not-implemented.tsx index b0e5d5b..bc88a08 100644 --- a/components/console/not-implemented.tsx +++ b/components/console/not-implemented.tsx @@ -41,24 +41,28 @@ export function NotImplemented({ )} -
    + {items.length > 0 && ( + <> +
    -

    - In the meantime, you can: -

    -
      - {items.map((item, i) => ( -
    • - {i === 0 ? : - i === 1 ? : - } - {item} -
    • - ))} -
    +

    + In the meantime, you can: +

    +
      + {items.map((item, i) => ( +
    • + {i === 0 ? : + i === 1 ? : + } + {item} +
    • + ))} +
    + + )}
    );