Added new UI for Home and Bug Fixes and Discord Intg
This commit is contained in:
parent
100f05a79c
commit
99dbdd45cd
|
@ -32,3 +32,5 @@ yarn-error.log*
|
||||||
|
|
||||||
# vercel
|
# vercel
|
||||||
.vercel
|
.vercel
|
||||||
|
/public/core
|
||||||
|
/public/ui
|
||||||
|
|
|
@ -105,59 +105,102 @@ export default function DiscordActivity() {
|
||||||
</DicordActivityStyle>
|
</DicordActivityStyle>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return (
|
console.log("Hmmm Recv");
|
||||||
<DicordActivityStyle>
|
if (status.activities[1].name === "Spotify") {
|
||||||
{!loading && (
|
return (
|
||||||
<>
|
<DicordActivityStyle>
|
||||||
<div className="discord-icons">
|
{!loading && (
|
||||||
<div className="discord-large-icon">
|
<>
|
||||||
{status.activities[1] && (
|
<div className="discord-icons">
|
||||||
<img
|
<div className="discord-large-icon">
|
||||||
src={
|
{<img src={status.spotify.album_art_url} />}
|
||||||
baseURL +
|
</div>
|
||||||
status.activities[1].application_id +
|
<div className="discord-small-icon">
|
||||||
"/" +
|
{
|
||||||
status.activities[1].assets.large_image +
|
<img
|
||||||
".png"
|
src={
|
||||||
}
|
"https://www.freepnglogos.com/uploads/spotify-logo-png/spotify-icon-marilyn-scott-0.png"
|
||||||
/>
|
}
|
||||||
)}
|
/>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="discord-small-icon">
|
<div className="discord-messageBox">
|
||||||
{status.activities[1] && (
|
<div className="discord-message-application">
|
||||||
<img
|
<b>{status.activities[1] && status.activities[1].name}</b>
|
||||||
src={
|
</div>
|
||||||
baseURL +
|
<div className="discord-message-activity">
|
||||||
status.activities[1].application_id +
|
{status.activities[1] && status.activities[1].details}
|
||||||
"/" +
|
</div>
|
||||||
status.activities[1].assets.small_image +
|
<div className="discord-message-files">
|
||||||
".png"
|
{status.activities[1] && status.activities[1].state
|
||||||
}
|
? status.activities[1].state
|
||||||
/>
|
: null}
|
||||||
)}
|
</div>
|
||||||
|
<br />
|
||||||
|
<div className="time-elapsed">
|
||||||
|
{status?.activities[1]?.timestamps?.start && time}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</>
|
||||||
<div className="discord-messageBox">
|
)}
|
||||||
<div className="discord-message-application">
|
</DicordActivityStyle>
|
||||||
<b>{status.activities[1] && status.activities[1].name}</b>
|
);
|
||||||
|
} else {
|
||||||
|
return (
|
||||||
|
<DicordActivityStyle>
|
||||||
|
{!loading && (
|
||||||
|
<>
|
||||||
|
<div className="discord-icons">
|
||||||
|
<div className="discord-large-icon">
|
||||||
|
{status.activities[1] && (
|
||||||
|
<img
|
||||||
|
src={
|
||||||
|
baseURL +
|
||||||
|
status.activities[1].application_id +
|
||||||
|
"/" +
|
||||||
|
status.activities[1].assets.large_image +
|
||||||
|
".png"
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
<div className="discord-small-icon">
|
||||||
|
{status.activities[1] && (
|
||||||
|
<img
|
||||||
|
src={
|
||||||
|
baseURL +
|
||||||
|
status.activities[1].application_id +
|
||||||
|
"/" +
|
||||||
|
status.activities[1].assets.small_image +
|
||||||
|
".png"
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="discord-message-activity">
|
<div className="discord-messageBox">
|
||||||
{status.activities[1] && status.activities[1].details}
|
<div className="discord-message-application">
|
||||||
|
<b>{status.activities[1] && status.activities[1].name}</b>
|
||||||
|
</div>
|
||||||
|
<div className="discord-message-activity">
|
||||||
|
{status.activities[1] && status.activities[1].details}
|
||||||
|
</div>
|
||||||
|
<div className="discord-message-files">
|
||||||
|
{status.activities[1] && status.activities[1].state
|
||||||
|
? status.activities[1].state
|
||||||
|
: null}
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div className="time-elapsed">
|
||||||
|
{status?.activities[1]?.timestamps?.start && time}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="discord-message-files">
|
</>
|
||||||
{status.activities[1] && status.activities[1].state
|
)}
|
||||||
? status.activities[1].state
|
</DicordActivityStyle>
|
||||||
: null}
|
);
|
||||||
</div>
|
}
|
||||||
<br />
|
|
||||||
<div className="time-elapsed">
|
|
||||||
{status?.activities[1]?.timestamps?.start && time}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</DicordActivityStyle>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
} else if (
|
} else if (
|
||||||
!loading &&
|
!loading &&
|
||||||
|
|
|
@ -7,9 +7,15 @@ export const DicordActivityStyle = styled.div`
|
||||||
justify-content: start;
|
justify-content: start;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
min-height: 75px;
|
min-height: 75px;
|
||||||
background-color: #7289da;
|
background: rgb(131, 58, 180);
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
rgba(131, 58, 180, 1) 0%,
|
||||||
|
rgba(253, 29, 29, 1) 50%,
|
||||||
|
rgba(252, 176, 69, 1) 100%
|
||||||
|
);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 1em 0.8em;
|
padding: 0.3em 0.8em;
|
||||||
|
|
||||||
.discord-icons {
|
.discord-icons {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -52,4 +58,10 @@ export const DicordActivityStyle = styled.div`
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
|
.discord-message-application {
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
.discord-message-activity {
|
||||||
|
font-size: 1.1em;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -31,6 +31,7 @@ function Main() {
|
||||||
<div>
|
<div>
|
||||||
<DiscordActivity />
|
<DiscordActivity />
|
||||||
</div>
|
</div>
|
||||||
|
<br />
|
||||||
<div className="social-buttons">
|
<div className="social-buttons">
|
||||||
<a href={github_url}>
|
<a href={github_url}>
|
||||||
<IconButton>
|
<IconButton>
|
||||||
|
@ -58,7 +59,7 @@ function Main() {
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div className="buttons">
|
{/* <div className="buttons">
|
||||||
<a href={resume_url}>
|
<a href={resume_url}>
|
||||||
<Button variant="contained " size="large">
|
<Button variant="contained " size="large">
|
||||||
Resume
|
Resume
|
||||||
|
@ -69,7 +70,7 @@ function Main() {
|
||||||
Email Me
|
Email Me
|
||||||
</Button>
|
</Button>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div> */}
|
||||||
</div>
|
</div>
|
||||||
</MainStyle>
|
</MainStyle>
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,11 +1,20 @@
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
|
|
||||||
export default styled.main`
|
export default styled.main`
|
||||||
|
padding-top: 15px;
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
background-image: url("/images/background.jpg");
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
|
||||||
|
.backimage {
|
||||||
|
filter: blur(8px);
|
||||||
|
-webkit-filter: blur(8px);
|
||||||
|
}
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -29,7 +38,7 @@ export default styled.main`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.profile {
|
.profile {
|
||||||
heigth: 250px;
|
height: 250px;
|
||||||
width: 250px;
|
width: 250px;
|
||||||
img {
|
img {
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
|
@ -41,4 +50,13 @@ export default styled.main`
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
.social-buttons {
|
||||||
|
background: rgb(64, 63, 79);
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
rgba(64, 63, 79, 1) 0%,
|
||||||
|
rgba(92, 84, 90, 1) 43%
|
||||||
|
);
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -1,23 +1,51 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import NavStyle from "./nav.style";
|
import NavStyle from "./nav.style";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
|
import { useLanyard } from "react-use-lanyard";
|
||||||
const LINKS = [
|
const LINKS = [
|
||||||
{
|
{
|
||||||
title: "Skills",
|
title: "Skills",
|
||||||
href: "/skills",
|
href: "/skills",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "Resume",
|
||||||
|
href: "/resume",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Mail Me",
|
||||||
|
href: "mailto:me@bravo68web.me",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
function Nav() {
|
function Nav() {
|
||||||
|
const { loading, status /*, websocket */ } = useLanyard({
|
||||||
|
userId: "457039372009865226",
|
||||||
|
socket: true,
|
||||||
|
});
|
||||||
return (
|
return (
|
||||||
<NavStyle>
|
<NavStyle>
|
||||||
<Link href="/" className="title">
|
<Link href="/">
|
||||||
<h1>echo "Bravo"</h1>
|
<div className="title">
|
||||||
|
<h1>echo "Bravo"</h1>
|
||||||
|
<div className="indicator">
|
||||||
|
<div
|
||||||
|
className={`circle ${
|
||||||
|
!loading &&
|
||||||
|
(status?.discord_status === "online" ||
|
||||||
|
status?.discord_status === "idle" ||
|
||||||
|
status?.discord_status === "dnd")
|
||||||
|
? "green"
|
||||||
|
: "red"
|
||||||
|
}`}
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
<div className="links">
|
<div className="links">
|
||||||
{LINKS.map(({ title, href }, index) => (
|
{LINKS.map(({ title, href }, index) => (
|
||||||
<div key={index} className="link">
|
<div key={index} className="link">
|
||||||
<Link href={href}>{title}</Link>
|
<Link href={href}>{title}</Link> |
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,6 +8,35 @@ export default styled.nav`
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
font-size: 1.5em;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
.title {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.links {
|
||||||
|
display: flex;
|
||||||
|
.link {
|
||||||
|
/* padding: 20px; */
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.indicator {
|
||||||
|
.circle {
|
||||||
|
height: 10px;
|
||||||
|
width: 10px;
|
||||||
|
border-radius: 100%;
|
||||||
|
|
||||||
|
margin-top: 8px;
|
||||||
|
margin-left: 5px;
|
||||||
|
/* margin-right: auto;
|
||||||
|
flex: start; */
|
||||||
|
}
|
||||||
|
.green {
|
||||||
|
background-color: green;
|
||||||
|
}
|
||||||
|
.red {
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -1,22 +1,28 @@
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState, useRef } from "react";
|
||||||
import { ResumeStyle } from "./resume.style";
|
import { ResumeStyle } from "./resume.style";
|
||||||
import { Document, Page } from "react-pdf/dist/esm/entry.webpack5";
|
|
||||||
|
|
||||||
function Resume() {
|
function Resume() {
|
||||||
const [resume, setResume] = useState({});
|
const viewer = useRef(null);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// axios.get("").then((res) => {
|
import("@pdftron/webviewer").then(() => {
|
||||||
// setResume(res.data);
|
WebViewer(
|
||||||
// });
|
{
|
||||||
|
path: ".",
|
||||||
|
mobileRedirect: true,
|
||||||
|
initialDoc:
|
||||||
|
"https://raw.githubusercontent.com/BRAVO68WEB/certificates/master/Jyotirmoy's%20Resume.pdf",
|
||||||
|
},
|
||||||
|
viewer.current
|
||||||
|
).then((instance) => {
|
||||||
|
const { docViewer } = instance;
|
||||||
|
// you can now call WebViewer APIs here...
|
||||||
|
});
|
||||||
|
});
|
||||||
}, []);
|
}, []);
|
||||||
// console.log(Document);
|
|
||||||
return (
|
return (
|
||||||
<ResumeStyle>
|
<ResumeStyle>
|
||||||
<div className="resume">
|
<div className="webviewer" ref={viewer} style={{ height: "100vh" }}></div>
|
||||||
<Document file="https://raw.githubusercontent.com/BRAVO68WEB/certificates/master/Jyotirmoy's%20Resume.pdf">
|
|
||||||
<Page pageNumber={0} />
|
|
||||||
</Document>
|
|
||||||
</div>
|
|
||||||
</ResumeStyle>
|
</ResumeStyle>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
|
|
||||||
export const ResumeStyle = styled.div``;
|
export const ResumeStyle = styled.div`
|
||||||
|
padding: 10%;
|
||||||
|
`;
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"lint": "next lint"
|
"lint": "next lint",
|
||||||
|
"postinstall": "node tools/copy-webviewer-files.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.7.1",
|
"@emotion/react": "^11.7.1",
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
import Head from "next/head";
|
||||||
|
import Nav from "components/nav";
|
||||||
|
import { useEffect, useRef } from "react";
|
||||||
|
import Resume from "components/Art";
|
||||||
|
import Footer from "components/footer";
|
||||||
|
|
||||||
|
export default function Home() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Head>
|
||||||
|
<title>
|
||||||
|
Jyotirmoy Bandyopadhayaya | Full Stack and DevOps Platform Developer
|
||||||
|
</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Jyotirmoy Bandyopadhayaya's Website | A Student, Full Stack and DevOps Platform Developer | Jyotirmoy Bandyopadhayaya's Tech Stack"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="bravo, bravo68web, Jyotirmoy, Bandyopadhayaya, dev, web, Full Stack Developer, DevOps, gcp, linux, server, api, rest, lpu"
|
||||||
|
/>
|
||||||
|
<meta name="language" content="EN" />
|
||||||
|
<meta name="author" content="Jyotirmoy Bandyopadhayaya | Bravo68web" />
|
||||||
|
<meta
|
||||||
|
name="publisher"
|
||||||
|
content="Jyotirmoy Bandyopadhayaya | Bravo68web"
|
||||||
|
/>
|
||||||
|
<link rel="icon" href="/favicon.ico" />
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&display=swap"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Nav />
|
||||||
|
<Art />
|
||||||
|
<Footer />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
import Head from "next/head";
|
||||||
|
import Nav from "components/nav";
|
||||||
|
import { useEffect, useRef } from "react";
|
||||||
|
import Resume from "components/contact";
|
||||||
|
import Footer from "components/footer";
|
||||||
|
|
||||||
|
export default function Home() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Head>
|
||||||
|
<title>
|
||||||
|
Jyotirmoy Bandyopadhayaya | Full Stack and DevOps Platform Developer
|
||||||
|
</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Jyotirmoy Bandyopadhayaya's Website | A Student, Full Stack and DevOps Platform Developer | Jyotirmoy Bandyopadhayaya's Tech Stack"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="bravo, bravo68web, Jyotirmoy, Bandyopadhayaya, dev, web, Full Stack Developer, DevOps, gcp, linux, server, api, rest, lpu"
|
||||||
|
/>
|
||||||
|
<meta name="language" content="EN" />
|
||||||
|
<meta name="author" content="Jyotirmoy Bandyopadhayaya | Bravo68web" />
|
||||||
|
<meta
|
||||||
|
name="publisher"
|
||||||
|
content="Jyotirmoy Bandyopadhayaya | Bravo68web"
|
||||||
|
/>
|
||||||
|
<link rel="icon" href="/favicon.ico" />
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&display=swap"
|
||||||
|
rel="stylesheet"
|
||||||
|
/>
|
||||||
|
</Head>
|
||||||
|
<Nav />
|
||||||
|
<Contact />
|
||||||
|
<Footer />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
|
@ -35,7 +35,7 @@ export default function Home() {
|
||||||
<Nav />
|
<Nav />
|
||||||
<Main />
|
<Main />
|
||||||
|
|
||||||
<Footer />
|
{/* <Footer /> */}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Head from "next/head";
|
import Head from "next/head";
|
||||||
import Nav from "components/nav";
|
import Nav from "components/nav";
|
||||||
|
import { useEffect, useRef } from "react";
|
||||||
import Resume from "components/resume";
|
import Resume from "components/resume";
|
||||||
import Footer from "components/footer";
|
import Footer from "components/footer";
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 367 KiB |
Binary file not shown.
After Width: | Height: | Size: 789 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
Binary file not shown.
After Width: | Height: | Size: 78 KiB |
|
@ -1,27 +1,28 @@
|
||||||
@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@200;300;400;500;600;700;800;900&display=swap');
|
@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@200;300;400;500;600;700;800;900&display=swap");
|
||||||
|
|
||||||
:root{
|
:root {
|
||||||
--color1:#11052C;
|
--color1: #11052c;
|
||||||
--color2:#3D087B;
|
--color2: #3d087b;
|
||||||
--color3:#F43B86;
|
--color3: #f43b86;
|
||||||
--color4:#FFE459;
|
--color4: #ffe459;
|
||||||
--font:'Source Code Pro', monospace;
|
--font: "Source Code Pro", monospace;
|
||||||
}
|
}
|
||||||
*{
|
* {
|
||||||
margin:0;
|
margin: 0;
|
||||||
padding:0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
|
overflow-x: hidden;
|
||||||
background: var(--color2);
|
background: var(--color2);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-family: var(--font), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
|
font-family: var(--font), -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
|
||||||
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
|
||||||
height:100vh;
|
height: 100vh;
|
||||||
width:100vw;
|
width: 100vw;
|
||||||
/* color:var(--color3) */
|
/* color:var(--color3) */
|
||||||
color:#fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
const fs = require("fs-extra");
|
||||||
|
|
||||||
|
const copyFiles = async () => {
|
||||||
|
try {
|
||||||
|
await fs.copy(
|
||||||
|
"./node_modules/@pdftron/webviewer/public",
|
||||||
|
"./public/webviewer/lib"
|
||||||
|
);
|
||||||
|
console.log("WebViewer files copied over successfully");
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
copyFiles();
|
Loading…
Reference in New Issue