[IMP] website: support old fonts that have been renamed in theme

closes odoo/odoo#63382

X-original-commit: 49f3ee8ab4912c52f5e60b9392c5805272923064
Related: odoo/design-themes#431
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This commit is contained in:
Jeremy Kersten
2020-12-15 11:46:23 +00:00
parent e8be3acb83
commit 4532b67f3c
@@ -1,4 +1,3 @@
//------------------------------------------------------------------------------
// Website customizations
//------------------------------------------------------------------------------
@@ -24,12 +23,39 @@ $-first-font-name: nth(map-keys($o-theme-font-configs), 1);
@return $values;
}
// Some fonts have been renamed in a stable version, and for retro compatibility
// for users which have a custom user_values.css as attachment with an old font
// already used, we map the old font with the new `similar` font
$o-fonts-similar: (
'Droid Serif': 'Noto Serif',
'SinKinSans': 'Spartan',
'Proxima': 'Montserrat',
'Comic Sans MS': 'Comic Neue',
'Fontastique': 'Bubblegum Sans',
'Luminari': 'Eagle Lake',
'Fecske': 'Marcellus',
'Din Alternate': 'Roboto',
);
@function o-map-font-aliases($values) {
$-values: $values;
@each $key in map-values($o-font-aliases-to-keys) {
$value: map-get($values, $key);
@if ($value and map-has-key($o-fonts-similar, $value)) {
$-values: map-merge($-values, (
$key: map-get($o-fonts-similar, $value),
));
}
}
@return $-values;
};
// By default, most website palette values are null. Each null value is
// automatically replaced with corresponsing values in chosen default values
// palette.
$-website-values-default: o-safe-nth($o-website-values-palettes, $o-website-values-palette-number, ());
$-website-values-default: map-merge($o-base-website-values-palette, o-map-omit($-website-values-default));
$o-user-website-values: o-map-omit($o-user-website-values);
$o-user-website-values: o-map-font-aliases(o-map-omit($o-user-website-values));
$-actual-user-website-values-palette: map-merge($-website-values-default, $o-user-website-values);
// Default font selection + User font selection have been merged, now need to
// add the right associated font default config