diff --git a/src/components/admin/DashboardDesignPreview.tsx b/src/components/admin/DashboardDesignPreview.tsx
index 5c9f8de..7404b3c 100644
--- a/src/components/admin/DashboardDesignPreview.tsx
+++ b/src/components/admin/DashboardDesignPreview.tsx
@@ -560,8 +560,6 @@ function portfolioMediaConfig(roleKey: string): {
|| normalized === 'GRAPHIC_DESIGNER'
|| normalized === 'SOCIAL_MEDIA_MANAGER'
|| normalized === 'CATERING_SERVICES'
- || normalized === 'DEVELOPER'
- || normalized === 'FITNESS_TRAINER'
) {
return {
mode: 'visual',
@@ -1622,6 +1620,7 @@ export default function DashboardDesignPreview(props: {
const serviceTabKey = normalizeTabKey(spec.serviceTabLabel);
const galleryTabKey = normalizeTabKey(spec.galleryTabLabel);
const experienceTabKey = normalizeTabKey(spec.experienceTabLabel);
+ const requiresVisualAssets = mediaConfig.mode === 'visual';
const testimonialsTabKey = normalizeTabKey('testimonials');
const faqsTabKey = normalizeTabKey('faqs');
const portfolioJobsCompleted = portfolioJobsCompletedPreview;
@@ -1708,7 +1707,7 @@ export default function DashboardDesignPreview(props: {
});
if (stepKey === serviceTabKey && portfolioServices().length < 1) {
setPortfolioValidationNotice('Add at least one service with pricing.');
- } else if (stepKey === galleryTabKey && (portfolioPhotos().length < 1 || portfolioPhotos().length > 6)) {
+ } else if (stepKey === galleryTabKey && requiresVisualAssets && (portfolioPhotos().length < 1 || portfolioPhotos().length > 6)) {
setPortfolioValidationNotice('Add 1 to 6 portfolio photos.');
} else if (stepKey === experienceTabKey && portfolioExperiences().length < 1) {
setPortfolioValidationNotice('Add at least one experience entry.');
@@ -1720,7 +1719,7 @@ export default function DashboardDesignPreview(props: {
setPortfolioFormErrors((prev) => ({ ...prev, ...nextErrors }));
return Object.keys(nextErrors).length === 0
&& !(stepKey === serviceTabKey && portfolioServices().length < 1)
- && !(stepKey === galleryTabKey && (portfolioPhotos().length < 1 || portfolioPhotos().length > 6))
+ && !(stepKey === galleryTabKey && requiresVisualAssets && (portfolioPhotos().length < 1 || portfolioPhotos().length > 6))
&& !(stepKey === experienceTabKey && portfolioExperiences().length < 1);
};
const addServiceDraft = () => {
@@ -1901,18 +1900,36 @@ export default function DashboardDesignPreview(props: {
Portfolio photos ({portfolioPhotos().length}/6) Structured work proof (photos optional) {item} Entry #{idx() + 1} for outcome-focused portfolio evidence. Portfolio photos ({portfolioPhotos().length}/6)