linguabot commited on
Commit
d9152bd
·
verified ·
1 Parent(s): 6bdb25d

Upload folder using huggingface_hub

Browse files
client/public/rebuild-nonce.txt CHANGED
@@ -1 +1 @@
1
- Rebuild nonce: 2025-10-25T19:15:45Z
 
1
+ Rebuild nonce: 2025-10-25T19:25:15Z
client/src/pages/TutorialTasks.tsx CHANGED
@@ -1883,7 +1883,11 @@ const TutorialTasks: React.FC = () => {
1883
  <label className="block text-xs font-medium text-gray-700 mb-1">Select Your Group</label>
1884
  <select
1885
  value={selectedGroups[task._id] || ''}
1886
- onChange={(e) => setSelectedGroups({ ...selectedGroups, [task._id]: parseInt(e.target.value) })}
 
 
 
 
1887
  className="w-40 px-2 py-1 border border-gray-300 rounded focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white text-xs"
1888
  >
1889
  <option value="">Choose...</option>
@@ -1898,8 +1902,16 @@ const TutorialTasks: React.FC = () => {
1898
  <textarea
1899
  id={`tutorial-translation-${task._id}`}
1900
  value={translationText[task._id] || ''}
1901
- onInput={(e) => setTranslationText({ ...translationText, [task._id]: (e.target as HTMLTextAreaElement).value })}
1902
- onChange={(e) => setTranslationText({ ...translationText, [task._id]: e.target.value })}
 
 
 
 
 
 
 
 
1903
  className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white"
1904
  style={{ height: '150px' }}
1905
  rows={4}
@@ -2074,8 +2086,10 @@ const TutorialTasks: React.FC = () => {
2074
  <select
2075
  value={selectedGroups[task._id] || ''}
2076
  onChange={(e) => {
2077
- const value = parseInt(e.target.value);
2078
- setSelectedGroups({ ...selectedGroups, [task._id]: value });
 
 
2079
  }}
2080
  className="w-48 px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white text-sm"
2081
  required
@@ -2102,12 +2116,16 @@ const TutorialTasks: React.FC = () => {
2102
  id={`tutorial-translation-${task._id}`}
2103
  value={translationText[task._id] || ''}
2104
  onInput={(e) => {
2105
- const value = (e.target as HTMLTextAreaElement).value;
2106
- setTranslationText({ ...translationText, [task._id]: value });
 
 
2107
  }}
2108
  onChange={(e) => {
2109
- const value = e.target.value;
2110
- setTranslationText({ ...translationText, [task._id]: value });
 
 
2111
  }}
2112
  className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white"
2113
  style={{ height: '150px' }}
 
1883
  <label className="block text-xs font-medium text-gray-700 mb-1">Select Your Group</label>
1884
  <select
1885
  value={selectedGroups[task._id] || ''}
1886
+ onChange={(e) => {
1887
+ (withPreservedScroll.current || ((fn)=>fn()))(() => {
1888
+ setSelectedGroups({ ...selectedGroups, [task._id]: parseInt(e.target.value) });
1889
+ });
1890
+ }}
1891
  className="w-40 px-2 py-1 border border-gray-300 rounded focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white text-xs"
1892
  >
1893
  <option value="">Choose...</option>
 
1902
  <textarea
1903
  id={`tutorial-translation-${task._id}`}
1904
  value={translationText[task._id] || ''}
1905
+ onInput={(e) => {
1906
+ (withPreservedScroll.current || ((fn)=>fn()))(() => {
1907
+ setTranslationText({ ...translationText, [task._id]: (e.target as HTMLTextAreaElement).value });
1908
+ });
1909
+ }}
1910
+ onChange={(e) => {
1911
+ (withPreservedScroll.current || ((fn)=>fn()))(() => {
1912
+ setTranslationText({ ...translationText, [task._id]: e.target.value });
1913
+ });
1914
+ }}
1915
  className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white"
1916
  style={{ height: '150px' }}
1917
  rows={4}
 
2086
  <select
2087
  value={selectedGroups[task._id] || ''}
2088
  onChange={(e) => {
2089
+ (withPreservedScroll.current || ((fn)=>fn()))(() => {
2090
+ const value = parseInt(e.target.value);
2091
+ setSelectedGroups({ ...selectedGroups, [task._id]: value });
2092
+ });
2093
  }}
2094
  className="w-48 px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white text-sm"
2095
  required
 
2116
  id={`tutorial-translation-${task._id}`}
2117
  value={translationText[task._id] || ''}
2118
  onInput={(e) => {
2119
+ (withPreservedScroll.current || ((fn)=>fn()))(() => {
2120
+ const value = (e.target as HTMLTextAreaElement).value;
2121
+ setTranslationText({ ...translationText, [task._id]: value });
2122
+ });
2123
  }}
2124
  onChange={(e) => {
2125
+ (withPreservedScroll.current || ((fn)=>fn()))(() => {
2126
+ const value = e.target.value;
2127
+ setTranslationText({ ...translationText, [task._id]: value });
2128
+ });
2129
  }}
2130
  className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500 bg-white"
2131
  style={{ height: '150px' }}