gi-survey-questions.blade.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. @extends('layouts.app')
  2. @section('content')
  3. <link rel="stylesheet" href="{{ asset('css/nouislider.min.css') }}" />
  4. <script src="{{ asset('js/nouislider.min.js') }}"></script>
  5. <style>
  6. .text-success-light {
  7. color: #70bb70;
  8. }
  9. .form-group label {
  10. font-weight: 500;
  11. }
  12. .form-group label span {
  13. font-weight: 400;
  14. }
  15. .noUiSlider {
  16. margin: 58px 0;
  17. padding: 0 15px;
  18. }
  19. .notify.alert-warning {
  20. background-color: #f9f6ee;
  21. border-color: #ffecb5;
  22. }
  23. .notify i {
  24. font-size: 40px;
  25. }
  26. .checkbox label:after,
  27. .radio label:after {
  28. content: '';
  29. display: table;
  30. clear: both;
  31. }
  32. .checkbox .cr,
  33. .radio .cr {
  34. position: relative;
  35. display: inline-block;
  36. border: 1px solid #a9a9a9;
  37. border-radius: .25em;
  38. width: 1.3em;
  39. height: 1.3em;
  40. float: left;
  41. margin-right: .5em;
  42. }
  43. .radio .cr {
  44. border-radius: 50%;
  45. }
  46. .checkbox .cr .cr-icon,
  47. .radio .cr .cr-icon {
  48. position: absolute;
  49. font-size: .8em;
  50. line-height: 0;
  51. top: 50%;
  52. left: 13%;
  53. }
  54. .radio .cr .cr-icon {
  55. margin-left: 0.04em;
  56. }
  57. .checkbox label input[type="checkbox"],
  58. .radio label input[type="radio"] {
  59. display: none;
  60. }
  61. .checkbox label input[type="checkbox"]+.cr>.cr-icon,
  62. .radio label input[type="radio"]+.cr>.cr-icon {
  63. opacity: 0;
  64. }
  65. .checkbox label input[type="checkbox"]:checked+.cr>.cr-icon,
  66. .radio label input[type="radio"]:checked+.cr>.cr-icon {
  67. opacity: 1;
  68. }
  69. .checkbox label input[type="checkbox"]:disabled+.cr,
  70. .radio label input[type="radio"]:disabled+.cr {
  71. opacity: .5;
  72. }
  73. </style>
  74. <div class="bg-light">
  75. <div class="container pt-3">
  76. <nav class="mb-0">
  77. <ol class="breadcrumb">
  78. <li class="breadcrumb-item"><a href="{{ route('index') }}"><u>Home</u></a></li>
  79. <li class="breadcrumb-item active" aria-current="page">Hemorrhoid Treatment Survey</li>
  80. </ol>
  81. </nav>
  82. </div>
  83. </div>
  84. <div class="bg-grey py-5">
  85. <div class="container">
  86. <div class="row justify-content-center">
  87. <div class="col-lg-7 text-center">
  88. <h5 class="subtitle">Hemorrhoid Treatment Survey</h5>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="container py-4">
  94. <div class="row justify-content-center">
  95. <div class="col-lg-8">
  96. <div class="container shadow p-4">
  97. <div class="row">
  98. <div class="col-md-12">
  99. <div class="notify alert alert-warning d-flex flex-column flex-md-row align-items-center" role="alert">
  100. <i class="fa-duotone fa-circle-info fa-fw"></i>
  101. <div class="ms-2 mt-2 mt-md-0">
  102. <div>Are you a <b>gastroenterologist</b> who treats hemorrhoids?</div>
  103. <div>Receive a <b>$50 Amazon Gift Card</b> to Take a 5 Minute Telephone Survey</div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="row justify-content-center">
  109. @if (session('success'))
  110. <div class="col-12">
  111. <div class="alert alert-success" role="alert">
  112. <h4 class="alert-heading">Thank you!</h4>
  113. <p>We have received your form submission and will process it promptly.</p>
  114. </div>
  115. </div>
  116. @else
  117. <div id="surveyQuestionsComponent" class="col-md-12">
  118. <form action="{{ route('submit-gi-survey-questions') }}" method="POST">
  119. @csrf
  120. <div class="row mb-3">
  121. <div class="col-12 question">
  122. <div class="form-group">
  123. <label>Are you a gastroenterologist?</label>
  124. <div class="mt-1">
  125. <div class="radio mb-2">
  126. <label>
  127. <input type="radio" name="are_you_a_gastroenterologist" v-model="form.are_you_a_gastroenterologist" value="YES">
  128. <span class="cr"><i class="cr-icon fa fa-circle text-success-light"></i></span>
  129. <span>Yes</span>
  130. </label>
  131. </div>
  132. <div class="radio mb-2">
  133. <label>
  134. <input type="radio" name="are_you_a_gastroenterologist" v-model="form.are_you_a_gastroenterologist" value="NO">
  135. <span class="cr"><i class="cr-icon fa fa-circle text-success-light"></i></span>
  136. <span>No</span>
  137. </label>
  138. </div>
  139. </div>
  140. </div>
  141. <div v-if="form.are_you_a_gastroenterologist == 'NO'" class="form-group">
  142. <label>Your speciality?<sup class="text-danger">*</sup></label>
  143. <input type="text" class="form-control" name="your_specialty" value="{{ old('your_specialty') }}" required />
  144. </div>
  145. </div>
  146. </div>
  147. <div class="row mb-3">
  148. <div class="col-12 question">
  149. <div class="form-group">
  150. <label>How many patients per week, on average, do you see who have hemorrhoids?</label>
  151. <input type="number" class="form-control" name="number_of_patients_per_week" value="{{ old('number_of_patients_per_week') }}" />
  152. </div>
  153. </div>
  154. </div>
  155. <div class="row mb-3">
  156. <div class="col-12 question">
  157. <div class="form-group">
  158. <label>Do you currently perform rubber band ligation (RBL) for hemorrhoid treatment?</label>
  159. <div class="mt-1">
  160. <div class="radio mb-2">
  161. <label>
  162. <input type="radio" name="performs_rubber_band_ligation" v-model="form.performs_rubber_band_ligation" value="YES">
  163. <span class="cr"><i class="cr-icon fa fa-circle text-success-light"></i></span>
  164. <span>Yes</span>
  165. </label>
  166. </div>
  167. <div class="radio mb-2">
  168. <label>
  169. <input type="radio" name="performs_rubber_band_ligation" v-model="form.performs_rubber_band_ligation" value="NO">
  170. <span class="cr"><i class="cr-icon fa fa-circle text-success-light"></i></span>
  171. <span>No</span>
  172. </label>
  173. </div>
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. <div class="row mb-3">
  179. <div class="col-12 question">
  180. <div class="form-group">
  181. <label>What is the best phone number to reach you at to take a 5 minute telephone survey?<sup class="text-danger">*</sup></label>
  182. <input type="tel" class="form-control" name="phone_number" value="{{ old('phone_number') }}" required />
  183. </div>
  184. </div>
  185. </div>
  186. <div class="row mb-3">
  187. <div class="col-12 question">
  188. <div class="row">
  189. <div class="col-md-6">
  190. <div class="form-group">
  191. <label>Your First Name<sup class="text-danger">*</sup></label>
  192. <input type="text" class="form-control" name="first_name" value="{{ old('first_name') }}" required />
  193. </div>
  194. </div>
  195. <div class="col-md-6">
  196. <div class="form-group">
  197. <label>Your Last Name<sup class="text-danger">*</sup></label>
  198. <input type="text" class="form-control" name="last_name" value="{{ old('last_name') }}" required />
  199. </div>
  200. </div>
  201. </div>
  202. </div>
  203. </div>
  204. <div class="row mb-3">
  205. <div class="col-12 question">
  206. <div class="form-group">
  207. <label>What state do you practice in?</label>
  208. <select class="form-control" name="practice_address_state">
  209. <option value=""></option>
  210. @foreach(config('constants.us_states') as $stateKey => $stateLabel)
  211. <option value="{{ $stateKey }}" <?= old('practice_address_state') === $stateKey ? 'selected' : '' ?>>{{ $stateKey }}</option>
  212. @endforeach
  213. </select>
  214. </div>
  215. </div>
  216. </div>
  217. <div class="row mb-3">
  218. <div class="col-12 question">
  219. <div class="form-group">
  220. <label>Your email:<sup class="text-danger">*</sup></label>
  221. <input type="email" class="form-control" name="email" value="{{ old('email') }}" required />
  222. <small class="text-muted"><i class="fa-duotone fa-circle-info fa-fw"></i> We will use this email address to process your $50 Amazon gift card</small>
  223. </div>
  224. </div>
  225. </div>
  226. <div class="row mb-3">
  227. <div class="col-12 question">
  228. <div class="form-group">
  229. <label>Preferred time to call:</label>
  230. <div class="mb-3">
  231. <label class="me-3 text-muted">Day(s):</label>
  232. <div class="d-flex flex-column flex-md-row flex-wrap mt-1">
  233. <?php
  234. $preferred_days_to_call = [
  235. 'M',
  236. 'Tu',
  237. 'W',
  238. 'Th',
  239. 'F',
  240. 'Sa',
  241. 'Su'
  242. ];
  243. ?>
  244. @foreach($preferred_days_to_call as $day)
  245. <div class="checkbox me-3">
  246. <label>
  247. <input type="checkbox" name="preferred_day_to_call[]" value="{{ $day }}">
  248. <span class="cr"><i class="cr-icon fa-duotone fa-check fa-fw text-success-light"></i></span>
  249. <span>{{ $day }}</span>
  250. </label>
  251. </div>
  252. @endforeach
  253. </div>
  254. </div>
  255. <div class="mb-3">
  256. <label class="me-3 text-muted">Time(s):</label>
  257. <div class="d-flex flex-column flex-md-row flex-wrap mt-1">
  258. <?php
  259. $preferred_time_to_call = [
  260. '6-8 am',
  261. '8-10 am',
  262. '10-12 pm',
  263. '12-2 pm',
  264. '2-4 pm',
  265. '4-6 pm',
  266. '6-8 pm'
  267. ];
  268. ?>
  269. @foreach($preferred_time_to_call as $time)
  270. <div class="checkbox me-3">
  271. <label>
  272. <input type="checkbox" name="preferred_time_to_call[]" value="{{ $time }}">
  273. <span class="cr"><i class="cr-icon fa-duotone fa-check fa-fw text-success-light"></i></span>
  274. <span>{{ $time }}</span>
  275. </label>
  276. </div>
  277. @endforeach
  278. </div>
  279. <div class="mt-3">
  280. <input type="text" class="form-control" name="any_other_special_time" value="{{ old('any_other_special_time') }}" placeholder="Any other special time" />
  281. </div>
  282. <small class="text-muted mt-1"><i class="fa-duotone fa-circle-info fa-fw"></i> Your local time</small>
  283. </div>
  284. </div>
  285. </div>
  286. </div>
  287. <div class="row mt-3">
  288. <div class="col-md-12">
  289. <div class="form-group mb-4">
  290. {!! htmlFormSnippet() !!}
  291. @error('g-recaptcha-response')
  292. <small class="text-danger"><i class="fas fa-exclamation-triangle mr-2"></i>Invalid</small>
  293. @enderror
  294. </div>
  295. </div>
  296. <div class="col-12">
  297. <button type="submit" class="btn btn-pry w-100 py-3">SUBMIT</button>
  298. </div>
  299. </div>
  300. </form>
  301. </div>
  302. @endif
  303. </div>
  304. </div>
  305. </div>
  306. </div>
  307. </div>
  308. <script>
  309. var surveyQuestionsComponent = new Vue({
  310. el: '#surveyQuestionsComponent',
  311. data: {
  312. form: {
  313. are_you_a_gastroenterologist: "{{ old('are_you_a_gastroenterologist') }}",
  314. performs_rubber_band_ligation: "{{ old('performs_rubber_band_ligation') }}"
  315. }
  316. },
  317. methods: {
  318. init: function() {}
  319. },
  320. mounted: function() {
  321. this.init();
  322. }
  323. });
  324. </script>
  325. @endsection