Merge branch 'fix-shadows-everywhere' into 'develop'

add 'none' keyword to PISS shadow definiton that equals empty array

See merge request pleroma/pleroma-fe!1946
This commit is contained in:
HJ 2024-09-23 21:33:19 +00:00
commit cf24e30095
6 changed files with 16 additions and 6 deletions

View file

View file

@ -16,7 +16,8 @@ export default {
{ {
directives: { directives: {
background: '#ffffff', background: '#ffffff',
opacity: 0 opacity: 0,
shadow: []
} }
}, },
{ {

View file

@ -16,7 +16,8 @@ export default {
component: 'PanelHeader', component: 'PanelHeader',
directives: { directives: {
backgroundNoCssColor: 'yes', backgroundNoCssColor: 'yes',
background: '--fg' background: '--fg',
shadow: []
} }
} }
] ]

View file

@ -138,7 +138,11 @@ export const deserialize = (input) => {
const [property, value] = d.split(':') const [property, value] = d.split(':')
let realValue = value.trim() let realValue = value.trim()
if (property === 'shadow') { if (property === 'shadow') {
realValue = value.split(',').map(v => parseShadow(v.trim())) if (realValue === 'none') {
realValue = []
} else {
realValue = value.split(',').map(v => parseShadow(v.trim()))
}
} if (!Number.isNaN(Number(value))) { } if (!Number.isNaN(Number(value))) {
realValue = Number(value) realValue = Number(value)
} }

View file

@ -32,7 +32,11 @@ export const serialize = (ruleset) => {
} else { } else {
switch (directive) { switch (directive) {
case 'shadow': case 'shadow':
return ` ${directive}: ${value.map(serializeShadow).join(', ')}` if (value.length > 0) {
return ` ${directive}: ${value.map(serializeShadow).join(', ')}`
} else {
return ` ${directive}: none`
}
default: default:
return ` ${directive}: ${value}` return ` ${directive}: ${value}`
} }

View file

@ -19,7 +19,7 @@ describe('ISS (de)serialization', () => {
/* /*
// Debug snippet // Debug snippet
const onlyComponent = componentsContext('./components/panel_header.style.js').default const onlyComponent = componentsContext('./components/panel_header.style.js').default
it(`(De)serialization of component ${onlyComponent.name} works`, () => { it.only(`(De)serialization of component ${onlyComponent.name} works`, () => {
const normalized = onlyComponent.defaultRules.map(x => ({ component: onlyComponent.name, ...x })) const normalized = onlyComponent.defaultRules.map(x => ({ component: onlyComponent.name, ...x }))
console.log('BEGIN INPUT ================') console.log('BEGIN INPUT ================')
console.log(normalized) console.log(normalized)
@ -36,5 +36,5 @@ describe('ISS (de)serialization', () => {
// for some reason comparing objects directly fails the assert // for some reason comparing objects directly fails the assert
expect(JSON.stringify(deserialized, null, 2)).to.equal(JSON.stringify(normalized, null, 2)) expect(JSON.stringify(deserialized, null, 2)).to.equal(JSON.stringify(normalized, null, 2))
}) })
*/ /* */
}) })