1
- import React , { useState } from "react" ;
2
- import Lottie from "react-lottie-player" ;
3
- import { render } from "storyblok-rich-text-react-renderer" ;
1
+ import React , { useState } from 'react'
2
+ import { render } from 'storyblok-rich-text-react-renderer'
4
3
5
4
const Timeline = ( { blok } ) => {
6
- let tablist = blok . watt_tab_list . slice ( 0 , 3 ) ;
7
- let last_list = blok . watt_tab_list . slice ( - 1 ) ;
5
+ const tablist = blok . watt_tab_list . slice ( 0 , 3 )
6
+ const lastList = blok . watt_tab_list . slice ( - 1 )
8
7
9
8
return (
10
- < section className = " w-full" >
11
- < section className = " flex flex-col md:flex-row justify-between gap-8" >
12
- < div className = " md:block absolute h-[800px] w-[600px] md:right-0 md:bottom-0 bottom-[-200px]" >
13
- < div className = " explore_side_bg w-full h-full" > </ div >
9
+ < section className = ' w-full' >
10
+ < section className = ' flex flex-col md:flex-row justify-between gap-8' >
11
+ < div className = ' md:block absolute h-[800px] w-[600px] md:right-0 md:bottom-0 bottom-[-200px]' >
12
+ < div className = ' explore_side_bg w-full h-full' / >
14
13
</ div >
15
- < div className = " flex-1" >
16
- < ol className = " relative timeline border-l border-s border-pyellow dark:border-pyellow list-none" >
14
+ < div className = ' flex-1' >
15
+ < ol className = ' relative timeline border-l border-s border-pyellow dark:border-pyellow list-none' >
17
16
{ tablist . map ( ( item , index ) => (
18
- < li key = { index } className = { `mb-10 ${ index === 2 ? " mb-0" : "" } ` } >
19
- < div className = " absolute z-20 w-8 h-8 p-[0.4rem] bg-pyellow/20 text-pyellow rounded-md -start-4 border border-white dark:border-pyellow dark:bg-pyellow/20 flex justify-center " >
17
+ < li key = { index } className = { `mb-10 ${ index === 2 ? ' mb-0' : '' } ` } >
18
+ < div className = ' absolute z-20 w-8 h-8 p-[0.4rem] bg-pyellow/20 text-pyellow rounded-md -start-4 border border-white dark:border-pyellow dark:bg-pyellow/20 flex justify-center ' >
20
19
< img
21
20
src = { item . icon . filename }
22
- className = " w-full h-full object-contain"
23
- alt = ""
21
+ className = ' w-full h-full object-contain'
22
+ alt = ''
24
23
/>
25
24
</ div >
26
25
27
- < div className = "" >
28
- < div className = " text-[16px] md:text-[18px] font-semibold text-pyellow dark:text-pyellow" >
29
- < p className = " m-0" > { render ( item . title ) } </ p >
26
+ < div className = '' >
27
+ < div className = ' text-[16px] md:text-[18px] font-semibold text-pyellow dark:text-pyellow' >
28
+ < p className = ' m-0' > { render ( item . title ) } </ p >
30
29
</ div >
31
- < p className = " text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white" >
30
+ < p className = ' text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white' >
32
31
{ render ( item . subtitle ) }
33
32
</ p >
34
- < p className = " mb-4 text-base font-normal text-white/70 dark:text-gray-400" >
33
+ < p className = ' mb-4 text-base font-normal text-white/70 dark:text-gray-400' >
35
34
{ render ( item . paragraph ) }
36
35
</ p >
37
36
</ div >
@@ -40,37 +39,37 @@ const Timeline = ({ blok }) => {
40
39
</ ol >
41
40
</ div >
42
41
43
- < div className = " flex-1" >
44
- < div className = " flex flex-col gap-4" >
45
- < div className = " relative mb-10 md:ms-4" >
46
- < div className = " absolute top-4 left-[-1rem] md:left-0 w-8 h-8 bg-pyellow/20 p-[0.4rem] rounded-md" >
47
- { " " }
42
+ < div className = ' flex-1' >
43
+ < div className = ' flex flex-col gap-4' >
44
+ < div className = ' relative mb-10 md:ms-4' >
45
+ < div className = ' absolute top-4 left-[-1rem] md:left-0 w-8 h-8 bg-pyellow/20 p-[0.4rem] rounded-md' >
46
+ { ' ' }
48
47
{ /* Added background color, spacing, and slightly rounded corners */ }
49
48
< img
50
- src = { last_list [ 0 ] . icon . filename }
51
- className = " w-full h-full object-contain"
52
- alt = ""
49
+ src = { lastList [ 0 ] . icon . filename }
50
+ className = ' w-full h-full object-contain'
51
+ alt = ''
53
52
/>
54
53
</ div >
55
- < div className = " pl-8 md:pl-12" >
56
- < div className = " text-[16px] md:text-[18px] font-semibold text-pyellow dark:text-pyellow" >
57
- < p className = " m-0" > { render ( last_list [ 0 ] . title ) } </ p >
54
+ < div className = ' pl-8 md:pl-12' >
55
+ < div className = ' text-[16px] md:text-[18px] font-semibold text-pyellow dark:text-pyellow' >
56
+ < p className = ' m-0' > { render ( lastList [ 0 ] . title ) } </ p >
58
57
</ div >
59
- < p className = " text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white" >
60
- { render ( last_list [ 0 ] . subtitle ) }
58
+ < p className = ' text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white' >
59
+ { render ( lastList [ 0 ] . subtitle ) }
61
60
</ p >
62
- < p className = " mb-4 text-base font-normal text-white/70 dark:text-gray-400" >
63
- { render ( last_list [ 0 ] . paragraph ) }
61
+ < p className = ' mb-4 text-base font-normal text-white/70 dark:text-gray-400' >
62
+ { render ( lastList [ 0 ] . paragraph ) }
64
63
</ p >
65
64
</ div >
66
65
</ div >
67
66
{ /* second */ }
68
- < div className = " flex flex-col items-center gap-4 border-solid border border-pyellow/20 rounded-xl p-4 py-12" >
69
- < div className = " w-25 h-25" >
67
+ < div className = ' flex flex-col items-center gap-4 border-solid border border-pyellow/20 rounded-xl p-4 py-12' >
68
+ < div className = ' w-25 h-25' >
70
69
< img
71
70
src = { blok . wa_bg . filename }
72
- className = " w-full h-full object-contain"
73
- alt = ""
71
+ className = ' w-full h-full object-contain'
72
+ alt = ''
74
73
/>
75
74
</ div >
76
75
@@ -86,132 +85,132 @@ const Timeline = ({ blok }) => {
86
85
</ div >
87
86
</ section >
88
87
</ section >
89
- ) ;
90
- } ;
88
+ )
89
+ }
91
90
92
91
const Timeline2 = ( { blok } ) => {
93
- let tablist = blok . watt_tab_list ;
92
+ const tablist = blok . watt_tab_list
94
93
95
94
return (
96
- < section className = " flex flex-col md:flex-row justify-between gap-8" >
97
- < div className = " flex-1" >
95
+ < section className = ' flex flex-col md:flex-row justify-between gap-8' >
96
+ < div className = ' flex-1' >
98
97
{ tablist . slice ( 0 , 2 ) . map ( ( item , index ) => (
99
- < div key = { index } className = " relative mb-10 md:ms-4" >
100
- < div className = " absolute top-4 left-0 w-8 h-8 bg-pblue/20 p-[0.4rem] rounded-md" >
101
- { " " }
98
+ < div key = { index } className = ' relative mb-10 md:ms-4' >
99
+ < div className = ' absolute top-4 left-0 w-8 h-8 bg-pblue/20 p-[0.4rem] rounded-md' >
100
+ { ' ' }
102
101
{ /* Added background color, spacing, and slightly rounded corners */ }
103
102
< img
104
103
src = { item . icon . filename }
105
- className = " w-full h-full object-contain"
106
- alt = ""
104
+ className = ' w-full h-full object-contain'
105
+ alt = ''
107
106
/>
108
107
</ div >
109
- < div className = " pl-12" >
110
- < div className = " text-[16px] md:text-[18px] font-semibold text-pblue dark:text-pblue" >
111
- < p className = " m-0" > { render ( item . title ) } </ p >
108
+ < div className = ' pl-12' >
109
+ < div className = ' text-[16px] md:text-[18px] font-semibold text-pblue dark:text-pblue' >
110
+ < p className = ' m-0' > { render ( item . title ) } </ p >
112
111
</ div >
113
- < p className = " text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white" >
112
+ < p className = ' text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white' >
114
113
{ render ( item . subtitle ) }
115
114
</ p >
116
- < p className = " mb-4 text-base font-normal text-white/70 dark:text-gray-400" >
115
+ < p className = ' mb-4 text-base font-normal text-white/70 dark:text-gray-400' >
117
116
{ render ( item . paragraph ) }
118
117
</ p >
119
118
</ div >
120
119
</ div >
121
120
) ) }
122
121
</ div >
123
- < div className = " flex-1" >
124
- < div className = " flex flex-col gap-4" >
122
+ < div className = ' flex-1' >
123
+ < div className = ' flex flex-col gap-4' >
125
124
< div >
126
- < div className = " relative mb-10 md:ms-4" >
127
- < div className = " absolute top-4 left-0 w-8 h-8 bg-pblue/20 p-[0.4rem] rounded-md" >
128
- { " " }
125
+ < div className = ' relative mb-10 md:ms-4' >
126
+ < div className = ' absolute top-4 left-0 w-8 h-8 bg-pblue/20 p-[0.4rem] rounded-md' >
127
+ { ' ' }
129
128
{ /* Added background color, spacing, and slightly rounded corners */ }
130
129
< img
131
130
src = { tablist [ 2 ] . icon . filename }
132
- className = " w-full h-full object-contain"
133
- alt = ""
131
+ className = ' w-full h-full object-contain'
132
+ alt = ''
134
133
/>
135
134
</ div >
136
- < div className = " pl-12" >
137
- < div className = " text-[16px] md:text-[18px] font-semibold text-pblue dark:text-pblue" >
138
- < p className = " m-0" > { render ( tablist [ 2 ] . title ) } </ p >
135
+ < div className = ' pl-12' >
136
+ < div className = ' text-[16px] md:text-[18px] font-semibold text-pblue dark:text-pblue' >
137
+ < p className = ' m-0' > { render ( tablist [ 2 ] . title ) } </ p >
139
138
</ div >
140
- < p className = " text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white" >
139
+ < p className = ' text-[16px] md:text-[18px] mb-4 italic font-normal text-white dark:text-white' >
141
140
{ render ( tablist [ 2 ] . subtitle ) }
142
141
</ p >
143
- < p className = " mb-4 text-base font-normal text-white/70 dark:text-gray-400" >
142
+ < p className = ' mb-4 text-base font-normal text-white/70 dark:text-gray-400' >
144
143
{ render ( tablist [ 2 ] . paragraph ) }
145
144
</ p >
146
145
</ div >
147
146
</ div >
148
147
</ div >
149
148
{ /* second */ }
150
- < div className = " flex flex-col items-center gap-4 border-solid border text-center border-pblue/20 rounded-xl p-4" >
151
- < p className = " text-white font-semibold text-[18px] max-w-[350px]" >
149
+ < div className = ' flex flex-col items-center gap-4 border-solid border text-center border-pblue/20 rounded-xl p-4' >
150
+ < p className = ' text-white font-semibold text-[18px] max-w-[350px]' >
152
151
{ render ( blok . waopen_text ) }
153
152
</ p >
154
- < div className = " flex gap-2" >
155
- < p className = " text-5xl font-extrabold mr-2" >
156
- { render ( blok . waopen_downloads . split ( " " ) [ 0 ] ) }
153
+ < div className = ' flex gap-2' >
154
+ < p className = ' text-5xl font-extrabold mr-2' >
155
+ { render ( blok . waopen_downloads . split ( ' ' ) [ 0 ] ) }
157
156
</ p >
158
157
159
- < p className = " text-base text-white/70 text-left max-w-[150px]" >
160
- { render ( blok . waopen_downloads . split ( " " ) . slice ( 1 ) . join ( " " ) ) }
158
+ < p className = ' text-base text-white/70 text-left max-w-[150px]' >
159
+ { render ( blok . waopen_downloads . split ( ' ' ) . slice ( 1 ) . join ( ' ' ) ) }
161
160
</ p >
162
161
</ div >
163
162
< a
164
- href = { "" }
165
- className = " inline-block px-4 py-2 bg-transparent text-white font-semibold outline outline-[1px] outline-white rounded-md hover:bg-pblue/80 transition-colors duration-300 shadow-cta-custom-black text-[16px] mt-4"
163
+ href = ''
164
+ className = ' inline-block px-4 py-2 bg-transparent text-white font-semibold outline outline-[1px] outline-white rounded-md hover:bg-pblue/80 transition-colors duration-300 shadow-cta-custom-black text-[16px] mt-4'
166
165
>
167
166
{ render ( blok . waopen_btn ) }
168
167
</ a >
169
168
</ div >
170
169
</ div >
171
170
</ div >
172
171
</ section >
173
- ) ;
174
- } ;
172
+ )
173
+ }
175
174
176
175
const Explore = ( { blok } ) => {
177
- const [ activeTab , setActiveTab ] = useState ( 0 ) ;
176
+ const [ activeTab , setActiveTab ] = useState ( 0 )
178
177
179
178
return (
180
- < section className = " z-[5] relative py-10 px-6 md:py-0 md:px-10 flex flex-col items-center border-y border-white/15 shadow-custom-black dark:drop-shadow-md overflow-hidden" >
179
+ < section className = ' z-[5] relative py-10 px-6 md:py-0 md:px-10 flex flex-col items-center border-y border-white/15 shadow-custom-black dark:drop-shadow-md overflow-hidden' >
181
180
{ /* Main container */ }
182
181
< div >
183
182
{ /* Header section */ }
184
- < div className = " text-center flex flex-col items-center" >
185
- < h2 className = " text-[28px] leading-[35px] sm:text-3xl md:text-[40px] md:leading-[54px] max-w-3xl mx-auto bg-clip-text text-transparent font-bold bg-gradient-to-t from-white to-gray-500" >
183
+ < div className = ' text-center flex flex-col items-center' >
184
+ < h2 className = ' text-[28px] leading-[35px] sm:text-3xl md:text-[40px] md:leading-[54px] max-w-3xl mx-auto bg-clip-text text-transparent font-bold bg-gradient-to-t from-white to-gray-500' >
186
185
{ render ( blok . Explore_platformatic [ 0 ] . title ) }
187
186
</ h2 >
188
- < p className = " text-white/70 text-base md:text-[18px] mx-auto sm:max-w-[550px]" >
187
+ < p className = ' text-white/70 text-base md:text-[18px] mx-auto sm:max-w-[550px]' >
189
188
{ render ( blok . Explore_platformatic [ 0 ] . paragraph ) }
190
189
</ p >
191
190
</ div >
192
191
{ /* Tabs section */ }
193
- < div className = " mt-8 w-full max-w-6xl mx-auto" >
192
+ < div className = ' mt-8 w-full max-w-6xl mx-auto' >
194
193
{ /* Tab buttons */ }
195
- < div className = " flex gap-4 justify-center items-center border-b border-white/20 mb-20" >
194
+ < div className = ' flex gap-4 justify-center items-center border-b border-white/20 mb-20' >
196
195
< p
197
196
className = { `px-3 py-1 text-[14px] border-none transition-all duration-300 cursor-pointer ${
198
- activeTab === 0 ? " rounded-2xl bg-pyellow/20 text-pyellow" : ""
197
+ activeTab === 0 ? ' rounded-2xl bg-pyellow/20 text-pyellow' : ''
199
198
} `}
200
199
onClick = { ( ) => setActiveTab ( 0 ) }
201
200
>
202
201
WATT
203
202
</ p >
204
203
< p
205
204
className = { `px-3 py-1 text-[14px] border-none transition-all duration-300 cursor-pointer ${
206
- activeTab === 1 ? " rounded-2xl bg-pblue/20 text-pblue" : ""
205
+ activeTab === 1 ? ' rounded-2xl bg-pblue/20 text-pblue' : ''
207
206
} `}
208
207
onClick = { ( ) => setActiveTab ( 1 ) }
209
208
>
210
209
OPEN SOURCE TOOLKIT
211
210
</ p >
212
211
</ div >
213
212
{ /* Tab content */ }
214
- < div className = " my-4" >
213
+ < div className = ' my-4' >
215
214
{ activeTab === 0 && (
216
215
< Timeline blok = { blok . Explore_platformatic [ 1 ] } />
217
216
) }
@@ -222,7 +221,7 @@ const Explore = ({ blok }) => {
222
221
</ div >
223
222
</ div >
224
223
</ section >
225
- ) ;
226
- } ;
224
+ )
225
+ }
227
226
228
- export default Explore ;
227
+ export default Explore
0 commit comments