feat(modules.board): add file on the board#172
Conversation
|
| url: getUrl(fileId), | ||
| responseType: 'blob', | ||
| headers: { | ||
| ...(token ? { 'x-storage-token': token } : {}), |
There was a problem hiding this comment.
Как будто проверка на токен лишняя, если в типах ты указываешь, что он должен быть обязательно
| fileId, | ||
| fileName, | ||
| token, | ||
| }: DownloadFileVars): Promise<string> { |
There was a problem hiding this comment.
Далеко не уверен насчёт Promise<string>, как будто там и не только лишь строка может быть
| export async function insertFile(editor: Editor, file: File, token: string) { | ||
| if (!ALLOWED_FILE_MIME_TYPES.has(file.type)) { | ||
| toast.error('Неподдерживаемый формат', { | ||
| description: 'Выберите файл (doc, xls, ppt и др.).', |
There was a problem hiding this comment.
Выберите файл
Как будто тут немного некорректно, ведь файл уже выбран
| toast.error('Ошибка загрузки файла', { description: msg, duration: 5000 }); | ||
| editor.deleteShapes([shapeId]); | ||
| } | ||
| })(); |
There was a problem hiding this comment.
Не очень мне нравится конструкция выше, учитывая, что у тебя уже insertFile идёт как async функция, а в итоге у тебя тут ещё одна конструкция async await
There was a problem hiding this comment.
я брала как пример pickAndInsertPdf и pickAndInsertAudio за основу, там такие же конструкции. Думаешь, стоить изменить?
There was a problem hiding this comment.
Значится стоит надавать по шапке мне самому же, ибо audio и pdf писал я, а если быть точнее за Cursor'ом не уследил
Мне не сильно всё равно нравится async у insertFile, но в целом, можем итак оставить. Иначе было бы хорошо переписать это везде
There was a problem hiding this comment.
в последнем коммите попробовала улучшить, убрала IIFE, немного разделила отвественность функций

Добавлена возможность загружать файлы, на доске появляется (после загрузки на сервер) карточка с этим файлом, его название, расширение, объём и большая кнопка скачать.
На данный момент решено оставить следующий список разрешенных форматов: pdf, doc, docx, xls, xlsx, ppt, pptx, txt, csv, mp4, webm, mov, avi и ограничить размер файла (максимум 5 MiB).
Требуется тестирование!
Шаги вопроизведения:
Выбрать любой файл из списка разрешенных
Дождаться загрузки файла на сервер, в это время видна карточка с текстом "Загрузка"