promptassignrole.html.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace zin;
  3. include './promptnav.html.php';
  4. include './roletemplates.html.php';
  5. jsVar('prompt', $prompt);
  6. jsVar('lang', array(
  7. 'roleRequired' => $lang->ai->prompts->role . $lang->error->notempty,
  8. 'characterizationRequired' => $lang->ai->prompts->characterization . $lang->error->notempty,
  9. 'saveSuccess' => $lang->saveSuccess,
  10. 'saveFailed' => $lang->ai->saveFail,
  11. 'addRoleTemplate' => $lang->ai->prompts->addRoleTemplate,
  12. 'editRoleTemplate' => $lang->ai->prompts->editRoleTemplate,
  13. 'deleteConfirm' => $lang->ai->prompts->roleDelConfirm,
  14. 'deleteSuccess' => $lang->ai->prompts->roleDelSuccess,
  15. 'apply' => $lang->ai->apply
  16. ));
  17. div(setClass('prompt-assign-role'), formPanel
  18. (
  19. to::heading
  20. (
  21. div(
  22. set::className('flex gap-2 items-center w-full justify-between'),
  23. div(
  24. set::className('panel-title text-lg'),
  25. $lang->ai->prompts->assignRole
  26. ),
  27. div(
  28. set::className('flex gap-1 items-center'),
  29. button(
  30. set::className('btn secondary-outline'),
  31. set::id('toggleTemplatePanel'),
  32. span($lang->ai->prompts->roleTemplate),
  33. icon(setClass('icon icon-first-page'))
  34. )
  35. )
  36. )
  37. ),
  38. set::id('mainForm'),
  39. set::actions(
  40. array(
  41. array('text' => $lang->ai->nextStep, 'class' => 'btn primary', 'id' => 'submit', 'btnType' => 'submit', 'name' => 'jumpToNext', 'value' => '1')
  42. )
  43. ),
  44. formGroup
  45. (
  46. set::label($lang->ai->prompts->model),
  47. set::width('1/2'),
  48. set::required(true),
  49. div
  50. (
  51. setClass('w-full'),
  52. zui::AIModelPicker(set::name('model'), set::required(true), set::value(!empty($prompt->model) ? $prompt->model : ''))
  53. )
  54. ),
  55. formGroup
  56. (
  57. set::label($lang->ai->prompts->role),
  58. set::width('1/2'),
  59. input
  60. (
  61. set::name('role'),
  62. set::value(!empty($prompt->role) ? $prompt->role : ''),
  63. set::placeholder($lang->ai->prompts->rolePlaceholder)
  64. )
  65. ),
  66. formGroup
  67. (
  68. set::label($lang->ai->prompts->characterization),
  69. textarea
  70. (
  71. set::name('characterization'),
  72. set::value(!empty($prompt->characterization) ? $prompt->characterization : ''),
  73. set::rows(4),
  74. set::placeholder($lang->ai->prompts->charPlaceholder),
  75. set::required(true)
  76. )
  77. ),
  78. formGroup
  79. (
  80. set::label($lang->ai->prompts->roleTemplateSave),
  81. set::width('1/2'),
  82. radioList
  83. (
  84. set::name('saveTemplate'),
  85. set::items($lang->ai->prompts->roleTemplateSaveList),
  86. set::value('discard'),
  87. set::inline(true)
  88. )
  89. )
  90. ), buildTemplatePanel($lang, $roleTemplates ?? []), buildTemplateModal($lang));