- Possibilité de discuter avec un PDF ; RAG ou analyse approfondie. Enlèvement de l'autre outil PDF de discussion qui analysait d'abord un PDF en proposant directement une intégration sans attendre qu'on pose de question - Mise en place de l'import directement dans les outils dans la sidebar - Mise en place d'un outil pour créer des tables aléatoires avec possibilité d'utiliser pendant la partie - Mise en place d'un outil pour mettre en place des PNJ, scènes, chapitre.... directement à partir de la discussion avec le PDF - Mise en place RAG avec mistal-embeding ou nomic si on utilise ollama - Mise en place mistral, google en fournisseurs alternatifs pour l'IA dans le cloud - version 0.11.0-bêta
107 lines
4.5 KiB
SCSS
107 lines
4.5 KiB
SCSS
.nbd-page { max-width: 1100px; margin: 0 auto; padding: 1rem 1.5rem 2rem; height: calc(100vh - 60px); display: flex; flex-direction: column; }
|
|
|
|
.nbd-toolbar {
|
|
display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem;
|
|
.btn-back {
|
|
display: inline-flex; align-items: center; gap: 0.35rem; flex-shrink: 0;
|
|
padding: 0.4rem 0.7rem; border-radius: 6px;
|
|
border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.04);
|
|
color: inherit; cursor: pointer; font-size: 0.85rem;
|
|
&:hover { background: rgba(255,255,255,0.09); }
|
|
}
|
|
.nbd-title {
|
|
flex: 1; padding: 0.4rem 0.6rem; border-radius: 6px; font-size: 1.15rem; font-weight: 600;
|
|
border: 1px solid transparent; background: transparent; color: inherit;
|
|
&:hover, &:focus { border-color: rgba(255,255,255,0.14); background: rgba(255,255,255,0.04); outline: none; }
|
|
}
|
|
}
|
|
|
|
.nbd-grid {
|
|
flex: 1; min-height: 0;
|
|
display: grid; grid-template-columns: 280px 1fr; gap: 1rem;
|
|
}
|
|
|
|
/* Sources */
|
|
.nbd-sources {
|
|
display: flex; flex-direction: column; gap: 0.5rem; overflow-y: auto;
|
|
border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 0.75rem;
|
|
}
|
|
.nbd-sources-head {
|
|
display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
|
|
h3 { display: flex; align-items: center; gap: 0.4rem; margin: 0; font-size: 0.95rem; }
|
|
}
|
|
.btn-upload {
|
|
display: inline-flex; align-items: center; gap: 0.3rem; cursor: pointer;
|
|
padding: 0.3rem 0.55rem; border-radius: 6px; font-size: 0.78rem;
|
|
border: 1px solid rgba(102,126,234,0.4); color: #8ea2ff; background: rgba(102,126,234,0.1);
|
|
&:hover { background: rgba(102,126,234,0.2); }
|
|
&.disabled { opacity: 0.6; cursor: default; }
|
|
}
|
|
.nbd-upload-error { color: #e88; font-size: 0.8rem; margin: 0.2rem 0; }
|
|
|
|
.nbd-source {
|
|
display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.5rem;
|
|
border-radius: 7px; background: rgba(255,255,255,0.03);
|
|
lucide-icon.ok { color: #6bd08a; }
|
|
lucide-icon.fail { color: #e88; }
|
|
lucide-icon.busy { color: #e0c074; }
|
|
.nbd-source-info { flex: 1; min-width: 0; }
|
|
.nbd-source-name { font-size: 0.85rem; font-weight: 500; word-break: break-word; }
|
|
.nbd-source-meta { font-size: 0.72rem; color: var(--color-text-muted, #9aa0aa); }
|
|
.nbd-source-del {
|
|
border: none; background: none; color: #e88; cursor: pointer; padding: 0.15rem;
|
|
border-radius: 4px; &:hover { background: rgba(224,90,90,0.15); }
|
|
}
|
|
}
|
|
|
|
/* Chat */
|
|
.nbd-chat {
|
|
display: flex; flex-direction: column; min-height: 0;
|
|
border: 1px solid rgba(255,255,255,0.08); border-radius: 10px;
|
|
}
|
|
.nbd-messages { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 0.85rem; }
|
|
.nbd-empty { color: var(--color-text-muted, #9aa0aa); font-style: italic; }
|
|
|
|
.nbd-msg {
|
|
max-width: 88%;
|
|
.nbd-msg-role {
|
|
display: flex; align-items: center; gap: 0.3rem;
|
|
font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em;
|
|
color: var(--color-text-muted, #9aa0aa); margin-bottom: 0.2rem;
|
|
}
|
|
.nbd-msg-content { white-space: pre-wrap; line-height: 1.5; }
|
|
&.user { align-self: flex-end; text-align: right;
|
|
.nbd-msg-content { background: rgba(102,126,234,0.16); padding: 0.5rem 0.75rem; border-radius: 10px; display: inline-block; text-align: left; }
|
|
}
|
|
&.assistant { align-self: flex-start;
|
|
.nbd-msg-content { background: rgba(255,255,255,0.04); padding: 0.5rem 0.75rem; border-radius: 10px; }
|
|
}
|
|
}
|
|
.cursor { opacity: 0.6; }
|
|
|
|
.nbd-input {
|
|
display: flex; gap: 0.5rem; padding: 0.6rem; border-top: 1px solid rgba(255,255,255,0.08);
|
|
textarea {
|
|
flex: 1; resize: none; padding: 0.55rem 0.7rem; border-radius: 8px;
|
|
border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.04); color: inherit; font: inherit;
|
|
}
|
|
.btn-send {
|
|
display: inline-flex; align-items: center; justify-content: center; width: 44px;
|
|
border: none; border-radius: 8px; background: #667eea; color: #fff; cursor: pointer;
|
|
&:hover:not(:disabled) { background: #5568d3; }
|
|
&:disabled { opacity: 0.5; cursor: default; }
|
|
}
|
|
.btn-deep {
|
|
display: inline-flex; align-items: center; justify-content: center; width: 44px;
|
|
border: 1px solid rgba(168,130,255,0.4); border-radius: 8px;
|
|
background: rgba(168,130,255,0.12); color: #c4a8ff; cursor: pointer;
|
|
&:hover:not(:disabled) { background: rgba(168,130,255,0.22); }
|
|
&:disabled { opacity: 0.5; cursor: default; }
|
|
}
|
|
}
|
|
|
|
.nbd-deep-progress {
|
|
display: inline-flex; align-items: center; gap: 0.35rem;
|
|
font-size: 0.82rem; color: #c4a8ff; font-style: italic;
|
|
}
|