You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SettingsPreferences.vue 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <template>
  2. <div class="c-preferences">
  3. <section v-show="currentValue.advanced.transformMode !== 'import-maskfin'" class="box box--items">
  4. <div class="box__header">
  5. <h2 class="title">
  6. Per run.
  7. </h2>
  8. <h3 class="subtitle">
  9. Customize what will happen in each transformation.
  10. </h3>
  11. </div>
  12. <div class="box__content">
  13. <box-item
  14. label="Runs."
  15. description="Number of times the photo will be transformed.">
  16. <input v-model="currentValue.body.executions" type="number" min="1" class="input">
  17. </box-item>
  18. <box-item
  19. label="Randomize."
  20. description="Random body preferences will be set at each run.">
  21. <select v-model="currentValue.body.randomize" class="input">
  22. <option :value="true">
  23. Enabled
  24. </option>
  25. <option :value="false">
  26. Disabled
  27. </option>
  28. </select>
  29. </box-item>
  30. <box-item
  31. v-show="!currentValue.body.randomize"
  32. label="Progressive."
  33. :description="`Body preferences will increase their value ${currentValue.body.progressive.rate} at each run.`">
  34. <select v-model="currentValue.body.progressive.enabled" class="input">
  35. <option :value="true">
  36. Enabled
  37. </option>
  38. <option :value="false">
  39. Disabled
  40. </option>
  41. </select>
  42. </box-item>
  43. <box-item
  44. v-show="!currentValue.body.randomize"
  45. label="Progressive Rate."
  46. :description="`Value: ${currentValue.body.progressive.rate}`">
  47. <VueSlider v-model="currentValue.body.progressive.rate" :min="0.1" :max="0.9" :interval="0.05" />
  48. </box-item>
  49. </div>
  50. </section>
  51. <!-- Boobs -->
  52. <Preference v-model="currentValue.body.boobs" label="Boobs" />
  53. <!-- Areola -->
  54. <Preference v-model="currentValue.body.areola" label="Areola" />
  55. <!-- Nipple -->
  56. <Preference v-model="currentValue.body.nipple" label="Nipple" />
  57. <!-- Vagina -->
  58. <Preference v-model="currentValue.body.vagina" label="Vagina" :max-range="1.5" />
  59. <!-- Pubic Hair -->
  60. <Preference v-model="currentValue.body.pubicHair" label="Pubic Hair" :min-range="0" />
  61. <!-- Advanced -->
  62. <section class="box box--items">
  63. <div class="box__header">
  64. <h2 class="title">
  65. Advanced.
  66. </h2>
  67. <h3 class="subtitle">
  68. Additional processing settings.
  69. </h3>
  70. </div>
  71. <div class="box__content">
  72. <box-item
  73. label="Scale method."
  74. description="Method to scale the photo to 512x512">
  75. <select v-model="currentValue.advanced.scaleMode" class="input">
  76. <option value="none">
  77. None
  78. </option>
  79. <option value="auto-rescale">
  80. Fixed
  81. </option>
  82. <option value="auto-resize">
  83. Scale and pad
  84. </option>
  85. <option value="auto-resize-crop">
  86. Scale and crop
  87. </option>
  88. <option value="overlay">
  89. Overlay
  90. </option>
  91. <option value="cropjs">
  92. Manual crop
  93. </option>
  94. </select>
  95. </box-item>
  96. <box-item
  97. label="Transform method."
  98. description="Transformation method, only recommended for advanced users.">
  99. <select v-model="currentValue.advanced.transformMode" class="input">
  100. <option value="normal">
  101. Nudify
  102. </option>
  103. <option value="export-maskfin">
  104. Nudify & Maskfin
  105. </option>
  106. <option value="import-maskfin">
  107. Nudify with Maskfin
  108. </option>
  109. </select>
  110. </box-item>
  111. <box-item
  112. label="Color transfer."
  113. description="Use a experimental algorithm to try to recover the original colors of the photo.">
  114. <select v-model="currentValue.advanced.useColorTransfer" class="input">
  115. <option :value="true">
  116. Enabled
  117. </option>
  118. <option :value="false">
  119. Disabled
  120. </option>
  121. </select>
  122. </box-item>
  123. </div>
  124. </section>
  125. </div>
  126. </template>
  127. <script>
  128. import { VModel } from '~/mixins'
  129. export default {
  130. mixins: [VModel],
  131. }
  132. </script>