대시보드
18 |AI가 회의록을 마인드맵으로 변환하고 있어요
10 |새로운 브레인스토밍을 시작해보세요
; 8 | const root: Node = data[Object.keys(data)[0]]; 9 | 10 | return오프라인 상태입니다
8 |인터넷 연결을 확인해주세요.
9 |작업 내역이 저장되지 않을 수 있습니다
10 |{content}
13 |Authenticating
; 22 | } 23 | -------------------------------------------------------------------------------- /BE/apps/api-server/src/pipes/audio.file.validation.pipe.ts: -------------------------------------------------------------------------------- 1 | import { BadRequestException, Injectable, PipeTransform } from '@nestjs/common'; 2 | import { ALLOW_AUDIO_FILE_FORMAT } from 'apps/api-server/src/common/constant'; 3 | import { extname } from 'path'; 4 | 5 | @Injectable() 6 | export class AudioFileValidationPipe implements PipeTransform { 7 | transform(file: Express.Multer.File) { 8 | if (!file) { 9 | throw new BadRequestException('No file uploaded'); 10 | } 11 | 12 | const ext = extname(file.originalname).toLowerCase(); 13 | console.log(ext); 14 | 15 | if (!ALLOW_AUDIO_FILE_FORMAT.includes(ext)) { 16 | throw new BadRequestException(`File type not allowed. Only ${ALLOW_AUDIO_FILE_FORMAT.join(', ')} allowed`); 17 | } 18 | 19 | return file; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /client/src/components/common/Error.tsx: -------------------------------------------------------------------------------- 1 | import errorIcon from "@/assets/error"; 2 | import { Button } from "@headlessui/react"; 3 | export default function Error() { 4 | return ( 5 |OOPS!
9 |무언가 잘못됐어요
10 | 16 |대시보드
18 |브레인스토밍을 시작해보세요.
15 | 18 |
8 | AI 기능을 사용하면
9 |
10 | 마인드맵이 초기화됩니다
11 |
403
9 |접근이 거부되었습니다.
10 |요청하신 페이지에 대한 접근이 거부되었습니다.
11 |입력한 주소가 정확한지 다시 한 번 확인해 주세요.
12 | 18 |404
10 |페이지를 찾을 수 없습니다.
11 |페이지가 존재하지 않거나, 사용할 수 없는 페이지입니다.
12 |입력한 주소가 정확한지 다시 한 번 확인해 주세요.
13 | 19 |
8 | {data.title}
9 |
마인드 맵을 삭제하시겠습니까?
10 |
모든 노드를 초기화할까요?
13 |최근에 작업했던 마인드맵이 있어요!
9 |
13 | 현재 만들어둔 마인드맵이 없어요
14 |
15 | 새로운 마인드맵을 생성하고 브레인스토밍 해보세요!
16 |
19 | 로그인하지 않은 상태로 마인드맵을 만들면 {"\n"} 24시간 이후에 사라져요 20 |
21 | 24 | 30 |{message}
40 |{modeView[mode] || modeView.listview}
37 |
16 | 마인드맵을 만들고
17 |
18 | 브레인 스토밍에 활용해보세요
19 |
회의록
42 |편집은 마인드맵 소유자만 가능해요
45 |협업 링크
33 | e.currentTarget.select()} 38 | onKeyDown={handleKeyDown} 39 | className="h-10 w-full truncate rounded-lg bg-grayscale-200 px-3 py-2 text-grayscale-500 focus:border-transparent focus:outline-none" 40 | /> 41 | 48 |49 | 복사된 링크를 통해 팀원들과 브레인스토밍을 해보세요 50 |
51 |{name}
51 |{email}
52 |로그인
27 |