= props => {
)}
{typeof challenge.numOfRegistrants === 'number' && (
-
+
{challenge.numOfRegistrants}
{' '}
registrants
diff --git a/src/apps/work/src/lib/components/ShowcasePostPreview/assets/external-link.svg b/src/apps/work/src/lib/components/ShowcasePostPreview/assets/external-link.svg
new file mode 100644
index 000000000..cc724f815
--- /dev/null
+++ b/src/apps/work/src/lib/components/ShowcasePostPreview/assets/external-link.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/apps/work/src/pages/showcase/ProjectShowcasePage/ProjectShowcasePage.tsx b/src/apps/work/src/pages/showcase/ProjectShowcasePage/ProjectShowcasePage.tsx
index c01539f8b..2c354b018 100644
--- a/src/apps/work/src/pages/showcase/ProjectShowcasePage/ProjectShowcasePage.tsx
+++ b/src/apps/work/src/pages/showcase/ProjectShowcasePage/ProjectShowcasePage.tsx
@@ -880,6 +880,41 @@ export const ProjectShowcasePage: FC = () => {
selectedChallengeOptions,
])
+ const handlePreviewListPost = useCallback(async (post: ProjectShowcasePost) => {
+ if (!projectId) {
+ return
+ }
+
+ setIsLoadingPreview(true)
+ setIsPreviewModalOpen(true)
+
+ try {
+ const postDetails = await fetchProjectShowcasePost(projectId, post.id)
+ const builtPreview = await buildShowcasePreviewData({
+ categoryOptions: categoryOptions.slice(1),
+ challengeOptions: [],
+ editingPost: postDetails,
+ formData: mapPostToFormData(postDetails),
+ industryOptions: industryOptions.slice(1),
+ manageMode: 'edit',
+ projectId,
+ projectTitle: postDetails.projectTitle || projectResult.project?.name || 'Project',
+ })
+ setPreviewData(builtPreview)
+ } catch (err) {
+ showErrorToast(err instanceof Error ? err.message : 'Unable to load post preview.')
+ setIsPreviewModalOpen(false)
+ setPreviewData(undefined)
+ } finally {
+ setIsLoadingPreview(false)
+ }
+ }, [
+ categoryOptions,
+ industryOptions,
+ projectId,
+ projectResult.project?.name,
+ ])
+
const updatePostInCache = useCallback(
async (updatedPost: ProjectShowcasePost) => {
await postsResult.mutate(currentData => {
@@ -1335,6 +1370,17 @@ export const ProjectShowcasePage: FC = () => {
|
{canManageProjectShowcasePosts && (
<>
+
{post.status !== 'ARCHIVED' && (
|