zwischenstand
Some checks failed
deploy to production / deploy (push) Failing after 9s

This commit is contained in:
2025-10-06 17:32:05 +00:00
parent 747e6dae3e
commit 02d184585f
4 changed files with 48 additions and 39 deletions

View File

@@ -62,18 +62,20 @@
<InputRow <InputRow
onSend={sendMessage} onSend={sendMessage}
disabled={isStreaming} disabled={isStreaming}
quickMessages={[ quickMessages={messages.length
{ ? []
title: "Erzähl mir was über", : [
highlight: "Kontextwerk", {
message: "Erzähl mir bitte mehr über Kontextwerk.", title: "Erzähl mir was über",
}, highlight: "Kontextwerk",
{ message: "Erzähl mir bitte mehr über Kontextwerk.",
title: "Ich möchte euch", },
highlight: "kontaktieren", {
message: "Ich möchte euch kontaktieren. Welche Möglichkeiten gibt es?", title: "Ich möchte euch",
}, highlight: "kontaktieren",
]} message: "Ich möchte euch kontaktieren. Welche Möglichkeiten gibt es?",
},
]}
/> />
</div> </div>

View File

@@ -12,11 +12,21 @@
<div class="messages"> <div class="messages">
{#each messages as message, idx (idx)} {#each messages as message, idx (idx)}
{#if message.role === "assistant"} {#if message.role === "assistant"}
<div class="message assistant"> {#if message.content !== ""}
<div class="bubble assistant-bubble"> <div class="message assistant">
{@html message.content || ""} <div class="bubble assistant-bubble">
{@html message.content || ""}
</div>
</div> </div>
</div> {:else}
<div class="message assistant typing-indicator">
<div class="bubble assistant-bubble">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
</div>
{/if}
{:else if message.role === "user"} {:else if message.role === "user"}
<div class="message user"> <div class="message user">
<div class="bubble user-bubble"> <div class="bubble user-bubble">
@@ -31,15 +41,6 @@
</div> </div>
{/if} {/if}
{/each} {/each}
{#if streaming}
<div class="message assistant typing-indicator">
<div class="bubble assistant-bubble">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
</div>
{/if}
</div> </div>
<style lang="less"> <style lang="less">
@@ -47,7 +48,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 0.9rem; gap: 0.9rem;
padding: 1rem 0; padding: 1rem 0.6rem;
color: var(--text-reverse-100); color: var(--text-reverse-100);
} }

View File

@@ -11,7 +11,7 @@
}, },
{ {
question: "Brauchen wir eigene Entwickler oder IT-Ressourcen?", question: "Brauchen wir eigene Entwickler oder IT-Ressourcen?",
answer: "Nein im Starter-Paket übernehmen wir Analyse, Implementierung, Hosting und Optimierung vollständig. Wenn Sie später selbst eingreifen möchten, schulen wir Ihr Team und übergeben Code sowie Container-Artefakte.", answer: "Nein im Starter-Paket übernehmen wir Analyse, Implementierung, Hosting und Optimierung vollständig. Wenn Sie später selbst eingreifen möchten, schulen wir Ihr Team und übergeben Quellcode und containerisierte Deployments für den Eigenbetrieb.",
}, },
{ {
question: "Welche Sprachen, Kanäle und Anwendungsfälle sind möglich?", question: "Welche Sprachen, Kanäle und Anwendungsfälle sind möglich?",
@@ -23,7 +23,7 @@
}, },
{ {
question: "Welche messbaren Ergebnisse können wir erwarten?", question: "Welche messbaren Ergebnisse können wir erwarten?",
answer: "Wir tracken KPIs wie Deflection-Rate, AHT und CSAT in Echtzeit. Typische Effekte: bis zu 40 % weniger Hotline-Aufkommen, +30 % Lead-Conversion und messbar höhere Kundenzufriedenheit. Monatliche Reports machen den Erfolg transparent.", answer: "Wir tracken KPIs wie Deflection-Rate, AHT und CSAT in Echtzeit. Typische Effekte: mehr qualifizierte Leads, kürzere Antwortzeiten und eine deutliche Entlastung der Mitarbeiter. Monatliche Reports machen den Erfolg transparent.",
}, },
] ]
@@ -34,6 +34,11 @@
} }
const answerId = (index: number) => `faq-answer-${index}` const answerId = (index: number) => `faq-answer-${index}`
const description = `
Vom ersten Prototyp bis zum laufenden Betrieb:
Hier finden Sie Antworten auf die meistgestellten Fragen.
Alles Weitere besprechen wir gerne persönlich oder live mit unserem Demo-Bot.
`
</script> </script>
<CrinkledSection <CrinkledSection
@@ -50,7 +55,7 @@
brightBackground={true} brightBackground={true}
subtitle="FAQ" subtitle="FAQ"
title="Häufige Fragen" title="Häufige Fragen"
description="Von Implementierung bis Betrieb: Wir haben die wichtigsten Fragen gesammelt und liefern klare Antworten für alles andere können Sie uns kontaktieren, oder einen unserer Bots fragen." {description}
/> />
<div class="faq-list"> <div class="faq-list">
{#each faqs as faq, index} {#each faqs as faq, index}
@@ -121,13 +126,14 @@
position: relative; position: relative;
border-radius: 1.25rem; border-radius: 1.25rem;
background: background:
radial-gradient(130% 160% at 15% -20%, rgba(173, 81, 76, 0.12) 0%, rgba(255, 255, 255, 0.94) 65%), radial-gradient(130% 160% at 15% -20%, rgba(173, 81, 76, 0.08) 0%, rgba(255, 255, 255, 0.98) 64%),
rgba(255, 255, 255, 0.96); rgba(255, 255, 255, 0.99);
border: 1px solid rgba(173, 81, 76, 0.12); border: 1px solid rgba(173, 81, 76, 0.1);
box-shadow: box-shadow:
0 20px 48px rgba(13, 12, 12, 0.08), 0 20px 48px rgba(13, 12, 12, 0.08),
inset 0 0 0 1px rgba(255, 255, 255, 0.6); inset 0 0 0 1px rgba(255, 255, 255, 0.6);
overflow: hidden; overflow: hidden;
isolation: isolate;
transition: transition:
border-color 0.3s ease, border-color 0.3s ease,
box-shadow 0.3s ease, box-shadow 0.3s ease,
@@ -140,13 +146,14 @@
border-radius: inherit; border-radius: inherit;
background: linear-gradient( background: linear-gradient(
145deg, 145deg,
rgba(173, 81, 76, 0.12) 0%, rgba(173, 81, 76, 0.1) 0%,
rgba(255, 255, 255, 0.75) 40%, rgba(255, 255, 255, 0.45) 38%,
transparent 95% transparent 92%
); );
opacity: 0; opacity: 0;
transition: opacity 0.3s ease; transition: opacity 0.3s ease;
pointer-events: none; pointer-events: none;
z-index: -1;
} }
&:hover, &:hover,

View File

@@ -21,7 +21,7 @@
features: [ features: [
"Komplettlösung: ab 2 500 €", "Komplettlösung: ab 2 500 €",
"Hosting &amp; Monitoring im deutschen Rechenzentrum: ab 100&nbsp;€/Monat", "Hosting &amp; Monitoring im deutschen Rechenzentrum: ab 100&nbsp;€/Monat",
"Transparente Nutzungskosten: ca. 2&nbsp;€ pro 100&nbsp;Chat-Sessions bzw. 5&nbsp;€ pro 100&nbsp;Telefongespräche*", "Transparente Nutzungskosten: ca. 2&nbsp;€ auf 100&nbsp;Chat-Sessions bzw. ca. 5&nbsp;€ auf 100&nbsp;Telefongespräche*",
"Optionale laufende Optimierungen: ab 250&nbsp;€/Monat", "Optionale laufende Optimierungen: ab 250&nbsp;€/Monat",
"Vollständig DSGVO-konform, jederzeit kündbar mit 30 Tagen Frist", "Vollständig DSGVO-konform, jederzeit kündbar mit 30 Tagen Frist",
], ],
@@ -34,9 +34,8 @@
features: [ features: [
"On-Premise- oder Private-Cloud-Deployment (Kubernetes/Docker)", "On-Premise- oder Private-Cloud-Deployment (Kubernetes/Docker)",
"Schulung &amp; Enablement Ihres Teams: 13 Tage, feste Tagessätze", "Schulung &amp; Enablement Ihres Teams: 13 Tage, feste Tagessätze",
"Plattform-Lizenz nach Server-Knoten oder CPU/VRAM-Paketen", "Plattform-Lizenz pro Serverinstanz",
"Premium-Support &amp; individuelle SLA bis 24/7 verfügbar", "Gleicher Funktionsumfang wie Starter",
"Gleicher Funktionsumfang wie Starter, jedoch mit eigener Datenhoheit und Möglichkeit, firmeneigene LLMs anzubinden.",
], ],
}, },
] ]