(fileName: string, fileType: string)
| 201 | }; |
| 202 | |
| 203 | export const getFileIcon = (fileName: string, fileType: string): string => { |
| 204 | if (fileType === "directory") { |
| 205 | return "fa-folder"; |
| 206 | } |
| 207 | |
| 208 | if (fileType.startsWith("image/")) { |
| 209 | return "fa-image"; |
| 210 | } |
| 211 | |
| 212 | if (fileType === "application/pdf") { |
| 213 | return "fa-file-pdf"; |
| 214 | } |
| 215 | |
| 216 | // Check file extensions for code files |
| 217 | const ext = fileName.split(".").pop()?.toLowerCase(); |
| 218 | switch (ext) { |
| 219 | case "js": |
| 220 | case "jsx": |
| 221 | case "ts": |
| 222 | case "tsx": |
| 223 | return "fa-file-code"; |
| 224 | case "go": |
| 225 | return "fa-file-code"; |
| 226 | case "py": |
| 227 | return "fa-file-code"; |
| 228 | case "java": |
| 229 | case "c": |
| 230 | case "cpp": |
| 231 | case "h": |
| 232 | case "hpp": |
| 233 | return "fa-file-code"; |
| 234 | case "html": |
| 235 | case "css": |
| 236 | case "scss": |
| 237 | case "sass": |
| 238 | return "fa-file-code"; |
| 239 | case "json": |
| 240 | case "xml": |
| 241 | case "yaml": |
| 242 | case "yml": |
| 243 | return "fa-file-code"; |
| 244 | case "md": |
| 245 | case "txt": |
| 246 | return "fa-file-text"; |
| 247 | default: |
| 248 | return "fa-file"; |
| 249 | } |
| 250 | }; |
| 251 | |
| 252 | export const formatFileSize = (bytes: number): string => { |
| 253 | if (bytes === 0) return "0 B"; |
no test coverage detected