enhance(client): flash作成時のプリセットを追加
This commit is contained in:
@@ -2,13 +2,14 @@
|
||||
<MkStickyContainer>
|
||||
<template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs"/></template>
|
||||
<MkSpacer :content-max="700">
|
||||
<div class="_gaps_m">
|
||||
<div class="_gaps">
|
||||
<MkInput v-model="title">
|
||||
<template #label>{{ i18n.ts._play.title }}</template>
|
||||
</MkInput>
|
||||
<MkTextarea v-model="summary">
|
||||
<template #label>{{ i18n.ts._play.summary }}</template>
|
||||
</MkTextarea>
|
||||
<MkButton primary @click="selectPreset">{{ i18n.ts.selectFromPresets }}<i class="ti ti-chevron-down"></i></MkButton>
|
||||
<MkTextarea v-model="script" class="_monospace" tall spellcheck="false">
|
||||
<template #label>{{ i18n.ts._play.script }}</template>
|
||||
</MkTextarea>
|
||||
@@ -67,6 +68,56 @@ Ui:render([
|
||||
])
|
||||
`);
|
||||
|
||||
function selectPreset(ev: MouseEvent) {
|
||||
os.popupMenu([{
|
||||
text: 'Omikuji',
|
||||
action: () => {
|
||||
script = `/// @ 0.12.2
|
||||
// ユーザーごとに日替わりのおみくじのプリセット
|
||||
|
||||
// 選択肢
|
||||
let choices = [
|
||||
"ギガ吉"
|
||||
"大吉"
|
||||
"吉"
|
||||
"中吉"
|
||||
"小吉"
|
||||
"末吉"
|
||||
"凶"
|
||||
"大凶"
|
||||
]
|
||||
|
||||
// シードが「ユーザーID+今日の日付」である乱数生成器を用意
|
||||
let random = Math:gen_rng(\`{USER_ID}{Date:day()}\`)
|
||||
|
||||
// ランダムに選択肢を選ぶ
|
||||
let chosen = choices[random(0 (choices.len - 1))]
|
||||
|
||||
// 結果のテキスト
|
||||
let result = \`今日のあなたの運勢は **{chosen}** です。\`
|
||||
|
||||
// UIを表示
|
||||
Ui:render([
|
||||
Ui:C:container({
|
||||
align: 'center'
|
||||
children: [
|
||||
Ui:C:mfm({ text: result })
|
||||
Ui:C:postFormButton({
|
||||
text: "投稿する"
|
||||
rounded: true
|
||||
primary: true
|
||||
form: {
|
||||
text: \`{result}{Str:lf}{THIS_URL}\`
|
||||
}
|
||||
})
|
||||
]
|
||||
})
|
||||
])
|
||||
`;
|
||||
},
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
}
|
||||
|
||||
async function save() {
|
||||
if (flash) {
|
||||
os.apiWithDialog('flash/update', {
|
||||
|
Reference in New Issue
Block a user