src/ApplicationBundle/Modules/HoneybeeWeb/Resources/views/website/diagnostic-panel.html.twig line 1

Open in your IDE?
  1. <div data-diagnostic-panel>
  2. {% if state %}
  3. <section class="section hbp-diagnostic" data-diagnostic-path="{{ state.path }}" data-diagnostic-step="{{ step }}" data-diagnostic-result="{{ result ? result.code : '' }}"><div class="wrap hbp-diagnostic-wrap">
  4. <a class="textlink" href="{{ path('honeybee_website_diagnostic') }}" data-diagnostic-reset>Choose a different problem →</a>
  5. {% if diagnostic_error %}<p class="hbp-diagnostic-error" role="alert">{{ diagnostic_error }}</p>{% endif %}
  6. {% if result %}
  7. <span class="eyebrow hbp-fit-status">{{ result.fit }}</span><h2 data-diagnostic-heading tabindex="-1">{{ result.title }}</h2>
  8. <p class="lead">A starting recommendation based on your answers. Scope and suitability are reviewed with you.</p>
  9. <div class="hbp-diagnostic-result-grid"><div class="hbp-diagnostic-scope"><h3>Why this starting scope</h3><ul>{% for reason in result.reasons %}<li>{{ reason }}</li>{% endfor %}</ul><h3>Start by reviewing</h3><ul>{% for module in result.modules %}<li>{{ module }}</li>{% endfor %}</ul>
  10. <details class="hbp-heard-details"><summary>What we heard</summary><dl class="hbp-heard">{% for item in result.heard %}<dt>{{ item.question }}</dt><dd>{% for answer in item.answers %}<span>{{ answer }}</span>{% endfor %}</dd>{% endfor %}</dl></details>
  11. <form action="{{ path('honeybee_website_diagnostic') }}" method="post"><input type="hidden" name="state" value="{{ state|json_encode }}"><input type="hidden" name="step" value="{{ total }}"><button class="textlink" name="action" value="back">Change my answers</button></form>
  12. {% if result.screen %}<a class="textlink" href="{{ path(result.route) }}">Explore the suggested product →</a>{% endif %}</div>
  13. {% if result.screen %}<div data-diagnostic-proof class="hbp-result-visual"><span class="eyebrow">See the relevant interface</span>{% include '@HoneybeeWeb/website/product-screen.html.twig' with {screen_key:result.screen} only %}<a class="textlink" href="{{ path('honeybee_customers') }}" data-diagnostic-proof-link>Discuss available customer evidence →</a></div>{% endif %}</div>
  14. {% if result.screen %}
  15. <div class="hbp-diagnostic-price" data-diagnostic-pricing><h2>Indicative starting price</h2>
  16. {% if result.family == 'business' %}<p><span>Manage seat</span>: €{{ prices.business.admin }} <span>/ user / month</span></p><p class="note">Workflow scope, roles and implementation are agreed separately.</p>
  17. {% elseif result.code == 'feasibility' %}<p>Start with the free public Solar Studio.</p><a class="textlink" data-wa="trial_start" href="{{ path('honeybee_tool',{slug:'rooftop-estimate'}) }}">Try Solar Studio →</a>
  18. {% elseif result.family == 'engineering' %}<p><span>Detailed engineering, up to 100 kWp</span>: €{{ prices.honeywatt.detailed_100kwp }} <span>/ project</span></p><p class="note">Larger projects, additional outputs and entitlements follow the pricing schedule.</p>
  19. {% else %}<p>Software is scoped by site and requirements. Hardware, interfaces and commissioning are assessed separately.</p><a class="textlink" href="{{ path('honeybee_tool',{slug:'site-assessment-estimator'}) }}">Try the site assessment estimator →</a>{% endif %}
  20. <a class="textlink" href="{{ path('honeybee_pricing', {scope:result.family == 'engineering' ? 'honeywatt' : result.family}) }}" data-diagnostic-price-link>Review detailed pricing →</a></div>
  21. {% endif %}
  22. <details class="hbp-diagnostic-contact"><summary>{{ result.cta }} <span aria-hidden="true">→</span></summary><h2>Would you like us to review this with you?</h2><p>Your answers will accompany your request. You do not need to repeat them.</p>
  23. <form data-diagnostic-contact method="post" action="{{ path('honeybee_intent_request',{intent:'demo'}) }}">
  24. <input type="hidden" name="diagnostic" value="{{ state|json_encode }}">
  25. <div class="hbp-diagnostic-fields"><label><span>Your name</span><input name="name" autocomplete="name" maxlength="190" required></label><label><span>Work email</span><input type="email" name="email" autocomplete="email" maxlength="190" required></label><label><span>Company</span><input name="company" autocomplete="organization" maxlength="190" required></label></div>
  26. <label><span>Anything else we should know? (optional)</span><textarea name="note" maxlength="2000" rows="3"></textarea></label>
  27. <label class="hbp-diagnostic-call"><input type="checkbox" name="prefer_call" value="1"> <span>I prefer a call</span></label><label class="hbp-diagnostic-phone"><span>Phone (optional)</span><input type="tel" name="phone" autocomplete="tel" maxlength="50"></label>
  28. <p class="note">For drawings or other files, our team can arrange a suitable way to share them after your request.</p>
  29. <button class="btn" type="submit">{{ result.cta }} →</button><p data-diagnostic-status role="status" aria-live="polite"></p>
  30. <p class="note"><span>Your details are used to respond to this request.</span> <a href="{{ path('honeybee_privacy') }}">Privacy policy</a></p>
  31. </form></details>
  32. {% else %}
  33. <p class="eyebrow"><span>Step</span> {{ step + 1 }} <span>of</span> {{ total }}</p><progress max="{{ total }}" value="{{ step + 1 }}" aria-label="Assessment progress"></progress>
  34. <div class="hbp-diagnostic-stage"><form method="post" action="{{ path('honeybee_website_diagnostic') }}" class="hbp-diagnostic-question">
  35. <input type="hidden" name="state" value="{{ state|json_encode }}"><input type="hidden" name="step" value="{{ step }}">
  36. <fieldset><legend><h2 data-diagnostic-heading tabindex="-1">{{ question.title }}</h2></legend><p>{{ question.multi ? 'Choose all that apply.' : 'Choose one answer.' }}</p><div class="hbp-diagnostic-options">
  37. {% for value,label in question.options %}<label><input type="{{ question.multi ? 'checkbox' : 'radio' }}" name="answer[]" value="{{ value }}" {% if value in state.answers[question.key]|default([]) %}checked{% endif %}><span>{{ label }}</span></label>{% endfor %}
  38. </div></fieldset><div class="actions hbp-step-actions">{% if step > 0 %}<button class="textlink" name="action" value="back" formnovalidate>Back</button>{% endif %}<button class="btn" name="action" value="next">{{ step + 1 == total ? 'See my recommendation →' : 'Continue →' }}</button></div></form><aside class="hbp-diagnostic-visual">{% if state.path != 'unsure' %}{% include '@HoneybeeWeb/website/product-screen.html.twig' with {screen_key:state.path == 'energy' ? 'operations' : (state.path == 'engineering' ? 'engineering' : 'business')} only %}{% else %}<h3>Start with the situation.</h3><p>A product recommendation comes after we understand the problem.</p>{% endif %}</aside></div>
  39. <p class="note">No contact details needed. Your answers stay in this browser tab until you reset or close it.</p>
  40. {% endif %}
  41. <p class="hbp-diagnostic-direct"><a class="textlink" href="{{ path('honeybee_product') }}">Skip and browse products →</a> <a class="textlink" href="{{ path('honeybee_contact') }}">Prefer to contact us directly? →</a></p>
  42. <script type="application/json" id="hbp-diagnostic-state" data-diagnostic-family="{{ result ? result.family : '' }}" data-diagnostic-title="{{ result ? result.title : '' }}">{{ state|json_encode(constant('JSON_HEX_TAG') b-or constant('JSON_HEX_AMP'))|raw }}</script>
  43. </div></section>
  44. {% else %}{% if diagnostic_error %}<p class="wrap" role="alert">{{ diagnostic_error }}</p>{% endif %}<div class="wrap hbp-diagnostic-heading"><h2 data-diagnostic-heading tabindex="-1">Find where HoneyBee can help.</h2></div>{% include '@HoneybeeWeb/website/diagnostic-entry.html.twig' %}{% endif %}
  45. </div>