quickstart.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <div id="quickstart" class="standardContainer">
  2. <div class="ui container">
  3. <h1 class="ui header">
  4. <img src="img/res/1F387.png">
  5. <div class="content">
  6. Welcome to Zoraxy!
  7. <div class="sub header">What services are you planning to setup today?</div>
  8. </div>
  9. </h1>
  10. <br>
  11. <div class="ui stackable equal width grid">
  12. <div class="column">
  13. <div class="serviceOption homepage" name="homepage">
  14. <div class="titleWrapper">
  15. <p>Basic Homepage</p>
  16. </div>
  17. <div class="ui divider"></div>
  18. <p>Host a static homepage with Zoraxy and point your domain name to your web server.</p>
  19. <img class="themebackground ui small image" src="img/res/1F310.png">
  20. <div class="activeOption">
  21. <i class="ui white huge circle check icon"></i>
  22. </div>
  23. </div>
  24. </div>
  25. <div class="column">
  26. <div class="serviceOption subdomain" name="subdomain">
  27. <div class="titleWrapper">
  28. <p>Sub-domains Routing</p>
  29. </div>
  30. <div class="ui divider"></div>
  31. <p>Add and handle traffic from your subdomains and point them to a dedicated web services somewhere else.</p>
  32. <img class="themebackground ui small image" src="img/res/1F500.png">
  33. <div class="activeOption">
  34. <i class="ui white huge circle check icon"></i>
  35. </div>
  36. </div>
  37. </div>
  38. <div class="column">
  39. <div class="serviceOption tls" name="tls">
  40. <div class="titleWrapper">
  41. <p>HTTPS Green Lock(s)</p>
  42. </div>
  43. <div class="ui divider"></div>
  44. <p>Turn your unsafe HTTP website into HTTPS using free certificate from public certificate authorities organizations.</p>
  45. <img class="themebackground ui small image" src="img/res/1F512.png">
  46. <div class="activeOption">
  47. <i class="ui white huge circle check icon"></i>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="ui divider"></div>
  53. <div style="width: 100%;" align="center">
  54. <button onclick="startQuickStartTour();" class="ui finished button quickstartControlButton">
  55. Start Walkthrough
  56. </button>
  57. </div>
  58. </div>
  59. </div>
  60. <script>
  61. var currentQuickSetupClass = "";
  62. var currentQuickSetupTourStep = 0;
  63. //For tour logic, see quicksetup.js
  64. //Bind selecting events to serviceOption
  65. $("#quickstart .serviceOption").on("click", function(data){
  66. $(".serviceOption.active").removeClass("active");
  67. $(this).addClass("active");
  68. let tourType = $(this).attr("name");
  69. currentQuickSetupClass = tourType;
  70. });
  71. function startQuickStartTour(){
  72. if (currentQuickSetupClass == ""){
  73. msgbox("No selected setup service tour", false);
  74. return;
  75. }
  76. //Show the tour modal
  77. $("#tourModal").show();
  78. //Load the tour steps
  79. if (tourSteps[currentQuickSetupClass] == undefined || tourSteps[currentQuickSetupClass].length == 0){
  80. //This tour is not defined or empty
  81. let notFound = tourStepFactory({
  82. title: "😭 Tour not found",
  83. desc: "Seems you are requesting a tour that has not been developed yet. Check back on later!"
  84. });
  85. notFound();
  86. //Enable the finish button
  87. $("#tourModal .nextStepAvaible").hide();
  88. $("#tourModal .nextStepFinish").show();
  89. return;
  90. }else{
  91. tourSteps[currentQuickSetupClass][0]();
  92. }
  93. updateTourStepCount();
  94. //Disable the previous button
  95. if (tourSteps[currentQuickSetupClass].length == 1){
  96. //There are only 1 step in this tour
  97. $("#tourModal .nextStepAvaible").hide();
  98. $("#tourModal .nextStepFinish").show();
  99. }else{
  100. $("#tourModal .nextStepAvaible").show();
  101. $("#tourModal .nextStepFinish").hide();
  102. }
  103. $("#tourModal .tourStepButtonPrevious").addClass("disabled");
  104. }
  105. function updateTourStepCount(){
  106. let tourlistLength = tourSteps[currentQuickSetupClass]==undefined?1:tourSteps[currentQuickSetupClass].length;
  107. $("#tourModal .tourStepCounter").text((currentQuickSetupTourStep + 1) + " / " + tourlistLength);
  108. }
  109. function nextStep(){
  110. //Add one to the tour steps
  111. currentQuickSetupTourStep++;
  112. if (currentQuickSetupTourStep == tourSteps[currentQuickSetupClass].length - 1){
  113. //Already the last step
  114. $("#tourModal .nextStepAvaible").hide();
  115. $("#tourModal .nextStepFinish").show();
  116. }
  117. updateTourStepCount();
  118. tourSteps[currentQuickSetupClass][currentQuickSetupTourStep]();
  119. if (currentQuickSetupTourStep > 0){
  120. $("#tourModal .tourStepButtonPrevious").removeClass("disabled");
  121. }
  122. }
  123. //End tour
  124. function endTourFocus(){
  125. $(".tourFocusObject").removeClass("tourFocusObject");
  126. $(".serviceOption.active").removeClass("active");
  127. currentQuickSetupClass = "";
  128. currentQuickSetupTourStep = 0;
  129. $("#tourModal").hide();
  130. $("#tourModal .nextStepAvaible").show();
  131. $("#tourModal .nextStepFinish").hide();
  132. $("#tourModalOverlay").hide();
  133. }
  134. </script>
  135. <script src="script/quicksetup.js"></script>