Skip to content

Commit c71cf0c

Browse files
authored
Merge pull request #42 from whysosaket/newsletter
Newsletter
2 parents 80ad698 + bad62c1 commit c71cf0c

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

my-app/src/App.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Events from "./pages/Events";
88
import Base from "./layouts/Base";
99
import Subscribe from "./components/Subscribe";
1010
import { useState } from "react";
11-
import NewsletterPage from "./pages/NewsletterPage";
11+
// import NewsletterPage from "./pages/NewsletterPage";
1212

1313
export default function App() {
1414
const [isVisible, setIsVisible] = useState(false);
@@ -28,7 +28,7 @@ export default function App() {
2828
<Route path="/community" element={<Community />} />
2929
<Route path="/events" element={<Events />} />
3030
<Route path="/contact-us" element={<ContactForm />} />
31-
<Route path="/newsletter" element={<NewsletterPage />} />
31+
{/* <Route path="/newsletter" element={<NewsletterPage />} /> */}
3232
<Route path="*" element={<NotFound />} />
3333
</Routes>
3434
</Base>

my-app/src/data.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ const navigation = [
22
{ name: "Home", to: "/" },
33
{ name: "Community", to: "/community" },
44
{ name: "Events", to: "/events" },
5-
{ name: "Newsletter", to: "/newsletter" },
5+
// { name: "Newsletter", to: "/newsletter" },
66
{ name: "About us", to: "about-us" },
7+
{ name: "Contact us", to: "/contact-us" },
78
];
89
export { navigation };

my-app/src/pages/NewsletterPage.jsx

+11-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import "react-pdf/dist/esm/Page/AnnotationLayer.css";
66
import "react-pdf/dist/esm/Page/TextLayer.css";
77
import { IoChevronBack, IoChevronForward } from "react-icons/io5";
88
import { API_URL } from "../lib/constants";
9+
import { FaRegEye } from "react-icons/fa";
910

1011
import "../styles/newsletter.css";
1112
import Newsletter from "../components/Newsletter";
@@ -22,6 +23,7 @@ const NewsletterPage = () => {
2223
const [containerRef, setContainerRef] = useState(null);
2324
const [containerWidth, setContainerWidth] = useState();
2425
const [loading, setLoading] = useState(true);
26+
const [views, setViews] = useState(0);
2527

2628
// Memoize the options object to prevent unnecessary reloads
2729
const options = useMemo(
@@ -75,6 +77,7 @@ const NewsletterPage = () => {
7577

7678
const data = await response.json();
7779
if(data.success){
80+
setViews(data.newsletter.views);
7881
const pdfResponse = await fetch(data.newsletter.link);
7982
const blob = await pdfResponse.blob();
8083
const fileUrl = URL.createObjectURL(blob);
@@ -112,7 +115,7 @@ const NewsletterPage = () => {
112115
<h1 className="text-4xl tracking-tight my-2 font-extrabold text-pastel text-center sm:text-5xl md:text-6xl">
113116
Newsletters
114117
</h1>
115-
<div className="flex justify-center mt-4 mb-8">
118+
<div className="flex justify-center mt-4">
116119
<div className="mx-auto">
117120
<label htmlFor="dropdown" className="mb-2 text-lg font-medium text-gray-300 text-center">
118121
Select an edition:
@@ -137,6 +140,13 @@ const NewsletterPage = () => {
137140
asda
138141
</div>
139142
}
143+
{
144+
!loading&&file&&
145+
<div className="w-full flex gap-2 justify-center align-middle text-gray-400/60 my-4">
146+
<FaRegEye size={25} className="my-auto" />
147+
<span className="my-auto font-semibold">{views}</span>
148+
</div>
149+
}
140150
{!loading&&file&&
141151
<div>
142152
<div className="flex justify-center">

0 commit comments

Comments
 (0)