Upload folder using huggingface_hub
Browse files
client/src/components/Refinity.tsx
CHANGED
|
@@ -415,6 +415,9 @@ const Refinity: React.FC = () => {
|
|
| 415 |
initialTranslation={taskVersions.find(v => v.id === currentVersionId)?.content || ''}
|
| 416 |
onBack={()=>setStage('flow')}
|
| 417 |
onSave={handleSaveRevision}
|
|
|
|
|
|
|
|
|
|
| 418 |
/>
|
| 419 |
)}
|
| 420 |
</div>
|
|
@@ -423,7 +426,7 @@ const Refinity: React.FC = () => {
|
|
| 423 |
);
|
| 424 |
};
|
| 425 |
|
| 426 |
-
const EditorPane: React.FC<{ source: string; initialTranslation: string; onBack: ()=>void; onSave: (text: string)=>void }>=({ source, initialTranslation, onBack, onSave })=>{
|
| 427 |
const [text, setText] = React.useState<string>(initialTranslation);
|
| 428 |
const [saving, setSaving] = React.useState(false);
|
| 429 |
const [diffHtml, setDiffHtml] = React.useState<string>('');
|
|
@@ -452,13 +455,9 @@ const EditorPane: React.FC<{ source: string; initialTranslation: string; onBack:
|
|
| 452 |
const downloadWithTrackChanges = async ()=>{
|
| 453 |
try {
|
| 454 |
const base = ((api.defaults as any)?.baseURL as string || '').replace(/\/$/, '');
|
| 455 |
-
const taskNameSafe = (
|
| 456 |
const userNameSafe = (username || 'User').replace(/[^\w\-\s]/g,'').replace(/\s+/g,'_');
|
| 457 |
-
const
|
| 458 |
-
const vNum = (()=>{
|
| 459 |
-
const target = (task?.id ? (versions.filter(v=>v.taskId===task.id).slice(-1)[0]?.versionNumber || 0) : 0) + 1;
|
| 460 |
-
return `v${target}`;
|
| 461 |
-
})();
|
| 462 |
const filename = `${taskNameSafe}_${userNameSafe}_${vNum}.docx`;
|
| 463 |
const resp = await fetch(`${base}/api/refinity/track-changes`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ prev: initialTranslation || '', current: text || '', filename }) });
|
| 464 |
if (!resp.ok) throw new Error('Export failed');
|
|
|
|
| 415 |
initialTranslation={taskVersions.find(v => v.id === currentVersionId)?.content || ''}
|
| 416 |
onBack={()=>setStage('flow')}
|
| 417 |
onSave={handleSaveRevision}
|
| 418 |
+
taskTitle={task?.title || 'Task'}
|
| 419 |
+
username={username}
|
| 420 |
+
nextVersionNumber={((versions.filter(v=>v.taskId===(task?.id||'')).slice(-1)[0]?.versionNumber) || 0) + 1}
|
| 421 |
/>
|
| 422 |
)}
|
| 423 |
</div>
|
|
|
|
| 426 |
);
|
| 427 |
};
|
| 428 |
|
| 429 |
+
const EditorPane: React.FC<{ source: string; initialTranslation: string; onBack: ()=>void; onSave: (text: string)=>void; taskTitle: string; username: string; nextVersionNumber: number }>=({ source, initialTranslation, onBack, onSave, taskTitle, username, nextVersionNumber })=>{
|
| 430 |
const [text, setText] = React.useState<string>(initialTranslation);
|
| 431 |
const [saving, setSaving] = React.useState(false);
|
| 432 |
const [diffHtml, setDiffHtml] = React.useState<string>('');
|
|
|
|
| 455 |
const downloadWithTrackChanges = async ()=>{
|
| 456 |
try {
|
| 457 |
const base = ((api.defaults as any)?.baseURL as string || '').replace(/\/$/, '');
|
| 458 |
+
const taskNameSafe = (taskTitle || 'Task').replace(/[^\w\-\s]/g,'').replace(/\s+/g,'_');
|
| 459 |
const userNameSafe = (username || 'User').replace(/[^\w\-\s]/g,'').replace(/\s+/g,'_');
|
| 460 |
+
const vNum = `v${nextVersionNumber}`;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 461 |
const filename = `${taskNameSafe}_${userNameSafe}_${vNum}.docx`;
|
| 462 |
const resp = await fetch(`${base}/api/refinity/track-changes`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ prev: initialTranslation || '', current: text || '', filename }) });
|
| 463 |
if (!resp.ok) throw new Error('Export failed');
|