From 2346bc7174ce1a2af748d5ec467bae70edb5df72 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Fri, 16 Sep 2022 16:02:39 +0300 Subject: [PATCH] CLI: Remove theme logo folders according to theme selection --- .../Templates/App/AppTemplateBase.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs index 22d33be136..3cf1aadb5e 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs @@ -204,6 +204,8 @@ public abstract class AppTemplateBase : TemplateInfo steps.Add(new ChangeThemeStyleStep()); } + RemoveThemeLogoFolders(context, steps); + if (IsDefaultThemeForTemplate(context.BuildArgs.Theme.Value)) { return; @@ -213,6 +215,28 @@ public abstract class AppTemplateBase : TemplateInfo RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, isProTemplate: IsPro(), uiFramework: context.BuildArgs.UiFramework); } + private void RemoveThemeLogoFolders(ProjectBuildContext context, List steps) + { + if (context.BuildArgs.Theme is not Theme.Lepton && IsPro()) + { + RemoveThemeFolders(folderPath: "/wwwroot/images/logo/lepton"); + } + + if (context.BuildArgs.Theme is not Theme.LeptonX or Theme.LeptonXLite) + { + RemoveThemeFolders(folderPath: "/wwwroot/images/logo/leptonx"); + } + + void RemoveThemeFolders(string folderPath) + { + var logoPaths = context.Files.Where(x => x.Name.Contains(folderPath) && x.IsDirectory); + foreach (var logoPath in logoPaths) + { + steps.Add(new RemoveFolderStep(logoPath.Name)); + } + } + } + private static bool IsDefaultThemeForTemplate(Theme theme) { var defaultThemesForTemplates = new[]