PIT: fix blocker for deep rollbacks

This commit is contained in:
carlosmonastyrski
2025-05-21 09:08:12 -03:00
parent 44aa743d56
commit 2493bbbc97
8 changed files with 336 additions and 216 deletions
@@ -206,32 +206,45 @@ export const RollbackPreviewTab = (): JSX.Element => {
{currentFolderChanges.folderPath || currentFolderChanges.folderName}
</span>
</div>
{currentFolderChanges.changes.length > 0 && (
<span className="ml-2 rounded-full bg-mineshaft-600 px-2 py-0.5 text-xs text-gray-300">
{currentFolderChanges.changes.length}
</span>
)}
</div>
</div>
{deepRollback && nestedFolderChanges.length > 0 && (
<>
<div className="border-b border-mineshaft-600 bg-mineshaft-800 px-4 py-2">
<span className="text-sm font-semibold text-white">Affected Child Folders</span>
<span className="text-sm font-semibold text-white">
Affected Child Folders
</span>
</div>
{nestedFolderChanges.map((folder) => (
<div
key={folder.folderId}
className={`cursor-pointer border-b border-mineshaft-600 ${
selectedFolderId === folder.folderId ? "bg-mineshaft-700" : ""
}`}
onClick={() => setSelectedFolderId(folder.folderId)}
>
<div className="flex items-center justify-between px-4 py-2">
<div className="flex items-center">
<FontAwesomeIcon icon={faFolder} className="mr-2 text-yellow-500" size="sm" />
<span className="max-w-[150px] truncate text-sm font-medium text-white">
{folder.folderPath || folder.folderName}
</span>
{(nestedFolderChanges.map((folder) => (
<div
key={folder.folderId}
className={`cursor-pointer border-b border-mineshaft-600 ${
selectedFolderId === folder.folderId ? "bg-mineshaft-700" : ""
}`}
onClick={() => setSelectedFolderId(folder.folderId)}
>
<div className="flex items-center justify-between px-4 py-2">
<div className="flex items-center">
<FontAwesomeIcon icon={faFolder} className="mr-2 text-yellow-500" size="sm" />
<span className="max-w-[150px] truncate text-sm font-medium text-white">
{folder.folderPath || folder.folderName}
</span>
</div>
{folder.changes.length > 0 && (
<span className="rounded-full bg-mineshaft-600 px-2 py-0.5 text-xs text-gray-300">
{folder.changes.length}
</span>
)}
</div>
</div>
</div>
))}
))
)}
</>
)}
</div>
@@ -292,16 +305,10 @@ export const RollbackPreviewTab = (): JSX.Element => {
description="This will restore all changes to how they appeared at the point in time of this commit. Any modifications made after this commit will be undone."
/>
{folderChanges.length > 0 ? (
<div className="flex w-full border border-mineshaft-600">
<div className="flex w-full border border-mineshaft-600">
{renderSidebar()}
{renderMainContent()}
</div>
) : (
<div className="flex h-32 items-center justify-center">
<p className="text-gray-400">No changes will be applied with this restore</p>
</div>
)}
<div className="border-x border-mineshaft-600 bg-mineshaft-800 px-6 py-3">
<div className="flex items-center justify-end">
@@ -346,6 +353,7 @@ export const RollbackPreviewTab = (): JSX.Element => {
}}
colorSchema="primary"
className="px-6 py-2"
isDisabled={message.length === 0 || !rollbackChangesNested || !rollbackChangesNested?.some((folder) => folder.changes.length > 0)}
>
Restore
</Button>