("img")
+
+ const matching = imageEls.filter((im) =>
+ expected.src === DEFAULT_RESOURCE_IMG
+ ? im.src === DEFAULT_RESOURCE_IMG
+ : im.src ===
+ embedlyCroppedImage(expected.src, {
+ width: 116,
+ height: 104,
+ key: "fake-embedly-key",
+ }),
+ )
+ expect(matching.length).toBe(1)
+ expect(matching[0]).toHaveAttribute("alt", expected.alt)
+ })
+})
diff --git a/frontends/ol-components/src/components/LearningResourceCard/LearningResourceListCard.tsx b/frontends/ol-components/src/components/LearningResourceCard/LearningResourceListCard.tsx
new file mode 100644
index 0000000000..16f5c9a843
--- /dev/null
+++ b/frontends/ol-components/src/components/LearningResourceCard/LearningResourceListCard.tsx
@@ -0,0 +1,316 @@
+import React from "react"
+import styled from "@emotion/styled"
+import Skeleton from "@mui/material/Skeleton"
+import { RiMenuAddLine, RiBookmarkLine, RiAwardFill } from "@remixicon/react"
+import { LearningResource, ResourceTypeEnum, PlatformEnum } from "api"
+import {
+ findBestRun,
+ formatDate,
+ getReadableResourceType,
+ embedlyCroppedImage,
+ DEFAULT_RESOURCE_IMG,
+ pluralize,
+} from "ol-utilities"
+import { ListCard } from "../Card/ListCard"
+import { ActionButton } from "../Button/Button"
+import { theme } from "../ThemeProvider/ThemeProvider"
+import { useMuiBreakpointAtLeast } from "../../hooks/useBreakpoint"
+
+const IMAGE_SIZES = {
+ mobile: { width: 116, height: 104 },
+ desktop: { width: 236, height: 122 },
+}
+
+const Certificate = styled.div`
+ border-radius: 4px;
+ background-color: ${theme.custom.colors.lightGray1};
+ padding: 4px;
+ color: ${theme.custom.colors.silverGrayDark};
+ gap: 4px;
+ margin: 0 8px 0 auto;
+
+ ${{ ...theme.typography.subtitle3 }}
+
+ svg {
+ width: 16px;
+ height: 16px;
+ }
+
+ ${theme.breakpoints.down("md")} {
+ ${{ ...theme.typography.body4 }}
+ background: none;
+ color: ${theme.custom.colors.darkGray2};
+ gap: 2px;
+
+ svg {
+ width: 12px;
+ height: 12px;
+ fill: ${theme.custom.colors.silverGrayDark};
+ }
+
+ margin: 0 12px 0 auto;
+ }
+
+ display: flex;
+ align-items: center;
+`
+
+const Price = styled.div`
+ ${{ ...theme.typography.subtitle2 }}
+ color: ${theme.custom.colors.darkGray2};
+ ${theme.breakpoints.down("md")} {
+ ${{ ...theme.typography.subtitle3 }}
+ color: ${theme.custom.colors.mitRed};
+ }
+`
+
+const BorderSeparator = styled.div`
+ div {
+ display: inline;
+ }
+
+ div + div {
+ margin-left: 8px;
+ padding-left: 8px;
+ border-left: 1px solid ${theme.custom.colors.lightGray2};
+ }
+`
+
+const StyledActionButton = styled(ActionButton)<{ edge: string }>`
+ ${({ edge }) =>
+ edge === "none"
+ ? `
+ width: 16px;
+ height: 16px;`
+ : ""}
+`
+
+type ResourceIdCallback = (resourceId: number) => void
+
+const getEmbedlyUrl = (url: string, isMobile: boolean) => {
+ return embedlyCroppedImage(url, {
+ key: APP_SETTINGS.embedlyKey || process.env.EMBEDLY_KEY!,
+ ...IMAGE_SIZES[isMobile ? "mobile" : "desktop"],
+ })
+}
+
+const getPrice = (resource: LearningResource) => {
+ if (!resource) {
+ return null
+ }
+ const price = resource.prices?.[0]
+ if (resource.platform?.code === PlatformEnum.Ocw || price === 0) {
+ return "Free"
+ }
+ return price ? `$${price}` : null
+}
+
+const Info = ({ resource }: { resource: LearningResource }) => {
+ const price = getPrice(resource)
+ return (
+ <>
+ {getReadableResourceType(resource.resource_type)}
+ {resource.certification && (
+
+
+ Certificate
+
+ )}
+ {price && {price}}
+ >
+ )
+}
+
+const Count = ({ resource }: { resource: LearningResource }) => {
+ if (resource.resource_type !== ResourceTypeEnum.LearningPath) {
+ return null
+ }
+ const count = resource.learning_path.item_count
+ return (
+
+ {count} {pluralize("item", count)}
+
+ )
+}
+
+const isOcw = (resource: LearningResource) =>
+ resource.resource_type === ResourceTypeEnum.Course &&
+ resource.platform?.code === PlatformEnum.Ocw
+
+const getStartDate = (resource: LearningResource) => {
+ let startDate = resource.next_start_date
+
+ if (!startDate) {
+ const bestRun = findBestRun(resource.runs ?? [])
+
+ if (isOcw(resource) && bestRun?.semester && bestRun?.year) {
+ return `${bestRun?.semester} ${bestRun?.year}`
+ }
+ startDate = bestRun?.start_date
+ }
+
+ if (!startDate) return null
+
+ return formatDate(startDate, "MMMM DD, YYYY")
+}
+
+const StartDate: React.FC<{ resource: LearningResource }> = ({ resource }) => {
+ const startDate = getStartDate(resource)
+
+ if (!startDate) return null
+
+ const label = isOcw(resource) ? "As taught in:" : "Starts:"
+
+ return (
+
+ {label} {startDate}
+
+ )
+}
+
+const Format = ({ resource }: { resource: LearningResource }) => {
+ const format = resource.learning_format?.[0]?.name
+ if (!format) return null
+ return (
+
+ Format: {format}
+
+ )
+}
+
+const Loading = styled.div<{ mobile?: boolean }>`
+ display: flex;
+ padding: 24px;
+ justify-content: space-between;
+
+ > div {
+ width: calc(100% - 236px);
+ }
+
+ > span {
+ flex-grow: 0;
+ margin-left: auto;
+ }
+ ${({ mobile }) =>
+ mobile
+ ? `
+ padding: 0px;
+ > div {
+ padding: 12px;
+ }`
+ : ""}
+`
+
+const LoadingView = ({ isMobile }: { isMobile: boolean }) => {
+ const { width, height } = IMAGE_SIZES[isMobile ? "mobile" : "desktop"]
+ return (
+
+
+
+
+
+
+
+
+ )
+}
+
+interface LearningResourceListCardProps {
+ isLoading?: boolean
+ resource?: LearningResource | null
+ className?: string
+ href?: string
+ onAddToLearningPathClick?: ResourceIdCallback | null
+ onAddToUserListClick?: ResourceIdCallback | null
+ editMenu?: React.ReactNode | null
+}
+
+const LearningResourceListCard: React.FC = ({
+ isLoading,
+ resource,
+ className,
+ href,
+ onAddToLearningPathClick,
+ onAddToUserListClick,
+ editMenu,
+}) => {
+ const isMobile = !useMuiBreakpointAtLeast("md")
+
+ if (isLoading) {
+ return (
+
+
+
+
+
+ )
+ }
+ if (!resource) {
+ return null
+ }
+ return (
+
+
+
+
+
+ {resource.title}
+
+ {onAddToLearningPathClick && (
+ onAddToLearningPathClick(resource.id)}
+ >
+
+
+ )}
+ {onAddToUserListClick && (
+ onAddToUserListClick(resource.id)}
+ >
+
+
+ )}
+ {editMenu}
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export { LearningResourceListCard }
diff --git a/frontends/ol-components/src/components/TruncateText/TruncateText.tsx b/frontends/ol-components/src/components/TruncateText/TruncateText.tsx
index 6a1b9f269b..4f7cd33a25 100644
--- a/frontends/ol-components/src/components/TruncateText/TruncateText.tsx
+++ b/frontends/ol-components/src/components/TruncateText/TruncateText.tsx
@@ -15,6 +15,12 @@ const truncateText = (lines?: number | "none") =>
overflow: "hidden",
textOverflow: "ellipsis",
WebkitLineClamp: lines,
+ [`@supports (-webkit-line-clamp: ${lines})`]: {
+ whiteSpace: "initial",
+ display: "-webkit-box",
+ WebkitLineClamp: `${lines}`, // cast to any to avoid typechecking error in lines,
+ WebkitBoxOrient: "vertical",
+ },
})
/**
diff --git a/frontends/ol-components/src/index.ts b/frontends/ol-components/src/index.ts
index fa09c2d095..251dfde5b3 100644
--- a/frontends/ol-components/src/index.ts
+++ b/frontends/ol-components/src/index.ts
@@ -162,6 +162,7 @@ export * from "./components/Chips/ChipLink"
export * from "./components/EmbedlyCard/EmbedlyCard"
export * from "./components/FormDialog/FormDialog"
export * from "./components/LearningResourceCard/LearningResourceCard"
+export * from "./components/LearningResourceCard/LearningResourceListCard"
export * from "./components/LearningResourceExpanded/LearningResourceExpanded"
export * from "./components/LoadingSpinner/LoadingSpinner"
export * from "./components/Logo/Logo"
From 3669ad22660701999514acc1478c6c8a8e7fc044 Mon Sep 17 00:00:00 2001
From: Shankar Ambady
Date: Fri, 14 Jun 2024 15:13:56 -0400
Subject: [PATCH 2/3] Shanbady/topic channel page header fixes (#1063)
* remove padding from FieldControls element
* making margin on breadcrumb 16px
* font size adjustments
* fixing width for right panel
* adding mail outline icon
* adjusting margins around text container and subscribe button
* visual tweaks
* changing body text
* minor visual tweaks
* padding tweaks
* fixing background placement and padding adjustments
* style fixes
* slight width adjustment
* font fixes
* ui tweaks
* removing unused alt attributes
* adding reversed banner images
* Revert "adding reversed banner images"
This reverts commit 9a727540853cee4a4b4d14a04ab76026e141c6d2.
* Reapply "adding reversed banner images"
This reverts commit 9a45c268ab1068db7b8fda812f4d43e09f370369.
* adding dimmable background
* some lint
* removing some margin
* removing duplicate css
* fixing lint
* fixing broken test
* background image size adjustment
* adding default bg constant
* fixing background dimming and zindex issues
* fixing banner padding to match figma
* fixing responsive sizing of channel box
* fixing padding
* fix ordering of elements
* lint fix and padding
* fixing interior padding for sm dimension
* lint fix
* lint fix
* padding adjustment
* pushed fix for padding
* revert heading change
---
.../public/images/unit_banners/see.jpg | Bin 227614 -> 197976 bytes
.../public/images/unit_banners/xpro.jpg | Bin 307088 -> 262425 bytes
.../ChannelDetails/ChannelDetails.tsx | 78 ++++++++++++------
.../SearchSubscriptionToggle.tsx | 2 +
.../ArticleDetailsPage/ArticleDetailsPage.tsx | 1 -
.../src/pages/FieldPage/FieldPage.test.tsx | 8 +-
.../src/pages/FieldPage/FieldPageSkeleton.tsx | 54 ++++++++----
.../LearningPathListingPage.tsx | 1 -
.../pages/ListDetailsPage/ListDetailsPage.tsx | 1 -
.../UserListListingPage.tsx | 1 -
.../src/components/BannerPage/BannerPage.tsx | 71 +++++-----------
11 files changed, 118 insertions(+), 99 deletions(-)
diff --git a/frontends/mit-open/public/images/unit_banners/see.jpg b/frontends/mit-open/public/images/unit_banners/see.jpg
index 5b12a0ddd77e032cd5d5ab19fb98867b05d9be42..6b20f0346ae18898dad87d831e490cdc075692bb 100644
GIT binary patch
literal 197976
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