Misskey OS
実行結果
ソースコード
let THIS_TAG = "#MisskeyOS"
let INSTALL_METER_EMOJI_TRUE = ":biological_server:"
let INSTALL_METER_EMOJI_FALSE = ":misuhai:"
let INSTALL_METER_PREFIX_EMOJI = ""
let INSTALL_METER_SUFFIX_EMOJI = ""
let INSTALL_METER_SPEED = 600
var fakeLoadCount = 0
// インストール画面
@installScreen() {
var n = 11
var meter = `{INSTALL_METER_PREFIX_EMOJI}`
for (let i, n) {
if (i < fakeLoadCount) {
meter = `{meter}{INSTALL_METER_EMOJI_TRUE}`
} elif (i < (n - 1)) {
meter = `{meter}{INSTALL_METER_EMOJI_FALSE}`
}
}
meter = `<small>{meter}{INSTALL_METER_SUFFIX_EMOJI}</small>`
Ui:get("mfmLine04").update({text: meter})
Async:timeout(INSTALL_METER_SPEED, @(){
fakeLoadCount += 1
if (fakeLoadCount < n) installScreen()
else resultScreen()
})
}
@resultScreen() {
Ui:get("mfmLine02").update({text: "$[x2 **インストール完了**]"})
Ui:get("mfmLine03").update({text: ":blank:"})
Ui:get("mfmLine04").update({text: "あなたは生体サーバーになりました。"})
Ui:get("screen").update({bgColor: "#000" fgColor: "#f00"})
Ui:get("postform").update({hidden: false})
}
@renderScreen() {
Ui:render([
Ui:C:container({
align: "center"
bgColor: "#fff"
fgColor: "#000"
children: [
Ui:C:mfm({text: `:blank:`} "mfmLine01")
Ui:C:mfm({text: `:misskey2022: :opera::s:`} "mfmLine02")
Ui:C:mfm({text: `インストール中… <small><small>:misskey_loading:</small></small>`} "mfmLine03")
Ui:C:mfm({text: `:blank:`} "mfmLine04")
Ui:C:mfm({text: `:blank:`} "mfmLine05")
]
} "screen")
Ui:C:container({
align: "center"
hidden: true
children: [
Ui:C:postFormButton({
text: "ミ゜"
rounded: true
form: {
text: `生体サーバーになりました。{Str:lf}:mi_:{Str:lf}:blank::biological_server:{Str:lf}{THIS_TAG}{Str:lf}{THIS_URL}`
}
})
]
} "postform")
])
}
renderScreen()
installScreen()