import type { RoomEditor } from '@/lib/partnership-room-edit'; import { labels as states } from '@/pages/partnerships/shared'; export default function RoomComparison({ editor, labels, display = (_key, value) => value || 'Não indicado', }: { editor: RoomEditor; labels: Record; display?: (key: string, value: string) => string; }) { return (
{editor.problem &&

{editor.problem}

} {editor.pendingAction && (

A acção anterior não foi confirmada. Recuperar repete a tentativa original sem substituir a preparação posterior.

)} {editor.mustRefresh && (

Consulte o contexto actual antes de adoptar uma nova tentativa.

)} {editor.invalid && (

Este registo não foi recuperado correctamente. As edições foram conservadas e a gravação está suspensa.

)} {!editor.editable && editor.dirty && (

O estado ou o acesso actual não permite editar este registo. A preparação abaixo foi conservada em memória; não foi gravada.

)} {editor.refreshing && (

A recuperar sem apagar a sua preparação.

)} {(editor.stale || editor.pendingAction) && ( <>

O registo ou o contexto da sala mudou. Compare os dados antes de continuar. Estado actual:{' '} {states[editor.status ?? ''] ?? 'Por recuperar'}.

{editor.changed.length > 0 && (
{editor.changed.map((key) => ( ))}
Campo Actualmente guardado Sua edição Escolha
{labels[key] ?? key} {display( key, editor.current[key], )} {display( key, editor.values[key], )} {editor.conflicts.includes( key, ) ? ( <> {' '} {editor.unresolved.includes( key, ) && (

Escolha o valor a conservar.

)} ) : ( 'Actualização compatível' )}
)} )} {editor.recovering && (

A criação não foi confirmada. Recuperar repete a chave e o conteúdo originais; alterações posteriores ficam como preparação de outro marco.

)} {editor.created !== null && (

O marco foi confirmado na lista desta sala. Alterações feitas depois do envio foram conservadas como nova preparação; o marco criado pode ser editado na lista.

)}
); }