diff --git a/components/css/styles.css b/components/css/styles.css
index 6956ad7..bcd0030 100755
--- a/components/css/styles.css
+++ b/components/css/styles.css
@@ -258,4 +258,12 @@
position: absolute;
bottom: 0;
left: 0;
+ }
+
+ .page_body {
+ text-align: justify;
+ }
+
+ h1 {
+ font-size: 4rem
}
\ No newline at end of file
diff --git a/components/episodesidebar.js b/components/episodesidebar.js
index 9e2938d..83e3940 100755
--- a/components/episodesidebar.js
+++ b/components/episodesidebar.js
@@ -2,10 +2,13 @@ import Link from 'next/link'
const EpisodeSideBar = (epdata) => (
- {epdata.episodes.map((episode) => (
-
-
{episode.title}
-
+
Latest Episodes
+
+ {epdata.epdata.episodes.map((episode) => (
+
))}
diff --git a/components/navbar.js b/components/navbar.js
index ae7c544..2e152e6 100755
--- a/components/navbar.js
+++ b/components/navbar.js
@@ -17,10 +17,9 @@ const NavBar = (props, sections) => {
-
- Current Podcasts
- Archived Podcasts
-
+
News and such
diff --git a/components/storysidebar.js b/components/storysidebar.js
index 9d0fb76..358d7f4 100755
--- a/components/storysidebar.js
+++ b/components/storysidebar.js
@@ -2,10 +2,13 @@ import Link from 'next/link'
const StorySideBar = (storydata) => (
+
Latest Stories
+
{storydata.stories.articles.map((article) => (
-
{article.title}
+
{article.title}
+
))}
diff --git a/lib/rss.js b/lib/rss.js
new file mode 100755
index 0000000..0e5ce2b
--- /dev/null
+++ b/lib/rss.js
@@ -0,0 +1,16 @@
+import Parser from 'rss-parser'
+
+export const FEEDS = [
+ {
+ name: "tad",
+ url: "https://tad.angrybeanie.com/feed/"
+ }
+];
+
+export async function getFeed(feedUrl) {
+ let parser = new Parser();
+
+ let feed = await parser.parseURL(feedUrl);
+
+ return feed;
+}
diff --git a/package-lock.json b/package-lock.json
index 369486b..c93c5ef 100755
--- a/package-lock.json
+++ b/package-lock.json
@@ -1190,6 +1190,11 @@
"iconv-lite": "^0.6.2"
}
},
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
+ },
"errno": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
@@ -3514,6 +3519,15 @@
"inherits": "^2.0.1"
}
},
+ "rss-parser": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.12.0.tgz",
+ "integrity": "sha512-aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==",
+ "requires": {
+ "entities": "^2.0.3",
+ "xml2js": "^0.4.19"
+ }
+ },
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -3553,6 +3567,11 @@
}
}
},
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
"scheduler": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
@@ -4049,6 +4068,20 @@
"is-typed-array": "^1.1.6"
}
},
+ "xml2js": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+ "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+ "requires": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ }
+ },
+ "xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
diff --git a/package.json b/package.json
index 17a4175..ef8e67a 100755
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
"react-ga": "^3.3.0",
"react-h5-audio-player": "^3.7.1",
"react-paginate": "^6.5.0",
- "react-router-dom": "^5.2.1"
+ "react-router-dom": "^5.2.1",
+ "rss-parser": "^3.12.0"
}
}
diff --git a/pages/index.js b/pages/index.js
index 484e475..9f0129c 100755
--- a/pages/index.js
+++ b/pages/index.js
@@ -2,36 +2,72 @@ import Layout from "../components/main"
import LatestEpisodes from "../components/latestepisodes"
import Link from 'next/link'
import getConfig from 'next/config'
+import Head from 'next/head'
+import Image from 'next/image';
+import { FEEDS, getFeed } from "../lib/rss"
export async function getServerSideProps(context) {
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
const res = await fetch(serverRuntimeConfig.base_path +`/api/collections/1`)
const artdata = await res.json()
+ const article = artdata.articles[0]
- const epres = await fetch(serverRuntimeConfig.base_path + '/api/podcasts/episodes/latest/0/3')
+ const epres = await fetch(serverRuntimeConfig.base_path + '/api/podcasts/episodes/latest/0/1')
const epdata = await epres.json()
- const secres = await fetch(serverRuntimeConfig.base_path + `/api/sections`)
- const secdata = await secres.json()
+ const flickr = await fetch('https://www.flickr.com/services/feeds/photos_public.gne?id=25875680@N05&lang=en-us&format=json&nojsoncallback=1')
+ const flickrdata = await flickr.json()
+ const firstimage = flickrdata.items[0]
const pagedata = {'title': 'Angry Beanie'}
+
+ const tadfeed = FEEDS.find((tadfeed) => tadfeed.name === "tad");
+ const tadfullfeed = await getFeed(tadfeed.url)
+ const tadfirstitem = tadfullfeed.items[0]
return {
- props: { articles: artdata, sections : secdata, pagedata, episodedata: epdata, config: serverRuntimeConfig}, // will be passed to the page component as props
+ props: { article, pagedata, episodedata: epdata.episodes, config: serverRuntimeConfig, tadfirstitem, firstimage}, // will be passed to the page component as props
}
}
function HomePage (props) {
- return (
- {props.articles.articles.map((article) => (
-
-
-
+ return (
+
+
+
{props.pagedata.title}
+
+
+
+

+
+
+
Latest Blog Post
+ {props.article.title}
+ {props.article.abstract}
+
+ {props.episodedata.map((episode) => (
+
+
Latest Podcast
+
{episode.title}
+
+
+
+ ))}
+
+
Latest Tech And Disability Post
+ {props.tadfirstitem.title}
+
+
+
Latest Photo
+

+
- ))}
-
-
- );
+
+ );
}
export default HomePage
\ No newline at end of file
diff --git a/pages/podcasts.js b/pages/podcasts.js
new file mode 100755
index 0000000..a8df3ed
--- /dev/null
+++ b/pages/podcasts.js
@@ -0,0 +1,28 @@
+import "../components/main.js"
+import Layout from "../components/main.js"
+import Link from 'next/link'
+import getConfig from 'next/config'
+import Image from 'next/image';
+
+export async function getServerSideProps(context) {
+ const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
+ const secres = await fetch(serverRuntimeConfig.base_path + `/api/sections`)
+ const secdata = await secres.json()
+
+ const podcastres = await fetch(serverRuntimeConfig.base_path + `/api/podcasts/bystatus/1`)
+ const podcastdata = await podcastres.json()
+
+ const episodedata = "hi there"
+
+ const pagedata = {'title': 'Angry Beanie - Current Podcast Projects'}
+
+ return {
+ props: { sections : secdata, podcastdata, episodedata, pagedata }, // will be passed to the page component as props
+ }
+}
+
+const Podcasts = ({sections, podcastdata, episodedata, pagedata}) => (
+
+)
+
+export default Podcasts
\ No newline at end of file
diff --git a/pages/podcasts/current.js b/pages/podcasts/current.js
index 34ad80d..65a19da 100755
--- a/pages/podcasts/current.js
+++ b/pages/podcasts/current.js
@@ -26,7 +26,7 @@ const PodcastCurrent = ({sections, podcastdata, episodedata, pagedata}) => (
Current Podcasts
{podcastdata.shows.map((podcast) => (
{podcast.title}
diff --git a/pages/podcasts/shows/[...episode].js b/pages/podcasts/shows/[...episode].js
index dcdddea..cf6a86b 100755
--- a/pages/podcasts/shows/[...episode].js
+++ b/pages/podcasts/shows/[...episode].js
@@ -4,8 +4,8 @@ import Layout from "../../../components/main.js"
import * as gtag from "../../../lib/gtag"
import AudioPlayer from "react-h5-audio-player";
import 'react-h5-audio-player/lib/styles.css';
-//import EpisodeSideBar from "../../../components/episodesidebar"
-import EpisodePager from '../../../components/episodepager.js';
+import EpisodeSideBar from "../../../components/episodesidebar"
+
export async function getServerSideProps(context) {
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
@@ -53,7 +53,7 @@ const Episode = ( props ) => {
/>
-
+
)
}
diff --git a/pages/sections/[page].js b/pages/sections/[page].js
index b7fb0c8..ec45e19 100755
--- a/pages/sections/[page].js
+++ b/pages/sections/[page].js
@@ -21,7 +21,7 @@ export async function getServerSideProps(context) {
function Page ({articles, sections, pagedata}) {
return (
{pagedata.title}
-