Files: mobile upload button, no-collective empty state; nav chat/approvals icons

This commit is contained in:
glass beadian 2026-10-12 18:02:56 +00:00
parent 3f61d11072
commit b984d6842f
2 changed files with 20 additions and 3 deletions

View file

@ -1,6 +1,7 @@
"use client";
import { useCallback, useEffect, useState } from "react";
import Link from "next/link";
import { Button, Input } from "../../../components/ui/primitives";
import { OfflineBadge } from "../../../components/ui/offline-badge";
import { EmptyState } from "../../../components/brand/empty-state";
@ -262,7 +263,24 @@ export default function FilesPage(): React.ReactElement {
{actionError !== null && <p role="alert" className="mb-3 text-sm text-danger">{actionError}</p>}
{notice !== null && <p role="status" className="mb-3 text-sm text-live">{notice}</p>}
<UploadDropzone groupId={groupId} live={live} onUploaded={handleUploaded} />
{groupId === "" ? (
<div className="mb-4 rounded-lg border border-border-subtle bg-surface p-4">
<p className="mb-3 text-sm text-text-dim">
{t({
en: "Uploads live inside a collective. Create one first — then this becomes your upload and library space.",
es: "Las subidas viven dentro de un colectivo. Crea uno primero y este espacio será tu zona de subidas y biblioteca.",
})}
</p>
<Link
href="/more"
className="inline-flex items-center gap-2 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-white hover:bg-accent-hover"
>
{t({ en: "Create a collective", es: "Crear un colectivo" })} ›
</Link>
</div>
) : (
<UploadDropzone groupId={groupId} live={live} onUploaded={handleUploaded} />
)}
<div className="mb-4 flex flex-wrap items-center gap-2">
<Input

View file

@ -132,13 +132,12 @@ export function UploadDropzone({ groupId, live, onUploaded }: {
{!disabled && (
<Button
size="sm"
variant="outline"
onClick={(e) => {
e.stopPropagation();
inputRef.current?.click();
}}
>
{t({ en: "Browse files", es: "Buscar archivos" })}
+ {t({ en: "Upload a file", es: "Subir un archivo" })}
</Button>
)}
</>