Fix version selector
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user