add_form.hbs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <form
  2. id="add-domain"
  3. hx-post="/api/domains"
  4. hx-sync="this:abort"
  5. hx-swap="outerHTML"
  6. hx-on::after-request="
  7. document.querySelector('.show-domain-form').classList.remove('hidden');
  8. document.querySelector('#add-domain').remove();
  9. "
  10. >
  11. <div class="inputs">
  12. <label class="{{#if errors.address}}error{{/if}}">
  13. Address:
  14. <input
  15. id="address"
  16. name="address"
  17. type="text"
  18. placeholder="yoursite.com"
  19. required="true"
  20. hx-preserve="true"
  21. />
  22. {{#if errors.address}}<p class="error">{{errors.address}}</p>{{/if}}
  23. </label>
  24. <label class="{{#if errors.homepage}}error{{/if}}">
  25. Homepage (Optional):
  26. <input
  27. id="homepage"
  28. name="homepage"
  29. placeholder="Homepage URL"
  30. type="text"
  31. hx-preserve="true"
  32. />
  33. {{#if errors.homepage}}<p class="error">{{errors.homepage}}</p>{{/if}}
  34. </label>
  35. </div>
  36. <p>
  37. <small>
  38. If you leave homepage empty, <b>yoursite.com</b> will be redirected to <b>{{default_domain}}</b>.
  39. </small>
  40. </p>
  41. <div class="buttons-wrapper">
  42. <button type="button" onclick="
  43. document.querySelector('.show-domain-form').classList.remove('hidden');
  44. document.querySelector('#add-domain').remove();
  45. ">
  46. Cancel
  47. </button>
  48. <button type="submit" class="primary">
  49. <span>{{> icons/plus}}</span>
  50. Add domain
  51. </button>
  52. </div>
  53. {{> icons/spinner}}
  54. {{#unless errors}}
  55. {{#if error}}
  56. <p class="error">{{error}}</p>
  57. {{/if}}
  58. {{/unless}}
  59. </form>