Skip to content

Commit

Permalink
merged master
Browse files Browse the repository at this point in the history
  • Loading branch information
okeino committed Oct 25, 2023
2 parents 685a8d6 + 1678179 commit 7bc85ec
Show file tree
Hide file tree
Showing 32 changed files with 731 additions and 232 deletions.
31 changes: 31 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,11 @@ module.exports = withBundleAnalyzer(
destination: '/:lang/books/:seriesId/feed.xml',
permanent: true,
},
{
source: '/:lang/audiobooks/egwbooks/podcast/:seriesId/latest/:slug',
destination: '/:lang/egwbooks/:seriesId/feed.xml',
permanent: true, //egw
},
{
source: '/:lang/music/browse/podcast/:seriesId/latest/:slug',
destination: '/:lang/songs/albums/:seriesId/feed.xml',
Expand Down Expand Up @@ -181,6 +186,11 @@ module.exports = withBundleAnalyzer(
destination: '/:lang/books',
permanent: true,
},
{
source: '/:lang/egwbooks/page/1',
destination: '/:lang/egwbooks',
permanent: true,
},
{
source: '/:lang/conferences/page/1',
destination: '/:lang/conferences',
Expand Down Expand Up @@ -323,11 +333,28 @@ module.exports = withBundleAnalyzer(
permanent: false,
destination: '/:lang/stories/albums/page/1',
},
{
source: '/:lang/audiobooks/egwbooks',
has: [
{
type: 'query',
key: 'stories',
value: '1',
},
],
permanent: false,
destination: '/:lang/stories/albums/page/1',
},
{
source: '/:lang/audiobooks/books/:path*',
destination: '/:lang/books/:path*',
permanent: true,
},
{
source: '/:lang/audiobooks/egwbooks/:path*',
destination: '/:lang/egwbooks/:path*',
permanent: true,
},
{
source: '/:lang/music/browse',
destination: '/:lang/songs/albums',
Expand Down Expand Up @@ -505,6 +532,10 @@ module.exports = withBundleAnalyzer(
source: '/:lang/books',
destination: '/:lang/books/page/1',
},
{
source: '/:lang/egwbooks',
destination: '/:lang/egwbooks/page/1',
},
{
source: '/:lang/conferences',
destination: '/:lang/conferences/page/1',
Expand Down
390 changes: 195 additions & 195 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions public/apple-app-site-association
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"/*/series/*",
"/*/bibles/*",
"/*/books/*",
"/*/egwbooks/*",
"/*/songs/*",
"/*/stories/*",
"/*/conferences/*",
Expand Down
60 changes: 57 additions & 3 deletions public/compiled-lang/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@
"audiobookList__heading": [
{
"type": 0,
"value": "All Audiobooks"
"value": "Books"
}
],
"bibleBook__backToChapter": [
Expand Down Expand Up @@ -714,7 +714,7 @@
"books__title": [
{
"type": 0,
"value": "All Audiobooks"
"value": "Books"
}
],
"browse__topicsNext": [
Expand Down Expand Up @@ -909,6 +909,12 @@
"value": " chapters"
}
],
"cardSequence_egwAudiobookType": [
{
"type": 0,
"value": "ELLEN G. WHITE"
}
],
"cardSequence_readByLabel": [
{
"type": 0,
Expand Down Expand Up @@ -1353,12 +1359,24 @@
"value": "Discover Collections"
}
],
"discoverCollections_audiobooksHeading": [
{
"type": 0,
"value": "Discover Books"
}
],
"discoverCollections_conferencesHeading": [
{
"type": 0,
"value": "Conferences"
}
],
"discoverCollections_egwAudiobooksHeading": [
{
"type": 0,
"value": "Discover Ellen G. White"
}
],
"discoverCollections_storySeasonsHeading": [
{
"type": 0,
Expand Down Expand Up @@ -1595,6 +1613,18 @@
"value": "m"
}
],
"egwAudiobookList__heading": [
{
"type": 0,
"value": "Ellen G. White"
}
],
"egwbooks__title": [
{
"type": 0,
"value": "Ellen G. White"
}
],
"embed__partInfo": [
{
"type": 0,
Expand Down Expand Up @@ -1851,6 +1881,12 @@
"value": "Conferences"
}
],
"header__navItemCollections-egwbooks": [
{
"type": 0,
"value": "Ellen G. White"
}
],
"header__navItemCollections-presenters": [
{
"type": 0,
Expand Down Expand Up @@ -3812,7 +3848,7 @@
"organismSection__audiobooksHeading": [
{
"type": 0,
"value": "Audiobooks"
"value": "Books"
}
],
"organismSection__audiobooksNext": [
Expand Down Expand Up @@ -3845,6 +3881,24 @@
"value": "Previous Bible books"
}
],
"organismSection__egwAudiobooksHeading": [
{
"type": 0,
"value": "Ellen G. White"
}
],
"organismSection__egwAudiobooksNext": [
{
"type": 0,
"value": "Next EGW audiobooks"
}
],
"organismSection__egwAudiobooksPrevious": [
{
"type": 0,
"value": "Previous EGW audiobooks"
}
],
"organismSection_presentersHeading": [
{
"type": 0,
Expand Down
33 changes: 30 additions & 3 deletions public/lang/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@
"string": "progress"
},
"audiobookList__heading": {
"string": "All Audiobooks"
"string": "Books"
},
"bibleBook__backToChapter": {
"string": "Back to Chapter Info"
Expand Down Expand Up @@ -359,7 +359,7 @@
"string": "All Blog Posts"
},
"books__title": {
"string": "All Audiobooks"
"string": "Books"
},
"browse__topicsNext": {
"string": "Next topics"
Expand Down Expand Up @@ -437,6 +437,9 @@
"cardSequence_chaptersLabel": {
"string": "{count} chapters"
},
"cardSequence_egwAudiobookType": {
"string": "ELLEN G. WHITE"
},
"cardSequence_readByLabel": {
"string": "Read By {name}"
},
Expand Down Expand Up @@ -636,9 +639,15 @@
"discoverCollections__title": {
"string": "Discover Collections"
},
"discoverCollections_audiobooksHeading": {
"string": "Discover Books"
},
"discoverCollections_conferencesHeading": {
"string": "Conferences"
},
"discoverCollections_egwAudiobooksHeading": {
"string": "Discover Ellen G. White"
},
"discoverCollections_storySeasonsHeading": {
"string": "Stories"
},
Expand Down Expand Up @@ -750,6 +759,12 @@
"comment": "duration minutes",
"string": "{minutes}m"
},
"egwAudiobookList__heading": {
"string": "Ellen G. White"
},
"egwbooks__title": {
"string": "Ellen G. White"
},
"embed__partInfo": {
"string": "Part {index} of {count}"
},
Expand Down Expand Up @@ -824,6 +839,9 @@
"header__navItemCollections-conferences": {
"string": "Conferences"
},
"header__navItemCollections-egwbooks": {
"string": "Ellen G. White"
},
"header__navItemCollections-presenters": {
"string": "Presenters"
},
Expand Down Expand Up @@ -1801,7 +1819,7 @@
"string": "Sponsor"
},
"organismSection__audiobooksHeading": {
"string": "Audiobooks"
"string": "Books"
},
"organismSection__audiobooksNext": {
"string": "Next audiobooks"
Expand All @@ -1818,6 +1836,15 @@
"organismSection__bibleBooksPrevious": {
"string": "Previous Bible books"
},
"organismSection__egwAudiobooksHeading": {
"string": "Ellen G. White"
},
"organismSection__egwAudiobooksNext": {
"string": "Next EGW audiobooks"
},
"organismSection__egwAudiobooksPrevious": {
"string": "Previous EGW audiobooks"
},
"organismSection_presentersHeading": {
"string": "Presenters"
},
Expand Down
27 changes: 27 additions & 0 deletions schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,9 @@ type Collection implements Node & UniformResourceLocatable {
after: String
collectionIds: [ID!]

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -2087,6 +2090,9 @@ type Person implements Node & UniformResourceLocatable {
collectionId: ID
collectionIds: [ID!]

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -2399,6 +2405,9 @@ type Query {
collectionId: ID
collectionIds: [ID!]

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -2653,6 +2662,9 @@ type Query {
collectionIds: [ID!]
contentType: SequenceContentType

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -2786,6 +2798,9 @@ type Query {
collectionId: ID
collectionIds: [ID!]

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -3200,6 +3215,9 @@ type Query {
collectionIds: [ID!]
contentType: SequenceContentType

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -3228,6 +3246,9 @@ type Query {
collectionId: ID
collectionIds: [ID!]

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -3459,6 +3480,9 @@ type Query {
collectionId: ID
collectionIds: [ID!]

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down Expand Up @@ -4540,6 +4564,9 @@ type Sponsor implements Node & UniformResourceLocatable {
collectionIds: [ID!]
contentType: SequenceContentType = SERIES

"""The sequence must not be associated with any of the persons provided."""
excludePersons: [RecordingPersonInput!]

"""Return up to the first `n` elements from the list."""
first: Int

Expand Down
16 changes: 16 additions & 0 deletions src/components/atoms/hasTitleField.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import React from 'react';

interface ComponentWithTitleProps {
children?: React.ReactNode;
title?: string; // Modify this type according to your specific title field type
}

const hasTitleField = (
component: React.ReactElement<ComponentWithTitleProps>
): boolean => {
const { title } = component.props;

return !!title; // Return true if the component has a non-empty title
};

export default hasTitleField;
Loading

0 comments on commit 7bc85ec

Please sign in to comment.