-
Notifications
You must be signed in to change notification settings - Fork 234
Themes #580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Themes #580
Changes from 13 commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
fc1f459
theme's new model; new package: @courselit/page-primitives; a few wi…
rajat1saxena 95a1cf3
Deleted .yarn folder
rajat1saxena a4252aa
package rename: common-widgets to page-blocks; page blocks now use pa…
rajat1saxena fde26f4
Fixed hydration errors
rajat1saxena 066caca
Page block's x/y padding based on theme now; Page switcher dropdown; …
rajat1saxena 12e98c8
The page blocks are fully ported to use page-primitives; page builder…
rajat1saxena 6486327
lint fix
rajat1saxena e5813a0
working selection of fonts; typography with preview; interactives wit…
rajat1saxena 5bc3cf1
theme > structure settings
rajat1saxena f6cfc64
lint fix
rajat1saxena 010587e
WIP: themes list
rajat1saxena 5c43a0f
Remove circular dependency between components-library and page-primit…
rajat1saxena 13322b1
Themes almost work (with a few bugs); New system themes; Cleaned up c…
rajat1saxena d36c526
Fixed header navigation; Refactored default page template as per the …
rajat1saxena 160a2e6
Github action fix
rajat1saxena 6a58e82
Fixed Copilot warnings
rajat1saxena aec1b75
Upgrading pnpm version
rajat1saxena 4c33aff
explicit typing
rajat1saxena 7e4499c
Made the type generic
rajat1saxena 8e14fb7
Made the type generic
rajat1saxena 9abf0ec
added react import
rajat1saxena 15433b9
Added missing imports
rajat1saxena 62abcb0
Fixed: redirection after login in app router based login page
rajat1saxena 6b69e9d
Better theme editing state management
rajat1saxena 65111af
fixed border style not working in cards
rajat1saxena 6cd3f29
Merged section Y padding and vertical padding
rajat1saxena 47c3bf4
Re-designed neobrutalism theme; Fixed shadows
rajat1saxena e6374ba
buttonText property baked into the Theme model
rajat1saxena 68cd78a
Theme are now based on ShadCN CSS variables; Removed CSS style props …
rajat1saxena 9b9d2dd
Configurable Tailwind based shadows; Github Icon in header;
rajat1saxena 0376592
Fixed theme save
rajat1saxena 172c1ab
Refined themes; Better theme card click UX; Theme docs template; Rena…
rajat1saxena 73267b3
Docs for themes; Removed individual pages for page blocks
rajat1saxena 81368e6
Removed client side loading from public pages as much as possible
rajat1saxena 74fe281
Prettier fixes
rajat1saxena 34ac7bc
fixed font naming; padding migration; some safe side checks
e9a8dc1
Prettier fixes
7ae0b9b
Themes only apply to public pages, not pages inside dashboard.
ca4366c
Updated the docs about themes application
64cf9b7
Prettier fix
38a7bbf
Prettier fix
7ec970d
Fixed cards and text renderer styling
158ad0a
Reverted to using div to set the min height
f1c4e31
Fixed: drawer not themed
61d8ee1
Fixed dark mode detection
6341a88
format fix
04e9c8f
Format fix
75818ba
CodeQL corrections
555be36
Fixed blog styling
2a1fcc5
Blog post is fetched on server side; Breadcrumb UI fix; featured imag…
c5b425d
Communities page ported to use themes; Blog meta fixes; Promise.all u…
rajat1saxena 33c3c4a
Fixed meta tags for page
rajat1saxena 5c9cbb1
Fixed migration
rajat1saxena ea92bca
Applied border
rajat1saxena 3b156c1
Added migrations instructions
rajat1saxena File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,6 +14,7 @@ coverage | |
| # Text editors configurations | ||
| .vscode | ||
| .rgignore | ||
| .cursor | ||
|
|
||
| # Env file | ||
| .env*.local | ||
|
|
||
Binary file not shown.
Binary file removed
BIN
-9.82 KB
.yarn/cache/@babel-compat-data-npm-7.26.8-fb802c4940-1bb04c6860.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-22.3 KB
.yarn/cache/@babel-helper-compilation-targets-npm-7.27.0-a682051943-ad8b2351cd.zip
Binary file not shown.
Binary file removed
BIN
-6.18 KB
.yarn/cache/@babel-helper-plugin-utils-npm-7.26.5-f9c17c9880-4771fbb171.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-2.73 KB
.yarn/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip
Binary file not shown.
Binary file removed
BIN
-2.59 KB
.yarn/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-3a10849d83.zip
Binary file not shown.
Binary file removed
BIN
-2.76 KB
.yarn/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip
Binary file not shown.
Binary file removed
BIN
-2.83 KB
.yarn/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip
Binary file not shown.
Binary file removed
BIN
-4.37 KB
.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-c122aa5771.zip
Binary file not shown.
Binary file removed
BIN
-2.71 KB
.yarn/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-166ac1125d.zip
Binary file not shown.
Binary file removed
BIN
-2.75 KB
.yarn/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip
Binary file not shown.
Binary file removed
BIN
-2.95 KB
...he/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip
Binary file not shown.
Binary file removed
BIN
-2.88 KB
...ache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip
Binary file not shown.
Binary file removed
BIN
-2.88 KB
.yarn/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip
Binary file not shown.
Binary file removed
BIN
-2.75 KB
.yarn/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip
Binary file not shown.
Binary file removed
BIN
-2.81 KB
.yarn/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip
Binary file not shown.
Binary file removed
BIN
-2.74 KB
.yarn/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip
Binary file not shown.
Binary file removed
BIN
-2.96 KB
...ache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip
Binary file not shown.
Binary file removed
BIN
-2.8 KB
.yarn/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip
Binary file not shown.
Binary file removed
BIN
-4.6 KB
.yarn/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-0e9821e8ba.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-34.1 KB
.yarn/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-5718f26708.zip
Binary file not shown.
Binary file removed
BIN
-5.7 KB
.yarn/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-d578da5e2e.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-11.4 KB
.yarn/cache/@jest-expect-utils-npm-29.7.0-14740cc487-75eb177f3d.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-6.06 KB
.yarn/cache/@jest-test-sequencer-npm-29.7.0-291f23a495-73f4359901.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-27.5 KB
.yarn/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-d89597752f.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-19.3 KB
.yarn/cache/@sinonjs-fake-timers-npm-10.3.0-7417f876b4-614d30cb4d.zip
Binary file not shown.
Binary file removed
BIN
-445 KB
.yarn/cache/@testing-library-dom-npm-10.4.0-a0d2ca848e-bb128b90be.zip
Binary file not shown.
Binary file removed
BIN
-70 KB
.yarn/cache/@testing-library-jest-dom-npm-6.6.3-733adae273-c1dc4260b0.zip
Binary file not shown.
Binary file removed
BIN
-96 KB
.yarn/cache/@testing-library-react-npm-16.3.0-fcde6d23a2-85728ea8a1.zip
Binary file not shown.
Binary file removed
BIN
-211 KB
.yarn/cache/@testing-library-user-event-npm-14.6.1-5da7e1d4e2-4cb8a81fea.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-16.1 KB
.yarn/cache/@types-babel__traverse-npm-7.20.7-06119f1d53-2a2e5ad29c.zip
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-3.04 KB
.yarn/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-3feac423fd.zip
Binary file not shown.
Binary file removed
BIN
-3.97 KB
.yarn/cache/@types-istanbul-lib-report-npm-3.0.3-a5c0ef4b88-b91e9b60f8.zip
Binary file not shown.
Binary file removed
BIN
-3.55 KB
.yarn/cache/@types-istanbul-reports-npm-3.0.4-1afa69db29-93eb188357.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-4.52 KB
.yarn/cache/@types-tough-cookie-npm-4.0.5-8c5e2162e1-f19409d019.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-9.25 KB
.yarn/cache/babel-plugin-istanbul-npm-6.1.1-df824055e4-cb4fd95738.zip
Binary file not shown.
Binary file removed
BIN
-6.31 KB
.yarn/cache/babel-plugin-jest-hoist-npm-29.6.3-46120a3297-51250f2281.zip
Binary file not shown.
Binary file removed
BIN
-5.05 KB
.yarn/cache/babel-preset-current-node-syntax-npm-1.1.0-a3b84fe89f-9f93fac975.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-3.63 KB
.yarn/cache/collect-v8-coverage-npm-1.0.2-bd20d0c572-c10f41c39a.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-89.3 KB
.yarn/cache/dom-accessibility-api-npm-0.5.16-d3e2310666-005eb283ca.zip
Binary file not shown.
Binary file removed
BIN
-96.4 KB
.yarn/cache/dom-accessibility-api-npm-0.6.3-0345e4dede-c325b5144b.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-2.82 KB
.yarn/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-9f8a2d5743.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-4.84 KB
.yarn/cache/html-encoding-sniffer-npm-3.0.0-daac3dfe41-8d806aa004.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-2.88 KB
.yarn/cache/is-potential-custom-element-name-npm-1.0.1-f352f606f8-ced7bbbb64.zip
Binary file not shown.
Binary file removed
BIN
-12.5 KB
.yarn/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-2367407a8d.zip
Binary file not shown.
Binary file removed
BIN
-19 KB
.yarn/cache/istanbul-lib-instrument-npm-5.2.1-1b3ad719a9-bf16f1803b.zip
Binary file not shown.
Binary file removed
BIN
-19.4 KB
.yarn/cache/istanbul-lib-instrument-npm-6.0.3-959dca7404-74104c60c6.zip
Binary file not shown.
Binary file removed
BIN
-14.7 KB
.yarn/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-fd17a1b879.zip
Binary file not shown.
Binary file removed
BIN
-12.2 KB
.yarn/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-21ad3df45d.zip
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-8.58 KB
.yarn/cache/jest-changed-files-npm-29.7.0-c2dcd10525-963e203893.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-4.55 KB
.yarn/cache/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b-559aac134c.zip
Binary file not shown.
Binary file removed
BIN
-4.43 KB
.yarn/cache/jest-environment-node-npm-29.7.0-860b5e25ec-501a996629.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-3.86 KB
.yarn/cache/jest-leak-detector-npm-29.7.0-915d82553f-e3950e3ddd.zip
Binary file not shown.
Binary file removed
BIN
-10.4 KB
.yarn/cache/jest-matcher-utils-npm-29.7.0-dfc74b630e-d7259e5f99.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-4.27 KB
.yarn/cache/jest-resolve-dependencies-npm-29.7.0-06ec582f1e-aeb75d8150.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-123 KB
.yarn/cache/mongodb-memory-server-core-npm-10.1.4-85bdf3f8a0-a02fc2678c.zip
Binary file not shown.
Binary file removed
BIN
-3.47 KB
.yarn/cache/mongodb-memory-server-npm-10.1.4-5c7ce446ca-8c9160f62d.zip
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-5.53 KB
.yarn/cache/new-find-package-json-npm-2.0.0-90004ee195-5488ead794.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed
BIN
-7.67 KB
.yarn/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-78089ad549.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
52 changes: 52 additions & 0 deletions
52
apps/web/app/(with-contexts)/(with-layout)/blog/[slug]/[id]/layout.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| import type { Metadata, ResolvingMetadata } from "next"; | ||
| import { ReactNode } from "react"; | ||
| import { FetchBuilder } from "@courselit/utils"; | ||
| import { headers } from "next/headers"; | ||
| import { getAddressFromHeaders } from "@ui-lib/utils"; | ||
| import { Course } from "@courselit/common-models"; | ||
|
|
||
| export async function generateMetadata( | ||
| { params }: { params: { id: string } }, | ||
| parent: ResolvingMetadata, | ||
| ): Promise<Metadata> { | ||
| const address = getAddressFromHeaders(headers); | ||
| const product = await getProduct(params.id, address); | ||
|
|
||
| return { | ||
| title: `${product ? product.title : "Post not found"} | ${(await parent)?.title?.absolute}`, | ||
| }; | ||
| } | ||
|
|
||
| async function getProduct(id: string, address: string): Promise<Course | null> { | ||
| const query = ` | ||
| query ($id: String!) { | ||
| product: getCourse(id: $id) { | ||
| courseId | ||
| title | ||
| description | ||
| slug | ||
| featuredImage { | ||
| thumbnail | ||
| file | ||
| } | ||
| creatorName | ||
| updatedAt | ||
| } | ||
| } | ||
| `; | ||
| const fetch = new FetchBuilder() | ||
| .setUrl(`${address}/api/graph`) | ||
| .setPayload({ query, variables: { id } }) | ||
| .setIsGraphQLEndpoint(true) | ||
| .build(); | ||
| try { | ||
| const response = await fetch.exec(); | ||
| return response.product; | ||
| } catch (err: any) { | ||
| return null; | ||
| } | ||
| } | ||
|
|
||
| export default function Layout({ children }: { children: ReactNode }) { | ||
| return children; | ||
| } |
24 changes: 24 additions & 0 deletions
24
apps/web/app/(with-contexts)/(with-layout)/blog/[slug]/[id]/page.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| "use client"; | ||
|
|
||
| import { useContext } from "react"; | ||
| import { Course } from "@courselit/common-models"; | ||
| import { Section } from "@courselit/page-primitives"; | ||
| import Post from "./post"; | ||
| import { ThemeContext } from "@components/contexts"; | ||
|
|
||
| export default function BlogPost({ | ||
| params, | ||
| }: { | ||
| params: { slug: string; id: string }; | ||
| course: Course; | ||
| }) { | ||
| const { theme } = useContext(ThemeContext); | ||
|
|
||
| return ( | ||
| <Section theme={theme.theme}> | ||
| <div className="flex flex-col gap-4 min-h-[80vh]"> | ||
| <Post courseId={params.id} /> | ||
| </div> | ||
| </Section> | ||
| ); | ||
| } |
71 changes: 71 additions & 0 deletions
71
apps/web/app/(with-contexts)/(with-layout)/blog/[slug]/[id]/post.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| "use client"; | ||
|
|
||
| import { Breadcrumbs, TextRenderer } from "@courselit/components-library"; | ||
| import { | ||
| Header1, | ||
| Subheader2, | ||
| Caption, | ||
| Text1, | ||
| Text2, | ||
| } from "@courselit/page-primitives"; | ||
| import Image from "next/image"; | ||
| import { BLOG_UPDATED_PREFIX } from "@ui-config/strings"; | ||
| import { formattedLocaleDate, truncate } from "@ui-lib/utils"; | ||
| import useProduct from "@/hooks/use-product"; | ||
| import { AddressContext, ThemeContext } from "@components/contexts"; | ||
| import { useContext } from "react"; | ||
| import Link from "next/link"; | ||
|
|
||
| export default function Post({ courseId }: { courseId: string }) { | ||
| const address = useContext(AddressContext); | ||
| const { theme } = useContext(ThemeContext); | ||
| const { product: post, loaded } = useProduct(courseId, address); | ||
|
|
||
| if (!post) { | ||
| return null; | ||
| } | ||
|
|
||
| if (loaded && !post) { | ||
| return <Text1>Post not found</Text1>; | ||
| } | ||
|
|
||
| return ( | ||
| <> | ||
| <Breadcrumbs aria-label="back to blog" className="mb-4"> | ||
| <Text2 className="cursor-pointer" theme={theme.theme}> | ||
| <Link href="/blog">Blog</Link> | ||
| </Text2> | ||
| <Text2 theme={theme.theme}>{truncate(post.title, 20)}</Text2> | ||
| </Breadcrumbs> | ||
| <Header1 theme={theme.theme}>{post.title}</Header1> | ||
| <div className="flex items-center gap-4"> | ||
| <Image | ||
| src={ | ||
| post.featuredImage?.file || | ||
| "/courselit_backdrop_square.webp" | ||
| } | ||
| alt={post.featuredImage?.caption || ""} | ||
| width={32} | ||
| height={32} | ||
| className="rounded-full" | ||
| /> | ||
| <div className="flex flex-col gap-1"> | ||
| <Subheader2 theme={theme.theme}> | ||
| {post.creatorName} | ||
| </Subheader2> | ||
| <Caption theme={theme.theme}> | ||
| <span className="font-semibold"> | ||
| {BLOG_UPDATED_PREFIX}: | ||
| </span>{" "} | ||
| {formattedLocaleDate(post.updatedAt, "long")} | ||
| </Caption> | ||
| </div> | ||
| </div> | ||
| {post.description && ( | ||
| <Text1 theme={theme.theme}> | ||
| <TextRenderer json={JSON.parse(post.description)} /> | ||
| </Text1> | ||
| )} | ||
| </> | ||
| ); | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.