diff --git a/components/episodesidebar.js b/components/episodesidebar.js
index 735ab58..fa1403e 100755
--- a/components/episodesidebar.js
+++ b/components/episodesidebar.js
@@ -1,17 +1,18 @@
import Link from 'next/link'
-const EpisodeSideBar = (epdata) => (
-
+const EpisodeSideBar = (epdata) => {
+ console.log(epdata.epdata.data[0].attributes)
+ return (
Latest Episodes
- {epdata.map((episode) => (
-
-
{episode.title}
-
+ {epdata.epdata.data.map((episode) => (
+
+
{episode.attributes.Title}
+
))}
-
- );
+
)
+};
export default EpisodeSideBar
\ No newline at end of file
diff --git a/components/navbar.js b/components/navbar.js
index b3e27b5..3b6ae72 100755
--- a/components/navbar.js
+++ b/components/navbar.js
@@ -20,6 +20,9 @@ const NavBar = (props, sections) => {
News and such
+
+ Podcasts
+
Tech and Disability
diff --git a/components/storypager.js b/components/storypager.js
index 3878f37..d04c355 100755
--- a/components/storypager.js
+++ b/components/storypager.js
@@ -4,7 +4,7 @@ import Link from 'next/link'
const StoryPager = ({ storydata }) => {
const router = useRouter()
- console.log(storydata.meta)
+ console.log(storydata)
const handlePagination = page => {
const path = router.pathname
diff --git a/data/external/cms.js b/data/external/cms.js
index 30c5d2f..a58c18b 100755
--- a/data/external/cms.js
+++ b/data/external/cms.js
@@ -70,7 +70,7 @@ export const getAllPodcastSeries = async () => {
const query = qs.stringify({
populate: {
podcast_episodes: {
- populate:['Audio']
+ populate:['Audio_MP3']
}
}
}, {
@@ -112,5 +112,78 @@ export const getProjectDetails = async (projectId) => {
}
export const getPodcastEpisode = async (episodeId) => {
+ const { serverRuntimeConfig} = getConfig()
+ const qs = require('qs')
+ const query = qs.stringify({
+ filters: {
+ Slug: {
+ $eq: episodeId
+ }
+ },
+ populate: '*'
+ }, {
+ encodeValuesOnly: true,
+ })
+ const epres = await fetch(serverRuntimeConfig.base_path + `podcast-episodes?${query}`, {
+ headers: new Headers({
+ 'Authorization':serverRuntimeConfig.strapi_token,
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ })
+ })
+
+ return await epres.json()
+}
+
+export const getPodcastSeries = async (podcastId) => {
+ const { serverRuntimeConfig} = getConfig()
+ const qs = require('qs')
+ const query = qs.stringify({
+ filters: {
+ Slug: {
+ $eq: podcastId
+ }
+ },
+ populate: '*'
+ }, {
+ encodeValuesOnly: true,
+ })
+ const url = serverRuntimeConfig.base_path + `/api/podcast-serie?${query}`;
+ const showres = await fetch(url, {
+ headers: new Headers({
+ 'Authorization': serverRuntimeConfig.strapi_token,
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ })
+ })
+ return await showres.json()
+}
+
+export const getPodcastSeriesEpisodes = async (podcastId, limit, page) => {
+ const { serverRuntimeConfig} = getConfig()
+ const qs = require('qs')
+ const query = qs.stringify({
+ filters: {
+ podcast_sery: {
+ Slug: {
+ $eq: podcastId
+ }
+ }
+ },
+ pagination: {
+ page: page,
+ pageSize: limit
+ },
+ sort: ['publishedAt:desc'],
+ populate: '*'
+ }, {
+ encodeValuesOnly: true,
+ })
+ const epres = await fetch(serverRuntimeConfig.base_path + `podcast-episodes?${query}`, {
+ headers: new Headers({
+ 'Authorization': serverRuntimeConfig.strapi_token,
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ })
+ })
+
+ return await epres.json();
}
\ No newline at end of file
diff --git a/data/internal/feed-generator.js b/data/internal/feed-generator.js
index 92f4b81..870f123 100755
--- a/data/internal/feed-generator.js
+++ b/data/internal/feed-generator.js
@@ -173,13 +173,13 @@ export const generatePodcastFeeds = async () => {
const url = `${siteURL}/shows/${series.attributes.Slug}/${episode.attributes.Slug}`;
- const media_url = `${siteURL}${episode.attributes.Audio.data.attributes.url}`
+ const media_url = `${siteURL}${episode.attributes.Audio_MP3.data.attributes.url}`
const media = {
url: media_url,
- type: episode.attributes.Audio.data.attributes.mime,
+ type: episode.attributes.Audio_MP3.data.attributes.mime,
length: 0,
- title: episode.attributes.Audio.data.attributes.name,
+ title: episode.attributes.Audio_MP3.data.attributes.name,
duration: 0,
}
diff --git a/pages/podcasts.js b/pages/podcasts.js
index 9f5d049..26f3c57 100755
--- a/pages/podcasts.js
+++ b/pages/podcasts.js
@@ -9,7 +9,7 @@ export async function getServerSideProps(context) {
const secres = await fetch(serverRuntimeConfig.base_path + `/api/sections`)
const secdata = await secres.json()
- const currpodcastres = await fetch(serverRuntimeConfig.base_path + `podcast-series?filters[PodcastSeriesStatus][$eq]=Current`, {
+ const currpodcastres = await fetch(serverRuntimeConfig.base_path + `podcast-series?filters[status][$eq]=true`, {
headers: new Headers({
'Authorization': serverRuntimeConfig.strapi_token,
'Content-Type': 'application/x-www-form-urlencoded'
@@ -20,7 +20,7 @@ export async function getServerSideProps(context) {
console.log(currpodcastlist)
- const archpodcastres = await fetch(serverRuntimeConfig.base_path + `podcast-series?filters[PodcastSeriesStatus][$eq]=Archived`, {
+ const archpodcastres = await fetch(serverRuntimeConfig.base_path + `podcast-series?filters[status][$eq]=false`, {
headers: new Headers({
'Authorization': serverRuntimeConfig.strapi_token,
'Content-Type': 'application/x-www-form-urlencoded'
diff --git a/pages/podcasts/shows/[...episode].js b/pages/podcasts/shows/[...episode].js
index 20a5601..7f08d07 100755
--- a/pages/podcasts/shows/[...episode].js
+++ b/pages/podcasts/shows/[...episode].js
@@ -5,6 +5,7 @@ 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 { getPodcastEpisode, getPodcastSeriesEpisodes } from '../../../data/external/cms.js';
export async function getServerSideProps(context) {
@@ -14,32 +15,17 @@ export async function getServerSideProps(context) {
const secres = await fetch(serverRuntimeConfig.base_path + '/api/sections')
const secdata = await secres.json()
- const epres = await fetch(serverRuntimeConfig.base_path + 'podcast-episodes?filters[Slug][$eq]='+slug[1]+'&populate=*', {
- headers: new Headers({
- 'Authorization': 'Bearer 77df3f9be0a33ee3e91e4314e99fe649348fe15e66348fa53cc335e936345661bea7eb3c826475bc8605037d9753e334061f579aa864a5c5a7436dc3b6853ee4712c822b462156d445cebe08b3e298967829ceccb4c4aa7c61c674527ddf66514a9879b36b15732fc4f505945fbe9e23e65c0525fce834b3858936ab2ab671b7',
- 'Content-Type': 'application/x-www-form-urlencoded'
- })
- })
- const epdata = await epres.json()
- const episode = epdata.data[0]
- console.log(epdata.data[0].attributes.Audio.data.attributes)
-
- const sepres = await fetch(serverRuntimeConfig.base_path + 'podcast-episodes?filters[podcast_sery][slug][$eq]='+slug[0], {
- headers: new Headers({
- 'Authorization': 'Bearer 77df3f9be0a33ee3e91e4314e99fe649348fe15e66348fa53cc335e936345661bea7eb3c826475bc8605037d9753e334061f579aa864a5c5a7436dc3b6853ee4712c822b462156d445cebe08b3e298967829ceccb4c4aa7c61c674527ddf66514a9879b36b15732fc4f505945fbe9e23e65c0525fce834b3858936ab2ab671b7',
- 'Content-Type': 'application/x-www-form-urlencoded'
- })
- })
- const sepdata = await sepres.json()
- const sepisodes = sepdata.data
+ const episode = await getPodcastEpisode(slug)
+
+ const sepisodes = await getPodcastSeriesEpisodes(slug[0], 5, 0)
const audiodata = {
audio_path: serverRuntimeConfig.audio_path,
- audio_mp3: epdata.data[0].attributes.Audio.data.attributes
+ audio_mp3: episode.data[0].attributes.Audio_MP3.data.attributes
}
const pagedata = {
- 'title': 'Angry Beanie - ' + episode.attributes.Title
+ 'title': 'Angry Beanie - ' + episode.data[0].attributes.Title
}
return {
@@ -54,7 +40,7 @@ const Episode = ( props ) => {
episode={props.episode}
audiodata={props.audiodata}
sepdata={props.sepisodes}>
-
{props.episode.attributes.Title}
+
{props.episode.data[0].attributes.Title}
{
onPause={e => gtag.event({action: "pause", category:"audio", label: "audio paused", value: props.audiodata.audio_mp3})}
onEnded={e => gtag.event({action: "end", category:"audio", label: "audio ended", value: props.audiodata.audio_mp3})}
/>
-
+
+ Transcript
+
- {/*
*/}
+
)
}
diff --git a/pages/podcasts/shows/[podcast].js b/pages/podcasts/shows/[podcast].js
index 054fa16..0e79663 100755
--- a/pages/podcasts/shows/[podcast].js
+++ b/pages/podcasts/shows/[podcast].js
@@ -2,31 +2,20 @@ import getConfig from 'next/config'
import "../../../components/main.js"
import Layout from "../../../components/main.js"
import EpisodePager from "../../../components/episodepager.js"
+import { getPodcastSeries, getPodcastSeriesEpisodes } from '../../../data/external/cms.js'
export async function getServerSideProps(context) {
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
const slug = context.params.podcast
- const url = serverRuntimeConfig.base_path + '/api/podcast-serie?filters[Slug][$eq]=' + slug
- const showres = await fetch(url, {
- headers: new Headers({
- 'Authorization': 'Bearer 77df3f9be0a33ee3e91e4314e99fe649348fe15e66348fa53cc335e936345661bea7eb3c826475bc8605037d9753e334061f579aa864a5c5a7436dc3b6853ee4712c822b462156d445cebe08b3e298967829ceccb4c4aa7c61c674527ddf66514a9879b36b15732fc4f505945fbe9e23e65c0525fce834b3858936ab2ab671b7',
- 'Content-Type': 'application/x-www-form-urlencoded'
- })
- })
- const showdata = await showres.json()
+ const showdata = await getPodcastSeries(slug)
if(context.query.page == null || context.query.page == '0') {
var page = 0;
} else {
- var page = Number(context.query.page) - 1
+ var page = Number(context.query.page)
}
- const epres = await fetch(serverRuntimeConfig.base_path + "podcast-episodes?filters[podcast_sery][slug][$eq]="+slug+"&populate=*", {
- headers: new Headers({
- 'Authorization': 'Bearer 77df3f9be0a33ee3e91e4314e99fe649348fe15e66348fa53cc335e936345661bea7eb3c826475bc8605037d9753e334061f579aa864a5c5a7436dc3b6853ee4712c822b462156d445cebe08b3e298967829ceccb4c4aa7c61c674527ddf66514a9879b36b15732fc4f505945fbe9e23e65c0525fce834b3858936ab2ab671b7',
- 'Content-Type': 'application/x-www-form-urlencoded'
- })
- })
- const epdata = await epres.json()
+
+ const epdata = await getPodcastSeriesEpisodes(slug, 5, page)
console.log(epdata.data)
const secres = await fetch(serverRuntimeConfig.base_path + '/api/sections')
@@ -42,7 +31,7 @@ export async function getServerSideProps(context) {
const Podcast = (props) => (
{props.showdata.title}
-
+
)