coinsperformance 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Molecules/ExperientialComponents/NewActivityBanner.d.ts +18 -0
- package/dist/components/Molecules/ExperientialComponents/NewActivityBanner.js +78 -0
- package/dist/components/Molecules/ExperientialComponents/NewActivityBanner.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/NewActivityCard.d.ts +25 -0
- package/dist/components/Molecules/ExperientialComponents/NewActivityCard.js +72 -0
- package/dist/components/Molecules/ExperientialComponents/NewActivityCard.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/NewAddPostCard.d.ts +9 -0
- package/dist/components/Molecules/ExperientialComponents/NewAddPostCard.js +29 -0
- package/dist/components/Molecules/ExperientialComponents/NewAddPostCard.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostCard.d.ts +27 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostCard.js +89 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostCard.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostInfo.d.ts +29 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostInfo.js +217 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostInfo.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostInfoStyles.d.ts +441 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostInfoStyles.js +416 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostInfoStyles.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostList.d.ts +51 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostList.js +79 -0
- package/dist/components/Molecules/ExperientialComponents/NewPostList.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/newActivityBannerStyles.d.ts +120 -0
- package/dist/components/Molecules/ExperientialComponents/newActivityBannerStyles.js +124 -0
- package/dist/components/Molecules/ExperientialComponents/newActivityBannerStyles.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/newActivityCardStyles.d.ts +86 -0
- package/dist/components/Molecules/ExperientialComponents/newActivityCardStyles.js +91 -0
- package/dist/components/Molecules/ExperientialComponents/newActivityCardStyles.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/newAddPostCardStyles.d.ts +107 -0
- package/dist/components/Molecules/ExperientialComponents/newAddPostCardStyles.js +110 -0
- package/dist/components/Molecules/ExperientialComponents/newAddPostCardStyles.js.map +1 -0
- package/dist/components/Molecules/ExperientialComponents/newPostCardStyles.d.ts +197 -0
- package/dist/components/Molecules/ExperientialComponents/newPostCardStyles.js +201 -0
- package/dist/components/Molecules/ExperientialComponents/newPostCardStyles.js.map +1 -0
- package/dist/components/Molecules/PerformanceScreen/PreformanceResultScreen.d.ts +1 -1
- package/dist/components/Molecules/PerformanceScreen/PreformanceResultScreen.js +2 -2
- package/dist/components/Molecules/PerformanceScreen/PreformanceResultScreen.js.map +1 -1
- package/dist/components/Molecules/RevisionCompleteCard/RevisionCompleteCard.d.ts +2 -0
- package/dist/components/Molecules/RevisionCompleteCard/RevisionCompleteCard.js +3 -2
- package/dist/components/Molecules/RevisionCompleteCard/RevisionCompleteCard.js.map +1 -1
- package/dist/components/Molecules/SLI/SLIChart.d.ts +4 -0
- package/dist/components/Molecules/SLI/SLIChart.js +254 -0
- package/dist/components/Molecules/SLI/SLIChart.js.map +1 -0
- package/dist/components/Molecules/SLI/data.d.ts +14 -0
- package/dist/components/Molecules/SLI/data.js +236 -0
- package/dist/components/Molecules/SLI/data.js.map +1 -0
- package/dist/components/Molecules/SLI/sliUtils.d.ts +44 -0
- package/dist/components/Molecules/SLI/sliUtils.js +59 -0
- package/dist/components/Molecules/SLI/sliUtils.js.map +1 -0
- package/dist/components/Organisms/NewActivityList/NewActivityList.d.ts +10 -0
- package/dist/components/Organisms/NewActivityList/NewActivityList.js +35 -0
- package/dist/components/Organisms/NewActivityList/NewActivityList.js.map +1 -0
- package/dist/components/Organisms/PostDetails/ImageGallery.d.ts +1 -1
- package/dist/components/Organisms/PostDetails/ImageGallery.js +15 -5
- package/dist/components/Organisms/PostDetails/ImageGallery.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/common-utils.d.ts +2 -0
- package/dist/utils/common-utils.js +151 -1
- package/dist/utils/common-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface Attachment {
|
|
2
|
+
url: string;
|
|
3
|
+
fileName: string;
|
|
4
|
+
mimeType: string;
|
|
5
|
+
originalURL: string;
|
|
6
|
+
}
|
|
7
|
+
interface NewActivityBannerProps {
|
|
8
|
+
subject?: string;
|
|
9
|
+
topic?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
attachments?: Attachment[];
|
|
13
|
+
onAttachmentClick?: (attachment: Attachment) => void;
|
|
14
|
+
icons?: Record<string, string>;
|
|
15
|
+
isLoading?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare const NewActivityBanner: (props: NewActivityBannerProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export default NewActivityBanner;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const react_2 = require("@chakra-ui/react");
|
|
9
|
+
const customTheme_1 = require("../../../utils/customTheme");
|
|
10
|
+
const newActivityBannerStyles_1 = require("./newActivityBannerStyles");
|
|
11
|
+
const LatexRenderView_1 = __importDefault(require("../../Atoms/LatexRenderView/LatexRenderView"));
|
|
12
|
+
const Component = (props) => {
|
|
13
|
+
const { subject, topic, title, description, attachments, onAttachmentClick, icons, isLoading = false, } = props;
|
|
14
|
+
const [isExpanded, setIsExpanded] = (0, react_1.useState)(false);
|
|
15
|
+
const styles = (0, react_1.useMemo)(() => {
|
|
16
|
+
return newActivityBannerStyles_1.newActivityBannerStyles;
|
|
17
|
+
}, []);
|
|
18
|
+
// Approximate character limit for truncation (adjust based on design)
|
|
19
|
+
const characterLimit = 200;
|
|
20
|
+
const shouldShowReadMore = description && description.length > characterLimit;
|
|
21
|
+
const displayedDescription = shouldShowReadMore && !isExpanded
|
|
22
|
+
? `${description.substring(0, characterLimit)}...`
|
|
23
|
+
: description;
|
|
24
|
+
const handleReadMoreClick = (e) => {
|
|
25
|
+
e.stopPropagation(); // Prevent triggering onCardClick
|
|
26
|
+
setIsExpanded(!isExpanded);
|
|
27
|
+
};
|
|
28
|
+
const getAttachmentType = (mimeType) => {
|
|
29
|
+
if (mimeType.startsWith("image/"))
|
|
30
|
+
return "image";
|
|
31
|
+
if (mimeType.startsWith("video/"))
|
|
32
|
+
return "video";
|
|
33
|
+
if (mimeType === "application/pdf")
|
|
34
|
+
return "pdf";
|
|
35
|
+
if (mimeType.includes("excel") ||
|
|
36
|
+
mimeType.includes("spreadsheet") ||
|
|
37
|
+
mimeType === "application/vnd.ms-excel" ||
|
|
38
|
+
mimeType ===
|
|
39
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
|
40
|
+
return "excel";
|
|
41
|
+
if (mimeType.includes("word") ||
|
|
42
|
+
mimeType.includes("document") ||
|
|
43
|
+
mimeType === "application/msword" ||
|
|
44
|
+
mimeType ===
|
|
45
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document")
|
|
46
|
+
return "doc";
|
|
47
|
+
return "doc"; // default fallback
|
|
48
|
+
};
|
|
49
|
+
const handleAttachmentClick = (attachment, e) => {
|
|
50
|
+
e.stopPropagation(); // Prevent triggering onCardClick
|
|
51
|
+
if (onAttachmentClick) {
|
|
52
|
+
onAttachmentClick(attachment);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles?.mainContainer, children: (0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles?.contentSection, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles?.headerSection, children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles?.subjectTopicRow, children: isLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "20px", width: "60px" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "20px", width: "80px", ml: 2 })] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.subjectName, children: subject }) })) }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.topicName, children: topic }), isLoading ? ((0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "24px", width: "200px", mt: 2 })) : ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.activityTitle, children: (0, jsx_runtime_1.jsx)(LatexRenderView_1.default, { math: title }) }))] }), (0, jsx_runtime_1.jsx)(react_2.Box, { children: isLoading ? ((0, jsx_runtime_1.jsx)(react_2.SkeletonText, { noOfLines: 3, spacing: "2", skeletonHeight: "16px" })) : ((0, jsx_runtime_1.jsxs)(react_2.Text, { sx: styles?.description, children: [(0, jsx_runtime_1.jsx)(LatexRenderView_1.default, { math: displayedDescription }), shouldShowReadMore && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [" ", (0, jsx_runtime_1.jsx)(react_2.Text, { as: "span", sx: styles?.readMoreLink, onClick: handleReadMoreClick, children: isExpanded ? "read less" : "read more" })] }))] })) }), isLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "16px", width: "100px", mt: 4 }), (0, jsx_runtime_1.jsxs)(react_2.Flex, { gap: "8px", mt: 2, children: [(0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "60px", width: "60px", borderRadius: "4px" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "60px", width: "60px", borderRadius: "4px" }), (0, jsx_runtime_1.jsx)(react_2.Skeleton, { height: "60px", width: "60px", borderRadius: "4px" })] })] })) : (attachments &&
|
|
56
|
+
attachments.length > 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.attachmentHeading, children: "Attachments" }), (0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles?.attachmentContainer, children: attachments.map((attachment, index) => {
|
|
57
|
+
const attachmentType = getAttachmentType(attachment.mimeType);
|
|
58
|
+
const isImage = attachmentType === "image";
|
|
59
|
+
if (isImage) {
|
|
60
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: {
|
|
61
|
+
...styles?.attachmentFrame,
|
|
62
|
+
...styles?.attachmentImageFrame,
|
|
63
|
+
}, onClick: (e) => handleAttachmentClick(attachment, e), title: attachment.fileName, children: (0, jsx_runtime_1.jsx)(react_2.Image, { src: attachment.url, alt: attachment.fileName, sx: styles?.attachmentImage }) }, index));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const iconSrc = icons?.[attachmentType];
|
|
67
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: {
|
|
68
|
+
...styles?.attachmentFrame,
|
|
69
|
+
...styles?.attachmentIconFrame,
|
|
70
|
+
}, onClick: (e) => handleAttachmentClick(attachment, e), title: attachment.fileName, children: (0, jsx_runtime_1.jsx)(react_2.Image, { src: iconSrc, alt: `${attachmentType} icon`, sx: styles?.attachmentIcon }) }, index));
|
|
71
|
+
}
|
|
72
|
+
}) })] })))] }) }));
|
|
73
|
+
};
|
|
74
|
+
const NewActivityBanner = (props) => {
|
|
75
|
+
return ((0, jsx_runtime_1.jsx)(react_2.ChakraProvider, { theme: customTheme_1.customTheme, children: (0, jsx_runtime_1.jsx)(Component, { ...props }) }));
|
|
76
|
+
};
|
|
77
|
+
exports.default = NewActivityBanner;
|
|
78
|
+
//# sourceMappingURL=NewActivityBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewActivityBanner.js","sourceRoot":"","sources":["../../../../src/components/Molecules/ExperientialComponents/NewActivityBanner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
interface Attachment {
|
|
2
|
+
url: string;
|
|
3
|
+
fileName: string;
|
|
4
|
+
mimeType: string;
|
|
5
|
+
originalURL: string;
|
|
6
|
+
}
|
|
7
|
+
interface NewActivityCardProps {
|
|
8
|
+
subject?: string;
|
|
9
|
+
topic?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
headerImage?: string;
|
|
13
|
+
isMandatory?: boolean;
|
|
14
|
+
emojiCount?: number;
|
|
15
|
+
commentCount?: number;
|
|
16
|
+
icons?: Record<string, string>;
|
|
17
|
+
onCardClick?: () => void;
|
|
18
|
+
attachments?: Attachment[];
|
|
19
|
+
onAttachmentClick?: (attachment: Attachment) => void;
|
|
20
|
+
isMySpace?: boolean;
|
|
21
|
+
cardColor?: string;
|
|
22
|
+
allowCommentsandInteractions?: boolean;
|
|
23
|
+
}
|
|
24
|
+
declare const NewActivityCard: (props: NewActivityCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export default NewActivityCard;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const react_2 = require("@chakra-ui/react");
|
|
9
|
+
const customTheme_1 = require("../../../utils/customTheme");
|
|
10
|
+
const newActivityCardStyles_1 = require("./newActivityCardStyles");
|
|
11
|
+
const LatexRenderView_1 = __importDefault(require("../../Atoms/LatexRenderView/LatexRenderView"));
|
|
12
|
+
const Component = (props) => {
|
|
13
|
+
const { subject, topic, title, description, headerImage, isMandatory, attachments, emojiCount, commentCount, icons, onCardClick, onAttachmentClick, isMySpace = false, cardColor, allowCommentsandInteractions, } = props;
|
|
14
|
+
const [isExpanded, setIsExpanded] = (0, react_1.useState)(false);
|
|
15
|
+
const styles = (0, react_1.useMemo)(() => {
|
|
16
|
+
return newActivityCardStyles_1.newActivityCardStyles;
|
|
17
|
+
}, []);
|
|
18
|
+
// Line-based truncation for random lines (3-6)
|
|
19
|
+
const maxLines = (0, react_1.useMemo)(() => Math.floor(Math.random() * 4) + 3, []);
|
|
20
|
+
// Simple check for read more - if description is longer than a reasonable threshold
|
|
21
|
+
const shouldShowReadMore = description && description.length > 150;
|
|
22
|
+
// We'll use CSS line clamping to handle the visual truncation
|
|
23
|
+
const displayedDescription = description;
|
|
24
|
+
const handleReadMoreClick = (e) => {
|
|
25
|
+
e.stopPropagation(); // Prevent triggering onCardClick
|
|
26
|
+
setIsExpanded(!isExpanded);
|
|
27
|
+
};
|
|
28
|
+
const getAttachmentType = (mimeType) => {
|
|
29
|
+
if (mimeType.startsWith("image/"))
|
|
30
|
+
return "image";
|
|
31
|
+
if (mimeType.startsWith("video/"))
|
|
32
|
+
return "video";
|
|
33
|
+
if (mimeType === "application/pdf")
|
|
34
|
+
return "pdf";
|
|
35
|
+
if (mimeType.includes("excel") ||
|
|
36
|
+
mimeType.includes("spreadsheet") ||
|
|
37
|
+
mimeType === "application/vnd.ms-excel" ||
|
|
38
|
+
mimeType ===
|
|
39
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
|
40
|
+
return "excel";
|
|
41
|
+
if (mimeType.includes("word") ||
|
|
42
|
+
mimeType.includes("document") ||
|
|
43
|
+
mimeType === "application/msword" ||
|
|
44
|
+
mimeType ===
|
|
45
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document")
|
|
46
|
+
return "doc";
|
|
47
|
+
return "doc"; // default fallback
|
|
48
|
+
};
|
|
49
|
+
const handleAttachmentClick = (attachment, e) => {
|
|
50
|
+
e.stopPropagation(); // Prevent triggering onCardClick
|
|
51
|
+
if (onAttachmentClick) {
|
|
52
|
+
onAttachmentClick(attachment);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles?.mainContainer, cursor: "pointer", onClick: onCardClick, backgroundColor: cardColor, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { position: "relative", margin: "10px", children: [(0, jsx_runtime_1.jsx)(react_2.Image, { src: headerImage, sx: styles?.headerImage }), !isMySpace && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", top: "13px", right: "13px", sx: styles?.mandatoryText, children: isMandatory ? "Mandatory" : "Optional" }))] }), (0, jsx_runtime_1.jsxs)(react_2.Flex, { flexDirection: "column", marginX: "16px", children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles?.subjectSection, children: (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.subjectName, children: subject }) }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.topicName, children: topic }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.activityTitle, children: (0, jsx_runtime_1.jsx)(LatexRenderView_1.default, { math: title }) }), (0, jsx_runtime_1.jsxs)(react_2.Box, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { sx: {
|
|
56
|
+
...styles?.description,
|
|
57
|
+
display: '-webkit-box',
|
|
58
|
+
WebkitLineClamp: isExpanded ? 'none' : maxLines,
|
|
59
|
+
WebkitBoxOrient: 'vertical',
|
|
60
|
+
overflow: 'hidden',
|
|
61
|
+
textOverflow: 'ellipsis'
|
|
62
|
+
}, children: (0, jsx_runtime_1.jsx)(LatexRenderView_1.default, { math: displayedDescription }) }), shouldShowReadMore && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontFamily: "Poppins", lineHeight: "24px", fontSize: "12px", color: "#130159", fontWeight: "700", cursor: "pointer", onClick: handleReadMoreClick, mt: 1, children: isExpanded ? "Read less" : "Read more" }))] }), attachments && attachments.length > 0 && isMySpace && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.attachmentHeading, children: "Attachments" }), (0, jsx_runtime_1.jsx)(react_2.Flex, { gap: "8px", flexWrap: "wrap", marginY: "8px", children: attachments.map((attachment, index) => {
|
|
63
|
+
const attachmentType = getAttachmentType(attachment.mimeType);
|
|
64
|
+
const iconSrc = icons?.[attachmentType];
|
|
65
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Image, { src: iconSrc, alt: `${attachmentType} icon`, width: "24px", height: "24px", cursor: "pointer", onClick: (e) => handleAttachmentClick(attachment, e), title: attachment.fileName }, index));
|
|
66
|
+
}) })] })), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Box, { border: "1px dotted #A0A0A0" }), (0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles?.emojiSection, children: (0, jsx_runtime_1.jsxs)(react_2.Flex, { gap: "4px", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(react_2.Image, { src: icons?.comment, alt: "Comment icon", width: "20px", height: "20px" }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.emojiText, children: commentCount })] }) })] })] })] }));
|
|
67
|
+
};
|
|
68
|
+
const NewActivityCard = (props) => {
|
|
69
|
+
return ((0, jsx_runtime_1.jsx)(react_2.ChakraProvider, { theme: customTheme_1.customTheme, children: (0, jsx_runtime_1.jsx)(Component, { ...props }) }));
|
|
70
|
+
};
|
|
71
|
+
exports.default = NewActivityCard;
|
|
72
|
+
//# sourceMappingURL=NewActivityCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewActivityCard.js","sourceRoot":"","sources":["../../../../src/components/Molecules/ExperientialComponents/NewActivityCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface NewAddPostCardProps {
|
|
2
|
+
onGetStartedClick?: () => void;
|
|
3
|
+
characterIcon?: string;
|
|
4
|
+
backgroundColor?: string;
|
|
5
|
+
addPostDescription?: string;
|
|
6
|
+
isEmptyState?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const NewAddPostCard: (props: NewAddPostCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default NewAddPostCard;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const react_2 = require("@chakra-ui/react");
|
|
9
|
+
const customTheme_1 = require("../../../utils/customTheme");
|
|
10
|
+
const newAddPostCardStyles_1 = require("./newAddPostCardStyles");
|
|
11
|
+
const icons_1 = require("@chakra-ui/icons");
|
|
12
|
+
const LatexRenderView_1 = __importDefault(require("../../Atoms/LatexRenderView/LatexRenderView"));
|
|
13
|
+
const Component = (props) => {
|
|
14
|
+
const { onGetStartedClick, characterIcon, backgroundColor, addPostDescription, isEmptyState, } = props;
|
|
15
|
+
const styles = (0, react_1.useMemo)(() => {
|
|
16
|
+
return newAddPostCardStyles_1.newAddPostCardStyles;
|
|
17
|
+
}, []);
|
|
18
|
+
const handleGetStartedClick = () => {
|
|
19
|
+
if (onGetStartedClick) {
|
|
20
|
+
onGetStartedClick();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles?.mainContainer, bgColor: backgroundColor, children: [(0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles?.contentContainer, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { sx: styles?.topSection, children: [(0, jsx_runtime_1.jsx)(react_2.Image, { src: characterIcon, alt: "Character mascot", sx: styles?.characterIcon }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.readyText, children: isEmptyState ? "Nothing assigned yet" : "Are you ready?" })] }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.descriptionText, children: (0, jsx_runtime_1.jsx)(LatexRenderView_1.default, { math: addPostDescription }) })] }), !isEmptyState && ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles?.buttonContainer, children: (0, jsx_runtime_1.jsxs)(react_2.Button, { sx: styles?.startButton, onClick: handleGetStartedClick, children: [(0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.buttonText, children: "Lets get started" }), (0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles?.buttonIcon, children: (0, jsx_runtime_1.jsx)(icons_1.ChevronRightIcon, { sx: styles?.chevronIcon }) })] }) }))] }));
|
|
24
|
+
};
|
|
25
|
+
const NewAddPostCard = (props) => {
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)(react_2.ChakraProvider, { theme: customTheme_1.customTheme, children: (0, jsx_runtime_1.jsx)(Component, { ...props }) }));
|
|
27
|
+
};
|
|
28
|
+
exports.default = NewAddPostCard;
|
|
29
|
+
//# sourceMappingURL=NewAddPostCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewAddPostCard.js","sourceRoot":"","sources":["../../../../src/components/Molecules/ExperientialComponents/NewAddPostCard.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAgC;AAChC,4CAO0B;AAC1B,4DAAyD;AACzD,iEAA8D;AAC9D,4CAAoD;AACpD,kGAA0E;AAU1E,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC/C,MAAM,EACJ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,YAAY,GACb,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC1B,OAAO,2CAAoB,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,EAAE,CAAC;SACrB;IACH,CAAC,CAAC;IAEF,OAAO,CACL,wBAAC,WAAG,IAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,aACtD,wBAAC,WAAG,IAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,aAE/B,wBAAC,YAAI,IAAC,EAAE,EAAE,MAAM,EAAE,UAAU,aAC1B,uBAAC,aAAK,IACJ,GAAG,EAAE,aAAa,EAClB,GAAG,EAAC,kBAAkB,EACtB,EAAE,EAAE,MAAM,EAAE,aAAa,GACzB,EACF,uBAAC,YAAI,IAAC,EAAE,EAAE,MAAM,EAAE,SAAS,YACxB,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,GACpD,IACF,EAGP,uBAAC,YAAI,IAAC,EAAE,EAAE,MAAM,EAAE,eAAe,YAC/B,uBAAC,yBAAe,IAAC,IAAI,EAAE,kBAAkB,GAAI,GACxC,IACH,EAGL,CAAC,YAAY,IAAI,CAChB,uBAAC,WAAG,IAAC,EAAE,EAAE,MAAM,EAAE,eAAe,YAC9B,wBAAC,cAAM,IACL,EAAE,EAAE,MAAM,EAAE,WAAW,EACvB,OAAO,EAAE,qBAAqB,aAM9B,uBAAC,YAAI,IAAC,EAAE,EAAE,MAAM,EAAE,UAAU,iCAAyB,EACrD,uBAAC,WAAG,IAAC,EAAE,EAAE,MAAM,EAAE,UAAU,YACzB,uBAAC,wBAAgB,IAAC,EAAE,EAAE,MAAM,EAAE,WAAW,GAAI,GACzC,IACC,GACL,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IACpD,OAAO,CACL,uBAAC,sBAAc,IAAC,KAAK,EAAE,yBAAW,YAChC,uBAAC,SAAS,OAAK,KAAK,GAAI,GACT,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface PostAuthor {
|
|
2
|
+
name: string;
|
|
3
|
+
profileImage: string;
|
|
4
|
+
}
|
|
5
|
+
interface PostAttachment {
|
|
6
|
+
id: string;
|
|
7
|
+
fileName: string;
|
|
8
|
+
mimeType: string;
|
|
9
|
+
}
|
|
10
|
+
export interface NewPostCardProps {
|
|
11
|
+
author: PostAuthor;
|
|
12
|
+
mainImage: string;
|
|
13
|
+
content: string;
|
|
14
|
+
attachments?: PostAttachment[];
|
|
15
|
+
emojiCount?: number;
|
|
16
|
+
commentCount?: number;
|
|
17
|
+
onEditClick?: () => void;
|
|
18
|
+
onCardClick?: () => void;
|
|
19
|
+
onAttachmentClick?: (attachment: PostAttachment) => void;
|
|
20
|
+
allowEdit?: boolean;
|
|
21
|
+
icons?: Record<string, string>;
|
|
22
|
+
allowCommentsandInteractions?: boolean;
|
|
23
|
+
cardColor?: string;
|
|
24
|
+
showBlur?: boolean;
|
|
25
|
+
}
|
|
26
|
+
declare const NewPostCard: (props: NewPostCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export default NewPostCard;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const react_2 = require("@chakra-ui/react");
|
|
9
|
+
const customTheme_1 = require("../../../utils/customTheme");
|
|
10
|
+
const newPostCardStyles_1 = require("./newPostCardStyles");
|
|
11
|
+
const icons_1 = require("@chakra-ui/icons");
|
|
12
|
+
const LatexRenderView_1 = __importDefault(require("../../Atoms/LatexRenderView/LatexRenderView"));
|
|
13
|
+
const Component = (props) => {
|
|
14
|
+
const { author, mainImage, content, attachments = [], commentCount = 0, onEditClick, onCardClick, onAttachmentClick, emojiCount, allowEdit = false, icons, allowCommentsandInteractions, cardColor, showBlur = false, } = props;
|
|
15
|
+
const [isExpanded, setIsExpanded] = (0, react_1.useState)(false);
|
|
16
|
+
const styles = (0, react_1.useMemo)(() => {
|
|
17
|
+
return newPostCardStyles_1.newPostCardStyles;
|
|
18
|
+
}, []);
|
|
19
|
+
// Line-based truncation for random lines (3-6)
|
|
20
|
+
const maxLines = (0, react_1.useMemo)(() => Math.floor(Math.random() * 4) + 3, []);
|
|
21
|
+
// Simple check for read more - if content is longer than a reasonable threshold
|
|
22
|
+
const shouldShowReadMore = content && content.length > 150;
|
|
23
|
+
// We'll use CSS line clamping to handle the visual truncation
|
|
24
|
+
const displayedContent = content;
|
|
25
|
+
const getAttachmentType = (mimeType) => {
|
|
26
|
+
if (mimeType.startsWith("image/"))
|
|
27
|
+
return "image";
|
|
28
|
+
if (mimeType.startsWith("video/"))
|
|
29
|
+
return "video";
|
|
30
|
+
if (mimeType === "application/pdf")
|
|
31
|
+
return "pdf";
|
|
32
|
+
if (mimeType.includes("excel") ||
|
|
33
|
+
mimeType.includes("spreadsheet") ||
|
|
34
|
+
mimeType === "application/vnd.ms-excel" ||
|
|
35
|
+
mimeType ===
|
|
36
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
|
37
|
+
return "excel";
|
|
38
|
+
if (mimeType.includes("word") ||
|
|
39
|
+
mimeType.includes("document") ||
|
|
40
|
+
mimeType === "application/msword" ||
|
|
41
|
+
mimeType ===
|
|
42
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document")
|
|
43
|
+
return "doc";
|
|
44
|
+
return "doc"; // default fallback
|
|
45
|
+
};
|
|
46
|
+
const handleReadMoreClick = (e) => {
|
|
47
|
+
e.stopPropagation();
|
|
48
|
+
setIsExpanded(!isExpanded);
|
|
49
|
+
};
|
|
50
|
+
const handleEditClick = (e) => {
|
|
51
|
+
e.stopPropagation();
|
|
52
|
+
if (onEditClick) {
|
|
53
|
+
onEditClick();
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const handleAttachmentClick = (attachment, e) => {
|
|
57
|
+
e.stopPropagation();
|
|
58
|
+
if (onAttachmentClick) {
|
|
59
|
+
onAttachmentClick(attachment);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
// Function to get initials from name
|
|
63
|
+
const getInitials = (name) => {
|
|
64
|
+
if (!name)
|
|
65
|
+
return "";
|
|
66
|
+
const names = name.trim().split(" ");
|
|
67
|
+
if (names.length >= 2) {
|
|
68
|
+
return (names[0].charAt(0) + names[names.length - 1].charAt(0)).toUpperCase();
|
|
69
|
+
}
|
|
70
|
+
return name.charAt(0).toUpperCase();
|
|
71
|
+
};
|
|
72
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { sx: styles?.mainContainer, cursor: showBlur ? "not-allowed" : "pointer", bgColor: cardColor, onClick: showBlur ? undefined : onCardClick, filter: showBlur ? "blur(10px)" : "none", children: [(0, jsx_runtime_1.jsxs)(react_2.HStack, { sx: styles?.headerSection, children: [(0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles?.profileContainer, children: (0, jsx_runtime_1.jsx)(react_2.Text, { color: "white", fontFamily: "Poppins", fontWeight: "600", fontSize: "18px", children: getInitials(author.name) }) }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.userName, children: author.name }), allowEdit && ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles?.editIcon, onClick: handleEditClick, children: (0, jsx_runtime_1.jsx)(icons_1.EditIcon, { boxSize: 4, color: "#666A6B" }) }))] }), mainImage && ((0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles?.mainImageContainer, children: (0, jsx_runtime_1.jsx)(react_2.Image, { src: mainImage, alt: "Post content", sx: styles?.mainImage }) })), (0, jsx_runtime_1.jsxs)(react_2.VStack, { sx: styles?.contentSection, align: "start", children: [(0, jsx_runtime_1.jsx)(react_2.Text, { sx: {
|
|
73
|
+
...styles?.contentText,
|
|
74
|
+
display: '-webkit-box',
|
|
75
|
+
WebkitLineClamp: isExpanded ? 'none' : maxLines,
|
|
76
|
+
WebkitBoxOrient: 'vertical',
|
|
77
|
+
overflow: 'hidden',
|
|
78
|
+
textOverflow: 'ellipsis'
|
|
79
|
+
}, children: (0, jsx_runtime_1.jsx)(LatexRenderView_1.default, { math: displayedContent }) }), shouldShowReadMore && ((0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.readMoreText, onClick: handleReadMoreClick, children: isExpanded ? " read less" : " read more" }))] }), attachments.length > 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.attachmentHeading, children: "Attachments" }), (0, jsx_runtime_1.jsx)(react_2.Flex, { gap: "8px", flexWrap: "wrap", marginY: "8px", children: attachments.map((attachment) => {
|
|
80
|
+
const attachmentType = getAttachmentType(attachment.mimeType);
|
|
81
|
+
const iconSrc = icons?.[attachmentType];
|
|
82
|
+
return ((0, jsx_runtime_1.jsx)(react_2.Image, { src: iconSrc, alt: `${attachmentType} icon`, width: "24px", height: "24px", cursor: "pointer", onClick: (e) => handleAttachmentClick(attachment, e), title: attachment.fileName }, attachment.id));
|
|
83
|
+
}) })] })), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_2.Box, { sx: styles?.divider }), (0, jsx_runtime_1.jsx)(react_2.Flex, { sx: styles?.emojiSection, children: (0, jsx_runtime_1.jsxs)(react_2.Flex, { gap: "4px", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(react_2.Image, { src: icons?.comment, alt: "Comment icon", width: "20px", height: "20px" }), (0, jsx_runtime_1.jsx)(react_2.Text, { sx: styles?.emojiText, children: commentCount })] }) })] })] }));
|
|
84
|
+
};
|
|
85
|
+
const NewPostCard = (props) => {
|
|
86
|
+
return ((0, jsx_runtime_1.jsx)(react_2.ChakraProvider, { theme: customTheme_1.customTheme, children: (0, jsx_runtime_1.jsx)(Component, { ...props }) }));
|
|
87
|
+
};
|
|
88
|
+
exports.default = NewPostCard;
|
|
89
|
+
//# sourceMappingURL=NewPostCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewPostCard.js","sourceRoot":"","sources":["../../../../src/components/Molecules/ExperientialComponents/NewPostCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
interface CommentData {
|
|
2
|
+
id: string;
|
|
3
|
+
authorName: string;
|
|
4
|
+
authorRole?: string;
|
|
5
|
+
authorAvatar?: string;
|
|
6
|
+
content: string;
|
|
7
|
+
timestamp: string;
|
|
8
|
+
isPinned?: boolean;
|
|
9
|
+
isSubjectTeacher?: boolean;
|
|
10
|
+
}
|
|
11
|
+
interface NewPostInfoProps {
|
|
12
|
+
postAttachments?: any;
|
|
13
|
+
author?: any;
|
|
14
|
+
subject?: string;
|
|
15
|
+
topic?: string;
|
|
16
|
+
activityTitle?: string;
|
|
17
|
+
postContent?: string;
|
|
18
|
+
icons?: Record<string, string>;
|
|
19
|
+
commentCount?: number;
|
|
20
|
+
emojiCount?: number;
|
|
21
|
+
onAttachmentClick?: (attachment: any) => void;
|
|
22
|
+
cardColor?: string;
|
|
23
|
+
allowCommentsandInteractions?: boolean;
|
|
24
|
+
comments?: CommentData[];
|
|
25
|
+
onCommentSubmit?: (comment: string) => void;
|
|
26
|
+
commentSuggestions?: string[];
|
|
27
|
+
}
|
|
28
|
+
declare const NewPostInfo: (props: NewPostInfoProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export default NewPostInfo;
|