hr-design-system-handlebars 1.36.3 → 1.37.0
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/CHANGELOG.md +12 -0
- package/dist/assets/brand/_default/conf/locatags.json +2 -0
- package/dist/assets/brand/you-fm/icons/logo/svgmap.min.svg +1 -1
- package/dist/assets/icons/icons/svgmap/pause.svg +2 -2
- package/dist/assets/icons/icons/svgmap/play-wide.svg +1 -1
- package/dist/assets/icons/icons/svgmap.min.svg +1 -1
- package/dist/assets/index.css +9 -7
- package/dist/assets/js/components/article/components/podcast/podcastChannelRemainingEpisodesLoader.feature.js +47 -0
- package/dist/views/components/article/components/podcast/podcast_episode_article.hbs +40 -0
- package/dist/views/components/article/components/podcast/podcast_playlist-inline.hbs +1 -0
- package/dist/views/components/article/components/podcast/podcast_playlist_all_episodes.hbs +45 -0
- package/dist/views/components/article/components/podcast/podcast_playlist_article.hbs +60 -0
- package/dist/views/components/podcast/components/podcast_player_shorttext.hbs +1 -1
- package/dist/views/components/podcast/podcast_playlist_player-inline.hbs +22 -0
- package/dist/views/components/podcast/podcast_playlist_player.hbs +3 -21
- package/dist/views/components/podcast/podcast_playlist_player_all_episodes.hbs +65 -0
- package/dist/views/components/teaser/podcast/podcast-playlist.hbs +1 -1
- package/dist/views_static/components/article/components/podcast/podcast_episode_article.hbs +40 -0
- package/dist/views_static/components/article/components/podcast/podcast_playlist-inline.hbs +1 -0
- package/dist/views_static/components/article/components/podcast/podcast_playlist_all_episodes.hbs +45 -0
- package/dist/views_static/components/article/components/podcast/podcast_playlist_article.hbs +60 -0
- package/dist/views_static/components/podcast/components/podcast_player_shorttext.hbs +1 -1
- package/dist/views_static/components/podcast/podcast_playlist_player-inline.hbs +22 -0
- package/dist/views_static/components/podcast/podcast_playlist_player.hbs +3 -21
- package/dist/views_static/components/podcast/podcast_playlist_player_all_episodes.hbs +65 -0
- package/dist/views_static/components/teaser/podcast/podcast-playlist.hbs +1 -1
- package/package.json +1 -1
- package/src/assets/brand/_default/conf/locatags.json +2 -0
- package/src/assets/brand/hessenschau/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr-bigband/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr-fernsehen/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr-inforadio/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr-werbung/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr1/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr2/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr3/conf/locatags.merged.json +2 -0
- package/src/assets/brand/hr4/conf/locatags.merged.json +2 -0
- package/src/assets/brand/you-fm/conf/locatags.merged.json +2 -0
- package/src/assets/brand/you-fm/icons/logo/svgmap.min.svg +1 -1
- package/src/assets/fixtures/article/components/podcast/podcast_player_episode.json +1 -1
- package/src/assets/fixtures/article/components/podcast/podcast_player_playlist.json +142 -0
- package/src/assets/icons/icons/svgmap/pause.svg +2 -2
- package/src/assets/icons/icons/svgmap/play-wide.svg +1 -1
- package/src/assets/icons/icons/svgmap.min.svg +1 -1
- package/src/stories/views/components/article/components/podcast/fixtures/podcast_player_episode.json +1 -1
- package/src/stories/views/components/article/components/podcast/fixtures/podcast_player_playlist.json +1 -0
- package/src/stories/views/components/article/components/podcast/podcastChannelRemainingEpisodesLoader.feature.js +47 -0
- package/src/stories/views/components/article/components/podcast/podcast_episode_article.hbs +40 -0
- package/src/stories/views/components/article/components/podcast/{podcast_player_episode.mdx → podcast_episode_article.mdx} +2 -2
- package/src/stories/views/components/article/components/podcast/{podcast_player_episode.stories.js → podcast_episode_article.stories.js} +2 -2
- package/src/stories/views/components/article/components/podcast/podcast_playlist-inline.hbs +1 -0
- package/src/stories/views/components/article/components/podcast/podcast_playlist_all_episodes.hbs +45 -0
- package/src/stories/views/components/article/components/podcast/podcast_playlist_article.hbs +60 -0
- package/src/stories/views/components/article/components/podcast/podcast_playlist_article.mdx +21 -0
- package/src/stories/views/components/article/components/podcast/podcast_playlist_article.stories.js +18 -0
- package/src/stories/views/components/podcast/components/podcast_player_shorttext.hbs +1 -1
- package/src/stories/views/components/podcast/podcast_playlist_player-inline.hbs +22 -0
- package/src/stories/views/components/podcast/podcast_playlist_player.hbs +3 -21
- package/src/stories/views/components/podcast/podcast_playlist_player_all_episodes.hbs +65 -0
- package/src/stories/views/components/teaser/podcast/podcast-playlist.hbs +1 -1
- package/dist/views/components/article/components/podcast/podcast_player_episode.hbs +0 -13
- package/dist/views/components/article/components/podcast/podcast_player_playlist.hbs +0 -0
- package/dist/views_static/components/article/components/podcast/podcast_player_episode.hbs +0 -13
- package/dist/views_static/components/article/components/podcast/podcast_player_playlist.hbs +0 -0
- package/src/stories/views/components/article/components/podcast/podcast_player_episode.hbs +0 -13
- package/src/stories/views/components/article/components/podcast/podcast_player_playlist.hbs +0 -0
package/dist/assets/index.css
CHANGED
|
@@ -1147,6 +1147,12 @@ video {
|
|
|
1147
1147
|
.col-span-12 {
|
|
1148
1148
|
grid-column: span 12 / span 12;
|
|
1149
1149
|
}
|
|
1150
|
+
.col-span-3 {
|
|
1151
|
+
grid-column: span 3 / span 3;
|
|
1152
|
+
}
|
|
1153
|
+
.col-span-8 {
|
|
1154
|
+
grid-column: span 8 / span 8;
|
|
1155
|
+
}
|
|
1150
1156
|
.col-span-full {
|
|
1151
1157
|
grid-column: 1 / -1;
|
|
1152
1158
|
}
|
|
@@ -3034,7 +3040,7 @@ video {
|
|
|
3034
3040
|
border-bottom-color: var(--color-secondary-ds);
|
|
3035
3041
|
}
|
|
3036
3042
|
.counter-reset {
|
|
3037
|
-
counter-reset:
|
|
3043
|
+
counter-reset: cnt1694081209121;
|
|
3038
3044
|
}
|
|
3039
3045
|
.hyphens-auto {
|
|
3040
3046
|
-webkit-hyphens: auto;
|
|
@@ -3269,7 +3275,7 @@ video {
|
|
|
3269
3275
|
--tw-ring-color: rgba(255, 255, 255, 0.5);
|
|
3270
3276
|
}
|
|
3271
3277
|
.-ordered {
|
|
3272
|
-
counter-increment:
|
|
3278
|
+
counter-increment: cnt1694081209121 1;
|
|
3273
3279
|
}
|
|
3274
3280
|
.-ordered::before {
|
|
3275
3281
|
position: absolute;
|
|
@@ -3285,7 +3291,7 @@ video {
|
|
|
3285
3291
|
letter-spacing: .0125em;
|
|
3286
3292
|
--tw-text-opacity: 1;
|
|
3287
3293
|
color: rgba(0, 0, 0, var(--tw-text-opacity));
|
|
3288
|
-
content: counter(
|
|
3294
|
+
content: counter(cnt1694081209121);
|
|
3289
3295
|
}
|
|
3290
3296
|
/*! ****************************/
|
|
3291
3297
|
/*! DataPolicy stuff */
|
|
@@ -5609,10 +5615,6 @@ video {
|
|
|
5609
5615
|
padding-top: 1rem;
|
|
5610
5616
|
}
|
|
5611
5617
|
|
|
5612
|
-
.md\:pt-5 {
|
|
5613
|
-
padding-top: 1.25rem;
|
|
5614
|
-
}
|
|
5615
|
-
|
|
5616
5618
|
.md\:pt-7 {
|
|
5617
5619
|
padding-top: 1.75rem;
|
|
5618
5620
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { fireEvent, hr$, listen } from 'hrQuery'
|
|
2
|
+
import $ from 'zepto-modules'
|
|
3
|
+
|
|
4
|
+
require('zepto-modules/callbacks')
|
|
5
|
+
require('zepto-modules/deferred')
|
|
6
|
+
const PodcastChannelRemainingEpisodesLoader = function (context) {
|
|
7
|
+
'use strict'
|
|
8
|
+
const { options } = context,
|
|
9
|
+
{ element: rootElement } = context,
|
|
10
|
+
dynLoadTrigSelector = options.dynLoadTrigSelector,
|
|
11
|
+
dynLoadTrigElement = hr$(dynLoadTrigSelector, rootElement)[0],
|
|
12
|
+
dynLoadReplaceSelector = options.dynLoadReplaceSelector,
|
|
13
|
+
url = options.url
|
|
14
|
+
|
|
15
|
+
const handleDynLoad = function (event) {
|
|
16
|
+
event.preventDefault()
|
|
17
|
+
dynLoadTrigElement.classList.add('-loading')
|
|
18
|
+
ajaxLoad(event.currentTarget, true)
|
|
19
|
+
}
|
|
20
|
+
const ajaxLoad = function (target, push, cache) {
|
|
21
|
+
$.ajax({
|
|
22
|
+
type: 'GET',
|
|
23
|
+
dataType: 'html',
|
|
24
|
+
url: url,
|
|
25
|
+
timeout: 90 * 1000,
|
|
26
|
+
cache: cache && true,
|
|
27
|
+
beforeSend: function () {
|
|
28
|
+
console.log('beforeSend')
|
|
29
|
+
},
|
|
30
|
+
})
|
|
31
|
+
.done(function (data, status, xhr) {
|
|
32
|
+
hr$(dynLoadReplaceSelector)[0].outerHTML = data
|
|
33
|
+
|
|
34
|
+
setTimeout(function () {
|
|
35
|
+
fireEvent('hr:podcastChannel:episodeReload')
|
|
36
|
+
dynLoadTrigElement.remove()
|
|
37
|
+
}, 1000)
|
|
38
|
+
})
|
|
39
|
+
.fail(function (data, status, xhr) {
|
|
40
|
+
dynLoadTrigElement.classList.remove('-loading')
|
|
41
|
+
console.log('fail')
|
|
42
|
+
})
|
|
43
|
+
}
|
|
44
|
+
listen('click', handleDynLoad, dynLoadTrigElement)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default PodcastChannelRemainingEpisodesLoader
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<article class="grid grid-page">
|
|
2
|
+
<div class="col-span-12 my-6 bg-highlight-1 rounded-tl-hr rounded-br-hr" >
|
|
3
|
+
{{> components/podcast/podcast_player _linkTitle="true" _isSinglePage=false _type="podcastEpisodePlayer"}}
|
|
4
|
+
</div>
|
|
5
|
+
<div class="order-1 col-span-8 px-5">
|
|
6
|
+
{{> components/podcast/components/podcast_player_shorttext }}
|
|
7
|
+
</div>
|
|
8
|
+
<div class="order-3 col-span-8">
|
|
9
|
+
{{> components/content/content_footer/content_footer
|
|
10
|
+
_author=this.audioAuthor
|
|
11
|
+
_showDate=this.hasDwellTime
|
|
12
|
+
_date=this.airdateDate
|
|
13
|
+
_copyright=this.copyright
|
|
14
|
+
_isArchiveContent=this.isArchiveContent
|
|
15
|
+
_posterCopyright="poster_copyright"}}
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<aside class="order-4 col-full md:order-2 md:col-span-4"
|
|
19
|
+
aria-label='{{loca "appendix_title"}}'>
|
|
20
|
+
<div class="c-appendix">
|
|
21
|
+
{{#unless _webview}}
|
|
22
|
+
{{~#with this.backLinkUrl ~}}
|
|
23
|
+
{{~> components/base/link/backlink _addClass="appendix__backlink" ~}}
|
|
24
|
+
{{~/with~}}
|
|
25
|
+
|
|
26
|
+
{{~#with this.geotag ~}}
|
|
27
|
+
{{~> modules/geotag/geotag-list ~}}
|
|
28
|
+
{{~/with~}}
|
|
29
|
+
|
|
30
|
+
{{~#with this.topictags ~}}
|
|
31
|
+
{{~> modules/topictag/topictag-list ~}}
|
|
32
|
+
{{~/with~}}
|
|
33
|
+
|
|
34
|
+
{{~#with this.socialSharing ~}}
|
|
35
|
+
{{~> modules/socialmedia/shareit ~}}
|
|
36
|
+
{{~/with~}}
|
|
37
|
+
{{/unless}}
|
|
38
|
+
</div>
|
|
39
|
+
</aside>
|
|
40
|
+
</article>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{> components/podcast/podcast_playlist_player-inline }}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<article class="grid grid-page">
|
|
2
|
+
<div class="grid grid-cols-12 col-full sm:col-main gap-x-6 gap-y-10 md:gap-y-14">
|
|
3
|
+
<div class="order-1 w-full col-span-12 my-6 md:col-span-9 bg-highlight-1 rounded-tl-hr rounded-br-hr" >
|
|
4
|
+
{{> components/podcast/podcast_playlist_player_all_episodes _isArticlePlayer=true}}
|
|
5
|
+
</div>
|
|
6
|
+
<aside class="grid order-2 col-span-3" aria-label='{{loca "appendix_title"}}'>
|
|
7
|
+
<div class="c-appendix">
|
|
8
|
+
{{#unless _webview}}
|
|
9
|
+
{{~#with this.backLinkUrl ~}}
|
|
10
|
+
{{~> base/link/backlink _addClass="appendix__backlink" ~}}
|
|
11
|
+
{{~/with~}}
|
|
12
|
+
|
|
13
|
+
{{~#with this.socialSharing ~}}
|
|
14
|
+
{{~> modules/socialmedia/shareit ~}}
|
|
15
|
+
{{~/with~}}
|
|
16
|
+
{{/unless}}
|
|
17
|
+
{{~#with this.programReference~}}
|
|
18
|
+
{{~#if this.hasReference~}}
|
|
19
|
+
<div class="appendix__entry">
|
|
20
|
+
{{> modules/program_reference/program_reference }}
|
|
21
|
+
</div>
|
|
22
|
+
{{~/if~}}
|
|
23
|
+
{{~/with~}}
|
|
24
|
+
{{~#with this.appendixLinks~}}
|
|
25
|
+
|
|
26
|
+
<div class="appendix__entry">
|
|
27
|
+
<div class="o-layout">
|
|
28
|
+
<h4 class="appendix__headline text__headline">{{../this.appendixLinksTitle}}</h4>
|
|
29
|
+
<ul class="list -appendix -vertical">
|
|
30
|
+
{{#each this}}
|
|
31
|
+
<li class="list__item -noIndent">
|
|
32
|
+
{{#decorator "base/link/link" _cssClasses="touchArea"}}
|
|
33
|
+
{{this.content.title}}{{~#if
|
|
34
|
+
this.hasIcon}}{{~> components/base/image/icon _icon=this.iconName _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if~}}
|
|
35
|
+
{{/decorator}}
|
|
36
|
+
</li>
|
|
37
|
+
{{/each}}
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
{{~/with~}}
|
|
42
|
+
</div>
|
|
43
|
+
</aside>
|
|
44
|
+
</div>
|
|
45
|
+
</article>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<article class="grid grid-page">
|
|
2
|
+
<div class="grid grid-cols-12 col-full sm:col-main gap-x-6 gap-y-10 md:gap-y-14">
|
|
3
|
+
<div class="order-1 w-full col-span-12 my-6 md:col-span-9 bg-highlight-1 rounded-tl-hr rounded-br-hr" >
|
|
4
|
+
{{> components/podcast/podcast_playlist_player _isArticlePlayer=true}}
|
|
5
|
+
|
|
6
|
+
{{~#if this.remainingPlaylistItems}}
|
|
7
|
+
<div class="flex items-center justify-center pb-5 js-load"
|
|
8
|
+
data-hr-podcast-channel-remaining-episodes-loader='{"dynLoadTrigSelector":".js-load-remaining-items-button","dynLoadReplaceSelector":".js-placeholder-reload", "url":"{{this.reloadUrl}}"}'>
|
|
9
|
+
{{#> components/button/link_button _size="lg" _title="Weitere Episoden laden" _type="button" _css="js-load-remaining-items-button" _link=this.allEpisodeUrl }}
|
|
10
|
+
{{> components/button/components/button_label _label="Weitere Episoden laden"}}
|
|
11
|
+
{{> components/button/components/button_icon _icon="reload" _iconmap="icons"}}
|
|
12
|
+
{{/components/button/link_button}}
|
|
13
|
+
{{#*inline "htmlProperties"}}
|
|
14
|
+
data-hr-click-tracking='{"settings": [{"type": "uxAction", "clickLabel": "weitereEpisodenLaden:ButtonClick"}]}'
|
|
15
|
+
{{/inline}}
|
|
16
|
+
</div>
|
|
17
|
+
<div class="js-placeholder-reload"></div>
|
|
18
|
+
{{~/if~}}
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<aside class="grid order-2 col-span-3 py-6" aria-label='{{loca "appendix_title"}}'>
|
|
22
|
+
<div class="c-appendix">
|
|
23
|
+
{{#unless _webview}}
|
|
24
|
+
{{~#with this.backLinkUrl ~}}
|
|
25
|
+
{{~> base/link/backlink _addClass="appendix__backlink" ~}}
|
|
26
|
+
{{~/with~}}
|
|
27
|
+
|
|
28
|
+
{{~#with this.socialSharing ~}}
|
|
29
|
+
{{~> modules/socialmedia/shareit ~}}
|
|
30
|
+
{{~/with~}}
|
|
31
|
+
{{/unless}}
|
|
32
|
+
{{~#with this.programReference~}}
|
|
33
|
+
{{~#if this.hasReference~}}
|
|
34
|
+
<div class="appendix__entry">
|
|
35
|
+
{{> modules/program_reference/program_reference }}
|
|
36
|
+
</div>
|
|
37
|
+
{{~/if~}}
|
|
38
|
+
{{~/with~}}
|
|
39
|
+
{{~#with this.appendixLinks~}}
|
|
40
|
+
|
|
41
|
+
<div class="appendix__entry">
|
|
42
|
+
<div class="o-layout">
|
|
43
|
+
<h4 class="appendix__headline text__headline">{{../this.appendixLinksTitle}}</h4>
|
|
44
|
+
<ul class="list -appendix -vertical">
|
|
45
|
+
{{#each this}}
|
|
46
|
+
<li class="list__item -noIndent">
|
|
47
|
+
{{#decorator "base/link/link" _cssClasses="touchArea"}}
|
|
48
|
+
{{this.content.title}}{{~#if
|
|
49
|
+
this.hasIcon}}{{~> components/base/image/icon _icon=this.iconName _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if~}}
|
|
50
|
+
{{/decorator}}
|
|
51
|
+
</li>
|
|
52
|
+
{{/each}}
|
|
53
|
+
</ul>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
{{~/with~}}
|
|
57
|
+
</div>
|
|
58
|
+
</aside>
|
|
59
|
+
</div>
|
|
60
|
+
</article>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{#unless _isSinglePage}}
|
|
2
2
|
{{#unless this.hideShortText}}
|
|
3
3
|
{{~#with this.shorttext}}
|
|
4
|
-
<div class="col-span-12
|
|
4
|
+
<div class="col-span-12 text-sm md:text-base font-copy c-podcastEpisodePlayer__shortText">
|
|
5
5
|
<span class="c-teaser__shorttext"> {{this}} </span>
|
|
6
6
|
</div>
|
|
7
7
|
{{/with~}}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{{~#with this.remainingPlaylistItems}}
|
|
2
|
+
|
|
3
|
+
<div class="flex flex-col col-span-12 gap-5 px-5"
|
|
4
|
+
x-data="playaudio()"
|
|
5
|
+
x-init="listenToGlobalStop()"
|
|
6
|
+
ax-load
|
|
7
|
+
x-ignore
|
|
8
|
+
ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
|
|
9
|
+
{{#each this}}
|
|
10
|
+
<div class="flex pb-5 {{#if @first}}pt-5 border-t border-white {{/if}}{{#unless @last}}border-white border-b{{/unless}}">
|
|
11
|
+
{{> components/podcast/components/podcast_player_ui
|
|
12
|
+
_isPlaylistPlayer=true
|
|
13
|
+
_podcastDuration=this.duration
|
|
14
|
+
_title=this.title
|
|
15
|
+
_id=(nextRandom)
|
|
16
|
+
_first=@first
|
|
17
|
+
}}
|
|
18
|
+
</div>
|
|
19
|
+
{{/each}}
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
{{/with~}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="flex
|
|
1
|
+
<div class="flex w-full py-5 border-b border-white">
|
|
2
2
|
<div class="flex flex-col grow">
|
|
3
3
|
{{!-- First Row --}}
|
|
4
4
|
<div class="flex flex-row px-5 md:pl-5 {{#if ../_ordered}} pl-8 {{/if}} ">
|
|
@@ -18,25 +18,17 @@
|
|
|
18
18
|
{{> components/podcast/components/podcast_title _title=this.title _teaserSize=this.realTeaserSize _addClass="" }}
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
{{!-- {{#switch this.realTeaserSize }}
|
|
22
|
-
{{#case "100"}}
|
|
23
|
-
{{> components/podcast/components/podcast_playlist_shorttext}}
|
|
24
|
-
{{/case}}
|
|
25
|
-
{{/switch}} --}}
|
|
26
|
-
|
|
27
21
|
{{> components/podcast/components/podcast_playlist_shorttext}}
|
|
28
22
|
|
|
29
23
|
{{!-- Abo-Dropdown --}}
|
|
30
24
|
{{#if this.isSingleChannel}}
|
|
31
|
-
|
|
32
25
|
{{> components/podcast/components/podcast_subscribe_button}}
|
|
33
|
-
|
|
34
26
|
{{/if}}
|
|
35
27
|
</div>
|
|
36
28
|
|
|
37
29
|
{{!-- Podcast Image --}}
|
|
38
30
|
<div class="flex flex-col pb-5">
|
|
39
|
-
<div class="w-22 {{inline-switch this.realTeaserSize '["100","50"]' '["md:w-32 lg:w-42","md:w-22 lg:w-32", ""]'}}">
|
|
31
|
+
<div class="w-22 {{#if _isArticlePlayer}} md:w-32 lg:w-42{{else}}{{inline-switch this.realTeaserSize '["100","50"]' '["md:w-32 lg:w-42","md:w-22 lg:w-32", ""]'}}{{/if}} ">
|
|
40
32
|
{{> components/base/image/responsive_image this.teaseritem
|
|
41
33
|
_type="podcastEpisodePlayer"
|
|
42
34
|
_variant="default"
|
|
@@ -47,21 +39,11 @@
|
|
|
47
39
|
</div>
|
|
48
40
|
</div>
|
|
49
41
|
</div>
|
|
50
|
-
|
|
51
|
-
{{!-- {{#switch this.realTeaserSize }}
|
|
52
|
-
{{#case "50"}}
|
|
53
|
-
<div class="flex flex-row w-full px-5 md:pl-5">
|
|
54
|
-
{{> components/podcast/components/podcast_playlist_shorttext}}
|
|
55
|
-
</div>
|
|
56
|
-
{{/case}}
|
|
57
|
-
{{/switch}} --}}
|
|
58
|
-
|
|
59
|
-
|
|
60
42
|
</div>
|
|
61
43
|
</div>
|
|
62
44
|
|
|
63
45
|
{{!-- Player UI --}}
|
|
64
|
-
<div class="flex flex-col col-span-12 gap-5 px-5"
|
|
46
|
+
<div class="flex flex-col col-span-12 gap-5 px-5 {{#if _isArticlePlayer }}pt-5 {{/if}} "
|
|
65
47
|
x-data="playaudio()"
|
|
66
48
|
x-init="listenToGlobalStop()"
|
|
67
49
|
ax-load
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<div class="flex w-full pb-5 border-b border-white">
|
|
2
|
+
<div class="flex flex-col grow">
|
|
3
|
+
{{!-- First Row --}}
|
|
4
|
+
<div class="flex flex-row px-5 md:pl-5 {{#if ../_ordered}} pl-8 {{/if}} ">
|
|
5
|
+
<div class="flex flex-col pr-5 grow">
|
|
6
|
+
<div class="flex max-h-6">
|
|
7
|
+
{{!-- Label / Airdate --}}
|
|
8
|
+
{{#with label}}
|
|
9
|
+
<span
|
|
10
|
+
class='sb-label mr-2 rounded px-1.5 pt-px inline-block tracking-wide text-white text-base leading-5.5 font-heading bg-labelMedia'>
|
|
11
|
+
{{ loca this.loca }}
|
|
12
|
+
</span>
|
|
13
|
+
{{/with}}
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
{{!-- Überschrift: --}}
|
|
17
|
+
<div class="flex pb-5 pr-2 md:pr-5">
|
|
18
|
+
{{> components/podcast/components/podcast_title _title=this.title _teaserSize=this.realTeaserSize _addClass="" }}
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
{{> components/podcast/components/podcast_playlist_shorttext}}
|
|
22
|
+
|
|
23
|
+
{{!-- Abo-Dropdown --}}
|
|
24
|
+
{{#if this.isSingleChannel}}
|
|
25
|
+
{{> components/podcast/components/podcast_subscribe_button}}
|
|
26
|
+
{{/if}}
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
{{!-- Podcast Image --}}
|
|
31
|
+
<div class="flex flex-col pb-5">
|
|
32
|
+
<div class="w-22 {{inline-switch this.realTeaserSize '["100","50"]' '["md:w-32 lg:w-42","md:w-22 lg:w-32", ""]'}}">
|
|
33
|
+
{{> components/base/image/responsive_image this.teaseritem
|
|
34
|
+
_type="podcastEpisodePlayer"
|
|
35
|
+
_variant="default"
|
|
36
|
+
_addClass="overflow-hidden"
|
|
37
|
+
_noDelay=this.dontLazyload
|
|
38
|
+
_addClassImg="w-full block"
|
|
39
|
+
}}
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
{{!-- Player UI --}}
|
|
48
|
+
<div class="flex flex-col col-span-12 gap-5 px-5"
|
|
49
|
+
x-data="playaudio()"
|
|
50
|
+
x-init="listenToGlobalStop()"
|
|
51
|
+
ax-load
|
|
52
|
+
x-ignore
|
|
53
|
+
ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
|
|
54
|
+
{{#each this.allPlaylistItems}}
|
|
55
|
+
<div class="flex pb-5 {{#unless @last}}border-white border-b{{/unless}}">
|
|
56
|
+
{{> components/podcast/components/podcast_player_ui
|
|
57
|
+
_isPlaylistPlayer=true
|
|
58
|
+
_podcastDuration=this.duration
|
|
59
|
+
_title=this.title
|
|
60
|
+
_id=(nextRandom)
|
|
61
|
+
_first=@first
|
|
62
|
+
}}
|
|
63
|
+
</div>
|
|
64
|
+
{{/each}}
|
|
65
|
+
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="
|
|
1
|
+
<div class="flex gap-y-6 relative gap-x-4 flex-col mx-5 sm:mx-0 bg-highlight-1 rounded-tl-hr rounded-br-hr col-span-12{{inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
|
|
2
2
|
{{> components/podcast/podcast_playlist_player _linkTitle="true" _isSinglePage=false _type="podcastPlaylistPlayerTeaser" }}
|
|
3
3
|
</div>
|
|
4
4
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<article class="grid grid-page">
|
|
2
|
+
<div class="col-span-12 my-6 bg-highlight-1 rounded-tl-hr rounded-br-hr" >
|
|
3
|
+
{{> components/podcast/podcast_player _linkTitle="true" _isSinglePage=false _type="podcastEpisodePlayer"}}
|
|
4
|
+
</div>
|
|
5
|
+
<div class="order-1 col-span-8 px-5">
|
|
6
|
+
{{> components/podcast/components/podcast_player_shorttext }}
|
|
7
|
+
</div>
|
|
8
|
+
<div class="order-3 col-span-8">
|
|
9
|
+
{{> components/content/content_footer/content_footer
|
|
10
|
+
_author=this.audioAuthor
|
|
11
|
+
_showDate=this.hasDwellTime
|
|
12
|
+
_date=this.airdateDate
|
|
13
|
+
_copyright=this.copyright
|
|
14
|
+
_isArchiveContent=this.isArchiveContent
|
|
15
|
+
_posterCopyright="poster_copyright"}}
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<aside class="order-4 col-full md:order-2 md:col-span-4"
|
|
19
|
+
aria-label='{{loca "appendix_title"}}'>
|
|
20
|
+
<div class="c-appendix">
|
|
21
|
+
{{#unless _webview}}
|
|
22
|
+
{{~#with this.backLinkUrl ~}}
|
|
23
|
+
{{~> components/base/link/backlink _addClass="appendix__backlink" ~}}
|
|
24
|
+
{{~/with~}}
|
|
25
|
+
|
|
26
|
+
{{~#with this.geotag ~}}
|
|
27
|
+
{{~> modules/geotag/geotag-list ~}}
|
|
28
|
+
{{~/with~}}
|
|
29
|
+
|
|
30
|
+
{{~#with this.topictags ~}}
|
|
31
|
+
{{~> modules/topictag/topictag-list ~}}
|
|
32
|
+
{{~/with~}}
|
|
33
|
+
|
|
34
|
+
{{~#with this.socialSharing ~}}
|
|
35
|
+
{{~> modules/socialmedia/shareit ~}}
|
|
36
|
+
{{~/with~}}
|
|
37
|
+
{{/unless}}
|
|
38
|
+
</div>
|
|
39
|
+
</aside>
|
|
40
|
+
</article>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{> components/podcast/podcast_playlist_player-inline }}
|
package/dist/views_static/components/article/components/podcast/podcast_playlist_all_episodes.hbs
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<article class="grid grid-page">
|
|
2
|
+
<div class="grid grid-cols-12 col-full sm:col-main gap-x-6 gap-y-10 md:gap-y-14">
|
|
3
|
+
<div class="order-1 w-full col-span-12 my-6 md:col-span-9 bg-highlight-1 rounded-tl-hr rounded-br-hr" >
|
|
4
|
+
{{> components/podcast/podcast_playlist_player_all_episodes _isArticlePlayer=true}}
|
|
5
|
+
</div>
|
|
6
|
+
<aside class="grid order-2 col-span-3" aria-label='{{loca "appendix_title"}}'>
|
|
7
|
+
<div class="c-appendix">
|
|
8
|
+
{{#unless _webview}}
|
|
9
|
+
{{~#with this.backLinkUrl ~}}
|
|
10
|
+
{{~> base/link/backlink _addClass="appendix__backlink" ~}}
|
|
11
|
+
{{~/with~}}
|
|
12
|
+
|
|
13
|
+
{{~#with this.socialSharing ~}}
|
|
14
|
+
{{~> modules/socialmedia/shareit ~}}
|
|
15
|
+
{{~/with~}}
|
|
16
|
+
{{/unless}}
|
|
17
|
+
{{~#with this.programReference~}}
|
|
18
|
+
{{~#if this.hasReference~}}
|
|
19
|
+
<div class="appendix__entry">
|
|
20
|
+
{{> modules/program_reference/program_reference }}
|
|
21
|
+
</div>
|
|
22
|
+
{{~/if~}}
|
|
23
|
+
{{~/with~}}
|
|
24
|
+
{{~#with this.appendixLinks~}}
|
|
25
|
+
|
|
26
|
+
<div class="appendix__entry">
|
|
27
|
+
<div class="o-layout">
|
|
28
|
+
<h4 class="appendix__headline text__headline">{{../this.appendixLinksTitle}}</h4>
|
|
29
|
+
<ul class="list -appendix -vertical">
|
|
30
|
+
{{#each this}}
|
|
31
|
+
<li class="list__item -noIndent">
|
|
32
|
+
{{#decorator "base/link/link" _cssClasses="touchArea"}}
|
|
33
|
+
{{this.content.title}}{{~#if
|
|
34
|
+
this.hasIcon}}{{~> components/base/image/icon _icon=this.iconName _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if~}}
|
|
35
|
+
{{/decorator}}
|
|
36
|
+
</li>
|
|
37
|
+
{{/each}}
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
{{~/with~}}
|
|
42
|
+
</div>
|
|
43
|
+
</aside>
|
|
44
|
+
</div>
|
|
45
|
+
</article>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<article class="grid grid-page">
|
|
2
|
+
<div class="grid grid-cols-12 col-full sm:col-main gap-x-6 gap-y-10 md:gap-y-14">
|
|
3
|
+
<div class="order-1 w-full col-span-12 my-6 md:col-span-9 bg-highlight-1 rounded-tl-hr rounded-br-hr" >
|
|
4
|
+
{{> components/podcast/podcast_playlist_player _isArticlePlayer=true}}
|
|
5
|
+
|
|
6
|
+
{{~#if this.remainingPlaylistItems}}
|
|
7
|
+
<div class="flex items-center justify-center pb-5 js-load"
|
|
8
|
+
data-hr-podcast-channel-remaining-episodes-loader='{"dynLoadTrigSelector":".js-load-remaining-items-button","dynLoadReplaceSelector":".js-placeholder-reload", "url":"{{this.reloadUrl}}"}'>
|
|
9
|
+
{{#> components/button/link_button _size="lg" _title="Weitere Episoden laden" _type="button" _css="js-load-remaining-items-button" _link=this.allEpisodeUrl }}
|
|
10
|
+
{{> components/button/components/button_label _label="Weitere Episoden laden"}}
|
|
11
|
+
{{> components/button/components/button_icon _icon="reload" _iconmap="icons"}}
|
|
12
|
+
{{/components/button/link_button}}
|
|
13
|
+
{{#*inline "htmlProperties"}}
|
|
14
|
+
data-hr-click-tracking='{"settings": [{"type": "uxAction", "clickLabel": "weitereEpisodenLaden:ButtonClick"}]}'
|
|
15
|
+
{{/inline}}
|
|
16
|
+
</div>
|
|
17
|
+
<div class="js-placeholder-reload"></div>
|
|
18
|
+
{{~/if~}}
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<aside class="grid order-2 col-span-3 py-6" aria-label='{{loca "appendix_title"}}'>
|
|
22
|
+
<div class="c-appendix">
|
|
23
|
+
{{#unless _webview}}
|
|
24
|
+
{{~#with this.backLinkUrl ~}}
|
|
25
|
+
{{~> base/link/backlink _addClass="appendix__backlink" ~}}
|
|
26
|
+
{{~/with~}}
|
|
27
|
+
|
|
28
|
+
{{~#with this.socialSharing ~}}
|
|
29
|
+
{{~> modules/socialmedia/shareit ~}}
|
|
30
|
+
{{~/with~}}
|
|
31
|
+
{{/unless}}
|
|
32
|
+
{{~#with this.programReference~}}
|
|
33
|
+
{{~#if this.hasReference~}}
|
|
34
|
+
<div class="appendix__entry">
|
|
35
|
+
{{> modules/program_reference/program_reference }}
|
|
36
|
+
</div>
|
|
37
|
+
{{~/if~}}
|
|
38
|
+
{{~/with~}}
|
|
39
|
+
{{~#with this.appendixLinks~}}
|
|
40
|
+
|
|
41
|
+
<div class="appendix__entry">
|
|
42
|
+
<div class="o-layout">
|
|
43
|
+
<h4 class="appendix__headline text__headline">{{../this.appendixLinksTitle}}</h4>
|
|
44
|
+
<ul class="list -appendix -vertical">
|
|
45
|
+
{{#each this}}
|
|
46
|
+
<li class="list__item -noIndent">
|
|
47
|
+
{{#decorator "base/link/link" _cssClasses="touchArea"}}
|
|
48
|
+
{{this.content.title}}{{~#if
|
|
49
|
+
this.hasIcon}}{{~> components/base/image/icon _icon=this.iconName _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if~}}
|
|
50
|
+
{{/decorator}}
|
|
51
|
+
</li>
|
|
52
|
+
{{/each}}
|
|
53
|
+
</ul>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
{{~/with~}}
|
|
57
|
+
</div>
|
|
58
|
+
</aside>
|
|
59
|
+
</div>
|
|
60
|
+
</article>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{#unless _isSinglePage}}
|
|
2
2
|
{{#unless this.hideShortText}}
|
|
3
3
|
{{~#with this.shorttext}}
|
|
4
|
-
<div class="col-span-12
|
|
4
|
+
<div class="col-span-12 text-sm md:text-base font-copy c-podcastEpisodePlayer__shortText">
|
|
5
5
|
<span class="c-teaser__shorttext"> {{this}} </span>
|
|
6
6
|
</div>
|
|
7
7
|
{{/with~}}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{{~#with this.remainingPlaylistItems}}
|
|
2
|
+
|
|
3
|
+
<div class="flex flex-col col-span-12 gap-5 px-5"
|
|
4
|
+
x-data="playaudio()"
|
|
5
|
+
x-init="listenToGlobalStop()"
|
|
6
|
+
ax-load
|
|
7
|
+
x-ignore
|
|
8
|
+
ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
|
|
9
|
+
{{#each this}}
|
|
10
|
+
<div class="flex pb-5 {{#if @first}}pt-5 border-t border-white {{/if}}{{#unless @last}}border-white border-b{{/unless}}">
|
|
11
|
+
{{> components/podcast/components/podcast_player_ui
|
|
12
|
+
_isPlaylistPlayer=true
|
|
13
|
+
_podcastDuration=this.duration
|
|
14
|
+
_title=this.title
|
|
15
|
+
_id=(nextRandom)
|
|
16
|
+
_first=@first
|
|
17
|
+
}}
|
|
18
|
+
</div>
|
|
19
|
+
{{/each}}
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
{{/with~}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div class="flex
|
|
1
|
+
<div class="flex w-full py-5 border-b border-white">
|
|
2
2
|
<div class="flex flex-col grow">
|
|
3
3
|
{{!-- First Row --}}
|
|
4
4
|
<div class="flex flex-row px-5 md:pl-5 {{#if ../_ordered}} pl-8 {{/if}} ">
|
|
@@ -18,25 +18,17 @@
|
|
|
18
18
|
{{> components/podcast/components/podcast_title _title=this.title _teaserSize=this.realTeaserSize _addClass="" }}
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
{{!-- {{#switch this.realTeaserSize }}
|
|
22
|
-
{{#case "100"}}
|
|
23
|
-
{{> components/podcast/components/podcast_playlist_shorttext}}
|
|
24
|
-
{{/case}}
|
|
25
|
-
{{/switch}} --}}
|
|
26
|
-
|
|
27
21
|
{{> components/podcast/components/podcast_playlist_shorttext}}
|
|
28
22
|
|
|
29
23
|
{{!-- Abo-Dropdown --}}
|
|
30
24
|
{{#if this.isSingleChannel}}
|
|
31
|
-
|
|
32
25
|
{{> components/podcast/components/podcast_subscribe_button}}
|
|
33
|
-
|
|
34
26
|
{{/if}}
|
|
35
27
|
</div>
|
|
36
28
|
|
|
37
29
|
{{!-- Podcast Image --}}
|
|
38
30
|
<div class="flex flex-col pb-5">
|
|
39
|
-
<div class="w-22 {{inline-switch this.realTeaserSize '["100","50"]' '["md:w-32 lg:w-42","md:w-22 lg:w-32", ""]'}}">
|
|
31
|
+
<div class="w-22 {{#if _isArticlePlayer}} md:w-32 lg:w-42{{else}}{{inline-switch this.realTeaserSize '["100","50"]' '["md:w-32 lg:w-42","md:w-22 lg:w-32", ""]'}}{{/if}} ">
|
|
40
32
|
{{> components/base/image/responsive_image this.teaseritem
|
|
41
33
|
_type="podcastEpisodePlayer"
|
|
42
34
|
_variant="default"
|
|
@@ -47,21 +39,11 @@
|
|
|
47
39
|
</div>
|
|
48
40
|
</div>
|
|
49
41
|
</div>
|
|
50
|
-
|
|
51
|
-
{{!-- {{#switch this.realTeaserSize }}
|
|
52
|
-
{{#case "50"}}
|
|
53
|
-
<div class="flex flex-row w-full px-5 md:pl-5">
|
|
54
|
-
{{> components/podcast/components/podcast_playlist_shorttext}}
|
|
55
|
-
</div>
|
|
56
|
-
{{/case}}
|
|
57
|
-
{{/switch}} --}}
|
|
58
|
-
|
|
59
|
-
|
|
60
42
|
</div>
|
|
61
43
|
</div>
|
|
62
44
|
|
|
63
45
|
{{!-- Player UI --}}
|
|
64
|
-
<div class="flex flex-col col-span-12 gap-5 px-5"
|
|
46
|
+
<div class="flex flex-col col-span-12 gap-5 px-5 {{#if _isArticlePlayer }}pt-5 {{/if}} "
|
|
65
47
|
x-data="playaudio()"
|
|
66
48
|
x-init="listenToGlobalStop()"
|
|
67
49
|
ax-load
|