From 46fd4aa03efff675ab4dae014e25e1b78ecbec9d Mon Sep 17 00:00:00 2001 From: Atif Ali Date: Wed, 10 Dec 2025 11:17:46 +0500 Subject: [PATCH] fix(site): add default file icon for files without specific icons (#21170) --- .../TemplateFiles/TemplateFileTree.stories.tsx | 5 +++++ .../templates/TemplateFiles/TemplateFileTree.tsx | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/site/src/modules/templates/TemplateFiles/TemplateFileTree.stories.tsx b/site/src/modules/templates/TemplateFiles/TemplateFileTree.stories.tsx index 45191a2320..4a922a9fb2 100644 --- a/site/src/modules/templates/TemplateFiles/TemplateFileTree.stories.tsx +++ b/site/src/modules/templates/TemplateFiles/TemplateFileTree.stories.tsx @@ -8,8 +8,13 @@ const fileTree: FileTree = { "main.tf": "resource aws_instance my_instance {}", "variables.tf": "variable my_var {}", "outputs.tf": "output my_output {}", + "README.md": "# Example\n\nThis is an example.", + "install.sh": "#!/bin/bash\necho 'Installing...'", + "config.txt": "key=value", + "app.py": "print('Hello')", folder: { "nested.tf": "resource aws_instance my_instance {}", + "data.csv": "col1,col2\n1,2", }, }; diff --git a/site/src/modules/templates/TemplateFiles/TemplateFileTree.tsx b/site/src/modules/templates/TemplateFiles/TemplateFileTree.tsx index 297ad1495d..ce86983930 100644 --- a/site/src/modules/templates/TemplateFiles/TemplateFileTree.tsx +++ b/site/src/modules/templates/TemplateFiles/TemplateFileTree.tsx @@ -3,7 +3,12 @@ import Menu from "@mui/material/Menu"; import MenuItem from "@mui/material/MenuItem"; import { SimpleTreeView, TreeItem } from "@mui/x-tree-view"; import { DockerIcon } from "components/Icons/DockerIcon"; -import { ChevronDownIcon, ChevronRightIcon, FolderIcon } from "lucide-react"; +import { + ChevronDownIcon, + ChevronRightIcon, + FileIcon, + FolderIcon, +} from "lucide-react"; import { type CSSProperties, type ElementType, @@ -95,6 +100,9 @@ export const TemplateFileTree: FC = ({ icon = FileTypeMarkdown; } else if (filename.endsWith("Dockerfile")) { icon = DockerIcon; + } else { + // Default icon for files without a specific icon. + icon = FileIcon; } return (