summaryrefslogtreecommitdiff
path: root/packages/frontend
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-17 17:10:33 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-17 17:10:33 +0900
commitd75225e23b537bbc76c6ce7f506d28662171418b (patch)
treebb6d483f470dcd28cefd1a16322251b6e528e45b /packages/frontend
parentimprove aiscript ui (diff)
downloadmisskey-d75225e23b537bbc76c6ce7f506d28662171418b.tar.gz
misskey-d75225e23b537bbc76c6ce7f506d28662171418b.tar.bz2
misskey-d75225e23b537bbc76c6ce7f506d28662171418b.zip
add new play preset
Diffstat (limited to 'packages/frontend')
-rw-r--r--packages/frontend/src/pages/flash/flash-edit.vue84
1 files changed, 84 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/flash/flash-edit.vue b/packages/frontend/src/pages/flash/flash-edit.vue
index 539aeec85d..321477259b 100644
--- a/packages/frontend/src/pages/flash/flash-edit.vue
+++ b/packages/frontend/src/pages/flash/flash-edit.vue
@@ -95,6 +95,85 @@ Ui:render([
])
`;
+const PRESET_SHUFFLE = `/// @ 0.12.2
+// 巻き戻し可能な文字シャッフルのプリセット
+
+let string = "ペペロンチーノ"
+let length = string.len
+
+// 過去の結果を保存しておくやつ
+var results = []
+
+// どれだけ巻き戻しているか
+var cursor = 0
+
+@do() {
+ if (cursor != 0) {
+ results = results.slice(0 (cursor + 1))
+ cursor = 0
+ }
+
+ let chars = []
+ for (let i, length) {
+ let r = Math:rnd(0 (length - 1))
+ chars.push(string.pick(r))
+ }
+ let result = chars.join("")
+
+ results.push(result)
+
+ // UIを表示
+ render(result)
+}
+
+@back() {
+ cursor = cursor + 1
+ let result = results[results.len - (cursor + 1)]
+ render(result)
+}
+
+@forward() {
+ cursor = cursor - 1
+ let result = results[results.len - (cursor + 1)]
+ render(result)
+}
+
+@render(result) {
+ Ui:render([
+ Ui:C:container({
+ align: 'center'
+ children: [
+ Ui:C:mfm({ text: result })
+ Ui:C:buttons({
+ buttons: [{
+ text: "←"
+ disabled: !(results.len > 1 && (results.len - cursor) > 1)
+ onClick: back
+ } {
+ text: "→"
+ disabled: !(results.len > 1 && cursor > 0)
+ onClick: forward
+ } {
+ text: "引き直す"
+ onClick: do
+ }]
+ })
+ Ui:C:postFormButton({
+ text: "投稿する"
+ rounded: true
+ primary: true
+ form: {
+ text: \`{result}{Str:lf}{THIS_URL}\`
+ }
+ })
+ ]
+ })
+ ])
+}
+
+do()
+`;
+
const PRESET_TIMELINE = `/// @ 0.12.2
// APIリクエストを行いローカルタイムラインを表示するプリセット
@@ -176,6 +255,11 @@ function selectPreset(ev: MouseEvent) {
script = PRESET_OMIKUJI;
},
}, {
+ text: 'Shuffle',
+ action: () => {
+ script = PRESET_SHUFFLE;
+ },
+ }, {
text: 'Timeline viewer',
action: () => {
script = PRESET_TIMELINE;