@@ -13,25 +13,62 @@ import MonitorVideo from "@site/static/img/groot2_monitor.mp4";
1313import LogVideo from "@site/static/img/groot2_log.mp4" ;
1414
1515function Check ( props ) {
16- return < img src = { useBaseUrl ( "img/check.png" ) } width = "15" alt = " yes" /> ;
16+ return < img src = { useBaseUrl ( "img/check.png" ) } width = '15' alt = ' yes' /> ;
1717}
1818function Cross ( props ) {
19- return < img src = { useBaseUrl ( "img/cross.png" ) } width = "15" alt = "no" /> ;
19+ return < img src = { useBaseUrl ( "img/cross.png" ) } width = '15' alt = 'no' /> ;
2020}
2121export default function Groot ( ) {
22-
22+ const obj = [
23+ {
24+ name : "Basic" ,
25+ price : "Free" ,
26+ durance : "" ,
27+ points : [
28+ "Full Behavior Tree Editor" ,
29+ "Real-time Monitoring (max 20 Nodes)" ,
30+ "Log Visualization (max 20 Nodes)" ,
31+ "Not for commercial use" ,
32+ ] ,
33+ btn : "Download" ,
34+ } ,
35+ {
36+ name : "PRO (floating license)" ,
37+ price : "€790" ,
38+ durance : " / year" ,
39+ points : [
40+ "Search Nodes in large trees" ,
41+ "Unlimited Number of Nodes in Monitor and Log Visualizer" ,
42+ "Interactive real-time debugging" ,
43+ "Technical support" ,
44+ ] ,
45+ btn : "Licensing page" ,
46+ } ,
47+ {
48+ name : "PRO (source code)" ,
49+ price : "Contact us" ,
50+ durance : "" ,
51+ points : [
52+ "All the features in PRO" ,
53+ "Access to the source code" ,
54+ "Site license with unlimited number of seats." ,
55+ ] ,
56+ btn : "Contact us" ,
57+ } ,
58+ ] ;
59+ console . log ( obj ) ;
2360 useEffect ( ( ) => {
2461 openPopup ( ) ;
25- ( window . plausible =
62+ window . plausible =
2663 window . plausible ||
2764 function ( ) {
2865 ( window . plausible . q = window . plausible . q || [ ] ) . push ( arguments ) ;
29- } )
66+ } ;
3067 } , [ ] ) ;
3168
3269 const renderTooltip = ( message , props ) => {
3370 return (
34- < Tooltip id = " button-tooltip" className = { styles . toolTip } { ...props } >
71+ < Tooltip id = ' button-tooltip' className = { styles . toolTip } { ...props } >
3572 { message }
3673 </ Tooltip >
3774 ) ;
@@ -70,162 +107,238 @@ export default function Groot() {
70107 ( " " ) ;
71108 }
72109 mootrack ( "loadForm" , "419144d798774876bcfcd1e1f0b6a2ad" ) ;
73-
74110 } ;
75111
76112 return (
77- < Layout title = " Groot" description = " Groot Editor" >
113+ < Layout title = ' Groot' description = ' Groot Editor' >
78114 { /* groot intro */ }
79115 < Head >
80116 < script
81117 defer
82- file-types = "run,AppImage"
83- data-domain = "behaviortree.dev"
84- src = "https://plausible.io/js/script.file-downloads.js"
85- > </ script >
118+ file-types = 'run,AppImage'
119+ data-domain = 'behaviortree.dev'
120+ src = 'https://plausible.io/js/script.file-downloads.js' > </ script >
86121 < script
87122 defer
88- data-domain = "behaviortree.dev"
89- src = "https://plausible.io/js/script.js"
90- > </ script >
123+ data-domain = 'behaviortree.dev'
124+ src = 'https://plausible.io/js/script.js' > </ script >
91125 </ Head >
126+
92127 < div className = { clsx ( "hero hero--dark" , styles . heroBanner ) } >
93- < div className = " container " >
94- < div className = " row align-items-center" >
95- < div className = " col col--5" >
96- < h1 className = " hero__title " > Groot2</ h1 >
97- < p className = " hero__subtitle" >
98- The IDE to create and debug Behavior Trees.
99- </ p >
100- < div className = { styles . buttonGroup } >
101- { /* <Link
128+ < div className = ' container ' >
129+ < div className = ' row align-items-center' >
130+ < div className = ' col col--5' >
131+ < h1 className = ' hero__title ' > Groot2</ h1 >
132+ < p className = ' hero__subtitle' >
133+ The IDE to create and debug Behavior Trees.
134+ </ p >
135+ < div className = { styles . buttonGroup } >
136+ { /* <Link
102137 className="button button--primary button--lg umami--click--signup-button"
103138 to="https://airtable.com/shrTx7NgRIa0cKlK8">
104139 Keep me up to date
105140 </Link> */ }
106- < button
107- data-mooform-id = "419144d7-9877-4876-bcfc-d1e1f0b6a2ad"
108- className = "button button--primary button--lg umami--click--signup-button"
109- onClick = { openPopup }
110- >
111- Keep me up to date
112- </ button >
113- </ div >
114- </ div >
115- < div className = "col col--7" >
141+ < button
142+ data-mooform-id = '419144d7-9877-4876-bcfc-d1e1f0b6a2ad'
143+ className = 'button button--primary button--lg umami--click--signup-button'
144+ onClick = { openPopup } >
145+ Keep me up to date
146+ </ button >
147+ </ div >
148+ </ div >
149+ < div className = 'col col--7' >
116150 < img src = { useBaseUrl ( "img/groot2.png" ) } />
117151 </ div >
118- </ div >
152+ </ div >
119153 </ div >
120154 </ div >
121155
122156 < div className = { `styles.sectionText` } >
123157 < div className = { `container text--left ${ styles . sectionText } ` } >
124- < div className = " row" >
125- < div className = " col col--7" >
126- < video src = { EditorVideo } muted loop autoPlay width = " 100%" > </ video >
158+ < div className = ' row' >
159+ < div className = ' col col--7' >
160+ < video src = { EditorVideo } muted loop autoPlay width = ' 100%' > </ video >
127161 </ div >
128- < div className = " col col--5" >
162+ < div className = ' col col--5' >
129163 < h1 > BT Editor</ h1 >
130164 < ul >
131165 < li > Create and edit trees, using a drag and drop interface.</ li >
132166 < li > Manage large projects and multiple files.</ li >
133167 < li > Compatible with both BT.CPP 3 and 4</ li >
134168 < li > Split view to visualize multiple trees at once.</ li >
135169 < li > Preview the XML in real-time.</ li >
136- < li > Node Search capability (PRO)</ li >
170+ < li > Search Nodes in large trees (PRO)</ li >
137171 </ ul >
138172 < br />
139173 </ div >
140-
141174 </ div >
142175 </ div >
143176 </ div >
144177
145178 < div className = { `styles.sectionText` } >
146179 < div className = { `container text--left ${ styles . sectionText } ` } >
147- < div className = " row" >
148- < div className = " col col--5" >
180+ < div className = ' row' >
181+ < div className = ' col col--5' >
149182 < h1 > Real-time Monitor</ h1 >
150183 < ul >
151- < li > Connect to a running BT.CPP executor and visualize its state in real-time.</ li >
152- < li > Record all transitions into a log file, to analyze them later.</ li >
184+ < li >
185+ Connect to a running BT.CPP executor and visualize its state
186+ in real-time.
187+ </ li >
188+ < li >
189+ Record all transitions into a log file, to analyze them later.
190+ </ li >
153191 < li > Visualize the content of the blackboard (PRO)</ li >
154192 < li > Add interactive breakpoints and fault injection (PRO)</ li >
155- < li > Substitute any Nodes with dummy ones, at run-time (PRO). </ li >
193+ < li >
194+ Substitute any Nodes with dummy ones, at run-time (PRO).{ " " }
195+ </ li >
156196 </ ul >
157197 < br />
158198 </ div >
159- < div className = "col col--7" >
160- < video src = { MonitorVideo } muted loop autoPlay width = "100%" > </ video >
199+ < div className = 'col col--7' >
200+ < video
201+ src = { MonitorVideo }
202+ muted
203+ loop
204+ autoPlay
205+ width = '100%' > </ video >
161206 </ div >
162207 </ div >
163208 </ div >
164209 </ div >
165210
166211 < div className = { `styles.sectionText` } >
167212 < div className = { `container text--left ${ styles . sectionText } ` } >
168- < div className = " row" >
169- < div className = " col col--7" >
170- < video src = { LogVideo } muted loop autoPlay width = " 100%" > </ video >
213+ < div className = ' row' >
214+ < div className = ' col col--7' >
215+ < video src = { LogVideo } muted loop autoPlay width = ' 100%' > </ video >
171216 </ div >
172- < div className = " col col--5" >
217+ < div className = ' col col--5' >
173218 < h1 > Log Visualization</ h1 >
174219 < ul >
175- < li > Open logs and replay the execution of the tree at different speeds.</ li >
176- < li > Visualize how long a Node has been in the RUNNING state.</ li >
177- < li > View and export statistics about the number of times Nodes returned a status.</ li >
220+ < li >
221+ Open logs and replay the execution of the tree at different
222+ speeds.
223+ </ li >
224+ < li >
225+ Visualize how long a Node has been in the RUNNING state.
226+ </ li >
227+ < li >
228+ View and export statistics about the number of times Nodes
229+ returned a status.
230+ </ li >
178231 </ ul >
179232 < br />
180233 </ div >
181-
182234 </ div >
183235 </ div >
184236 </ div >
185237
238+ < div
239+ className = { `${ styles . sectionSeparator } container` } >
240+ Pricing
241+ </ div >
242+
243+ < div className = { `styles.sectionText` } >
244+ < div className = { `container ` } >
245+ < div className = { `row` } id = 'row_price' >
246+ { obj ?. map ( ( item ) => (
247+ < div
248+ className = 'col col--4 '
249+ id = 'card_col'
250+ style = { {
251+ display : "flex" ,
252+ justifyContent : "center" ,
253+ } } >
254+ < div id = 'card' >
255+ < div id = 'card_header' > { item . name } </ div >
256+ < div id = 'price_row' >
257+ < div id = 'price' > { item . price } </ div >
258+ < div id = 'durance' > { item . durance } </ div >
259+ </ div >
260+
261+ < ul id = 'point_stack' as = 'ul' >
262+ { item . points . map ( ( p ) => (
263+ < li id = 'point' as = 'li' >
264+ { p }
265+ </ li >
266+ ) ) }
267+ </ ul >
268+
269+ < button className = 'button button--md umami--click' id = 'btn' >
270+ { item . btn }
271+ </ button >
272+ </ div >
273+ </ div >
274+ ) ) }
275+ </ div >
276+ < div className = 'row' >
277+ < div className = 'col col--2 ' > </ div >
278+ < div className = 'col col--8 ' >
279+ < h1 id = 'pricingHead' > Our commitment to the community</ h1 >
280+ < ul >
281+ < li id = 'text' >
282+ < span id = 'text_head' > Free for researchers:</ span > if you are a
283+ student or researcher, you can receive a complementary 1
284+ year license. Fill this form to tell us more about you.
285+ </ li >
286+
287+ < li id = 'text' >
288+ < span id = 'text_head' > Source code escrow:</ span > if Auryn Robotics,
289+ the company behind Groot2, becomes unable to support and maintain it,
290+ its source code will be released open source under the Apache License, Version 2.0.
291+ </ li >
292+ </ ul >
293+ < br />
294+ </ div >
295+ < div className = 'col col--2 ' > </ div >
296+ </ div >
297+ </ div >
298+ </ div >
186299 { /* groot download */ }
187300 < div
188- className = { `${ styles . sectionText } container ${ styles . flexCol } gap-5 ` }
189- >
190- < h1 > Download Groot 2</ h1 >
191- < h3 > Version: 1.0.1 (Released 2023-07-07)</ h3 >
301+ className = { `${ styles . sectionSeparator } container` } >
302+ Download
303+ </ div >
304+
305+ < div
306+ className = { `${ styles . sectionText } container ${ styles . flexCol } gap-5 ` } >
307+ < h3 > Latest release: 1.0.1 (2023-07-07)</ h3 >
192308 < div className = { styles . downloadGroup } >
193309 < div >
194310 < img
195311 className = { styles . downloadLogo }
196312 src = { useBaseUrl ( "img/windows.png" ) }
197- alt = " windows logo"
313+ alt = ' windows logo'
198314 />
199315 < Link
200316 onclick = "fathom.trackGoal('I8XXZTK4', 0);"
201- to = "https://s3.us-west-1.amazonaws.com/download.behaviortree.dev/groot2_windows_installer/Groot2-1.0.1-windows-installer.exe"
202- >
317+ to = 'https://s3.us-west-1.amazonaws.com/download.behaviortree.dev/groot2_windows_installer/Groot2-1.0.1-windows-installer.exe' >
203318 Download Windows installer
204319 </ Link >
205320 </ div >
206321 < div >
207322 < img
208323 className = { styles . downloadLogo }
209324 src = { useBaseUrl ( "img/linux.png" ) }
210- alt = " linux logo"
325+ alt = ' linux logo'
211326 />
212327 < Link
213328 onclick = "fathom.trackGoal('VGT2ANC4', 0);"
214- to = "https://s3.us-west-1.amazonaws.com/download.behaviortree.dev/groot2_linux_installer/Groot2-1.0.1-linux-installer.run"
215- >
329+ to = 'https://s3.us-west-1.amazonaws.com/download.behaviortree.dev/groot2_linux_installer/Groot2-1.0.1-linux-installer.run' >
216330 Download Linux installer
217331 </ Link >
218332 </ div >
219333 < div >
220334 < img
221335 className = { styles . downloadLogo }
222336 src = { useBaseUrl ( "img/appimage.png" ) }
223- alt = " appimage logo"
337+ alt = ' appimage logo'
224338 />
225339 < Link
226340 onclick = "fathom.trackGoal('DIQDUTJ2', 0);"
227- to = "https://s3.us-west-1.amazonaws.com/download.behaviortree.dev/groot2_linux_installer/Groot2-v1.0.1-x86_64.AppImage"
228- >
341+ to = 'https://s3.us-west-1.amazonaws.com/download.behaviortree.dev/groot2_linux_installer/Groot2-v1.0.1-x86_64.AppImage' >
229342 Download AppImage (Linux)
230343 </ Link >
231344 </ div >
0 commit comments