on master help sign in
Merge pull request #1654 from urbit/mp/card
de10b2bmatildepark
components/PostPreview.js+11−33
@@ -1,5 +1,5 @@
1import Link from "next/link";
1import Link from "next/link";
2−import BackgroundImage from "./BackgroundImage";
2+import { Card } from "foundation-design-system";
3import { formatDate, generateDisplayDate } from "../lib/lib";
3import { formatDate, generateDisplayDate } from "../lib/lib";
4
4
5export default function PostPreview(props) {
5export default function PostPreview(props) {
@@ -7,38 +7,16 @@ export default function PostPreview(props) {
7
7
8 const date = generateDisplayDate(props.post.date);
8 const date = generateDisplayDate(props.post.date);
9 return (
9 return (
10− <div className={`cursor-pointer ${props.className}`}>
10+ <Card
11− {props.title ? <h3 className="mb-2">{props.title}</h3> : null}
12−
13− <Link
14− href={`/${section}/${props.post.slug}`}
11+ slug={`/${section}/${props.post.slug}`}
15− key={`post-${props.post.slug}`}
16− >
17− <div>
18− <BackgroundImage
19− className="aspect-w-5 aspect-h-4 rounded-lg"
20− src={props.post.extra.image || ""}
12+ image={props.post.extra.image}
21− />
13+ title={props?.title || props.post?.title || ""}
22−
23− <h4 className="mt-2">{props.post.title}</h4>
24− <div className="flex items-baseline mt-1">
25− {props.post.extra.author ? (
26− <div className="type-sub-bold mr-2">
27− {props.post.extra.author}
14+ author={props.post?.extra?.author || ""}
28− </div>
29− ) : null}
30− {props.post.extra.ship ? (
31− <Link href={`/ids/${props.post.extra.ship}`} passHref>
15+ ship={props.post?.extra?.ship || ""}
32− <a className="type-sub-bold text-wall-500 font-mono">
16+ content={
33− {props.post.extra.ship}
34− </a>
35− </Link>
36− ) : null}
37− </div>
38− <div className="text-wall-500 type-sub mt-1">{formatDate(date)}</div>
17+ <div className="text-wall-500 type-sub mt-1">{formatDate(date)}</div>
39− </div>
18+ }
40− </Link>
19+ />
41− </div>
42 );
20 );
43}
21}
44
22
package-lock.json+38−38
@@ -45,9 +45,9 @@
45 }
45 }
46 },
46 },
47 "node_modules/@babel/runtime": {
47 "node_modules/@babel/runtime": {
48− "version": "7.18.6",
48+ "version": "7.18.9",
49− "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz",
49+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
50− "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==",
50+ "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
51 "dependencies": {
51 "dependencies": {
52 "regenerator-runtime": "^0.13.4"
52 "regenerator-runtime": "^0.13.4"
53 },
53 },
@@ -538,9 +538,9 @@
538 }
538 }
539 },
539 },
540 "node_modules/browserslist": {
540 "node_modules/browserslist": {
541− "version": "4.21.1",
541+ "version": "4.21.2",
542− "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz",
542+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz",
543− "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==",
543+ "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==",
544 "funding": [
544 "funding": [
545 {
545 {
546 "type": "opencollective",
546 "type": "opencollective",
@@ -552,9 +552,9 @@
552 }
552 }
553 ],
553 ],
554 "dependencies": {
554 "dependencies": {
555− "caniuse-lite": "^1.0.30001359",
555+ "caniuse-lite": "^1.0.30001366",
556− "electron-to-chromium": "^1.4.172",
556+ "electron-to-chromium": "^1.4.188",
557− "node-releases": "^2.0.5",
557+ "node-releases": "^2.0.6",
558 "update-browserslist-db": "^1.0.4"
558 "update-browserslist-db": "^1.0.4"
559 },
559 },
560 "bin": {
560 "bin": {
@@ -596,9 +596,9 @@
596 }
596 }
597 },
597 },
598 "node_modules/caniuse-lite": {
598 "node_modules/caniuse-lite": {
599− "version": "1.0.30001365",
599+ "version": "1.0.30001367",
600− "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001365.tgz",
600+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz",
601− "integrity": "sha512-VDQZ8OtpuIPMBA4YYvZXECtXbddMCUFJk1qu8Mqxfm/SZJNSr1cy4IuLCOL7RJ/YASrvJcYg1Zh+UEUQ5m6z8Q==",
601+ "integrity": "sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==",
602 "funding": [
602 "funding": [
603 {
603 {
604 "type": "opencollective",
604 "type": "opencollective",
@@ -856,9 +856,9 @@
856 }
856 }
857 },
857 },
858 "node_modules/electron-to-chromium": {
858 "node_modules/electron-to-chromium": {
859− "version": "1.4.187",
859+ "version": "1.4.195",
860− "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.187.tgz",
860+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz",
861− "integrity": "sha512-t3iFLHVIMhB8jGZ+8ui951nz6Bna5qKfhxezG3wzXdBJ79qFKPsE2chjjVFNqC1ewhfrPQrw9pmVeo4FFpZeQA=="
861+ "integrity": "sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg=="
862 },
862 },
863 "node_modules/end-of-stream": {
863 "node_modules/end-of-stream": {
864 "version": "1.4.4",
864 "version": "1.4.4",
@@ -1116,7 +1116,7 @@
1116 },
1116 },
1117 "node_modules/foundation-design-system": {
1117 "node_modules/foundation-design-system": {
1118 "version": "0.0.0",
1118 "version": "0.0.0",
1119− "resolved": "git+ssh://git@github.com/urbit/foundation-design-system.git#af413f40c379005cf609c2adde545da9638f38e3",
1119+ "resolved": "git+ssh://git@github.com/urbit/foundation-design-system.git#37e2d9122f6ec88ce6cd8758ca0612f13d613f8f",
1120 "license": "MIT",
1120 "license": "MIT",
1121 "dependencies": {
1121 "dependencies": {
1122 "@markdoc/markdoc": "0.1.3",
1122 "@markdoc/markdoc": "0.1.3",
@@ -2848,9 +2848,9 @@
2848 }
2848 }
2849 },
2849 },
2850 "node_modules/update-browserslist-db": {
2850 "node_modules/update-browserslist-db": {
2851− "version": "1.0.4",
2851+ "version": "1.0.5",
2852− "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz",
2852+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
2853− "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==",
2853+ "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
2854 "funding": [
2854 "funding": [
2855 {
2855 {
2856 "type": "opencollective",
2856 "type": "opencollective",
@@ -2958,9 +2958,9 @@
2958 },
2958 },
2959 "dependencies": {
2959 "dependencies": {
2960 "@babel/runtime": {
2960 "@babel/runtime": {
2961− "version": "7.18.6",
2961+ "version": "7.18.9",
2962− "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz",
2962+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz",
2963− "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==",
2963+ "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
2964 "requires": {
2964 "requires": {
2965 "regenerator-runtime": "^0.13.4"
2965 "regenerator-runtime": "^0.13.4"
2966 }
2966 }
@@ -3249,13 +3249,13 @@
3249 }
3249 }
3250 },
3250 },
3251 "browserslist": {
3251 "browserslist": {
3252− "version": "4.21.1",
3252+ "version": "4.21.2",
3253− "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz",
3253+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz",
3254− "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==",
3254+ "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==",
3255 "requires": {
3255 "requires": {
3256− "caniuse-lite": "^1.0.30001359",
3256+ "caniuse-lite": "^1.0.30001366",
3257− "electron-to-chromium": "^1.4.172",
3257+ "electron-to-chromium": "^1.4.188",
3258− "node-releases": "^2.0.5",
3258+ "node-releases": "^2.0.6",
3259 "update-browserslist-db": "^1.0.4"
3259 "update-browserslist-db": "^1.0.4"
3260 }
3260 }
3261 },
3261 },
@@ -3274,9 +3274,9 @@
3274 "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
3274 "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
3275 },
3275 },
3276 "caniuse-lite": {
3276 "caniuse-lite": {
3277− "version": "1.0.30001365",
3277+ "version": "1.0.30001367",
3278− "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001365.tgz",
3278+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz",
3279− "integrity": "sha512-VDQZ8OtpuIPMBA4YYvZXECtXbddMCUFJk1qu8Mqxfm/SZJNSr1cy4IuLCOL7RJ/YASrvJcYg1Zh+UEUQ5m6z8Q=="
3279+ "integrity": "sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw=="
3280 },
3280 },
3281 "chalk": {
3281 "chalk": {
3282 "version": "2.4.2",
3282 "version": "2.4.2",
@@ -3465,9 +3465,9 @@
3465 }
3465 }
3466 },
3466 },
3467 "electron-to-chromium": {
3467 "electron-to-chromium": {
3468− "version": "1.4.187",
3468+ "version": "1.4.195",
3469− "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.187.tgz",
3469+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz",
3470− "integrity": "sha512-t3iFLHVIMhB8jGZ+8ui951nz6Bna5qKfhxezG3wzXdBJ79qFKPsE2chjjVFNqC1ewhfrPQrw9pmVeo4FFpZeQA=="
3470+ "integrity": "sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg=="
3471 },
3471 },
3472 "end-of-stream": {
3472 "end-of-stream": {
3473 "version": "1.4.4",
3473 "version": "1.4.4",
@@ -3650,7 +3650,7 @@
3650 "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
3650 "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
3651 },
3651 },
3652 "foundation-design-system": {
3652 "foundation-design-system": {
3653− "version": "git+ssh://git@github.com/urbit/foundation-design-system.git#af413f40c379005cf609c2adde545da9638f38e3",
3653+ "version": "git+ssh://git@github.com/urbit/foundation-design-system.git#37e2d9122f6ec88ce6cd8758ca0612f13d613f8f",
3654 "from": "foundation-design-system@github:urbit/foundation-design-system",
3654 "from": "foundation-design-system@github:urbit/foundation-design-system",
3655 "requires": {
3655 "requires": {
3656 "@markdoc/markdoc": "0.1.3",
3656 "@markdoc/markdoc": "0.1.3",
@@ -4847,9 +4847,9 @@
4847 }
4847 }
4848 },
4848 },
4849 "update-browserslist-db": {
4849 "update-browserslist-db": {
4850− "version": "1.0.4",
4850+ "version": "1.0.5",
4851− "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz",
4851+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz",
4852− "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==",
4852+ "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==",
4853 "requires": {
4853 "requires": {
4854 "escalade": "^3.1.1",
4854 "escalade": "^3.1.1",
4855 "picocolors": "^1.0.0"
4855 "picocolors": "^1.0.0"
pages/blog/[slug].js+2−6
@@ -71,12 +71,8 @@ export default function Post({
71 </Section>
71 </Section>
72 <Section wide className="flex">
72 <Section wide className="flex">
73 <TwoUp>
73 <TwoUp>
74− {nextPost ? (
75− <PostPreview title="Next Post" post={nextPost} />
74+ {nextPost ? <PostPreview post={nextPost} /> : null}
76− ) : null}
77− {previousPost ? (
78− <PostPreview title="Previous Post" post={previousPost} />
75+ {previousPost ? <PostPreview post={previousPost} /> : null}
79− ) : null}
80 </TwoUp>
76 </TwoUp>
81 </Section>
77 </Section>
82 </SingleColumn>
78 </SingleColumn>
pages/index.js+4−4
@@ -69,9 +69,9 @@ export default function Home({ posts, events, grantNumbers, search }) {
69 computer from scratch. Good thing we started over a decade ago.
69 computer from scratch. Good thing we started over a decade ago.
70 </p>
70 </p>
71 <p className="max-w-prose">
71 <p className="max-w-prose">
72− Today, Urbit is a real system with thousands of users that are building
72+ Today, Urbit is a real system with thousands of users that are
73− all kinds of communities, software, DAOs, and more. And it’s getting
73+ building all kinds of communities, software, DAOs, and more. And
74− better every day.{" "}
74+ it’s getting better every day.{" "}
75 </p>
75 </p>
76 <Link href="/overview" passHref>
76 <Link href="/overview" passHref>
77 <a className="button-lg bg-green-400 text-white type-ui max-w-fit">
77 <a className="button-lg bg-green-400 text-white type-ui max-w-fit">
@@ -189,7 +189,7 @@ export default function Home({ posts, events, grantNumbers, search }) {
189 </TwoUp>
189 </TwoUp>
190
190
191 <Link href="/blog" passHref>
191 <Link href="/blog" passHref>
192− <a className="button-lg max-w-fit type-ui text-white bg-green-400">
192+ <a className="button-lg max-w-fit type-ui text-white bg-green-400 z-10">
193 See More
193 See More
194 </a>
194 </a>
195 </Link>
195 </Link>