linguabot commited on
Commit
0961d86
·
verified ·
1 Parent(s): 2069e4d

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. client/src/pages/TutorialTasks.tsx +11 -8
client/src/pages/TutorialTasks.tsx CHANGED
@@ -704,12 +704,15 @@ const TutorialTasks: React.FC = () => {
704
  }
705
  }, [tutorialTasks, fetchUserSubmissions]);
706
 
707
- const handleSubmitTranslation = async (taskId: string) => {
708
- if (!translationText[taskId]?.trim()) {
 
 
 
709
  return;
710
  }
711
 
712
- if (!selectedGroups[taskId]) {
713
  return;
714
  }
715
 
@@ -718,8 +721,8 @@ const TutorialTasks: React.FC = () => {
718
  const user = JSON.parse(localStorage.getItem('user') || '{}');
719
  const response = await api.post('/api/submissions', {
720
  sourceTextId: taskId,
721
- transcreation: translationText[taskId],
722
- groupNumber: selectedGroups[taskId],
723
  culturalAdaptations: [],
724
  username: user.name || 'Unknown'
725
  });
@@ -2153,7 +2156,7 @@ const TutorialTasks: React.FC = () => {
2153
  submitting={!!submitting[task._id]}
2154
  onGroupChange={(n) => setSelectedGroups(prev => ({ ...prev, [task._id]: n as number }))}
2155
  onTranslationChange={(v) => setTranslationText(prev => ({ ...prev, [task._id]: v }))}
2156
- onSubmit={() => handleSubmitTranslation(task._id)}
2157
  label="Select Your Group"
2158
  selectWidthClass="w-40"
2159
  containerClassName="bg-white rounded-lg p-4 border border-gray-200"
@@ -2242,7 +2245,7 @@ const TranslationSection: React.FC<{
2242
  submitting: boolean;
2243
  onGroupChange: (n: number) => void;
2244
  onTranslationChange: (v: string) => void;
2245
- onSubmit: () => void;
2246
  label?: string;
2247
  selectWidthClass?: string;
2248
  containerClassName?: string;
@@ -2323,7 +2326,7 @@ const TranslationSection: React.FC<{
2323
  placeholder="Enter your group's translation here..."
2324
  />
2325
  <button
2326
- onClick={() => { if (localGroup) onGroupChange(localGroup as number); onTranslationChange(localText || ''); onSubmit(); }}
2327
  disabled={submitting}
2328
  className="relative inline-flex items-center justify-center gap-2 px-4 py-2 rounded-2xl text-sm font-medium text-white ring-1 ring-inset ring-white/50 backdrop-blur-md backdrop-brightness-110 backdrop-saturate-150 shadow-[inset_0_1px_0_rgba(255,255,255,0.6),inset_0_-1px_0_rgba(0,0,0,0.12)] bg-sky-600/70 disabled:bg-gray-400 mt-2"
2329
  >
 
704
  }
705
  }, [tutorialTasks, fetchUserSubmissions]);
706
 
707
+ const handleSubmitTranslation = async (taskId: string, localText?: string, localGroup?: number) => {
708
+ const text = localText || translationText[taskId];
709
+ const group = localGroup || selectedGroups[taskId];
710
+
711
+ if (!text?.trim()) {
712
  return;
713
  }
714
 
715
+ if (!group) {
716
  return;
717
  }
718
 
 
721
  const user = JSON.parse(localStorage.getItem('user') || '{}');
722
  const response = await api.post('/api/submissions', {
723
  sourceTextId: taskId,
724
+ transcreation: text,
725
+ groupNumber: group,
726
  culturalAdaptations: [],
727
  username: user.name || 'Unknown'
728
  });
 
2156
  submitting={!!submitting[task._id]}
2157
  onGroupChange={(n) => setSelectedGroups(prev => ({ ...prev, [task._id]: n as number }))}
2158
  onTranslationChange={(v) => setTranslationText(prev => ({ ...prev, [task._id]: v }))}
2159
+ onSubmit={(localText, localGroup) => handleSubmitTranslation(task._id, localText, localGroup)}
2160
  label="Select Your Group"
2161
  selectWidthClass="w-40"
2162
  containerClassName="bg-white rounded-lg p-4 border border-gray-200"
 
2245
  submitting: boolean;
2246
  onGroupChange: (n: number) => void;
2247
  onTranslationChange: (v: string) => void;
2248
+ onSubmit: (localText: string, localGroup: number) => void;
2249
  label?: string;
2250
  selectWidthClass?: string;
2251
  containerClassName?: string;
 
2326
  placeholder="Enter your group's translation here..."
2327
  />
2328
  <button
2329
+ onClick={() => { if (localGroup) onSubmit(localText, localGroup as number); }}
2330
  disabled={submitting}
2331
  className="relative inline-flex items-center justify-center gap-2 px-4 py-2 rounded-2xl text-sm font-medium text-white ring-1 ring-inset ring-white/50 backdrop-blur-md backdrop-brightness-110 backdrop-saturate-150 shadow-[inset_0_1px_0_rgba(255,255,255,0.6),inset_0_-1px_0_rgba(0,0,0,0.12)] bg-sky-600/70 disabled:bg-gray-400 mt-2"
2332
  >