diff --git a/src/components/GenerationImage.vue b/src/components/GenerationImage.vue
new file mode 100644
index 0000000..a125ea5
--- /dev/null
+++ b/src/components/GenerationImage.vue
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Failed
+ {{ generation.failed_reason }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ generation.status }}...
+
+
+
+
+
+
+
+
+
+
+
+ {{ generation.cost }} $
+ {{ generation.execution_time_seconds.toFixed(1) }}s
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/FlexibleGenerationView.vue b/src/views/FlexibleGenerationView.vue
index 92047e1..65ae666 100644
--- a/src/views/FlexibleGenerationView.vue
+++ b/src/views/FlexibleGenerationView.vue
@@ -12,12 +12,14 @@ import Checkbox from 'primevue/checkbox'
import Dropdown from 'primevue/dropdown'
import DatePicker from 'primevue/datepicker'
import Tag from 'primevue/tag'
+import InputSwitch from 'primevue/inputswitch'
import Skeleton from 'primevue/skeleton'
import {useAlbumStore} from '../stores/albums'
import {useToast} from 'primevue/usetoast'
import Toast from 'primevue/toast'
import GenerationPreviewModal from '../components/GenerationPreviewModal.vue'
+import GenerationImage from '../components/GenerationImage.vue'
const router = useRouter()
const API_URL = import.meta.env.VITE_API_URL
@@ -161,6 +163,13 @@ const isImprovingPrompt = ref(false)
const previousPrompt = ref('')
let _savedEnvironmentId = null
+// NSFW Toggle
+const showNsfwGlobal = ref(localStorage.getItem('show_nsfw_global') === 'true')
+
+watch(showNsfwGlobal, (val) => {
+ localStorage.setItem('show_nsfw_global', val)
+})
+
const loadEnvironments = async (charId) => {
if (!charId) {
environments.value = []
@@ -923,111 +932,24 @@ const confirmAddToAlbum = async () => {
-
-
-
![]()
+ class="relative group overflow-hidden">
-
-
-
-
-
-
-
-
-
-
-
-
Failed
-
-
-
- {{ child.failed_reason }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{
- child.cost }} $
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1036,144 +958,22 @@ const confirmAddToAlbum = async () => {
-
-
-
-
![]()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Failed
- {{ item.failed_reason }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ item.status
- }}...
-
{{
- item.progress }}%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{
- item.cost }} $
- {{
- item.execution_time_seconds.toFixed(1) }}s
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1393,6 +1193,14 @@ const confirmAddToAlbum = async () => {
+
+
+
+
+
+