Fix version selector

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-07-16 15:36:42 +02:00
parent 5524539897
commit 9dd2f3998e

View File

@@ -248,136 +248,6 @@ export default function DocumentDetailPage(props: Props) {
/> />
</DropdownItem> </DropdownItem>
))} ))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
{versions.map((version) => (
<DropdownItem asChild key={version.id}>
<VersionItem
document={document}
version={version}
active={version.id === currentVersion.id}
onSelect={() => {}}
/>
</DropdownItem>
))}
</Dropdown> </Dropdown>
<ActionDropdown variant="secondary"> <ActionDropdown variant="secondary">
@@ -476,31 +346,38 @@ function VersionItem({
active?: boolean; active?: boolean;
onSelect: (v: Version) => void; onSelect: (v: Version) => void;
}) { }) {
const { dateTimeFormat } = useTranslate(); const { dateTimeFormat, __ } = useTranslate();
const organizationId = useOrganizationId(); const organizationId = useOrganizationId();
const suffix = useLocation().pathname.split("/").at(-1); const suffix = useLocation().pathname.split("/").at(-1);
return ( return (
<Link <Link
to={`/organizations/${organizationId}/documents/${document.id}/versions/${version.id}/${suffix}`} to={`/organizations/${organizationId}/documents/${document.id}/versions/${version.id}/${suffix}`}
onClick={() => onSelect(version)} onClick={() => onSelect(version)}
className={clsx( className="flex items-center gap-2 py-2 px-[10px] w-full hover:bg-tertiary-hover cursor-pointer rounded"
"flex items-center gap-2 py-2 px-[10px] w-full hover:bg-tertiary-hover cursor-pointer rounded",
active && "bg-tertiary-pressed",
)}
{...props} {...props}
> >
<Avatar <div className="flex gap-3 w-full overflow-hidden">
name={version.publishedBy?.fullName ?? document.owner.fullName} <div className={clsx("flex-shrink-0 flex items-center justify-center size-10", active && "bg-active rounded")}>
size="l" <div className="text-base text-txt-primary whitespace-nowrap font-bold text-center">
/> {version.version}
<div className="text-start space-y-[2px] w-full overflow-hidden"> </div>
<div className="text-sm text-txt-primary whitespace-nowrap overflow-hidden text-ellipsis"> </div>
<div className="flex-1 space-y-[2px] overflow-hidden">
<div className="flex items-center gap-2 overflow-hidden">
<div className="text-sm text-txt-secondary whitespace-nowrap overflow-hidden text-ellipsis">
{version.publishedBy?.fullName ?? document.owner.fullName} {version.publishedBy?.fullName ?? document.owner.fullName}
</div> </div>
{version.status === "DRAFT" && (
<Badge variant="neutral" size="sm">
{__("Draft")}
</Badge>
)}
</div>
<div className="text-xs text-txt-secondary whitespace-nowrap overflow-hidden text-ellipsis"> <div className="text-xs text-txt-secondary whitespace-nowrap overflow-hidden text-ellipsis">
{dateTimeFormat(version.publishedAt ?? version.updatedAt)} {dateTimeFormat(version.publishedAt ?? version.updatedAt)}
</div> </div>
</div> </div>
</div>
</Link> </Link>
); );
} }