FIX: Previewing theme components broken when component has no SCSS.

This commit is contained in:
Alan Guo Xiang Tan 2021-06-21 13:50:06 +08:00
parent 1fdef0dc5b
commit 83012b6473
2 changed files with 9 additions and 1 deletions

View File

@ -231,7 +231,7 @@ class Stylesheet::Manager
if is_theme && !has_theme
next
else
next if builder.theme&.component && !scss_checker.has_scss(theme_id)
next if is_theme && builder.theme&.component && !scss_checker.has_scss(theme_id)
builder.compile unless File.exists?(builder.stylesheet_fullpath)
href = builder.stylesheet_path(current_hostname)
cache.defer_set("path_#{target}_#{theme_id}_#{current_hostname}", href)

View File

@ -135,6 +135,14 @@ describe Stylesheet::Manager do
)
end
it 'outputs tags for non-theme targets for theme component' do
child_theme = Fabricate(:theme, component: true)
hrefs = manager(child_theme.id).stylesheet_details(:desktop, 'all')
expect(hrefs.count).to eq(1) # desktop
end
it 'does not output tags for component targets with no styles' do
embedded_scss_child = Fabricate(:theme, component: true)
embedded_scss_child.set_field(target: :common, name: "embedded_scss", value: ".scss{color: red;}")