DarkMode: https://github.com/fuse-open/fuselibs/pull/1290
SystemFont: https://github.com/fuse-open/fuselibs/pull/1291
NB: don’t forget to uno clean
and uno doctor
!
Btw, if anybody has an droid with Q on it, don’t you want to write the Android version : https://developer.android.com/preview/features/darktheme#configuration_changes
Some test code…
Dark Mode:
<App>
<JavaScript>
var DarkMode = require("FuseJS/DarkMode");
var Observable = require("FuseJS/Observable");
var isDarkMode = Observable(false);
DarkMode.on("changed", function(val) {
console.log("DARKMODE CHANGED: " + val);
switch(val) {
case 'light': isDarkMode.value = false;
break;
case 'dark': isDarkMode.value = true;
break;
}
});
module.exports = {
isDarkMode
}
</JavaScript>
<StackPanel Alignment="Center">
<Text ux:Name="title" Value="Hello World!" />
</StackPanel>
<Rectangle ux:Name="bk" Layer="Background" Color="#FFF" />
<WhileTrue Value="{isDarkMode}">
<Change title.Value="Hello Dark World!" />
<Change title.Color="#FFF" />
<Change bk.Color="#000" />
</WhileTrue>
<WhileFalse Value="{isDarkMode}">
<Change title.Value="Hello World!" />
<Change title.Color="#000" />
<Change bk.Color="#FFF" />
</WhileFalse>
</App>
System Font:
<App>
<ScrollView>
<StackPanel Alignment="Center">
<StackPanel Alignment="CenterLeft" ItemSpacing="5">
<Text Value="UltraLight sample text" Font="UltraLight"/>
<Text Value="Thin sample text" Font="Thin"/>
<Text Value="Light sample text" Font="Light"/>
<Text Value="Regular sample text" Font="Regular"/>
<Text Value="Medium sample text" Font="Medium"/>
<Text Value="Semibold sample text" Font="Semibold"/>
<Text Value="Bold sample text" Font="Bold"/>
<Text Value="Heavy sample text" Font="Heavy"/>
<Text Value="Black sample text" Font="Black"/>
<Text Value="UltraLightItalic sample text" Font="UltraLightItalic"/>
<Text Value="ThinItalic sample text" Font="ThinItalic"/>
<Text Value="LightItalic sample text" Font="LightItalic"/>
<Text Value="Italic sample text" Font="Italic"/>
<Text Value="MediumItalic sample text" Font="MediumItalic"/>
<Text Value="SemiboldItalic sample text" Font="SemiboldItalic"/>
<Text Value="BoldItalic sample text" Font="BoldItalic"/>
<Text Value="HeavyItalic sample text" Font="HeavyItalic"/>
<Text Value="BlackItalic sample text" Font="BlackItalic"/>
</StackPanel>
</StackPanel>
</ScrollView>
<Rectangle ux:Name="bk" Layer="Background" Color="#FFF" />
</App>