- pdf is loaded on page
- added links to github, linkedin, gitea, and bside website - adjusted styling and added footer block
This commit is contained in:
parent
5f715a1ce9
commit
99183d9162
@ -4,6 +4,7 @@ import { StaticImport } from "next/dist/shared/lib/get-img-props";
|
|||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { faChevronCircleLeft, faChevronCircleRight } from "@fortawesome/free-solid-svg-icons";
|
import { faChevronCircleLeft, faChevronCircleRight } from "@fortawesome/free-solid-svg-icons";
|
||||||
import IframeResizer from "iframe-resizer-react";
|
import IframeResizer from "iframe-resizer-react";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
interface ContentCarouselProps {
|
interface ContentCarouselProps {
|
||||||
data: Array<{
|
data: Array<{
|
||||||
@ -28,19 +29,19 @@ const ContentCarousel = ({
|
|||||||
<div className=" w-fit pb-1 mb-8 border-b-2 border-white">{portfolioData.title}</div>
|
<div className=" w-fit pb-1 mb-8 border-b-2 border-white">{portfolioData.title}</div>
|
||||||
{portfolioData.heroImgSrc && <div className="mb-8"><Image src={portfolioData.heroImgSrc} alt=""/></div>}
|
{portfolioData.heroImgSrc && <div className="mb-8"><Image src={portfolioData.heroImgSrc} alt=""/></div>}
|
||||||
<div>{portfolioData.description}</div>
|
<div>{portfolioData.description}</div>
|
||||||
{portfolioData.prototypeIframeURL && <div style={{height: 1000, minHeight: '100%'}}>
|
{portfolioData.prototypeIframeURL && <div style={{height: 100, minHeight: '100%'}} className="flex flex-row justify-center">
|
||||||
{<IframeResizer
|
{/* {<embed
|
||||||
src={portfolioData.prototypeIframeURL}
|
src={portfolioData.prototypeIframeURL}
|
||||||
log
|
|
||||||
style={{
|
style={{
|
||||||
width: "100%",
|
width: "100%",
|
||||||
minWidth: "100%",
|
minWidth: "100%",
|
||||||
minHeight: '100%',
|
minHeight: '100%',
|
||||||
height: '1px'
|
height: '1px'
|
||||||
}}
|
}}
|
||||||
|
/>} */}
|
||||||
frameBorder= "0"
|
<Link href={portfolioData.prototypeIframeURL} target="#">
|
||||||
/>}
|
{portfolioData.title}
|
||||||
|
</Link>
|
||||||
</div>}
|
</div>}
|
||||||
</div>
|
</div>
|
||||||
{(currentPageIdx < pageLength - 1) && <span className="cursor-pointer" onClick={() => setCurrentPageIdx(currentPageIdx + 1)}><FontAwesomeIcon width={25} height={50} icon={faChevronCircleRight} className="fas fa-chevron-circle-right" style={{ color: "white" }} /></span>}
|
{(currentPageIdx < pageLength - 1) && <span className="cursor-pointer" onClick={() => setCurrentPageIdx(currentPageIdx + 1)}><FontAwesomeIcon width={25} height={50} icon={faChevronCircleRight} className="fas fa-chevron-circle-right" style={{ color: "white" }} /></span>}
|
||||||
|
|||||||
@ -4,10 +4,11 @@ import { StaticImport } from "next/dist/shared/lib/get-img-props";
|
|||||||
|
|
||||||
interface ContentProps {
|
interface ContentProps {
|
||||||
title: string,
|
title: string,
|
||||||
heroImgSrc: string | StaticImport,
|
heroImgSrc: string | StaticImport | null,
|
||||||
description?: string,
|
description?: string,
|
||||||
innerChildren?: ReactNode
|
innerChildren?: ReactNode
|
||||||
}
|
}
|
||||||
|
|
||||||
const Content = ({
|
const Content = ({
|
||||||
title = '',
|
title = '',
|
||||||
heroImgSrc = '',
|
heroImgSrc = '',
|
||||||
@ -17,7 +18,7 @@ const Content = ({
|
|||||||
return (
|
return (
|
||||||
<div className="p-4 px-10 flex flex-col">
|
<div className="p-4 px-10 flex flex-col">
|
||||||
<div className=" w-fit pb-1 mb-8 border-b-2 border-white">{title}</div>
|
<div className=" w-fit pb-1 mb-8 border-b-2 border-white">{title}</div>
|
||||||
{heroImgSrc && <div className="mb-8 h-1/2"><Image src={heroImgSrc} alt=""/></div>}
|
{heroImgSrc && <div className="mb-8 h-full flex flex-row justify-center"><Image height={200} src={heroImgSrc} alt=""/></div>}
|
||||||
<div>{description}</div>
|
<div>{description}</div>
|
||||||
<div>{innerChildren}</div>
|
<div>{innerChildren}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
8
components/footer.tsx
Normal file
8
components/footer.tsx
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import React from "react";
|
||||||
|
export default function Footer({}) {
|
||||||
|
return (
|
||||||
|
<div className="w-full bg-black h-12">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
@ -1,13 +1,15 @@
|
|||||||
// import Navbar from './navbar'
|
import Navbar from './navbar'
|
||||||
// import Footer from './footer'
|
import Footer from './footer'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
|
|
||||||
export default function Layout({ children }) {
|
export default function Layout({ children }) {
|
||||||
return (
|
return (
|
||||||
<>
|
<div style={{height: '100vh', width: '100vw'}}>
|
||||||
{/* <Navbar /> */}
|
<Navbar />
|
||||||
<main>{children}</main>
|
<main style={{height: '86%'}}>
|
||||||
{/* <Footer /> */}
|
{children}
|
||||||
</>
|
</main>
|
||||||
|
<Footer />
|
||||||
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
23
components/navbar.tsx
Normal file
23
components/navbar.tsx
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import Link from "next/link";
|
||||||
|
import React from "react";
|
||||||
|
export default function Navbar({}) {
|
||||||
|
return (
|
||||||
|
<div className="text-white w-full middle align-middle bg-black h-11">
|
||||||
|
<div className="h-full flex flex-col justify-center">
|
||||||
|
<div className="flex flex-row justify-between ml-2">
|
||||||
|
<div>
|
||||||
|
Okechi Onyeje
|
||||||
|
</div>
|
||||||
|
<div className="flex flex-row gap-4 mr-2">
|
||||||
|
<Link href="https://www.linkedin.com/in/okechi-onyeje-57129b9a/">LinkedIn</Link>
|
||||||
|
<span className="flex flex-row">
|
||||||
|
<Link href="https://github.com/oonyeje">Github</Link>/
|
||||||
|
<Link href="https://gitea.bsidesolutions.net/oonyeje">Gitea</Link>
|
||||||
|
</span>
|
||||||
|
{/* <Link href="https://bsidesol.com">BSide</Link> */}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
@ -1,15 +1,10 @@
|
|||||||
const contentValues = {
|
const contentValues = {
|
||||||
intro: {
|
intro: {
|
||||||
name: 'INTRO',
|
name: 'INTRO',
|
||||||
description: `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Rhoncus urna neque viverra justo nec ultrices dui. Quis risus sed vulputate odio ut. Praesent semper feugiat nibh sed pulvinar proin gravida hendrerit. Mi ipsum faucibus vitae aliquet nec. Adipiscing elit ut aliquam purus sit amet luctus. Morbi tempus iaculis urna id. Vitae congue mauris rhoncus aenean vel elit scelerisque. Cursus turpis massa tincidunt dui. Vulputate sapien nec sagittis aliquam malesuada. Lectus proin nibh nisl condimentum id venenatis a condimentum. Est lorem ipsum dolor sit amet consectetur. Blandit aliquam etiam erat velit.
|
description: `A seasoned software developer and architect, building bespoke software solutions\n
|
||||||
|
for the modern small business. With almost a decade of experience in mobile and web development\n
|
||||||
Vel turpis nunc eget lorem dolor. Volutpat commodo sed egestas egestas fringilla phasellus faucibus. Auctor eu augue ut lectus arcu bibendum. Suscipit tellus mauris a diam maecenas sed enim ut sem. Vivamus at augue eget arcu dictum varius. Vitae et leo duis ut diam quam nulla porttitor. Enim eu turpis egestas pretium. A diam sollicitudin tempor id eu nisl nunc mi. Venenatis cras sed felis eget. Sagittis eu volutpat odio facilisis mauris sit amet massa vitae. Tempor orci eu lobortis elementum nibh tellus molestie. Semper auctor neque vitae tempus quam pellentesque nec nam. Tempor commodo ullamcorper a lacus vestibulum sed arcu non odio. Tristique nulla aliquet enim tortor. Volutpat commodo sed egestas egestas fringilla phasellus. Enim ut sem viverra aliquet eget sit amet tellus cras. Cras semper auctor neque vitae tempus quam.
|
in both the website hosting and streaming media industries, you can trust me to deliver your next\n
|
||||||
|
project venture or business need.`
|
||||||
In nibh mauris cursus mattis molestie. Vivamus arcu felis bibendum ut tristique et egestas quis ipsum. Dolor purus non enim praesent elementum facilisis leo. Enim ut tellus elementum sagittis. Sed libero enim sed faucibus turpis in. Ac turpis egestas maecenas pharetra convallis posuere morbi leo. Nibh sit amet commodo nulla facilisi nullam vehicula ipsum. Arcu dictum varius duis at consectetur lorem donec massa. Tellus cras adipiscing enim eu turpis egestas pretium. Phasellus faucibus scelerisque eleifend donec pretium vulputate. Sollicitudin nibh sit amet commodo nulla facilisi nullam. Bibendum enim facilisis gravida neque convallis. Quis viverra nibh cras pulvinar mattis nunc. Quam nulla porttitor massa id neque aliquam vestibulum. Pharetra diam sit amet nisl suscipit adipiscing bibendum est ultricies. Faucibus turpis in eu mi bibendum neque. Curabitur gravida arcu ac tortor. Purus sit amet luctus venenatis lectus magna fringilla. Tincidunt vitae semper quis lectus nulla at volutpat. Vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras tincidunt lobortis.
|
|
||||||
|
|
||||||
Mi quis hendrerit dolor magna eget est lorem. Ut lectus arcu bibendum at. Elit at imperdiet dui accumsan sit amet nulla. Tristique et egestas quis ipsum suspendisse ultrices. A arcu cursus vitae congue. Dolor sed viverra ipsum nunc aliquet bibendum enim facilisis. Nec dui nunc mattis enim ut tellus elementum sagittis. Posuere ac ut consequat semper. Eu non diam phasellus vestibulum lorem sed risus. Arcu ac tortor dignissim convallis aenean et tortor at. Velit scelerisque in dictum non consectetur a erat. Condimentum mattis pellentesque id nibh. Quam quisque id diam vel quam. At lectus urna duis convallis convallis tellus id interdum velit. Aliquam vestibulum morbi blandit cursus risus at ultrices. Ullamcorper velit sed ullamcorper morbi tincidunt ornare massa. Mattis molestie a iaculis at erat pellentesque adipiscing. In nulla posuere sollicitudin aliquam ultrices sagittis. Vel elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique.
|
|
||||||
|
|
||||||
Amet consectetur adipiscing elit ut aliquam purus sit amet luctus. Et ultrices neque ornare aenean euismod elementum. Orci sagittis eu volutpat odio. Vitae aliquet nec ullamcorper sit amet risus nullam. A scelerisque purus semper eget duis at. Risus viverra adipiscing at in tellus integer feugiat scelerisque varius. Quis auctor elit sed vulputate. Enim ut sem viverra aliquet eget sit. Nulla aliquet porttitor lacus luctus. Mi sit amet mauris commodo quis imperdiet. Ac felis donec et odio pellentesque diam volutpat commodo sed. Lacus viverra vitae congue eu consequat ac felis donec et. Facilisis magna etiam tempor orci eu lobortis elementum nibh tellus. Velit egestas dui id ornare arcu.`
|
|
||||||
},
|
},
|
||||||
work: {
|
work: {
|
||||||
name: 'WORK',
|
name: 'WORK',
|
||||||
|
|||||||
@ -5,9 +5,8 @@ import ContentCarousel from '../components/content/carousel';
|
|||||||
import ContactForm from '../components/form/ContactForm';
|
import ContactForm from '../components/form/ContactForm';
|
||||||
import contentValues from './content';
|
import contentValues from './content';
|
||||||
import portfolioValues from './portfolio';
|
import portfolioValues from './portfolio';
|
||||||
import { pdfjs, Document, Page } from 'react-pdf';
|
|
||||||
|
|
||||||
const resumePdf = '../public/assets/Okechi_Onyeje_Resume_Professional_2023.pdf'
|
const resumePdf: string = '/assets/Okechi_Onyeje_Resume_Professional_2023.pdf'
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
{
|
{
|
||||||
@ -24,16 +23,14 @@ export default [
|
|||||||
url: '#work',
|
url: '#work',
|
||||||
content: <Content
|
content: <Content
|
||||||
title='Work'
|
title='Work'
|
||||||
heroImgSrc={backgroundPic}
|
heroImgSrc={null}
|
||||||
description={contentValues.work.description}
|
description={contentValues.work.description}
|
||||||
innerChildren={
|
innerChildren={
|
||||||
<div>
|
<div>
|
||||||
<Document
|
|
||||||
file={resumePdf}
|
|
||||||
/>
|
|
||||||
<ContentCarousel
|
<ContentCarousel
|
||||||
data={portfolioValues}
|
data={portfolioValues}
|
||||||
/>
|
/>
|
||||||
|
<embed className='w-full' src={resumePdf} type="application/pdf"/>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -5,12 +5,12 @@ const portfolioValues = [
|
|||||||
description: '',
|
description: '',
|
||||||
prototypeIframeURL: 'https://www.kroleo.com/invision/Vendoo/#/screens'
|
prototypeIframeURL: 'https://www.kroleo.com/invision/Vendoo/#/screens'
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: 'Garage2Garage',
|
// title: 'Garage2Garage',
|
||||||
heroImgSrc: '',
|
// heroImgSrc: '',
|
||||||
description: '',
|
// description: '',
|
||||||
prototypeIframeURL: ''
|
// prototypeIframeURL: ''
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: 'Aqua',
|
title: 'Aqua',
|
||||||
heroImgSrc: '',
|
heroImgSrc: '',
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
"@fortawesome/react-fontawesome": "^0.2.0",
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
||||||
"iframe-resizer-react": "^1.1.0",
|
"iframe-resizer-react": "^1.1.0",
|
||||||
"next": "latest",
|
"next": "latest",
|
||||||
|
"pdfjs-dist": "^4.0.269",
|
||||||
"react": "latest",
|
"react": "latest",
|
||||||
"react-dom": "latest",
|
"react-dom": "latest",
|
||||||
"react-hook-form": "^7.47.0",
|
"react-hook-form": "^7.47.0",
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import { Inter } from 'next/font/google'
|
|||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { faGem } from "@fortawesome/free-solid-svg-icons";
|
import { faGem } from "@fortawesome/free-solid-svg-icons";
|
||||||
import navigationContent from '../lib/navigationContent'
|
import navigationContent from '../lib/navigationContent'
|
||||||
import Modal from 'react-modal';
|
|
||||||
const inter = Inter({ subsets: ['latin'] })
|
const inter = Inter({ subsets: ['latin'] })
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
@ -26,13 +25,13 @@ export default function Home() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const [showModal, setShowModal] = useState(false);
|
const [showModal, setShowModal] = useState(false);
|
||||||
const [modalData, setModalData] = useState<{name: string, url: string, content?: any}>({
|
const [modalData, setModalData] = useState<{name: string, url: string, content?: string | React.JSX.Element | null}>({
|
||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
content: ''
|
content: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
const renderNav = (navData: Array<{name: string, url: string, content: (string | React.ElementType | null)}>) => {
|
const renderNav = (navData: Array<{name: string, url: string, content: (string | React.JSX.Element | null)}>) => {
|
||||||
return navData.map((data, idx) => (
|
return navData.map((data, idx) => (
|
||||||
<span
|
<span
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@ -46,11 +45,10 @@ export default function Home() {
|
|||||||
</span>
|
</span>
|
||||||
));
|
));
|
||||||
};
|
};
|
||||||
Modal.setAppElement('#info-anchor');
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div id="info-anchor" className='relative w-full flex-row justify-center'>
|
<div className='relative h-full w-full flex-row justify-center'>
|
||||||
{!showModal && <div style={{height: '100vh', width: '100vw'}} className='tablet:w-full flex flex-row justify-center h-full bg-cover bg-black bg-opacity-30'>
|
{!showModal && <div className='tablet:w-full flex flex-row justify-center h-full bg-cover bg-black bg-opacity-30'>
|
||||||
{/* <Image src={backgroundPic} alt="record background"/> */}
|
{/* <Image src={backgroundPic} alt="record background"/> */}
|
||||||
<div className='w-1/2 flex flex-col justify-center text-center'>
|
<div className='w-1/2 flex flex-col justify-center text-center'>
|
||||||
{/* <FontAwesomeIcon width={25} height={50} icon={faGem} className="fas fa-gem" style={{ color: "red" }} /> */}
|
{/* <FontAwesomeIcon width={25} height={50} icon={faGem} className="fas fa-gem" style={{ color: "red" }} /> */}
|
||||||
@ -78,10 +76,10 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
</div>}
|
</div>}
|
||||||
{showModal && (
|
{showModal && (
|
||||||
<div style={{height: '100vh', width: '100vw'}} className='justify-center flex flex-row bg-black bg-opacity-40'>
|
<div className='justify-center flex flex-row bg-black bg-opacity-40'>
|
||||||
<div style={{height: '100vh'}} className="laptop:px-24 absolute z-10 p-10 overflow-y-auto flex flex-row justify-center">
|
<div style={{height: '100%'}} className="laptop:px-24 absolute z-10 p-10 overflow-y-auto">
|
||||||
<div className='flex flex-row justify-center'>
|
<div className='flex flex-row justify-center'>
|
||||||
<div className=" laptop:w-1/2 h-min z-20 bg-black bg-opacity-90 text-white rounded">
|
<div className="h-min z-20 bg-black bg-opacity-90 text-white rounded overflow-clip">
|
||||||
<div className="w-full flex flex-row justify-end p-4">
|
<div className="w-full flex flex-row justify-end p-4">
|
||||||
<span className="cursor-pointer" onClick={() => setShowModal(false)}>X</span>
|
<span className="cursor-pointer" onClick={() => setShowModal(false)}>X</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
34
yarn.lock
34
yarn.lock
@ -1785,9 +1785,9 @@ lru-cache@^6.0.0:
|
|||||||
yallist "^4.0.0"
|
yallist "^4.0.0"
|
||||||
|
|
||||||
make-cancellable-promise@^1.3.1:
|
make-cancellable-promise@^1.3.1:
|
||||||
version "1.3.1"
|
version "1.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/make-cancellable-promise/-/make-cancellable-promise-1.3.1.tgz#3bd89704c75afe6251cdd6a82baca1fcfbd2c792"
|
resolved "https://registry.yarnpkg.com/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz#993c8c8b79cff13c74fa93de0bd8a17fe66685c1"
|
||||||
integrity sha512-DWOzWdO3xhY5ESjVR+wVFy03rpt0ZccS4bunccNwngoX6rllKlMZm6S9ZnJ5nMuDDweqDMjtaO0g6tZeh+cCUA==
|
integrity sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==
|
||||||
|
|
||||||
make-dir@^3.1.0:
|
make-dir@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
@ -1797,16 +1797,14 @@ make-dir@^3.1.0:
|
|||||||
semver "^6.0.0"
|
semver "^6.0.0"
|
||||||
|
|
||||||
make-event-props@^1.6.0:
|
make-event-props@^1.6.0:
|
||||||
version "1.6.1"
|
version "1.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/make-event-props/-/make-event-props-1.6.1.tgz#1d587017c3f1f3b42719b775af93d5253656ccdd"
|
resolved "https://registry.yarnpkg.com/make-event-props/-/make-event-props-1.6.2.tgz#c8e0e48eb28b9b808730de38359f6341de7ec5a2"
|
||||||
integrity sha512-JhvWq/iz1BvlmnPvLJjXv+xnMPJZuychrDC68V+yCGQJn5chcA8rLGKo5EP1XwIKVrigSXKLmbeXAGkf36wdCQ==
|
integrity sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==
|
||||||
|
|
||||||
merge-refs@^1.2.1:
|
merge-refs@^1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/merge-refs/-/merge-refs-1.2.1.tgz#abddc800375395a4a4eb5c45ebf2a52557fdbe34"
|
resolved "https://registry.yarnpkg.com/merge-refs/-/merge-refs-1.2.2.tgz#6142633398dd0d10a37626cae77ddeb1db26db0c"
|
||||||
integrity sha512-pRPz39HQz2xzHdXAGvtJ9S8aEpNgpUjzb5yPC3ytozodmsHg+9nqgRs7/YOmn9fM/TLzntAC8AdGTidKxOq9TQ==
|
integrity sha512-RwcT7GsQR3KbuLw1rRuodq4Nt547BKEBkliZ0qqsrpyNne9bGTFtsFIsIpx82huWhcl3kOlOlH4H0xkPk/DqVw==
|
||||||
dependencies:
|
|
||||||
"@types/react" "*"
|
|
||||||
|
|
||||||
merge2@^1.3.0, merge2@^1.4.1:
|
merge2@^1.3.0, merge2@^1.4.1:
|
||||||
version "1.4.1"
|
version "1.4.1"
|
||||||
@ -2113,6 +2111,14 @@ pdfjs-dist@3.11.174:
|
|||||||
canvas "^2.11.2"
|
canvas "^2.11.2"
|
||||||
path2d-polyfill "^2.0.1"
|
path2d-polyfill "^2.0.1"
|
||||||
|
|
||||||
|
pdfjs-dist@^4.0.269:
|
||||||
|
version "4.0.269"
|
||||||
|
resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.0.269.tgz#3a319367f441e84f9c8aae01d88b0fb5a7defc4e"
|
||||||
|
integrity sha512-jjWO56tcOjnmPqDf8PmXDeZ781AGvpHMYI3HhNtaFKTRXXPaD1ArSrhVe38/XsrIQJ0onISCND/vuXaWJkiDWw==
|
||||||
|
optionalDependencies:
|
||||||
|
canvas "^2.11.2"
|
||||||
|
path2d-polyfill "^2.0.1"
|
||||||
|
|
||||||
picocolors@^1.0.0:
|
picocolors@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
||||||
@ -2253,9 +2259,9 @@ react-modal@^3.16.1:
|
|||||||
warning "^4.0.3"
|
warning "^4.0.3"
|
||||||
|
|
||||||
react-pdf@^7.4.0:
|
react-pdf@^7.4.0:
|
||||||
version "7.4.0"
|
version "7.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/react-pdf/-/react-pdf-7.4.0.tgz#b8b01dab7a9dece8d99e767baa26cc1219626a8d"
|
resolved "https://registry.yarnpkg.com/react-pdf/-/react-pdf-7.5.1.tgz#ef6e3f72d0bc02aee16b77b54196825068ef23b7"
|
||||||
integrity sha512-L2GIUc9eBLdb51DRqUe3zlkTmvOq7KQN5cKmgcrWdnWNwhYgrOGgpJQ3f56kG26G+B5GoasAHI6RjQrLfTjTnw==
|
integrity sha512-NVno97L3wfX3RLGB3C+QtroOiQrgCKPHLMFKMSQaRqDlH3gkq2CB2NyXJ+IDQNLrT/gSMPPgtZQL8cOUySc/3w==
|
||||||
dependencies:
|
dependencies:
|
||||||
clsx "^2.0.0"
|
clsx "^2.0.0"
|
||||||
make-cancellable-promise "^1.3.1"
|
make-cancellable-promise "^1.3.1"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user