Move group conversation start out of Projekte sidebar section
Group chats are not project actions. Start a group conversation is now a top-level sidebar row between Heute and Projekte; Projekte empty state and header plus focus on creating projects instead. Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
This commit is contained in:
parent
2f2f0eb21e
commit
ff3e358e27
@ -12,6 +12,22 @@ async function createBot(page: Page, name: string) {
|
||||
return createNamedBot(page, name);
|
||||
}
|
||||
|
||||
test("start group conversation is top-level, not inside Projekte", async ({ page }) => {
|
||||
const stamp = Date.now();
|
||||
await signup(page, `group-ia-${stamp}@rakazo.test`, "password12", "Group IA");
|
||||
await completeOnboarding(page);
|
||||
await page.goto("/app");
|
||||
await page.waitForURL(/\/app\/[^/]+$/);
|
||||
|
||||
const startGroup = page.getByTestId("start-group-conversation");
|
||||
await expect(startGroup).toBeVisible();
|
||||
await expect(page.locator(".sidebar-projekte").getByTestId("start-group-conversation")).toHaveCount(
|
||||
0,
|
||||
);
|
||||
await expect(page.locator(".sidebar-projekte")).toContainText("Projekte");
|
||||
await expect(page.locator(".sidebar-projekte")).not.toContainText("Start a group conversation");
|
||||
});
|
||||
|
||||
test("create group from + and see two bots in one transcript", async ({ page }, testInfo) => {
|
||||
const stamp = Date.now();
|
||||
await signup(page, `group-${stamp}@rakazo.test`, "password12", "Group E2E");
|
||||
|
||||
@ -477,6 +477,10 @@
|
||||
"Server URL": "Server-URL",
|
||||
"Set up voice to call": "Stimme für Anrufe einrichten",
|
||||
"Settings": "Einstellungen",
|
||||
"Start a group conversation": "Gruppengespräch starten",
|
||||
"No projects yet.": "Noch keine Projekte.",
|
||||
"Create a project": "Projekt erstellen",
|
||||
"Threads by topic · folders": "Threads nach Thema · Ordner",
|
||||
"Discover now": "Jetzt entdecken",
|
||||
"Live Trading": "Live Trading",
|
||||
"Close integrations settings": "Integrationen-Einstellungen schließen",
|
||||
|
||||
@ -1427,6 +1427,10 @@ msgstr "Neue Gruppe erstellen"
|
||||
msgid "Create new Space"
|
||||
msgstr "Neuen Space erstellen"
|
||||
|
||||
#: src/pages/Shell.tsx:3093
|
||||
msgid "Create a project"
|
||||
msgstr "Projekt erstellen"
|
||||
|
||||
#: src/pages/RoutineEditor.tsx:122
|
||||
#: src/pages/RoutineEditor.tsx:123
|
||||
msgid "Create Routine"
|
||||
@ -2531,6 +2535,10 @@ msgstr "Noch keine Nachrichten mit {peerBotName}."
|
||||
msgid "No model catalog is available."
|
||||
msgstr "Kein Modellkatalog verfügbar."
|
||||
|
||||
#: src/pages/Shell.tsx:3086
|
||||
msgid "No projects yet."
|
||||
msgstr "Noch keine Projekte."
|
||||
|
||||
#: src/pages/ModelSettingsOverlay.tsx:453
|
||||
msgid "No providers found."
|
||||
msgstr "Keine Anbieter gefunden."
|
||||
@ -3411,6 +3419,9 @@ msgid "Speaking…"
|
||||
msgstr "Spricht…"
|
||||
|
||||
#: src/components/teach/TeachComputerOverlay.tsx:250
|
||||
msgid "Start a group conversation"
|
||||
msgstr "Gruppengespräch starten"
|
||||
|
||||
msgid "Start recording"
|
||||
msgstr "Aufnahme starten"
|
||||
|
||||
@ -3604,6 +3615,9 @@ msgid "To:"
|
||||
msgstr "An:"
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx:1111
|
||||
msgid "Threads by topic · folders"
|
||||
msgstr "Threads nach Thema · Ordner"
|
||||
|
||||
msgid "Tool sources"
|
||||
msgstr "Toolquellen"
|
||||
|
||||
|
||||
@ -1426,6 +1426,10 @@ msgstr "Create new Group"
|
||||
msgid "Create new Space"
|
||||
msgstr "Create new Space"
|
||||
|
||||
#: src/pages/Shell.tsx:3093
|
||||
msgid "Create a project"
|
||||
msgstr "Create a project"
|
||||
|
||||
#: src/pages/RoutineEditor.tsx:122
|
||||
#: src/pages/RoutineEditor.tsx:123
|
||||
msgid "Create Routine"
|
||||
@ -2531,6 +2535,9 @@ msgid "No model catalog is available."
|
||||
msgstr "No model catalog is available."
|
||||
|
||||
#: src/pages/ModelSettingsOverlay.tsx:453
|
||||
msgid "No projects yet."
|
||||
msgstr "No projects yet."
|
||||
|
||||
msgid "No providers found."
|
||||
msgstr "No providers found."
|
||||
|
||||
@ -3410,6 +3417,9 @@ msgid "Speaking…"
|
||||
msgstr "Speaking…"
|
||||
|
||||
#: src/components/teach/TeachComputerOverlay.tsx:250
|
||||
msgid "Start a group conversation"
|
||||
msgstr "Start a group conversation"
|
||||
|
||||
msgid "Start recording"
|
||||
msgstr "Start recording"
|
||||
|
||||
@ -3603,6 +3613,9 @@ msgid "To:"
|
||||
msgstr "To:"
|
||||
|
||||
#: src/pages/PluginsOverlay.tsx:1111
|
||||
msgid "Threads by topic · folders"
|
||||
msgstr "Threads by topic · folders"
|
||||
|
||||
msgid "Tool sources"
|
||||
msgstr "Tool sources"
|
||||
|
||||
|
||||
@ -115,6 +115,7 @@ import {
|
||||
Square,
|
||||
TextQuote,
|
||||
Trash2,
|
||||
Users,
|
||||
Volume2,
|
||||
X,
|
||||
} from "lucide-react";
|
||||
@ -3037,27 +3038,36 @@ export function ShellPage() {
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
data-testid="start-group-conversation"
|
||||
onClick={() => {
|
||||
setMobileSidebarOpen(false);
|
||||
setPanel("create-group");
|
||||
}}
|
||||
className="mx-0 mb-2 flex w-full items-center gap-3 rounded-xl px-2.5 py-2 hover:bg-sidebar-accent"
|
||||
>
|
||||
<span className="grid h-[30px] w-[30px] place-items-center rounded-lg bg-accent text-foreground/80">
|
||||
<Users strokeWidth={1.8} className="size-icon-md" />
|
||||
</span>
|
||||
<span className="text-ui-body font-medium text-foreground/90">
|
||||
<Trans>Start a group conversation</Trans>
|
||||
</span>
|
||||
</button>
|
||||
<div className="sidebar-projekte">
|
||||
{/* PROJEKTE SECTION */}
|
||||
<div className="flex items-center justify-between pt-4 pb-1 mt-2 border-t border-white/5 px-2.5">
|
||||
<div>
|
||||
<div className="rk-shell-section-label">{t`Projekte`}</div>
|
||||
<p className="mt-0.5 px-0.5 text-ui-caption text-muted-foreground/70">
|
||||
{t`Group conversations · folders`}
|
||||
{t`Threads by topic · folders`}
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<button
|
||||
type="button"
|
||||
aria-label="Einstellungen"
|
||||
className="text-muted-foreground/60 hover:text-foreground/90 transition-colors"
|
||||
>
|
||||
<Settings strokeWidth={2} className="size-icon-sm" />
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
aria-label="Neues Projekt"
|
||||
onClick={() => setPanel("create-group")}
|
||||
aria-label={t`Create a project`}
|
||||
onClick={() => setNewSpaceOpen(true)}
|
||||
className="text-muted-foreground/60 hover:text-foreground/90 transition-colors"
|
||||
>
|
||||
<Plus strokeWidth={2.5} className="size-icon-md" />
|
||||
@ -3073,15 +3083,15 @@ export function ShellPage() {
|
||||
}))
|
||||
.filter((group) => group.bots.length > 0 || group.emptySpaceId).length === 0 ? (
|
||||
<div className="p-4 text-center text-ui-label text-muted-foreground">
|
||||
<p>{t`No project conversations yet.`}</p>
|
||||
<p>{t`No projects yet.`}</p>
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
className="mt-2 text-ui-label"
|
||||
onClick={() => setPanel("create-group")}
|
||||
onClick={() => setNewSpaceOpen(true)}
|
||||
>
|
||||
<Plus className="mr-1 size-icon-sm" />
|
||||
{t`Start a group conversation`}
|
||||
{t`Create a project`}
|
||||
</Button>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user