19
19
@update:checked =" onCheckboxChanged($event, 'assistant_enabled')" >
20
20
<div class =" checkbox-text" >
21
21
{{ t('assistant', 'Top-right assistant') }}
22
- <div v-if =" !state.text_processing_available" class =" checkbox-text" >
23
- <InformationOutlineIcon class =" icon" />
24
- <span >
25
- {{ t('assistant', 'To be able to use this feature, please install at least one AI text processing provider.') }}
26
- </span >
27
- </div >
28
22
</div >
29
23
</NcCheckboxRadioSwitch >
24
+ <NcNoteCard v-if =" !state.text_processing_available" type =" info" >
25
+ {{ t('assistant', 'To be able to use this feature, please install at least one AI task processing provider.') }}
26
+ </NcNoteCard >
30
27
<NcCheckboxRadioSwitch
31
28
:checked =" state.free_prompt_picker_enabled"
32
29
:disabled =" !state.free_prompt_task_type_available"
33
30
@update:checked =" onCheckboxChanged($event, 'free_prompt_picker_enabled')" >
34
31
<div class =" checkbox-text" >
35
32
{{ t('assistant', 'AI text generation smart picker') }}
36
- <div v-if =" !state.free_prompt_task_type_available" class =" checkbox-text" >
37
- <InformationOutlineIcon class =" icon" />
38
- <span >
39
- {{ t('assistant', 'To enable this feature, please install an AI text processing provider for the free prompt task type:') }}
40
- </span >
41
- <ul >
42
- <li ><a href =" https://github.com/nextcloud/llm2#readme" >Local Large language model app</a ></li >
43
- <li ><a href =" https://apps.nextcloud.com/apps/integration_openai" >OpenAI/LocalAI Integration</a ></li >
44
- </ul >
45
- </div >
46
33
</div >
47
34
</NcCheckboxRadioSwitch >
35
+ <NcNoteCard v-if =" !state.free_prompt_task_type_available" type =" info" >
36
+ <div class =" checkbox-text" >
37
+ <span >
38
+ {{ t('assistant', 'To enable this feature, please install an AI task processing provider for the free prompt task type:') }}
39
+ </span >
40
+ <ul >
41
+ <li ><a href =" https://github.com/nextcloud/llm2#readme" >Local Large language model app</a ></li >
42
+ <li ><a href =" https://apps.nextcloud.com/apps/integration_openai" >OpenAI/LocalAI Integration</a ></li >
43
+ </ul >
44
+ </div >
45
+ </NcNoteCard >
48
46
<NcCheckboxRadioSwitch
49
47
:checked =" state.text_to_image_picker_enabled"
50
48
:disabled =" !state.text_to_image_picker_available"
51
49
@update:checked =" onCheckboxChanged($event, 'text_to_image_picker_enabled')" >
52
50
<div class =" checkbox-text" >
53
51
{{ t('assistant', 'Text-to-image smart picker') }}
54
- <div v-if =" !state.text_to_image_picker_available" class =" checkbox-text" >
55
- <InformationOutlineIcon class =" icon" />
56
- <span >
57
- {{ t('assistant', 'To enable this feature, please install a text-to-image provider:') }}
58
- </span >
59
- <ul >
60
- <li ><a href =" https://github.com/nextcloud/text2image_stablediffusion#readme" >Local Text-To-Image StableDiffusion</a ></li >
61
- <li ><a href =" https://apps.nextcloud.com/apps/integration_openai" >OpenAI/LocalAI Integration</a ></li >
62
- </ul >
63
- </div >
64
52
</div >
65
53
</NcCheckboxRadioSwitch >
54
+ <NcNoteCard v-if =" !state.text_to_image_picker_available" type =" info" >
55
+ <div class =" checkbox-text" >
56
+ <span >
57
+ {{ t('assistant', 'To enable this feature, please install a text-to-image provider:') }}
58
+ </span >
59
+ <ul >
60
+ <li ><a href =" https://github.com/nextcloud/text2image_stablediffusion#readme" >Local Text-To-Image StableDiffusion</a ></li >
61
+ <li ><a href =" https://apps.nextcloud.com/apps/integration_openai" >OpenAI/LocalAI Integration</a ></li >
62
+ </ul >
63
+ </div >
64
+ </NcNoteCard >
66
65
<NcCheckboxRadioSwitch
67
66
:checked =" state.speech_to_text_picker_enabled"
68
67
:disabled =" !state.speech_to_text_picker_available"
69
68
@update:checked =" onCheckboxChanged($event, 'speech_to_text_picker_enabled')" >
70
69
<div class =" checkbox-text" >
71
70
{{ t('assistant', 'Speech-to-text smart picker') }}
72
- <div v-if =" !state.speech_to_text_picker_available" class =" checkbox-text" >
73
- <InformationOutlineIcon class =" icon" />
74
- <span >
75
- {{ t('assistant', 'To enable this feature, please install a speech-to-text provider:') }}
76
- </span >
77
- <ul >
78
- <li ><a href =" https://github.com/nextcloud/stt_whisper2#readme" >Local Speech-To-Text Whisper</a ></li >
79
- <li ><a href =" https://apps.nextcloud.com/apps/integration_openai" >OpenAI/LocalAI Integration</a ></li >
80
- </ul >
81
- </div >
82
71
</div >
83
72
</NcCheckboxRadioSwitch >
73
+ <NcNoteCard v-if =" !state.speech_to_text_picker_available" type =" info" >
74
+ <div class =" checkbox-text" >
75
+ <span >
76
+ {{ t('assistant', 'To enable this feature, please install a speech-to-text provider:') }}
77
+ </span >
78
+ <ul >
79
+ <li ><a href =" https://github.com/nextcloud/stt_whisper2#readme" >Local Speech-To-Text Whisper</a ></li >
80
+ <li ><a href =" https://apps.nextcloud.com/apps/integration_openai" >OpenAI/LocalAI Integration</a ></li >
81
+ </ul >
82
+ </div >
83
+ </NcNoteCard >
84
84
</div >
85
85
<div class =" chat-with-ai" >
86
86
<h2 >
145
145
</template >
146
146
147
147
<script >
148
- import InformationOutlineIcon from ' vue-material-design-icons/InformationOutline.vue'
149
148
import AssistantIcon from ' ./icons/AssistantIcon.vue'
150
149
151
150
import NcCheckboxRadioSwitch from ' @nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'
@@ -169,7 +168,6 @@ export default {
169
168
NcNoteCard,
170
169
NcRichContenteditable,
171
170
NcTextField,
172
- InformationOutlineIcon,
173
171
},
174
172
175
173
data () {
@@ -224,7 +222,6 @@ export default {
224
222
225
223
< style scoped lang= " scss" >
226
224
#assistant_prefs {
227
- h2,
228
225
.line ,
229
226
.settings - hint {
230
227
display: flex;
@@ -237,16 +234,15 @@ export default {
237
234
238
235
.checkbox - text {
239
236
display: flex;
240
- flex- direction: row;
241
-
242
- .icon {
243
- margin- right: 8px ;
244
- margin- left: 24px ;
245
- }
237
+ flex- direction: column;
246
238
}
247
239
248
- h2 .icon {
249
- margin- right: 8px ;
240
+ h2 {
241
+ justify- content: start;
242
+ display: flex;
243
+ align- items: center;
244
+ gap: 8px ;
245
+ margin- top: 8px ;
250
246
}
251
247
252
248
.line {
@@ -264,6 +260,11 @@ export default {
264
260
}
265
261
}
266
262
263
+ .notecard ,
264
+ .text - field {
265
+ max- width: 900px ;
266
+ }
267
+
267
268
.chat - with - ai {
268
269
display: flex;
269
270
flex- direction: column;
@@ -272,11 +273,6 @@ export default {
272
273
width: 900px ! important;
273
274
font- weight: bold;
274
275
}
275
-
276
- .notecard ,
277
- .text - field {
278
- max- width: 900px ;
279
- }
280
276
}
281
277
}
282
278
< / style>
0 commit comments