offload videos to vercel blob storage
@ -17,7 +17,14 @@ const Page = () => {
|
||||
<>
|
||||
<PageTitle canonical="/birthday">1996.mov</PageTitle>
|
||||
|
||||
<Video src={["/static/birthday/birthday.webm", "/static/birthday/birthday.mp4"]} poster={thumbnail.src} />
|
||||
<Video
|
||||
src={[
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/birthday/birthday-9HG65MrSNWJjzg679VtirX7MLPpAaV.webm",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/birthday/birthday-8iayCEy1jfEHpNGZkdBPvxPFOuGz0g.mp4",
|
||||
]}
|
||||
poster={thumbnail.src}
|
||||
crossOrigin="anonymous"
|
||||
/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
@ -16,7 +16,7 @@
|
||||
.input.textarea {
|
||||
margin-bottom: 0;
|
||||
line-height: 1.5;
|
||||
min-height: 136px; /* approx 5 lines, to avoid severe layout shifting */
|
||||
min-height: calc(5 * 1.5rem + 1.5em); /* avoid layout shift when textarea-autosize loads */
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
|
@ -20,11 +20,12 @@ const Page = () => {
|
||||
|
||||
<Video
|
||||
src={[
|
||||
"/static/hillary/convention-720p.webm",
|
||||
"/static/hillary/convention-720p.mp4",
|
||||
"/static/hillary/subs.en.vtt",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/hillary/convention-720p-JbNlxyfqE3nz4ACjtfbpbjcR2gOY89.webm",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/hillary/convention-720p-YLGreYE59PzmPo4epB21HQG6jXgYL5.mp4",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/hillary/subs.en-k2txNECkQvwxWP8DjfP6GPBPo20vnO.vtt",
|
||||
]}
|
||||
poster={thumbnail.src}
|
||||
crossOrigin="anonymous"
|
||||
/>
|
||||
|
||||
<p
|
||||
|
@ -42,7 +42,7 @@ const jsonLd: WithContext<Person> = {
|
||||
],
|
||||
};
|
||||
|
||||
const RootLayout = ({ children }: { children: React.ReactNode }) => {
|
||||
const RootLayout = ({ children }: Readonly<{ children: React.ReactNode }>) => {
|
||||
return (
|
||||
<html lang={config.siteLocale} suppressHydrationWarning>
|
||||
<head>
|
||||
|
@ -18,7 +18,15 @@ const Page = () => {
|
||||
<>
|
||||
<PageTitle canonical="/leo">TheLab.mov</PageTitle>
|
||||
|
||||
<Video src={["/static/leo/leo.webm", "/static/leo/leo.mp4", "/static/leo/subs.en.vtt"]} poster={thumbnail.src} />
|
||||
<Video
|
||||
src={[
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/leo/leo-lVkSAtUWCqQaDCMqo3SGcuBiSlNWod.webm",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/leo/leo-x4E4eG4YPo22KSTJuZwAk6fpNF1NgG.mp4",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/leo/subs.en-HRGnRBH8w8CEyM644OV3qmCdm9Aj61.vtt",
|
||||
]}
|
||||
poster={thumbnail.src}
|
||||
crossOrigin="anonymous"
|
||||
/>
|
||||
|
||||
<p
|
||||
style={{
|
||||
|
BIN
app/not-found.gif
Normal file
After Width: | Height: | Size: 528 KiB |
@ -1,7 +1,9 @@
|
||||
import Image from "../components/Image";
|
||||
import Link from "../components/Link";
|
||||
import Video from "../components/Video";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
import notFoundGif from "./not-found.gif";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Page Not Found",
|
||||
description: null,
|
||||
@ -14,14 +16,7 @@ export const metadata: Metadata = {
|
||||
const Page = () => {
|
||||
return (
|
||||
<div style={{ textAlign: "center" }}>
|
||||
<Video
|
||||
src={["/static/not-found/angry-panda.webm", "/static/not-found/angry-panda.mp4"]}
|
||||
autoplay
|
||||
responsive={false}
|
||||
style={{
|
||||
maxWidth: "400px",
|
||||
}}
|
||||
/>
|
||||
<Image src={notFoundGif} alt="Angry panda" placeholder="empty" unoptimized />
|
||||
|
||||
<h1 style={{ margin: "0.2em auto" }}>Page Not Found 😢</h1>
|
||||
|
||||
|
@ -19,7 +19,7 @@ const Image = ({ src, height, width, placeholder, className, ...rest }: ImagePro
|
||||
src,
|
||||
height,
|
||||
width: constrainWidth(width || (src as StaticImageData).width),
|
||||
placeholder: placeholder || (typeof src === "string" ? "empty" : "blur"),
|
||||
placeholder: placeholder || (typeof src === "object" && "blurDataURL" in src ? "blur" : "empty"),
|
||||
...rest,
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import type { NextConfig } from "next";
|
||||
import createMDX from "@next/mdx";
|
||||
import createBundleAnalyzer from "@next/bundle-analyzer";
|
||||
import withBundleAnalyzer from "@next/bundle-analyzer";
|
||||
import withMDX from "@next/mdx";
|
||||
import * as mdxPlugins from "./lib/helpers/remark-rehype-plugins";
|
||||
|
||||
const nextConfig: NextConfig = {
|
||||
@ -15,6 +15,7 @@ const nextConfig: NextConfig = {
|
||||
images: {
|
||||
formats: ["image/avif", "image/webp"],
|
||||
remotePatterns: [
|
||||
{ protocol: "https", hostname: "bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com" },
|
||||
{ protocol: "https", hostname: "pbs.twimg.com" },
|
||||
{ protocol: "https", hostname: "abs.twimg.com" },
|
||||
],
|
||||
@ -122,45 +123,50 @@ const nextConfig: NextConfig = {
|
||||
],
|
||||
};
|
||||
|
||||
const withBundleAnalyzer = createBundleAnalyzer({
|
||||
enabled: process.env.ANALYZE === "true",
|
||||
});
|
||||
|
||||
const withMDX = createMDX({
|
||||
options: {
|
||||
remarkPlugins: [
|
||||
mdxPlugins.remarkFrontmatter,
|
||||
mdxPlugins.remarkMdxFrontmatter,
|
||||
[mdxPlugins.remarkGfm, { singleTilde: false }],
|
||||
[
|
||||
mdxPlugins.remarkSmartypants,
|
||||
{
|
||||
quotes: true,
|
||||
dashes: "oldschool",
|
||||
backticks: false,
|
||||
ellipses: false,
|
||||
},
|
||||
],
|
||||
],
|
||||
rehypePlugins: [
|
||||
mdxPlugins.rehypeUnwrapImages,
|
||||
mdxPlugins.rehypeSlug,
|
||||
[
|
||||
mdxPlugins.rehypePrettyCode,
|
||||
{
|
||||
theme: {
|
||||
light: "material-theme-lighter",
|
||||
dark: "material-theme-darker",
|
||||
const nextPlugins = [
|
||||
withBundleAnalyzer({
|
||||
enabled: process.env.ANALYZE === "true",
|
||||
}),
|
||||
withMDX({
|
||||
options: {
|
||||
remarkPlugins: [
|
||||
mdxPlugins.remarkFrontmatter,
|
||||
mdxPlugins.remarkMdxFrontmatter,
|
||||
[mdxPlugins.remarkGfm, { singleTilde: false }],
|
||||
[
|
||||
mdxPlugins.remarkSmartypants,
|
||||
{
|
||||
quotes: true,
|
||||
dashes: "oldschool",
|
||||
backticks: false,
|
||||
ellipses: false,
|
||||
},
|
||||
bypassInlineCode: true,
|
||||
defaultLang: "plaintext",
|
||||
grid: false,
|
||||
keepBackground: false,
|
||||
},
|
||||
],
|
||||
],
|
||||
mdxPlugins.rehypeMdxImportMedia,
|
||||
],
|
||||
},
|
||||
});
|
||||
rehypePlugins: [
|
||||
mdxPlugins.rehypeUnwrapImages,
|
||||
mdxPlugins.rehypeSlug,
|
||||
[
|
||||
mdxPlugins.rehypePrettyCode,
|
||||
{
|
||||
theme: {
|
||||
light: "material-theme-lighter",
|
||||
dark: "material-theme-darker",
|
||||
},
|
||||
bypassInlineCode: true,
|
||||
defaultLang: "plaintext",
|
||||
grid: false,
|
||||
keepBackground: false,
|
||||
},
|
||||
],
|
||||
mdxPlugins.rehypeMdxImportMedia,
|
||||
],
|
||||
},
|
||||
}),
|
||||
];
|
||||
|
||||
export default withBundleAnalyzer(withMDX(nextConfig));
|
||||
// my own macgyvered version of next-compose-plugins (RIP)
|
||||
// eslint-disable-next-line import/no-anonymous-default-export
|
||||
export default () => {
|
||||
return nextPlugins.reduce((acc, plugin) => plugin(acc), { ...nextConfig });
|
||||
};
|
||||
|
@ -44,10 +44,11 @@ Here's one of the instructional videos provided internally to volunteers:
|
||||
|
||||
<Video
|
||||
src={[
|
||||
"/static/bernie-sanders-bern-app-data/friend-to-friend.webm",
|
||||
"/static/bernie-sanders-bern-app-data/friend-to-friend.mp4",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/bernie-sanders-bern-app-data/friend-to-friend-XVB7UJRIMIwRtjQPOQZ4eCR9kM5F1g.webm",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/bernie-sanders-bern-app-data/friend-to-friend-nLG3RzuKzNpKmeYTjFT08DnMdJW509.mp4",
|
||||
]}
|
||||
poster="/static/bernie-sanders-bern-app-data/poster-friend-to-friend.png"
|
||||
poster="https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/bernie-sanders-bern-app-data/poster-friend-to-friend-YYltrrTUoFbqyx1X00DVh0ylem59Ir.png"
|
||||
crossOrigin="anonymous"
|
||||
/>
|
||||
|
||||
...and a few privacy-related questions about the friend-to-friend feature were answered by campaign staff in a separate closed webinar for volunteers this week:
|
||||
|
@ -118,11 +118,7 @@ You can [download their software here](https://foldingathome.org/start-folding/)
|
||||
|
||||
**Fun fact:** The team behind Folding@home has seen a [**huge** spike in computational power](https://www.reddit.com/r/pcmasterrace/comments/flgm7q/ama_with_the_team_behind_foldinghome_coronavirus/) this month after cryptominers started mining coronavirus proteins instead of boring, old Ethereum with their insanely overpowered GPUs! 👏
|
||||
|
||||
<Video
|
||||
src={["/static/coronavirus-open-source/folding.webm", "/static/coronavirus-open-source/folding.mp4"]}
|
||||
poster="/static/coronavirus-open-source/folding-thumb.png"
|
||||
autoplay
|
||||
/>
|
||||
<YouTube id="O-uwljuMp7w" />
|
||||
|
||||
## [Coronavirus Tracker API](https://coronavirus-tracker-api.herokuapp.com/v2/locations) <OctocatLink repo="ExpDev07/coronavirus-tracker-api" />
|
||||
|
||||
|
@ -31,8 +31,12 @@ Decisions made by the top folks at Dropbox gave me an increasingly sour taste in
|
||||
- ...and as a bonus, making the process of canceling Dropbox Pro incredibly convoluted, annoying, and sketchy. Here's a video demonstration via [Justin Dunham](https://twitter.com/jwyattd):
|
||||
|
||||
<Video
|
||||
src={["/static/dropping-dropbox/cancel.webm", "/static/dropping-dropbox/cancel.mp4"]}
|
||||
poster="/static/dropping-dropbox/cancel.png"
|
||||
src={[
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/dropping-dropbox/cancel-Ni4NNhWbCTHS3VkMegvqJBPULTiYJY.webm",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/dropping-dropbox/cancel-6VfXLzILWfJ3HQ8AO0is6Eii4X5A7W.mp4",
|
||||
]}
|
||||
poster="https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/dropping-dropbox/cancel-xOR5hSpuiRZVH1au7Z0Wf2swcdWH2e.png"
|
||||
crossOrigin="anonymous"
|
||||
/>
|
||||
|
||||
## Seeking an alternative...
|
||||
|
@ -48,5 +48,10 @@ As [Bill Maher](https://medium.com/u/cdc04a9799f6) (an avid Bernie supporter) [s
|
||||
**Update:** The campaign has included my snowy New Hampshire interaction with her in one of the DNC convention videos! See a few short seconds of my joy at 1:24.
|
||||
|
||||
<Video
|
||||
src={["/static/hillary/convention-720p.webm", "/static/hillary/convention-720p.mp4", "/static/hillary/subs.en.vtt"]}
|
||||
src={[
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/hillary/convention-720p-JbNlxyfqE3nz4ACjtfbpbjcR2gOY89.webm",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/hillary/convention-720p-YLGreYE59PzmPo4epB21HQG6jXgYL5.mp4",
|
||||
"https://bcm6wnmyyzj1p5ls.public.blob.vercel-storage.com/videos/hillary/subs.en-k2txNECkQvwxWP8DjfP6GPBPo20vnO.vtt",
|
||||
]}
|
||||
crossOrigin="anonymous"
|
||||
/>
|
||||
|
BIN
notes/presidential-candidates-404-pages/harris.gif
Normal file
After Width: | Height: | Size: 603 KiB |
@ -26,13 +26,7 @@ I'm a _huge_ sucker for Kate McKinnon's spot-on impression of Warren on Saturday
|
||||
|
||||
Although the designer who selected this GIF likely had _thousands_ of choices when searching "[Bernie finger wagging GIF](https://www.google.com/search?q=Bernie+finger+wagging+GIF&tbm=isch&tbs=itp:animated)," the text beside it is well-written and funny — even though we both know putting a page at [berniesanders.com/zxcliaosid](https://berniesanders.com/zxcliaosid/) probably won't be a top priority of a President Sanders.
|
||||
|
||||
<Video
|
||||
src={[
|
||||
"/static/presidential-candidates-404-pages/sanders.webm",
|
||||
"/static/presidential-candidates-404-pages/sanders.mp4",
|
||||
]}
|
||||
autoplay
|
||||
/>
|
||||

|
||||
|
||||
## 3. Joe Biden — [joebiden.com](https://joebiden.com/asdfasdf404)
|
||||
|
||||
@ -44,25 +38,13 @@ Uncle Joe has a nice and simple 404 page. I like it, along with the Ray-Bans and
|
||||
|
||||
A ballsy move, considering Beto's infamous [DUI arrest](https://www.politifact.com/texas/statements/2019/mar/14/club-growth/beto-orourke-arrested-dwi-flee-scene/) in the '90s — but still a clever ask for a donation and a great use of a GIF, even if it's left over from his Senate campaign.
|
||||
|
||||
<Video
|
||||
src={[
|
||||
"/static/presidential-candidates-404-pages/orourke.webm",
|
||||
"/static/presidential-candidates-404-pages/orourke.mp4",
|
||||
]}
|
||||
autoplay
|
||||
/>
|
||||

|
||||
|
||||
## 5. Kamala Harris — [kamalaharris.org](https://kamalaharris.org/asdfasdf404)
|
||||
|
||||
Another clean and simple page with a top-notch GIF. It injected some emotion into visiting [kamalaharris.com/alskdjf](https://kamalaharris.com/alskdjf).
|
||||
|
||||
<Video
|
||||
src={[
|
||||
"/static/presidential-candidates-404-pages/harris.webm",
|
||||
"/static/presidential-candidates-404-pages/harris.mp4",
|
||||
]}
|
||||
autoplay
|
||||
/>
|
||||

|
||||
|
||||
## 6. Pete Buttigeg — [peteforamerica.com](https://peteforamerica.com/asdfasdf404/)
|
||||
|
||||
|
BIN
notes/presidential-candidates-404-pages/orourke.gif
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
notes/presidential-candidates-404-pages/sanders.gif
Normal file
After Width: | Height: | Size: 819 KiB |
16
package.json
@ -22,9 +22,9 @@
|
||||
"@giscus/react": "^3.1.0",
|
||||
"@mdx-js/loader": "^3.1.0",
|
||||
"@mdx-js/react": "^3.1.0",
|
||||
"@next/bundle-analyzer": "15.3.0-canary.10",
|
||||
"@next/mdx": "15.3.0-canary.10",
|
||||
"@next/third-parties": "15.3.0-canary.10",
|
||||
"@next/bundle-analyzer": "15.3.0-canary.13",
|
||||
"@next/mdx": "15.3.0-canary.13",
|
||||
"@next/third-parties": "15.3.0-canary.13",
|
||||
"@octokit/graphql": "^8.2.1",
|
||||
"@octokit/graphql-schema": "^15.26.0",
|
||||
"@prisma/client": "^6.5.0",
|
||||
@ -36,9 +36,9 @@
|
||||
"feed": "^4.2.2",
|
||||
"geist": "^1.3.1",
|
||||
"html-entities": "^2.5.2",
|
||||
"lucide-react": "0.482.0",
|
||||
"lucide-react": "0.483.0",
|
||||
"modern-normalize": "^3.0.1",
|
||||
"next": "15.3.0-canary.10",
|
||||
"next": "15.3.0-canary.13",
|
||||
"obj-str": "^1.1.0",
|
||||
"polished": "^4.3.1",
|
||||
"prop-types": "^15.8.1",
|
||||
@ -75,12 +75,12 @@
|
||||
"@types/mdx": "^2.0.13",
|
||||
"@types/node": "^22.13.10",
|
||||
"@types/prop-types": "^15.7.14",
|
||||
"@types/react": "^19.0.10",
|
||||
"@types/react": "^19.0.12",
|
||||
"@types/react-dom": "^19.0.4",
|
||||
"@types/react-is": "^19.0.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^9.22.0",
|
||||
"eslint-config-next": "15.3.0-canary.10",
|
||||
"eslint-config-next": "15.3.0-canary.13",
|
||||
"eslint-config-prettier": "^10.1.1",
|
||||
"eslint-plugin-css-modules": "^2.12.0",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
@ -106,7 +106,7 @@
|
||||
"engines": {
|
||||
"node": ">=20.x"
|
||||
},
|
||||
"packageManager": "pnpm@10.6.3+sha512.bb45e34d50a9a76e858a95837301bfb6bd6d35aea2c5d52094fa497a467c43f5c440103ce2511e9e0a2f89c3d6071baac3358fc68ac6fb75e2ceb3d2736065e6",
|
||||
"packageManager": "pnpm@10.6.5+sha512.cdf928fca20832cd59ec53826492b7dc25dc524d4370b6b4adbf65803d32efaa6c1c88147c0ae4e8d579a6c9eec715757b50d4fa35eea179d868eada4ed043af",
|
||||
"cacheDirectories": [
|
||||
"node_modules",
|
||||
".next/cache"
|
||||
|
202
pnpm-lock.yaml
generated
@ -19,16 +19,16 @@ importers:
|
||||
version: 3.1.0(acorn@8.14.1)
|
||||
'@mdx-js/react':
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0(@types/react@19.0.10)(react@19.0.0)
|
||||
version: 3.1.0(@types/react@19.0.12)(react@19.0.0)
|
||||
'@next/bundle-analyzer':
|
||||
specifier: 15.3.0-canary.10
|
||||
version: 15.3.0-canary.10
|
||||
specifier: 15.3.0-canary.13
|
||||
version: 15.3.0-canary.13
|
||||
'@next/mdx':
|
||||
specifier: 15.3.0-canary.10
|
||||
version: 15.3.0-canary.10(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0))
|
||||
specifier: 15.3.0-canary.13
|
||||
version: 15.3.0-canary.13(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.12)(react@19.0.0))
|
||||
'@next/third-parties':
|
||||
specifier: 15.3.0-canary.10
|
||||
version: 15.3.0-canary.10(next@15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
|
||||
specifier: 15.3.0-canary.13
|
||||
version: 15.3.0-canary.13(next@15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
|
||||
'@octokit/graphql':
|
||||
specifier: ^8.2.1
|
||||
version: 8.2.1
|
||||
@ -58,19 +58,19 @@ importers:
|
||||
version: 4.2.2
|
||||
geist:
|
||||
specifier: ^1.3.1
|
||||
version: 1.3.1(next@15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
|
||||
version: 1.3.1(next@15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
|
||||
html-entities:
|
||||
specifier: ^2.5.2
|
||||
version: 2.5.2
|
||||
lucide-react:
|
||||
specifier: 0.482.0
|
||||
version: 0.482.0(react@19.0.0)
|
||||
specifier: 0.483.0
|
||||
version: 0.483.0(react@19.0.0)
|
||||
modern-normalize:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
next:
|
||||
specifier: 15.3.0-canary.10
|
||||
version: 15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
specifier: 15.3.0-canary.13
|
||||
version: 15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
obj-str:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
@ -91,13 +91,13 @@ importers:
|
||||
version: 5.0.0(react@19.0.0)
|
||||
react-innertext:
|
||||
specifier: ^1.1.5
|
||||
version: 1.1.5(@types/react@19.0.10)(react@19.0.0)
|
||||
version: 1.1.5(@types/react@19.0.12)(react@19.0.0)
|
||||
react-is:
|
||||
specifier: 19.0.0
|
||||
version: 19.0.0
|
||||
react-textarea-autosize:
|
||||
specifier: ^8.5.8
|
||||
version: 8.5.8(@types/react@19.0.10)(react@19.0.0)
|
||||
version: 8.5.8(@types/react@19.0.12)(react@19.0.0)
|
||||
react-turnstile:
|
||||
specifier: ^1.1.4
|
||||
version: 1.1.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
@ -175,11 +175,11 @@ importers:
|
||||
specifier: ^15.7.14
|
||||
version: 15.7.14
|
||||
'@types/react':
|
||||
specifier: ^19.0.10
|
||||
version: 19.0.10
|
||||
specifier: ^19.0.12
|
||||
version: 19.0.12
|
||||
'@types/react-dom':
|
||||
specifier: ^19.0.4
|
||||
version: 19.0.4(@types/react@19.0.10)
|
||||
version: 19.0.4(@types/react@19.0.12)
|
||||
'@types/react-is':
|
||||
specifier: ^19.0.0
|
||||
version: 19.0.0
|
||||
@ -190,8 +190,8 @@ importers:
|
||||
specifier: ^9.22.0
|
||||
version: 9.22.0
|
||||
eslint-config-next:
|
||||
specifier: 15.3.0-canary.10
|
||||
version: 15.3.0-canary.10(eslint@9.22.0)(typescript@5.8.2)
|
||||
specifier: 15.3.0-canary.13
|
||||
version: 15.3.0-canary.13(eslint@9.22.0)(typescript@5.8.2)
|
||||
eslint-config-prettier:
|
||||
specifier: ^10.1.1
|
||||
version: 10.1.1(eslint@9.22.0)
|
||||
@ -664,17 +664,17 @@ packages:
|
||||
'@napi-rs/wasm-runtime@0.2.7':
|
||||
resolution: {integrity: sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==}
|
||||
|
||||
'@next/bundle-analyzer@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-dE6lIG8G1TgB1nxjm/l0zJoemJhqXIsO6FYiZrPS8Z0EvEXDNu3nuDtQ7J/kKDENG2A5zmL4kYid1F+06apQzA==}
|
||||
'@next/bundle-analyzer@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-RZA9sms8XY4cLmNeai68Rvr6ElTrLrCXhYdGECHqt6B52nID4UH8ngCE6lHwWKvfGug6RjyBu7MptBj3/B/qZg==}
|
||||
|
||||
'@next/env@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-W/JkRHQyELbL9iwqE0hNPmkewolbyumHQdRlVxIOvRI8lVfCICqAvl27MhQ4UweKi5wHMov+oPhNGgAAhekGxA==}
|
||||
'@next/env@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-JSc7jRSVdstjZ0bfxKMFeYM+gVRgUbPpGSWq9JLDQDH/mYHMN+LMNR8CafQCKjoSL7tzkBpH9Ug6r9WaIescCw==}
|
||||
|
||||
'@next/eslint-plugin-next@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-jMh292/BkGHdwaNLqZ1oQChB3Wmd/8ACKFdpnUz+vTLW9pjvXHdpRsgyHgm1eDgOCL24fkKu3DAGwJs403VLiQ==}
|
||||
'@next/eslint-plugin-next@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-FyzLsLvIdTA7QJBxTeNShszbXhYn8uGJcLdbTDiQUcs2BfSPXpMt26t8nQVdUhNBcxt4XyzEDddIhfIwBYPtWg==}
|
||||
|
||||
'@next/mdx@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-oHPwwyJmrRrCRvwytVX9rsgO4YxniYJB43FOJoLNICmi2mQaq0QueZ3r9OhQ9Dw4kgfq7Xx6dqD0DVr+ugCx4Q==}
|
||||
'@next/mdx@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-/+y8SNqL0mrevZzu3PjWziK0tKSC3YePT7SQCdN1XapDgM4SzKhaYjrD6VBNyo8kAZKDnZhFxiuo/sklp9M52Q==}
|
||||
peerDependencies:
|
||||
'@mdx-js/loader': '>=0.15.0'
|
||||
'@mdx-js/react': '>=0.15.0'
|
||||
@ -684,56 +684,56 @@ packages:
|
||||
'@mdx-js/react':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-arm64@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-1ZXY8o08g/PwV07G+vTPyxQYk8gLH5tdZmdC/bpgLeidqx8YG+2F8tSRqUpjYeblOAl46v/0mhLByLWjmFGFKw==}
|
||||
'@next/swc-darwin-arm64@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-A1EiOZHBTFF3Asyb+h4R0/IuOFEx+HN/0ek9BwR7g4neqZunAMU0LaGeExhxX7eUDJR4NWV16HEQq6nBcJB/UA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-darwin-x64@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-nlI1CiO4rbc+D7cjX9hCBTzdeFTffQpr9zAgxPx0YzgUEArnNlUifv49jh/R6TTaPOwWoqjFvOTFOBQ3xr+XjQ==}
|
||||
'@next/swc-darwin-x64@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-ojmJVrcv571Q893G0EZGgnYJOGjxYTYSvrNiXMaY2gz9W8p1G+wY/Fc6f2Vm5c2GQcjUdmJOb57x3Ujdxi3szw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-linux-arm64-gnu@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-mKz3G7OA0U1SS+uFUycJlONBcBsUg84p7sGPqQxk01WagW7UYgW1axbQBIPHxhAYz5o3+iLrdu7w5WeuHJcDRg==}
|
||||
'@next/swc-linux-arm64-gnu@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-k4dEOZZ9x8PtHH8HtD/3h/epDBRqWOf13UOE3JY/NH60pY5t4uXG3JEj9tcKnezhv0/Q5eT9c6WiydXdjs2YvQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-arm64-musl@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-1q6HWePFxOtiLtZZKh1eF0XPzp8EM36aMJZqamQj+yPYdL8X0Iqin5QPEKqX5QeOwpsiXo82TZ2qnDyb/ps9Wg==}
|
||||
'@next/swc-linux-arm64-musl@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-Ms7b0OF05Q2qpo90ih/cVhviNrEatVZtsobBVyoXGfWxv/gOrhXoxuzROFGNdGXRZNJ7EgUaWmO4pZGjfUhEWw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-x64-gnu@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-aA04C+JDYlblbCdepWeP3UfPHXp0Bh6uNOCC3qH/AUwcdlMkUgaQxqDkn3rYN8DoVjkcvwtucRy5iQAQEWZMLA==}
|
||||
'@next/swc-linux-x64-gnu@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-id/4NWejJpglZiY/PLpV0H675bITfo0QrUNjZtRuKfphJNkPoRGsMXdaZ3mSpFscTqofyaINQ3fis0D4sSmJUw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-linux-x64-musl@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-NHLJqblMx4nERqt8FyQhGcnzq/woaZ4zsRFKjTo9eyqihlZCKxoPmN10PP4qQIDhBQfaxHAbzvYl5eAgn53xsA==}
|
||||
'@next/swc-linux-x64-musl@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-9eE2E6KN01yxwE9H2fWaQA6PRvfjuY+lvadGBpub/pf710kdWFe9VYb8zECT492Vw90axHmktFZDTXuf2WaVTA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@next/swc-win32-arm64-msvc@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-KonCwSez8FNfVTjMkuK7RjBTqelZvT7TLVmni8C8TmulJARJlUwkDwsXSS2sTy9zmxH5XTROdVGppvEx+rLskA==}
|
||||
'@next/swc-win32-arm64-msvc@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-PbJ/yFCUBxhLr6wKoaC+CQebzeaiqrYOJXEMb9O1XFWp2te8okLjF2BihSziFVLtoA4m2one56pG5jU7W9GUzg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@next/swc-win32-x64-msvc@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-KezU9dlIdQ6fXZb4lHvv+AeUG9RR4J/FVGExiLR/3+rkbHxIJRB8qzM/h/94vecrovvwomKBLiNRS/9ThZsGng==}
|
||||
'@next/swc-win32-x64-msvc@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-6dUpH6huWVS0uBObUWBTolu/lZIP99oD1TdgjGt3S2te+OjXAlza8ERgR8mGTV04hpRZFv7tUivISaGlkYE+Bw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@next/third-parties@15.3.0-canary.10':
|
||||
resolution: {integrity: sha512-tDoK9MYmRgRc4soQ+aIVsFh7onibTmeJ1ZNhLbYDJ8PxBhrHV9UNxJG8VWMPIMMb6xtvccyCoh9kYvSIeJph/w==}
|
||||
'@next/third-parties@15.3.0-canary.13':
|
||||
resolution: {integrity: sha512-T07orNImVOYP3EqbAhTwIJ/LWOJMDXqhY3r4KCzio3gQib9mtpVlKVwGLeA6UfnIn9q2aft3lTk7fzgzXb/hBg==}
|
||||
peerDependencies:
|
||||
next: ^13.0.0 || ^14.0.0 || ^15.0.0
|
||||
react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
|
||||
@ -1004,8 +1004,8 @@ packages:
|
||||
'@types/react-is@19.0.0':
|
||||
resolution: {integrity: sha512-71dSZeeJ0t3aoPyY9x6i+JNSvg5m9EF2i2OlSZI5QoJuI8Ocgor610i+4A10TQmURR+0vLwcVCEYFpXdzM1Biw==}
|
||||
|
||||
'@types/react@19.0.10':
|
||||
resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==}
|
||||
'@types/react@19.0.12':
|
||||
resolution: {integrity: sha512-V6Ar115dBDrjbtXSrS+/Oruobc+qVbbUxDFC1RSbRqLt5SYvxxyIDrSC85RWml54g+jfNeEMZhEj7wW07ONQhA==}
|
||||
|
||||
'@types/supports-color@8.1.3':
|
||||
resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==}
|
||||
@ -1563,8 +1563,8 @@ packages:
|
||||
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
eslint-config-next@15.3.0-canary.10:
|
||||
resolution: {integrity: sha512-ulrwZqqMpLZtDXeHtyCQNJTjEy20O6Z9urU9V8nU2TTM71eqIt1pz8dDS+vLoTRRJJjFRLWpOJI94QNPqvqFRw==}
|
||||
eslint-config-next@15.3.0-canary.13:
|
||||
resolution: {integrity: sha512-A1gyZvBUBpDu1T2H6wWt/MxSCNXxFUTpf21dQ+ZN5EQ9iCxSbTCCLa0LJd7EIiQAQq8BsoJuhZAgji+ydwBYng==}
|
||||
peerDependencies:
|
||||
eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
|
||||
typescript: '>=3.3.1'
|
||||
@ -2390,8 +2390,8 @@ packages:
|
||||
lru-cache@10.4.3:
|
||||
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
|
||||
|
||||
lucide-react@0.482.0:
|
||||
resolution: {integrity: sha512-XM8PzHzSrg8ATmmO+fzf+JyYlVVdQnJjuyLDj2p4V2zEtcKeBNAqAoJIGFv1x2HSBa7kT8gpYUxwdQ0g7nypfw==}
|
||||
lucide-react@0.483.0:
|
||||
resolution: {integrity: sha512-WldsY17Qb/T3VZdMnVQ9C3DDIP7h1ViDTHVdVGnLZcvHNg30zH/MTQ04RTORjexoGmpsXroiQXZ4QyR0kBy0FA==}
|
||||
peerDependencies:
|
||||
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
|
||||
@ -2638,8 +2638,8 @@ packages:
|
||||
natural-compare@1.4.0:
|
||||
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
||||
|
||||
next@15.3.0-canary.10:
|
||||
resolution: {integrity: sha512-M4o2+geTFAkeboP7IVCoRTsEfyyt56o+mLof7HW8LKwdG6TydvyCmsPbCvtRbU0V7Nl2IMRfGk/rts3TuB9bug==}
|
||||
next@15.3.0-canary.13:
|
||||
resolution: {integrity: sha512-c8BO/c1FjV/jY4OmlBTKaeI0YYDIsakkmJQFgpjq9RzoBetoi/VLAloZMDpsrfSFIhHDHhraLMxzSvS6mFKeuA==}
|
||||
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@ -4021,10 +4021,10 @@ snapshots:
|
||||
- acorn
|
||||
- supports-color
|
||||
|
||||
'@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0)':
|
||||
'@mdx-js/react@3.1.0(@types/react@19.0.12)(react@19.0.0)':
|
||||
dependencies:
|
||||
'@types/mdx': 2.0.13
|
||||
'@types/react': 19.0.10
|
||||
'@types/react': 19.0.12
|
||||
react: 19.0.0
|
||||
|
||||
'@napi-rs/wasm-runtime@0.2.7':
|
||||
@ -4034,53 +4034,53 @@ snapshots:
|
||||
'@tybys/wasm-util': 0.9.0
|
||||
optional: true
|
||||
|
||||
'@next/bundle-analyzer@15.3.0-canary.10':
|
||||
'@next/bundle-analyzer@15.3.0-canary.13':
|
||||
dependencies:
|
||||
webpack-bundle-analyzer: 4.10.1
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@next/env@15.3.0-canary.10': {}
|
||||
'@next/env@15.3.0-canary.13': {}
|
||||
|
||||
'@next/eslint-plugin-next@15.3.0-canary.10':
|
||||
'@next/eslint-plugin-next@15.3.0-canary.13':
|
||||
dependencies:
|
||||
fast-glob: 3.3.1
|
||||
|
||||
'@next/mdx@15.3.0-canary.10(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0))':
|
||||
'@next/mdx@15.3.0-canary.13(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.0.12)(react@19.0.0))':
|
||||
dependencies:
|
||||
source-map: 0.7.4
|
||||
optionalDependencies:
|
||||
'@mdx-js/loader': 3.1.0(acorn@8.14.1)
|
||||
'@mdx-js/react': 3.1.0(@types/react@19.0.10)(react@19.0.0)
|
||||
'@mdx-js/react': 3.1.0(@types/react@19.0.12)(react@19.0.0)
|
||||
|
||||
'@next/swc-darwin-arm64@15.3.0-canary.10':
|
||||
'@next/swc-darwin-arm64@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-x64@15.3.0-canary.10':
|
||||
'@next/swc-darwin-x64@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-gnu@15.3.0-canary.10':
|
||||
'@next/swc-linux-arm64-gnu@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-musl@15.3.0-canary.10':
|
||||
'@next/swc-linux-arm64-musl@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-gnu@15.3.0-canary.10':
|
||||
'@next/swc-linux-x64-gnu@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-musl@15.3.0-canary.10':
|
||||
'@next/swc-linux-x64-musl@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-arm64-msvc@15.3.0-canary.10':
|
||||
'@next/swc-win32-arm64-msvc@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-x64-msvc@15.3.0-canary.10':
|
||||
'@next/swc-win32-x64-msvc@15.3.0-canary.13':
|
||||
optional: true
|
||||
|
||||
'@next/third-parties@15.3.0-canary.10(next@15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
|
||||
'@next/third-parties@15.3.0-canary.13(next@15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
|
||||
dependencies:
|
||||
next: 15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
next: 15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
react: 19.0.0
|
||||
third-party-capital: 1.0.20
|
||||
|
||||
@ -4370,15 +4370,15 @@ snapshots:
|
||||
|
||||
'@types/prop-types@15.7.14': {}
|
||||
|
||||
'@types/react-dom@19.0.4(@types/react@19.0.10)':
|
||||
'@types/react-dom@19.0.4(@types/react@19.0.12)':
|
||||
dependencies:
|
||||
'@types/react': 19.0.10
|
||||
'@types/react': 19.0.12
|
||||
|
||||
'@types/react-is@19.0.0':
|
||||
dependencies:
|
||||
'@types/react': 19.0.10
|
||||
'@types/react': 19.0.12
|
||||
|
||||
'@types/react@19.0.10':
|
||||
'@types/react@19.0.12':
|
||||
dependencies:
|
||||
csstype: 3.1.3
|
||||
|
||||
@ -5047,9 +5047,9 @@ snapshots:
|
||||
|
||||
escape-string-regexp@5.0.0: {}
|
||||
|
||||
eslint-config-next@15.3.0-canary.10(eslint@9.22.0)(typescript@5.8.2):
|
||||
eslint-config-next@15.3.0-canary.13(eslint@9.22.0)(typescript@5.8.2):
|
||||
dependencies:
|
||||
'@next/eslint-plugin-next': 15.3.0-canary.10
|
||||
'@next/eslint-plugin-next': 15.3.0-canary.13
|
||||
'@rushstack/eslint-patch': 1.11.0
|
||||
'@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0)(typescript@5.8.2))(eslint@9.22.0)(typescript@5.8.2)
|
||||
'@typescript-eslint/parser': 8.26.1(eslint@9.22.0)(typescript@5.8.2)
|
||||
@ -5462,9 +5462,9 @@ snapshots:
|
||||
|
||||
functions-have-names@1.2.3: {}
|
||||
|
||||
geist@1.3.1(next@15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
|
||||
geist@1.3.1(next@15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
|
||||
dependencies:
|
||||
next: 15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
next: 15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
|
||||
|
||||
get-east-asian-width@1.3.0: {}
|
||||
|
||||
@ -6086,7 +6086,7 @@ snapshots:
|
||||
|
||||
lru-cache@10.4.3: {}
|
||||
|
||||
lucide-react@0.482.0(react@19.0.0):
|
||||
lucide-react@0.483.0(react@19.0.0):
|
||||
dependencies:
|
||||
react: 19.0.0
|
||||
|
||||
@ -6593,9 +6593,9 @@ snapshots:
|
||||
|
||||
natural-compare@1.4.0: {}
|
||||
|
||||
next@15.3.0-canary.10(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
|
||||
next@15.3.0-canary.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
|
||||
dependencies:
|
||||
'@next/env': 15.3.0-canary.10
|
||||
'@next/env': 15.3.0-canary.13
|
||||
'@swc/counter': 0.1.3
|
||||
'@swc/helpers': 0.5.15
|
||||
busboy: 1.6.0
|
||||
@ -6605,14 +6605,14 @@ snapshots:
|
||||
react-dom: 19.0.0(react@19.0.0)
|
||||
styled-jsx: 5.1.6(react@19.0.0)
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 15.3.0-canary.10
|
||||
'@next/swc-darwin-x64': 15.3.0-canary.10
|
||||
'@next/swc-linux-arm64-gnu': 15.3.0-canary.10
|
||||
'@next/swc-linux-arm64-musl': 15.3.0-canary.10
|
||||
'@next/swc-linux-x64-gnu': 15.3.0-canary.10
|
||||
'@next/swc-linux-x64-musl': 15.3.0-canary.10
|
||||
'@next/swc-win32-arm64-msvc': 15.3.0-canary.10
|
||||
'@next/swc-win32-x64-msvc': 15.3.0-canary.10
|
||||
'@next/swc-darwin-arm64': 15.3.0-canary.13
|
||||
'@next/swc-darwin-x64': 15.3.0-canary.13
|
||||
'@next/swc-linux-arm64-gnu': 15.3.0-canary.13
|
||||
'@next/swc-linux-arm64-musl': 15.3.0-canary.13
|
||||
'@next/swc-linux-x64-gnu': 15.3.0-canary.13
|
||||
'@next/swc-linux-x64-musl': 15.3.0-canary.13
|
||||
'@next/swc-win32-arm64-msvc': 15.3.0-canary.13
|
||||
'@next/swc-win32-x64-msvc': 15.3.0-canary.13
|
||||
sharp: 0.33.5
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
@ -6921,9 +6921,9 @@ snapshots:
|
||||
'@babel/runtime': 7.26.10
|
||||
react: 19.0.0
|
||||
|
||||
react-innertext@1.1.5(@types/react@19.0.10)(react@19.0.0):
|
||||
react-innertext@1.1.5(@types/react@19.0.12)(react@19.0.0):
|
||||
dependencies:
|
||||
'@types/react': 19.0.10
|
||||
'@types/react': 19.0.12
|
||||
react: 19.0.0
|
||||
|
||||
react-is@16.13.1: {}
|
||||
@ -6934,12 +6934,12 @@ snapshots:
|
||||
dependencies:
|
||||
fast-deep-equal: 2.0.1
|
||||
|
||||
react-textarea-autosize@8.5.8(@types/react@19.0.10)(react@19.0.0):
|
||||
react-textarea-autosize@8.5.8(@types/react@19.0.12)(react@19.0.0):
|
||||
dependencies:
|
||||
'@babel/runtime': 7.26.10
|
||||
react: 19.0.0
|
||||
use-composed-ref: 1.4.0(@types/react@19.0.10)(react@19.0.0)
|
||||
use-latest: 1.3.0(@types/react@19.0.10)(react@19.0.0)
|
||||
use-composed-ref: 1.4.0(@types/react@19.0.12)(react@19.0.0)
|
||||
use-latest: 1.3.0(@types/react@19.0.12)(react@19.0.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/react'
|
||||
|
||||
@ -7801,24 +7801,24 @@ snapshots:
|
||||
dependencies:
|
||||
punycode: 2.3.1
|
||||
|
||||
use-composed-ref@1.4.0(@types/react@19.0.10)(react@19.0.0):
|
||||
use-composed-ref@1.4.0(@types/react@19.0.12)(react@19.0.0):
|
||||
dependencies:
|
||||
react: 19.0.0
|
||||
optionalDependencies:
|
||||
'@types/react': 19.0.10
|
||||
'@types/react': 19.0.12
|
||||
|
||||
use-isomorphic-layout-effect@1.2.0(@types/react@19.0.10)(react@19.0.0):
|
||||
use-isomorphic-layout-effect@1.2.0(@types/react@19.0.12)(react@19.0.0):
|
||||
dependencies:
|
||||
react: 19.0.0
|
||||
optionalDependencies:
|
||||
'@types/react': 19.0.10
|
||||
'@types/react': 19.0.12
|
||||
|
||||
use-latest@1.3.0(@types/react@19.0.10)(react@19.0.0):
|
||||
use-latest@1.3.0(@types/react@19.0.12)(react@19.0.0):
|
||||
dependencies:
|
||||
react: 19.0.0
|
||||
use-isomorphic-layout-effect: 1.2.0(@types/react@19.0.10)(react@19.0.0)
|
||||
use-isomorphic-layout-effect: 1.2.0(@types/react@19.0.12)(react@19.0.0)
|
||||
optionalDependencies:
|
||||
'@types/react': 19.0.10
|
||||
'@types/react': 19.0.12
|
||||
|
||||
use-sync-external-store@1.4.0(react@19.0.0):
|
||||
dependencies:
|
||||
|
Before Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 156 KiB |
Before Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 146 KiB |
@ -1,108 +0,0 @@
|
||||
WEBVTT
|
||||
Kind: captions
|
||||
Language: en
|
||||
|
||||
00:00:00.030 --> 00:00:03.210
|
||||
All right, well let's listen
|
||||
here to the video at the Democratic
|
||||
|
||||
00:00:03.210 --> 00:00:04.880
|
||||
National Convention on this issue.
|
||||
|
||||
00:00:04.880 --> 00:00:08.340
|
||||
You know, when I came here to New Hampshire
|
||||
|
||||
00:00:08.340 --> 00:00:14.269
|
||||
the first time in this campaign and
|
||||
heard about the heroin epidemic
|
||||
|
||||
00:00:14.269 --> 00:00:16.660
|
||||
The growing drug problem in our area...
|
||||
|
||||
00:00:16.780 --> 00:00:19.604
|
||||
We're all losing fathers, brothers, sons, mothers...
|
||||
|
||||
00:00:19.604 --> 00:00:22.040
|
||||
The numbers of people who are being affected
|
||||
|
||||
00:00:22.040 --> 00:00:27.000
|
||||
If you have been impacted by your own or
|
||||
someone else's use of substances, would
|
||||
|
||||
00:00:27.000 --> 00:00:28.510
|
||||
you just raise your hand?
|
||||
|
||||
00:00:28.510 --> 00:00:31.470
|
||||
I didn't even know what was wrong with me until I
|
||||
|
||||
00:00:31.470 --> 00:00:35.400
|
||||
found out that I was I was an addict.
|
||||
|
||||
00:00:35.400 --> 00:00:38.480
|
||||
This problem touches everybody...
|
||||
|
||||
00:00:38.480 --> 00:00:41.484
|
||||
My children suffered, my family suffered...
|
||||
|
||||
00:00:41.484 --> 00:00:44.280
|
||||
Meeting grandmothers raising their grandchildren...
|
||||
|
||||
00:00:44.280 --> 00:00:48.800
|
||||
All of my friends are raising
|
||||
their grandchildren because of addiction
|
||||
|
||||
00:00:48.800 --> 00:00:53.700
|
||||
I think you're very brave and
|
||||
very loving to take on this responsibility.
|
||||
|
||||
00:00:53.700 --> 00:00:56.720
|
||||
It is plaguing families.
|
||||
I don't want to
|
||||
|
||||
00:00:56.730 --> 00:01:00.180
|
||||
go to more funerals. I'm going to one this weekend.
|
||||
I didn't know if I wanted
|
||||
|
||||
00:01:00.180 --> 00:01:04.980
|
||||
to do better. Addiction had full control
|
||||
over my heart and soul.
|
||||
|
||||
00:01:04.980 --> 00:01:10.880
|
||||
I wouldn't have necessarily known that if I hadn't been
|
||||
sitting in a little cafe in Keene
|
||||
|
||||
00:01:10.880 --> 00:01:16.140
|
||||
listening to people tell me about what
|
||||
was breaking their hearts and what they
|
||||
|
||||
00:01:16.140 --> 00:01:19.660
|
||||
wanted their president to know.
|
||||
|
||||
00:01:19.660 --> 00:01:21.299
|
||||
We need the voice of those who are using, that is
|
||||
|
||||
00:01:21.299 --> 00:01:24.480
|
||||
the way in which we can make an impact
|
||||
on this disease.
|
||||
|
||||
00:01:24.480 --> 00:01:26.860
|
||||
We can't walk away from these stories.
|
||||
|
||||
00:01:26.860 --> 00:01:29.900
|
||||
These are our children, these are our friends, our neighbors,
|
||||
|
||||
00:01:29.900 --> 00:01:34.160
|
||||
our loved ones. This is not something we can
|
||||
just brush under the rug and wish it would
|
||||
|
||||
00:01:34.160 --> 00:01:39.180
|
||||
go away. We need to drag it out of the
|
||||
shadows, we need to hold it up to the light
|
||||
|
||||
00:01:39.180 --> 00:01:41.740
|
||||
Everybody should feel that they are
|
||||
|
||||
00:01:41.740 --> 00:01:50.960
|
||||
valued, they are cared about, and they
|
||||
have a president who sees them
|
||||
|
@ -1,111 +0,0 @@
|
||||
WEBVTT
|
||||
|
||||
00:00:00.000 --> 00:00:05.029
|
||||
["The Lab" Theme Music]
|
||||
|
||||
00:00:05.029 --> 00:00:08.760
|
||||
Welcome back to "The Lab with Leo," I'm Kate Abraham and now it's time for our
|
||||
|
||||
00:00:08.760 --> 00:00:13.000
|
||||
Facebook app of the day. And in honor of
|
||||
the lovely Amber – wasn't it great to see Amber?
|
||||
|
||||
00:00:13.040 --> 00:00:16.470
|
||||
Oh, it was so nice to see her.
|
||||
She's looking so tan!
|
||||
|
||||
00:00:16.470 --> 00:00:21.140
|
||||
Toronto weather.
|
||||
Yeah, really? I think she was at Prince Edward Island for a few days
|
||||
|
||||
00:00:21.140 --> 00:00:26.380
|
||||
for Canada Day.
|
||||
So she's out there like this, tanning in the ocean. Good for her.
|
||||
|
||||
00:00:26.380 --> 00:00:28.060
|
||||
She knows how to enjoy herself.
|
||||
[laughs]
|
||||
|
||||
00:00:28.060 --> 00:00:30.740
|
||||
So in honor of Amber, our Facebook app of the day is
|
||||
|
||||
00:00:30.740 --> 00:00:35.360
|
||||
Powncer, or Poncer or Punser
|
||||
|
||||
00:00:35.360 --> 00:00:39.000
|
||||
However you want to say it, I say Powncer.
|
||||
So there's your Pownce page.
|
||||
|
||||
00:00:39.000 --> 00:00:44.520
|
||||
So what you do is, basically, it literally updates your most recent post on Pownce.
|
||||
So literally I've just put here
|
||||
|
||||
00:00:44.520 --> 00:00:49.200
|
||||
"Playing with Pownce," then if I just post this, and what will happen is it'll automatically
|
||||
|
||||
00:00:49.200 --> 00:00:52.460
|
||||
I bet you've done this in advance, it'll
|
||||
automatically go through to my actual
|
||||
|
||||
00:00:52.460 --> 00:00:56.420
|
||||
site on Facebook and as you can see, you can see exactly what I'm doing
|
||||
|
||||
00:00:56.420 --> 00:00:59.000
|
||||
And then can they click that and takes
|
||||
it to your Pownce page?
|
||||
Yeah, then you can
|
||||
|
||||
00:00:59.000 --> 00:01:02.860
|
||||
reply to me. Oh that's neat!
|
||||
Then what'll happen, you can basically send me a reply.
|
||||
|
||||
00:01:02.860 --> 00:01:06.460
|
||||
You know who wrote that? I don't know.
|
||||
Jake Jarvis wrote that.
|
||||
|
||||
00:01:06.479 --> 00:01:10.560
|
||||
And I know who Jake Jarvis is, he's on my
|
||||
Facebook friends list.
|
||||
|
||||
00:01:10.560 --> 00:01:14.250
|
||||
He's a young guy, I think he's a high school kid, the son of Jeff Jarvis, who's
|
||||
|
||||
00:01:14.250 --> 00:01:18.450
|
||||
a very well known media critic.
|
||||
These kids freak me out. Isn't it neat?
|
||||
|
||||
00:01:18.450 --> 00:01:22.590
|
||||
Jake's written some great applications
|
||||
How old is he?
|
||||
I don't know, I think 16 or 17.
|
||||
|
||||
00:01:22.590 --> 00:01:26.100
|
||||
That scares me.
|
||||
He's written a lot, he's one of the best Facebook developers out there.
|
||||
|
||||
00:01:26.100 --> 00:01:29.310
|
||||
Did a nice job with that.
|
||||
That's fantastic.
|
||||
Isn't that great? I love it, that's so good.
|
||||
|
||||
00:01:29.310 --> 00:01:31.860
|
||||
But for more details, obviously Facebook
|
||||
apps
|
||||
|
||||
00:01:31.860 --> 00:01:37.080
|
||||
I said facebook.com/apps.
|
||||
There's lots of them, there's thousands.
|
||||
So many on there.
|
||||
|
||||
00:01:37.080 --> 00:01:41.100
|
||||
There's a lot of bad ones but some really good ones.
|
||||
Well that's what you're here for, to tell us which ones are good.
|
||||
|
||||
00:01:41.100 --> 00:01:44.540
|
||||
Exactly, this was a good one, I like it.
|
||||
She installs them all so that you can
|
||||
|
||||
00:01:44.540 --> 00:01:48.220
|
||||
tell, you got like a page this long!
|
||||
You just keep scrolling, scrolling, scrolling...
|
||||
[laughs]
|