@explorer-1/vue 0.2.27 → 0.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components.d.ts +1 -0
- package/dist/explorer-1-vue.js +3 -3
- package/dist/explorer-1-vue.umd.cjs +1 -1
- package/dist/src/components/AboutTheAuthor/AboutTheAuthor.stories.d.ts +30 -0
- package/dist/src/components/BaseImage/BaseImage.stories.d.ts +1 -1
- package/dist/src/components/BaseImage/BaseImage.vue.d.ts +1 -1
- package/dist/src/components/BlockLinkCard/BlockLinkCard.vue.d.ts +3 -3
- package/dist/src/components/DetailHeadline/DetailHeadline.vue.d.ts +10 -7
- package/dist/src/components/EventCard/EventCard.vue.d.ts +1 -1
- package/dist/src/components/MetadataEduResource/MetadataEduResource.vue.d.ts +1 -1
- package/dist/src/components/MetadataEvent/MetadataEvent.vue.d.ts +1 -1
- package/dist/src/components/MixinAnimationCaret/MixinAnimationCaret.stories.d.ts +1 -1
- package/dist/src/components/MixinAnimationCaret/MixinAnimationCaret.vue.d.ts +1 -1
- package/dist/src/components/SearchResultCard/SearchResultCard.vue.d.ts +3 -3
- package/dist/src/components/TextInput/TextInput.vue.d.ts +9 -9
- package/dist/src/interfaces.d.ts +7 -1
- package/dist/src/templates/edu/PageEduCollectionsDetail/PageEduCollectionsDetail.stories.d.ts +7 -7
- package/dist/src/templates/edu/PageEduLesson/PageEduLesson.stories.d.ts +2 -0
- package/dist/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.d.ts +30 -0
- package/dist/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.d.ts +2 -0
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/components/AboutTheAuthor/AboutTheAuthor.stories.js +50 -0
- package/src/components/AboutTheAuthor/AboutTheAuthor.vue +90 -0
- package/src/components/BlockText/BlockText.vue +3 -3
- package/src/components/DetailHeadline/DetailHeadline.vue +2 -3
- package/src/interfaces.ts +5 -1
- package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.stories.js +3 -1
- package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.vue +23 -0
- package/src/templates/edu/PageEduLesson/PageEduLesson.stories.js +2 -0
- package/src/templates/edu/PageEduLesson/PageEduLesson.vue +9 -1
- package/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.js +3 -8
- package/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.vue +10 -1
- package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.js +2 -0
- package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.vue +7 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@explorer-1/vue",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.28",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"vue-bind-once": "^0.2.1",
|
|
31
31
|
"vue-observe-visibility": "^1.0.0",
|
|
32
32
|
"vue3-compare-image": "^1.2.5",
|
|
33
|
-
"@explorer-1/common": "1.1.
|
|
33
|
+
"@explorer-1/common": "1.1.8"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import AboutTheAuthor from './AboutTheAuthor.vue'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/Utilities/AboutTheAuthor',
|
|
5
|
+
component: AboutTheAuthor,
|
|
6
|
+
tags: ['!autodocs'],
|
|
7
|
+
excludeStories: /.*Data$/
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const AboutTheAuthorData = [
|
|
11
|
+
{
|
|
12
|
+
author: {
|
|
13
|
+
biography:
|
|
14
|
+
'<p data-block-key="8meb7">I'm someone that has a bio! Test <a href="http://localhost:3000/edu/news">link</a>.</p>',
|
|
15
|
+
image: {
|
|
16
|
+
src: {
|
|
17
|
+
url: 'https://picsum.photos/512/512',
|
|
18
|
+
width: 512,
|
|
19
|
+
height: 512
|
|
20
|
+
},
|
|
21
|
+
alt: ''
|
|
22
|
+
},
|
|
23
|
+
jobTitle: 'Job title',
|
|
24
|
+
name: 'Author name',
|
|
25
|
+
organization: 'Organization'
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
author: {
|
|
30
|
+
biography:
|
|
31
|
+
'<p data-block-key="8meb7">I'm someone that has a bio! Test <a href="http://localhost:3000/edu/news">link</a>. Lorem ipsum dolor sit amet long author bio here.</p><p>Lorem ipsum dolor site amet consectatur.</p>',
|
|
32
|
+
image: {
|
|
33
|
+
src: {
|
|
34
|
+
url: 'https://picsum.photos/512/512',
|
|
35
|
+
width: 512,
|
|
36
|
+
height: 512
|
|
37
|
+
},
|
|
38
|
+
alt: ''
|
|
39
|
+
},
|
|
40
|
+
jobTitle: 'Job title',
|
|
41
|
+
name: 'Another author',
|
|
42
|
+
organization: 'Organization'
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
// stories
|
|
47
|
+
export const BaseStory = {
|
|
48
|
+
name: 'AboutTheAuthor',
|
|
49
|
+
args: { authors: AboutTheAuthorData }
|
|
50
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, reactive } from 'vue'
|
|
3
|
+
import type { AuthorObject } from '../../interfaces'
|
|
4
|
+
import BlockText from './../BlockText/BlockText.vue'
|
|
5
|
+
import BaseImage from './../BaseImage/BaseImage.vue'
|
|
6
|
+
import BaseImagePlaceholder from './../BaseImagePlaceholder/BaseImagePlaceholder.vue'
|
|
7
|
+
|
|
8
|
+
interface AboutTheAuthorProps {
|
|
9
|
+
authors: {
|
|
10
|
+
author?: AuthorObject
|
|
11
|
+
}[]
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// define props
|
|
15
|
+
const props = withDefaults(defineProps<AboutTheAuthorProps>(), {
|
|
16
|
+
authors: undefined
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
const { authors } = reactive(props)
|
|
20
|
+
|
|
21
|
+
const headingString = computed(() => {
|
|
22
|
+
let noun = 'Author'
|
|
23
|
+
if (authors?.length > 1) {
|
|
24
|
+
noun = 'Authors'
|
|
25
|
+
}
|
|
26
|
+
return `About the ${noun}`
|
|
27
|
+
})
|
|
28
|
+
</script>
|
|
29
|
+
<template>
|
|
30
|
+
<div class="AboutTheAuthor">
|
|
31
|
+
<h3 class="text-h4 sm:ml-[130px] pl-10 mb-6">
|
|
32
|
+
{{ headingString }}
|
|
33
|
+
</h3>
|
|
34
|
+
<template
|
|
35
|
+
v-for="(author, index) in authors"
|
|
36
|
+
:key="index"
|
|
37
|
+
>
|
|
38
|
+
<div
|
|
39
|
+
v-if="author.author"
|
|
40
|
+
class="sm:flex flex-row"
|
|
41
|
+
:class="{ ' mb-10 sm:mb-12': index + 1 !== authors.length }"
|
|
42
|
+
>
|
|
43
|
+
<div class="sm:mr-10">
|
|
44
|
+
<BaseImagePlaceholder
|
|
45
|
+
aspect-ratio="1:1"
|
|
46
|
+
class="relative mb-6 sm:mb-0 overflow-hidden rounded-full w-[130px]"
|
|
47
|
+
transparent-mode
|
|
48
|
+
no-logo
|
|
49
|
+
>
|
|
50
|
+
<BaseImage
|
|
51
|
+
v-if="author.author.image?.src"
|
|
52
|
+
:src="author.author.image.src.url"
|
|
53
|
+
:width="author.author.image.src.width"
|
|
54
|
+
:height="author.author.image.src.height"
|
|
55
|
+
:alt="author.author.name"
|
|
56
|
+
object-fit-class="cover"
|
|
57
|
+
image-class="can-hover:group-hover:delay-200 can-hover:group-hover:scale-100 absolute top-0 left-0 w-full transition-all duration-200 ease-in transform scale-105"
|
|
58
|
+
loading="lazy"
|
|
59
|
+
/>
|
|
60
|
+
</BaseImagePlaceholder>
|
|
61
|
+
</div>
|
|
62
|
+
<div>
|
|
63
|
+
<div class="mb-4">
|
|
64
|
+
<h3
|
|
65
|
+
v-if="author.author.name"
|
|
66
|
+
class="!font-medium !tracking-normal !text-lg mb-1"
|
|
67
|
+
>
|
|
68
|
+
{{ author.author.name }}
|
|
69
|
+
</h3>
|
|
70
|
+
<p
|
|
71
|
+
v-if="author.author.jobTitle || author.author.organization"
|
|
72
|
+
class="text-lg"
|
|
73
|
+
>
|
|
74
|
+
{{
|
|
75
|
+
(author.author.jobTitle ? author.author.jobTitle : '') +
|
|
76
|
+
(author.author.jobTitle && author.author.organization ? ', ' : '')
|
|
77
|
+
}}
|
|
78
|
+
{{ author.author.organization }}
|
|
79
|
+
</p>
|
|
80
|
+
</div>
|
|
81
|
+
<BlockText
|
|
82
|
+
v-if="author.author.biography"
|
|
83
|
+
:text="author.author.biography"
|
|
84
|
+
variant="small"
|
|
85
|
+
/>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
</template>
|
|
89
|
+
</div>
|
|
90
|
+
</template>
|
|
@@ -13,9 +13,9 @@ interface Variants {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export const variants: Variants = {
|
|
16
|
-
small: 'text-body-sm',
|
|
17
|
-
medium: 'text-body-md',
|
|
18
|
-
large: 'text-body-lg'
|
|
16
|
+
small: 'text-body-sm -small',
|
|
17
|
+
medium: 'text-body-md -medium',
|
|
18
|
+
large: 'text-body-lg -large'
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export default defineComponent({
|
|
@@ -140,7 +140,7 @@ export default defineComponent({
|
|
|
140
140
|
default: undefined
|
|
141
141
|
},
|
|
142
142
|
author: {
|
|
143
|
-
type: Object as PropType<AuthorObject | AuthorObject[]>,
|
|
143
|
+
type: Object as PropType<AuthorObject | { author: AuthorObject }[]>,
|
|
144
144
|
required: false,
|
|
145
145
|
default: undefined
|
|
146
146
|
},
|
|
@@ -208,11 +208,10 @@ export default defineComponent({
|
|
|
208
208
|
const returnDate = new Date(this.publicationDate + ' ' + currentTime)
|
|
209
209
|
return returnDate.toISOString()
|
|
210
210
|
},
|
|
211
|
-
authors():
|
|
211
|
+
authors(): AuthorObject[] | undefined {
|
|
212
212
|
let authors: AuthorObject[] | undefined = undefined
|
|
213
213
|
if (this.author && this.author.constructor === Array) {
|
|
214
214
|
authors = []
|
|
215
|
-
// @ts-expect-error we know it's an array at this point
|
|
216
215
|
this.author.forEach((author: { author: AuthorObject }) => {
|
|
217
216
|
// @ts-expect-error authors array is defined above
|
|
218
217
|
authors.push(author.author)
|
package/src/interfaces.ts
CHANGED
|
@@ -183,7 +183,10 @@ export interface Attributes {
|
|
|
183
183
|
|
|
184
184
|
export interface AuthorObject {
|
|
185
185
|
name: string
|
|
186
|
-
organization
|
|
186
|
+
organization?: string
|
|
187
|
+
image?: ImageObject
|
|
188
|
+
jobTitle?: string
|
|
189
|
+
biography?: string
|
|
187
190
|
}
|
|
188
191
|
|
|
189
192
|
export interface Topic {
|
|
@@ -262,6 +265,7 @@ export interface EduResourceStandardItem {
|
|
|
262
265
|
|
|
263
266
|
export interface PageEduResourcesObject extends PageObject {
|
|
264
267
|
hero?: StreamfieldBlockData[]
|
|
268
|
+
authors?: { author: AuthorObject }[]
|
|
265
269
|
primarySubject?: EduResourcesSubject
|
|
266
270
|
additionalSubjects?: EduResourcesSubject[]
|
|
267
271
|
gradeLevels?: EduResourcesGradeLevel[]
|
|
@@ -4,10 +4,10 @@ import { BlockImageCarouselData } from './../../../components/BlockImageCarousel
|
|
|
4
4
|
import { BlockImageComparisonData } from './../../../components/BlockImageComparison/BlockImageComparison.stories'
|
|
5
5
|
import { BaseVideoData } from './../../../components/BaseVideo/BaseVideo.stories'
|
|
6
6
|
import { BlockVideoEmbedData } from './../../../components/BlockVideoEmbed/BlockVideoEmbed.stories'
|
|
7
|
-
|
|
8
7
|
import { BlockRelatedLinksData } from './../../../components/BlockRelatedLinks/BlockRelatedLinks.stories.js'
|
|
9
8
|
import { BlockLinkCardCarouselData } from './../../../components/BlockLinkCarousel/BlockLinkCarousel.stories.js'
|
|
10
9
|
import { BlockStreamfieldTruncatedData } from './../../../components/BlockStreamfield/BlockStreamfield.stories'
|
|
10
|
+
import { AboutTheAuthorData } from './../../../components/AboutTheAuthor/AboutTheAuthor.stories'
|
|
11
11
|
import PageEduExplainerArticle from './PageEduExplainerArticle.vue'
|
|
12
12
|
|
|
13
13
|
export default {
|
|
@@ -41,6 +41,8 @@ export const BaseStory = {
|
|
|
41
41
|
url: 'http://localhost:3000/edu/resources/test-resource',
|
|
42
42
|
title: 'Test Resource',
|
|
43
43
|
readTime: '6 min read',
|
|
44
|
+
lastPublishedAt: '2024-08-22T02:33:13.507206+00:00',
|
|
45
|
+
authors: AboutTheAuthorData,
|
|
44
46
|
heroConstrain: true,
|
|
45
47
|
heroPosition: 'full_bleed',
|
|
46
48
|
hero: [
|
|
@@ -10,10 +10,12 @@ import BlockStreamfield from './../../../components/BlockStreamfield/BlockStream
|
|
|
10
10
|
import BlockRelatedLinks from '../../../components/BlockRelatedLinks/BlockRelatedLinks.vue'
|
|
11
11
|
import NavJumpMenu from './../../../components/NavJumpMenu/NavJumpMenu.vue'
|
|
12
12
|
import HeroInlineMedia from './../../../components/HeroInlineMedia/HeroInlineMedia.vue'
|
|
13
|
+
import AboutTheAuthor from './../../../components/AboutTheAuthor/AboutTheAuthor.vue'
|
|
13
14
|
|
|
14
15
|
export default defineComponent({
|
|
15
16
|
name: 'PageEduExplainerArticle',
|
|
16
17
|
components: {
|
|
18
|
+
AboutTheAuthor,
|
|
17
19
|
HeroMedia,
|
|
18
20
|
HeroInlineMedia,
|
|
19
21
|
LayoutHelper,
|
|
@@ -170,5 +172,26 @@ export default defineComponent({
|
|
|
170
172
|
:heading="data.relatedContentHeading"
|
|
171
173
|
:items="data.relatedContent"
|
|
172
174
|
/>
|
|
175
|
+
|
|
176
|
+
<LayoutHelper
|
|
177
|
+
v-if="data.authors?.length"
|
|
178
|
+
indent="col-3"
|
|
179
|
+
>
|
|
180
|
+
<AboutTheAuthor :authors="data.authors" />
|
|
181
|
+
</LayoutHelper>
|
|
182
|
+
|
|
183
|
+
<LayoutHelper
|
|
184
|
+
v-if="data.lastPublishedAt"
|
|
185
|
+
indent="col-3"
|
|
186
|
+
class="lg:my-18 my-10"
|
|
187
|
+
>
|
|
188
|
+
<p class="border-t border-gray-light-mid pt-8">
|
|
189
|
+
<strong>Explainer Article Last Updated:</strong>
|
|
190
|
+
{{
|
|
191
|
+
// @ts-ignore
|
|
192
|
+
$filters.displayDate(data.lastPublishedAt)
|
|
193
|
+
}}
|
|
194
|
+
</p>
|
|
195
|
+
</LayoutHelper>
|
|
173
196
|
</div>
|
|
174
197
|
</template>
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
BlockStreamfieldMinimalData
|
|
14
14
|
} from './../../../components/BlockStreamfield/BlockStreamfield.stories'
|
|
15
15
|
import PageEduLesson from './PageEduLesson.vue'
|
|
16
|
+
import { AboutTheAuthorData } from './../../../components/AboutTheAuthor/AboutTheAuthor.stories'
|
|
16
17
|
|
|
17
18
|
export default {
|
|
18
19
|
title: 'Templates/EDU/PageEduLesson',
|
|
@@ -50,6 +51,7 @@ export const BaseStory = {
|
|
|
50
51
|
original: 'http://127.0.0.1:9000/media/original_images/imagessirtfsirtf-090303-16.jpg',
|
|
51
52
|
alt: ''
|
|
52
53
|
},
|
|
54
|
+
authors: AboutTheAuthorData,
|
|
53
55
|
hero: [
|
|
54
56
|
{
|
|
55
57
|
...HeroMediaData,
|
|
@@ -19,6 +19,7 @@ import MetaPanel from '../../../components/MetaPanel/MetaPanel.vue'
|
|
|
19
19
|
import PageEduLessonSection, { type PageEduLessonSectionProps } from './PageEduLessonSection.vue'
|
|
20
20
|
import NavJumpMenu from './../../../components/NavJumpMenu/NavJumpMenu.vue'
|
|
21
21
|
import HeroInlineMedia from './../../../components/HeroInlineMedia/HeroInlineMedia.vue'
|
|
22
|
+
import AboutTheAuthor from './../../../components/AboutTheAuthor/AboutTheAuthor.vue'
|
|
22
23
|
|
|
23
24
|
import { HeadingLevel } from '../../../components/BaseHeading/BaseHeading.vue'
|
|
24
25
|
|
|
@@ -364,10 +365,17 @@ const consolidatedSections = computed((): EduLessonSectionObject[] => {
|
|
|
364
365
|
<BlockLinkCarousel
|
|
365
366
|
item-type="cards"
|
|
366
367
|
class="lg:my-24 my-12 print:px-4"
|
|
367
|
-
:heading="data.relatedContentHeading"
|
|
368
|
+
:heading="data.relatedContentHeading || 'Related Lessons & Projects'"
|
|
368
369
|
:items="data.relatedContent"
|
|
369
370
|
/>
|
|
370
371
|
|
|
372
|
+
<LayoutHelper
|
|
373
|
+
v-if="data.authors?.length"
|
|
374
|
+
indent="col-3"
|
|
375
|
+
>
|
|
376
|
+
<AboutTheAuthor :authors="data.authors" />
|
|
377
|
+
</LayoutHelper>
|
|
378
|
+
|
|
371
379
|
<LayoutHelper
|
|
372
380
|
v-if="data.lastPublishedAt"
|
|
373
381
|
indent="col-3"
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { HeroMediaData } from './../../../components/HeroMedia/HeroMedia.stories'
|
|
2
2
|
import { BlockStreamfieldData } from './../../../components/BlockStreamfield/BlockStreamfield.stories'
|
|
3
|
+
import { AboutTheAuthorData } from './../../../components/AboutTheAuthor/AboutTheAuthor.stories'
|
|
4
|
+
|
|
3
5
|
import PageEduNewsDetail from './PageEduNewsDetail.vue'
|
|
4
6
|
|
|
5
7
|
export default {
|
|
@@ -33,14 +35,7 @@ export const BaseStory = {
|
|
|
33
35
|
title: "NASA's Ingenuity Mars Helicopter Recharges Its Batteries in Flight",
|
|
34
36
|
publicationDate: '2024-06-20 20:36:49.657301+00:00',
|
|
35
37
|
readTime: '5 min read',
|
|
36
|
-
authors:
|
|
37
|
-
{
|
|
38
|
-
author: {
|
|
39
|
-
name: 'Author Name',
|
|
40
|
-
organization: 'Organization Name'
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
],
|
|
38
|
+
authors: AboutTheAuthorData,
|
|
44
39
|
getTopicsForDisplay: [
|
|
45
40
|
{
|
|
46
41
|
title: 'Mars',
|
|
@@ -10,6 +10,7 @@ import BlockImageStandard from './../../../components/BlockImage/BlockImageStand
|
|
|
10
10
|
import BlockText from './../../../components/BlockText/BlockText.vue'
|
|
11
11
|
import BlockStreamfield from './../../../components/BlockStreamfield/BlockStreamfield.vue'
|
|
12
12
|
import NavJumpMenu from './../../../components/NavJumpMenu/NavJumpMenu.vue'
|
|
13
|
+
import AboutTheAuthor from './../../../components/AboutTheAuthor/AboutTheAuthor.vue'
|
|
13
14
|
|
|
14
15
|
interface PageEduNewsDetailObject extends PageObject {
|
|
15
16
|
readTime: string
|
|
@@ -18,7 +19,7 @@ interface PageEduNewsDetailObject extends PageObject {
|
|
|
18
19
|
heroImageInline: ImageObject
|
|
19
20
|
heroConstrain: boolean
|
|
20
21
|
heroImageCaption: string
|
|
21
|
-
authors: AuthorObject[]
|
|
22
|
+
authors: { author: AuthorObject }[]
|
|
22
23
|
showJumpMenu: boolean
|
|
23
24
|
}
|
|
24
25
|
|
|
@@ -152,6 +153,14 @@ defineExpose({
|
|
|
152
153
|
:data="data.body"
|
|
153
154
|
/>
|
|
154
155
|
|
|
156
|
+
<LayoutHelper
|
|
157
|
+
v-if="data.authors?.length"
|
|
158
|
+
indent="col-3"
|
|
159
|
+
class="mb-10 lg:mb-22"
|
|
160
|
+
>
|
|
161
|
+
<AboutTheAuthor :authors="data.authors" />
|
|
162
|
+
</LayoutHelper>
|
|
163
|
+
|
|
155
164
|
<div class="bg-stars bg-primary-darker">
|
|
156
165
|
<div class="py-10 text-center text-white">
|
|
157
166
|
<strong>Related News goes here</strong>
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
BlockStreamfieldMinimalData
|
|
14
14
|
} from './../../../components/BlockStreamfield/BlockStreamfield.stories'
|
|
15
15
|
import PageEduTeachableMoment from './PageEduTeachableMoment.vue'
|
|
16
|
+
import { AboutTheAuthorData } from './../../../components/AboutTheAuthor/AboutTheAuthor.stories'
|
|
16
17
|
|
|
17
18
|
export default {
|
|
18
19
|
title: 'Templates/EDU/PageEduTeachableMoment',
|
|
@@ -47,6 +48,7 @@ export const BaseStory = {
|
|
|
47
48
|
original: 'http://127.0.0.1:9000/media/original_images/imagessirtfsirtf-090303-16.jpg',
|
|
48
49
|
alt: ''
|
|
49
50
|
},
|
|
51
|
+
authors: AboutTheAuthorData,
|
|
50
52
|
hero: [
|
|
51
53
|
{
|
|
52
54
|
...HeroMediaData,
|
|
@@ -11,6 +11,7 @@ import BlockStreamfield from './../../../components/BlockStreamfield/BlockStream
|
|
|
11
11
|
import BlockRelatedLinks from '../../../components/BlockRelatedLinks/BlockRelatedLinks.vue'
|
|
12
12
|
import NavJumpMenu from './../../../components/NavJumpMenu/NavJumpMenu.vue'
|
|
13
13
|
import HeroInlineMedia from './../../../components/HeroInlineMedia/HeroInlineMedia.vue'
|
|
14
|
+
import AboutTheAuthor from './../../../components/AboutTheAuthor/AboutTheAuthor.vue'
|
|
14
15
|
|
|
15
16
|
interface PageEduTeachableMomentProps {
|
|
16
17
|
data?: PageEduResourcesObject
|
|
@@ -142,14 +143,12 @@ const computedClass = computed((): string => {
|
|
|
142
143
|
<BlockRelatedLinks :data="data.relatedLinks[0]" />
|
|
143
144
|
</LayoutHelper>
|
|
144
145
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
:items="data.relatedContent"
|
|
152
|
-
/>
|
|
146
|
+
<LayoutHelper
|
|
147
|
+
v-if="data.authors?.length"
|
|
148
|
+
indent="col-3"
|
|
149
|
+
>
|
|
150
|
+
<AboutTheAuthor :authors="data.authors" />
|
|
151
|
+
</LayoutHelper>
|
|
153
152
|
|
|
154
153
|
<LayoutHelper
|
|
155
154
|
v-if="data.lastPublishedAt"
|