PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.3
Presto Player v4.3.3
4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / src / admin / dashboard / lib / bsf-learn / components / learn-how / RenderContent.js
presto-player / src / admin / dashboard / lib / bsf-learn / components / learn-how Last commit date
Button.js 2 months ago Checklist.js 2 months ago Image.js 2 months ago Link.js 2 months ago List.js 2 months ago Paragraph.js 2 months ago RenderContent.js 2 months ago Video.js 2 months ago
RenderContent.js
69 lines
1 import Button from './Button';
2 import Checklist from './Checklist';
3 import Image from './Image';
4 import Link from './Link';
5 import List from './List';
6 import Paragraph from './Paragraph';
7 import Video from './Video';
8
9 const RenderContent = ( { items } ) => {
10 // Ensure items is always an array
11 if ( ! Array.isArray( items ) ) {
12 items = [ items ];
13 }
14
15 return items?.map( ( item, index ) => {
16 switch ( item.type ) {
17 case 'video':
18 return (
19 <Video
20 key={ index }
21 url={ item.data.url }
22 title={ item.data.title }
23 />
24 );
25 case 'image':
26 return (
27 <Image
28 key={ index }
29 src={ item.data.src }
30 alt={ item.data.alt }
31 />
32 );
33 case 'link':
34 return (
35 <Link
36 key={ index }
37 prefix={ item.prefix }
38 text={ item.data.text }
39 url={ item.data.url }
40 target={ item.data.target }
41 />
42 );
43 case 'heading':
44 return <Paragraph key={ index } text={ item.text } isHeading />;
45 case 'paragraph':
46 case 'text':
47 return <Paragraph key={ index } text={ item.text } />;
48 case 'list':
49 return <List key={ index } items={ item.data.items } />;
50 case 'checklist':
51 return <Checklist key={ index } items={ item.data.items } />;
52 case 'button':
53 return (
54 <Button
55 key={ index }
56 onClick={ () =>
57 window.open( item.data.url, item.data.target )
58 }
59 { ...item.data }
60 />
61 );
62 default:
63 return null;
64 }
65 } );
66 };
67
68 export default RenderContent;
69