Compare commits

...

168 Commits

Author SHA1 Message Date
ffe75d85ae
feat: Emoji generator 2022-05-07 12:45:33 +09:00
nullnyat
8168b4edad
add reload button 2022-05-01 21:51:08 +09:00
nullnyat
ab9b648c59
Merge tag '12.110.1' 2022-04-23 20:32:00 +09:00
nullnyat
710e633e33
Merge tag '12.110.0' 2022-04-13 22:47:42 +09:00
NullCat
dfe6615d68
Update README.md 2022-04-13 08:40:03 +09:00
nullnyat
a9ec9df606
画像のリンクを変更 2022-04-07 01:33:31 +09:00
nullnyat
2ff8ace195
12.109.2-nca10.net-v3 2022-04-04 23:45:02 +09:00
nullnyat
17081c4612
Merge remote-tracking branch 'origin/master' 2022-04-04 20:14:06 +09:00
nullnyat
deaea4a0d8
link切れだった画像のlinkを変更 2022-04-04 20:13:54 +09:00
NullCat
8646f653d0
update apple-touch-icon.png
update apple-touch-icon.png
2022-04-04 17:51:13 +09:00
8252edfc1e update apple-touch-icon.png 2022-04-04 17:41:45 +09:00
nullnyat
cf77eaaba9
エラー画像の変更 2022-04-04 13:28:39 +09:00
nullnyat
d52b8ca8ab
12.109.2-nca10.net-v2 2022-04-04 12:29:12 +09:00
nullnyat
0109308f5a
faviconとその他の画像を変更 2022-04-04 12:27:39 +09:00
nullnyat
fc06bb8c49
bibibi_nullcatのurlを変更 2022-04-04 11:14:59 +09:00
nullnyat
fc39383d65
12.109.2-nca10.net-v1 2022-04-03 20:15:05 +09:00
nullnyat
2f621ceb7a
12.109.1-nca10.net-v1 2022-04-02 17:20:22 +09:00
nullnyat
483c97e224
12.108.1-nca10.net-v2 2022-03-21 17:49:30 +09:00
NullCat
b6a92f3680
Add: 絵文字作成ボタンを追加 2022-03-21 17:45:53 +09:00
nullnyat
a1a6e3560a
Add: 絵文字作成ボタンを追加 2022-03-21 17:45:20 +09:00
NullCat
c7f9a84970
imp: コントロールパネルの表示位置変更 2022-03-21 16:11:41 +09:00
nullnyat
81374e0eac
imp: コントロールパネルの表示位置変更 2022-03-21 16:11:13 +09:00
NullCat
7cf524c8f8
Update docker-image.yml 2022-03-13 22:11:38 +09:00
nullnyat
1c1013046e
12.108.1-nca10.net-v1 2022-03-13 22:05:00 +09:00
NullCat
2689836ab1
fix: 顔文字機能の修正 2022-03-11 16:29:50 +09:00
cfc5578d14 fix: 顔文字機能の修正 2022-03-11 16:27:43 +09:00
nullnyat
c4a166db59
12.108.0-nca10.net-v2 2022-03-10 00:24:00 +09:00
nullnyat
22933ef7f1
重複していた個所の修正 2022-03-10 00:00:33 +09:00
nullnyat
692a1ba551
add docker-compose.yml 2022-03-09 23:36:59 +09:00
nullnyat
9507b44d22
12.108.0-nca10.net-v1 2022-03-09 23:15:42 +09:00
nullnyat
f7114628e0
docker-compose.ymlを省くように 2022-03-09 14:02:44 +09:00
nullnyat
9a53bb67fc
インストールをインスタールに変更 2022-03-09 13:59:09 +09:00
nullnyat
18a2d430fc
gitignoreにdocker-compose.ymlを追加 2022-03-09 13:57:35 +09:00
NullCat
4a836121b4
Update ncatlang.md 2022-03-09 12:53:55 +09:00
NullCat
30399dee8f
Update README.md 2022-03-09 12:53:27 +09:00
NullCat
f0f3442fb1
Update README.md 2022-03-09 12:52:15 +09:00
nullnyat
d31446d8aa
12.107.0-nca10.net-v5 2022-03-08 18:35:45 +09:00
nullnyat
c214fe17bf
新しいiconに変更 2022-03-08 18:34:43 +09:00
nullnyat
5f40394a8e
Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-02-23 03:15:19 +09:00
nullnyat
97f725ae9c
色調整 2022-02-23 03:15:07 +09:00
あずき⪥™
0706c775ac
Create docker-image.yml 2022-02-22 22:02:47 +09:00
be45be0be9 顔文字選択画面を改新 2022-02-22 02:52:13 +09:00
NullCat
9abbabd64f
Delete 利用規約.md 2022-02-21 20:20:19 +09:00
NullCat
39221998bd
Create 利用規約.md 2022-02-21 20:19:38 +09:00
NullCat
de66f35798
Update README.md 2022-02-21 20:13:10 +09:00
nullnyat
2b402fe3a0
v4!! 2022-02-21 19:42:41 +09:00
nullnyat
03fe23d507
顔文字機能ฅ(=✧ω✧=)ฅ 2022-02-21 19:41:21 +09:00
nullnyat
b2ffcb77e0
住んでる匹数固定 2022-02-21 09:20:34 +09:00
nullnyat
f37bd9ea65
v3!!! 2022-02-20 18:14:41 +09:00
nullnyat
750d528db2
コンソトールパネル 2022-02-20 18:09:07 +09:00
nullnyat
d837bbf5f7
botアイコンいい感じ 2022-02-20 18:08:54 +09:00
nullnyat
38d3703484
削除の色変更 2022-02-19 17:09:57 +09:00
nullnyat
7667493d56
チャートの色変更 2022-02-19 16:48:21 +09:00
nullnyat
ff96126057
リアクションの色味変更 2022-02-19 16:40:06 +09:00
nullnyat
477163cb84
リアクション+ 2022-02-19 05:40:01 +09:00
nullnyat
a3dbde894a
isBotのとこ変えた 2022-02-19 05:39:51 +09:00
nullnyat
59b2715058
オンライン状態のところの色変更 2022-02-17 20:06:02 +09:00
nullnyat
270b842c71
botのところいいかんじにした 2022-02-17 20:05:50 +09:00
nullnyat
8b197ed4d6
サーバーの通信量を監視するやつの色を変えた 2022-02-16 18:13:57 +09:00
NullCat
3a38bbbe6d
Update README.md 2022-02-16 10:39:10 +09:00
NullCat
f70838a983
Update README.md 2022-02-16 10:37:38 +09:00
NullCat
1fd2a7ec13
色を変えたよ 2022-02-15 22:25:09 +09:00
nullnyat
dac56bace9
Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-02-14 20:24:54 +09:00
nullnyat
bb655b1807
dayの色変更 2022-02-14 20:24:48 +09:00
NullCat
b68e98d521
Update README.md 2022-02-12 23:21:50 +09:00
nullnyat
c36dee8808
日付表示の色変更 2022-02-12 18:53:58 +09:00
nullnyat
86847f1866
12.107.0にあっぷだて 2022-02-12 17:48:24 +09:00
nullnyat
203454848a
色なおし 2022-02-12 17:47:02 +09:00
nullnyat
2f640ccdf1
12.106.3あっぷだて 2022-02-12 14:10:06 +09:00
NullCat
aaf0f9aab1
アップデート 2022-02-11 23:55:01 +09:00
NullCat
377f84e26e Merge branches 'Ncat' and 'Ncat' of https://github.com/nullnyat/nca10.net into Ncat 2022-02-11 22:20:22 +09:00
NullCat
7384c55b69
ホームにのにを消した 2022-02-11 22:17:46 +09:00
nullnyat
83726b9c96
Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-02-11 19:28:46 +09:00
NullCat
3295696a20
v2 2022-02-11 19:27:20 +09:00
nullnyat
054db12d02
Merge tag '12.106.0-nca10.net-v2' into Ncat 2022-02-11 19:21:49 +09:00
NullCat
3de91eee2c
ログインページの絵文字変更 2022-02-11 18:47:21 +09:00
NullCat
3ef1748e6d
おかえりのとことnca10に変えるやつ 2022-02-11 18:40:37 +09:00
nullnyat
8402a9b665
12.106.0あっぷだて 2022-02-11 18:10:12 +09:00
NullCat
dd47d50679
イロカエtあ close #5 2022-02-10 02:16:16 +09:00
NullCat
595f01ed28
Merge pull request #6 from NullCatSlave/ncat-sim-dev-renote-home
homeRNのオプションも追加する
2022-02-10 00:35:17 +09:00
3a83aabf42 Merge remote-tracking branch 'sim1222_misskey/ncat-sim-dev-renote-home' into ncat-sim-dev-renote-home 2022-02-09 23:24:32 +09:00
87ba0ec566
feat: Add renote home only button typo 2022-02-09 22:49:11 +09:00
75482bb4b3
feat: Add renote home only button 2022-02-09 22:47:55 +09:00
nullnyat
c57f03b092
12.105.0あっぷだて 2022-02-09 22:06:29 +09:00
nullnyat
e53e40bf62
12.104.0あっぷだて 2022-02-09 15:19:44 +09:00
NullCat
be4d3a2b84
エラー画面をブルスク風にした
Co-authored-by: sousuke0422 <sousuke0422@users.noreply.github.com>
Co-authored-by: あずき⪥™ <hijiki02@users.noreply.github.com>
Co-authored-by: こけっち <sim1222@users.noreply.github.com>
Co-authored-by: ふるふる <frfs@users.noreply.github.com>
2022-02-08 22:38:09 +09:00
nullnyat
08d0b0f5ef
ウィジェットの色 2022-02-08 17:19:08 +09:00
nullnyat
828121217d
ボタンキラキラ+ 2022-02-08 17:18:41 +09:00
nullnyat
49fad60683
ログインページ関連 2022-02-08 17:18:08 +09:00
nullnyat
adc85b8af4
くうはく消した 2022-02-08 14:27:55 +09:00
nullnyat
7532e44d37
ボタンきらきら 2022-02-08 00:33:05 +09:00
nullnyat
081a312132
色変わってないとこ 2022-02-08 00:32:58 +09:00
nullnyat
f5ba0db663
オンラインユーザーのウィジェット 2022-02-07 22:50:02 +09:00
nullnyat
ed727aac78
リアクション戻した 2022-02-07 22:49:30 +09:00
nullnyat
8f85675275
僕が使うウィジェットだけの色変えた 2022-02-07 19:43:08 +09:00
nullnyat
5d1946465b
リアクションのとこのUI変えてみた 2022-02-07 16:56:34 +09:00
NullCat
839dbd98da
鍵Renoteに変えた 2022-02-07 13:17:18 +09:00
NullCat
866f3954a9
Update README.md 2022-02-07 11:03:31 +09:00
NullCat
dd2f324050
Update README.md 2022-02-07 11:02:47 +09:00
NullCat
ee6209afb2
Update README.md 2022-02-07 10:59:50 +09:00
NullCat
3b68630e61
移動 2022-02-07 10:51:12 +09:00
NullCat
8f539adfdb
Create ncatlang.md 2022-02-07 10:44:55 +09:00
NullCat
56f552cc89
Update README.md 2022-02-07 10:41:08 +09:00
NullCat
bb7fc84fab
Update README.md 2022-02-07 10:40:39 +09:00
NullCat
e7ae677b71
Update README.md 2022-02-07 10:40:29 +09:00
NullCat
64f80f122f
Update README.md 2022-02-07 10:39:37 +09:00
NullCat
43a59c9b80
Update Dockerfile 2022-02-07 09:43:00 +09:00
NullCat
53f548bb08
Update Dockerfile 2022-02-07 09:40:54 +09:00
こけっち
291743087d
フォロワーのみに鍵リノートボタンが英語環境だとバグが発生する可能性があるバグを修正 (#14) 2022-02-07 09:28:25 +09:00
nullnyat
432210e1b5
Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-02-07 09:07:28 +09:00
nullnyat
cb115d31cc
色変えた 2022-02-07 09:07:19 +09:00
こけっち
088ecac89d
feat: リノートメニューに鍵リノートボタンを追加 (#13) 2022-02-07 03:18:33 +09:00
nullnyat
7257336dc5
藍ちゃん要素を消した 2022-02-04 21:06:51 +09:00
NullCat
feb4373735
test 2022-02-04 20:46:37 +09:00
NullCat
9861135546
test 2022-02-04 20:44:24 +09:00
nullnyat
22c0d5cb4e
Merge tag '12.103.1' into Ncat 2022-02-03 14:12:24 +09:00
nullnyat
9d1e4b9014
色変えたりした 2022-02-03 11:03:52 +09:00
nullnyat
99971cb91c
Merge tag 'HEAD' into Ncat 2022-02-03 09:49:19 +09:00
nullnyat
c40da925a3
Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-02-03 09:07:38 +09:00
nullnyat
7c75e6666e
ねこのurl変えた 2022-02-03 09:06:54 +09:00
NullCat
922b7b0ad3
Update README.md 2022-02-01 19:52:39 +09:00
nullnyat
05c2db1dc0
Theme変えた 2022-01-31 08:41:00 +09:00
nullnyat
282c2be5af
画像周りアップデート 2022-01-31 08:17:54 +09:00
nullnyat
6fd089d31a
にゃんにゃん復活 2022-01-29 07:19:40 +09:00
nullnyat
4850919a5b
ボタンもっかい消したのと言語ファイル復活させた 2022-01-29 06:37:13 +09:00
nullnyat
ed0eafbfd0
Merge remote-tracking branch 'upstream/master' into Ncat 2022-01-29 06:03:44 +09:00
nullnyat
89120d45c0
Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-01-29 05:58:01 +09:00
NullCat
1eedeb5842
Update README.md 2022-01-28 04:38:03 +09:00
nullnyat
c363154e07
治らんかったから戻してen-US追加した 2022-01-28 04:34:51 +09:00
nullnyat
87627eebaa
ぬるきゃ語しかないからeu端末だとエラー吐くの多分治った! 2022-01-28 03:43:25 +09:00
nullnyat
a5956fc2f4
a 2022-01-27 02:25:52 +09:00
nullnyat
2924b84deb
投稿の時に表示されるアイコン気になりすぎるから消した 2022-01-27 02:04:29 +09:00
あずき⪥™
3b303a20a4 Merge branch 'master' into ncat2 2022-01-27 01:12:49 +09:00
NullCat
0fb9a438f9
update (#8)
* enhance: pizzaxでstreamingのuser storage updateイベントを監視して更新 (#8095)

* wip

* wip?

* ?

* streamingのuser storage updateイベントを監視して更新

* 必要な時以外はストレージを更新しない

* fix?

* wip

* fix

* fix

* fix pizzax (#8099)

* Update CONTRIBUTING.md

* スコープの判定を厳密に (#8100)

* enhance(client): tweak ui

* enhance(client): tweak ui

* wip (#8101)

* Revert "revert d53795184"

This reverts commit aedbab17cc400ae7ac17498463504f40646e8673.

* fix

d53795184c (r62707827)

* update deps

* tweak client

* tweak ui

* lint

* refactor(server): use insert instead of save

* refactor(server): use insert instead of save

* tweak ui

* enhance: 許可されていないファイルタイプでは、オブジェクトストレージのファイル名に拡張子を付与しないように (#8108)

* 許可されていないファイルタイプでは、オブジェクトストレージのファイル名に拡張子を付与しないように

* add comment

* tweak ui

* tweak ui

* tweak ui

* clean up

* tweak ui

* tweak ui

* tweak ui

* tweak ui

* tweak ui

* tweak ui

* tweak ui

* tweak ui

* tweak ui

* 非ログイン時にエラーを吐くconsole.logを除去 (#8119)

* refactor(client): use composition api

* clean up

* refactor(client): use composition api

* refactor(client): use composition api

* refactor(client): use composition api

* refactor(client): use composition api

* refactor(client): use composition api

* clean up

* refactor(client): use composition api

* refactor(client): use composition api

* refactor(client): use composition api

* remove unused components

* bye room

* refactor: Widgetのcomposition api移行 (#8125)

* wip

* wip

* wip

* wip

* wip

* wip

* fix

* fix

* bye chat ui

* wip: migrate paging components to composition api

#7681

* wip: migrate paging components to composition api

* wip: migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* fix

* refactor: Composition APIへ移行 (#8121)

* components/abuse-report-window.vue

* use <script setup>

* ✌️

* components/analog-clock.vue

* wip components/autocomplete.vue

* ✌️

* ✌️

* fix

* wip components/captcha.vue

* clean up

* components/channel-follow-button

* components/channel-preview.vue

* components/core-core.vue

* components/code.vue

* wip components/date-separated-list.vue

* fix

* fix autocomplete.vue

* ✌️

* remove global property

* use <script setup>

* components/dialog.vue

* clena up

* fix dialog.vue

* Resolve https://github.com/misskey-dev/misskey/pull/8121#discussion_r781250966

* fix

* bye reversi

* Fix The unauthenticated git protocol on port 9418 is no longer supported. (#8139)

* feat: multiple emojis editing

* feat: emojis import

* git add忘れ

* Update CHANGELOG.md

* clean up

* refactor

* wip: refactor(client): migrate paging components to composition api

* refactor

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* 🎨

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate paging components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* clean up

* refactor(client): specify global scope

* refactor: disallow some variable names

* refactor: more common name

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

* wip: refactor(client): migrate components to composition api

Fix #8155

* Fix #8151 (#8152)

* refactor

* refactor: APIエンドポイントファイルの定義を良い感じにする (#8154)

* Fix API Schema Error

* Delete SimpleSchema/SimpleObj
and Move schemas to dedicated files

* Userのスキーマを分割してみる

* define packMany type

* add ,

* Ensure enum schema and Make "as const" put once

* test?

* Revert "test?"

This reverts commit 97dc9bfa70851bfb7d1cf38e883f8df20fb78b79.

* Revert "Fix API Schema Error"

This reverts commit 21b6176d974ed8e3eb73723ad21a105c5d297323.

* ✌️

* clean up

* test?

* wip

* wip

* better schema def

* ✌️

* fix

* add minLength property

* wip

* wip

* wip

* anyOf/oneOf/allOfに対応? ~ relation.ts

* refactor!

* Define MinimumSchema

* wip

* wip

* anyOf/oneOf/allOfが動作するようにUnionSchemaTypeを修正

* anyOf/oneOf/allOfが動作するようにUnionSchemaTypeを修正

* Update packages/backend/src/misc/schema.ts

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* fix

* array oneOfをより正確な型に

* array oneOfをより正確な型に

* wip

* ✌️

* なんかもういろいろ

* remove

* very good schema

* api schema

* wip

* refactor: awaitAllの型定義を変えてみる

* fix

* specify types in awaitAll

* specify types in awaitAll

* ✌️

* wip

* ...

* ✌️

* AllowDateはやめておく

* 不必要なoptional: false, nullable: falseを廃止

* Packedが展開されないように

* 続packed

* wip

* define note type

* wip

* UserDetailedをMeDetailedかUserDetailedNotMeかを区別できるように

* wip

* wip

* wip specify user type of other schemas

* ok

* convertSchemaToOpenApiSchemaを改修

* convertSchemaToOpenApiSchemaを改修

* Fix

* fix

* ✌️

* wip

* 分割代入ではなくallOfで定義するように

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* refactor: Composition APIへ移行 (#8138)

* components/drive-file-thumbnail.vue

* components/drive-select-dialog.vue

* components/drive-window.vue

* wip

* wip drive.file.vue, drive.vue

* fix prop

* wip(

* components/drive.folder.vue

* maybe ok

* ✌️

* fix variable

* FIX FOLDER VARIABLE

* components/emoji-picker-dialog.vue

* Hate `$emit`

* hate global property

* components/emoji-picker-window.vue

* components/emoji-picker.section.vue

* fix

* fixx

* wip components/emoji-picker.vue

* fix

* defineExpose

* ユニコード絵文字の型をもっといい感じに

* components/featured-photos.vue

* components/follow-button.vue

* forgot-password.vue

* forgot-password.vue

* 🎨

* fix

* モバイル画面で表示更新直後にヘッダーメニューをタップしてもポップアップにならないようにする (#8160)

* fix #8158

* refactor

* refactor

* refactor(server): use insert instead of save

* feat(server): store mime type of webpublic

* refactor(server): use named export

* fix: proxyでsvgをpngに変換するように (#8106)

* wip

* revert send-drive-file change

* fix

* Update packages/backend/src/server/proxy/proxy-media.ts

Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>

Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>

* send-drive-file svg as png (#8107)

* post-form.vue (#8164)

* feat(server): add more metadata for emoji export

* fix: code url in documentation (#8117)

It seems this was not changed while refactoring the modules apart.

* enhance: Forward report (#8001)

* implement sending AP Flag object

Optionally allow a user to select to forward a report about a remote
user to the other instance. This is added in a backwards-compatible way.

* add locale string

* forward report only for moderators

* add switch to moderator UI to forward report

* fix report note url

* return forwarded status from API

apparently forgot to carry this over from my testing environment

* object in Flag activity has to be an array

For correct interoperability with Pleroma the "object" property of the Flag
activity has to be an array.

This array will in the future also hold the link to respective notes, so it
makes sense to correct this on our side.

* Update get-note-menu.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* enhance: e2eテストをできるだけ改良してみた (#8159)

* update docker image?

* 続

* serial run delete from "${table}" cascade

* use cypress official github action

* refuse install by cypress action

* clean up

* use wait?

* use more wait?

* Revert "use more wait?"

This reverts commit 18d0fcae9c7d8f98a4cafb4a846a031ece57350c.

* Revert "use wait?"

This reverts commit 5aa8feec9cdc3e2f79e566249f0a0eff6c0df6a0.

* fix

* test

* test

* log?

* 握りつぶしてみる

* clean up

* env?

* clean up?

* disable video

* add comment

* remove test

* 成功?

* test browser

* nodeインストール無効化

* node16.13.0-chrome95-ff94

* node.js復活

* ?

* ちょっと戻してみる

* chrome?

* cross browser test2

* --shm-size=2g

* artifact?

* misskey.local?

* firefoxはあきらめる

* not headless?

* oops

* fix

* ??

* test1

* if?

* fail-fast: false

* headless: false

* easy error ignoreing describe

* エラーの解消
とちょっとリファクター

* add browser name to artifact

* Install mplayer for FireFox

* no wait?

* タイムアウトを甘くしてみる

* firefoxをあきらめる(n回目)

* remove timeout setting

* wait復活

* Update basic.js

* Update index.js

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* update deps

* refactor

* fix(#8133): hCaptcha の reCAPTCHA 互換挙動を無効化する (#8135)

* fix(#8133): hCaptcha の reCAPTCHA 互換挙動を無効化する

* Update packages/client/src/components/captcha.vue

* fix: hCaptcha host

Co-authored-by: tamaina <tamaina@hotmail.co.jp>

* update local copy of file when describing (#8131)

* feat: increase files limit for note

#8062

* enhance: convert svg to png of custom emojis

* Update CHANGELOG.md

* update dep

* feat(client): make possible to switch account instantly in post form

* 投稿したらアカウントを元に戻すように

* chore(client): add tooltip

* wip: refactor(client): migrate components to composition api

* chore(client): add #misskey button

* fix(client): タイムラインのkeep-aliveが効かなくなっているのを修正

* NodeInfo にユーザー数と投稿数の情報を追加する (#8126)

* Unifying Misskey-specific IRIs in JSON-LD `@context` Resolve #8116  (#8178)

* Unifying Misskey-specific IRIs in JSON-LD `@context` Resolve #8116

* CHANGELOG

* refactor, enhance: ドライブ引数のオブジェクト化, 追加時のcomment指定 (#8180)

* refactor: ドライブの引数をオブジェクト化する Resolve #8177

* Resolve #8181

* fix

* archivePath

* fix: アップロードエラー時の処理を修正 (#8182)

* アップロードのエラー応答で詰むのを修正

* CHANGELOG

* fix: change keypress to keydown (#8192)

* Update docker-compose.yml (#8163)

Fix sometime es may cannot start
refer:https://m.html.cn/site/111215825993025.html

* disable animations on more transitions (#8112)

* 🎨

* Update CHANGELOG.md

* refactor(backend): use insert instead of save

* Update CONTRIBUTING.md

* enhance: Improve poll-editor UI + composition port (#8186)

* Poll editor UI changes

Use a horizontal layout when possible, wrap to vertical when constrained

* Port poll-editor to composition API

* Fix poll-editor `get` time calcs

* fix

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* refactor

* Update CONTRIBUTING.md

* 🎨

* Update extensions.json

* Fix pop-out bug (#8170)

* refactor: fix type

* refactor(backend): fix type

* refactor(backend): fix type

* New Crowdin updates (#8096)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Indonesian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Chinese Traditional)

* New translations ja-JP.yml (Ukrainian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Indonesian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Chinese Traditional)

* New translations ja-JP.yml (Ukrainian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Bengali)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Esperanto)

* New translations ja-JP.yml (Arabic)

* New translations ja-JP.yml (Arabic)

* enhance: MediaListでは、サーバーで許可された形式しか表示しないように (#8113)

* wip

* fix

* update vue

* Update CHANGELOG.md

* 12.102.0

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: xianon <xianon@hotmail.co.jp>
Co-authored-by: Johann150 <johann.galle@protonmail.com>
Co-authored-by: nullobsi <me@nullob.si>
Co-authored-by: Hyunseung Jeon <dogdriip@gmail.com>
Co-authored-by: 老兄 <lao__xong@outlook.com>
Co-authored-by: Derek <skeh@is.nota.live>
Co-authored-by: Kainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com>
2022-01-27 00:50:28 +09:00
NullCat
139f4ae26b
Update README.md 2022-01-26 20:23:39 +09:00
nullnyat
7e25be2513
Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-01-26 20:22:26 +09:00
nullnyat
c32edde497
ぬるきゃご以外を消した 2022-01-26 20:13:58 +09:00
NullCat
b6e66d1d39
Update README.md 2022-01-26 20:08:29 +09:00
NullCat
1d3ec1f31c
Update README.md 2022-01-26 19:47:11 +09:00
nullnyat
a8abf35a91
AdminとModeratorのタグを猫に!!!
にゃんにゃん
2022-01-26 18:43:41 +09:00
nullnyat
90462ea1de
転々 2022-01-23 20:11:16 +09:00
nullnyat
bb1d02bde2 転々 2022-01-23 20:10:10 +09:00
nullnyat
884f6a2fc9 ログイン画面の右上のGitHubのURLを自分のに変更 2022-01-23 03:12:28 +09:00
NullCat
d5ae48a754
Update README.md 2022-01-20 23:53:00 +09:00
NullCat
0e04fd26d7
Update README.md 2022-01-20 23:52:50 +09:00
NullCat chan!
14440a95af
Update README.md 2022-01-15 05:48:31 +09:00
NullCat chan!
645d945a33
Update README.md 2022-01-15 05:46:54 +09:00
NullCat chan!
1024fa4706
Update README.md 2022-01-15 05:46:38 +09:00
␀ဗ
f231ad84e9
Update README.md 2022-01-15 04:33:38 +09:00
␀ဗ
5c79e72774
Update README.md 2022-01-15 04:30:51 +09:00
␀ဗ
639024897a
Update README.md 2022-01-15 04:29:59 +09:00
␀ဗ
0103cf8cd5
Update README.md 2022-01-15 04:25:29 +09:00
␀ဗ
37129c2aa2
Update README.md 2022-01-15 04:23:56 +09:00
␀ဗ
30f7e9e104
Update README.md 2022-01-15 04:20:15 +09:00
␀ဗ
edad7fdbfe
Update README.md 2022-01-10 02:58:04 +09:00
␀ဗ
ec6facfe7d
Update instancecolor.md 2022-01-09 23:36:46 +09:00
␀ဗ
42184984a2
Update README.md 2022-01-09 23:35:41 +09:00
␀ဗ
cc82bc182a
Update README.md 2022-01-09 23:34:29 +09:00
␀ဗ
6e52dc622d
Create instancecolor.md 2022-01-09 23:33:21 +09:00
␀ဗ
55ee63a57e
Update README.md 2022-01-09 14:24:26 +09:00
NullCat
a03f330c49
Themeを色々変えてみた 2022-01-06 23:07:20 +09:00
NullCat
01185a830b
新規登録を殺した 2022-01-06 23:06:58 +09:00
NullCat
502441c0e8
日本語なんてなかったをした 2022-01-06 23:06:03 +09:00
␀ဗ
e1985690d2 Merge branch 'Ncat' of https://github.com/nullnyat/nca10.net into Ncat 2022-01-04 20:35:18 +09:00
␀ဗ
eedd182187 色々消した 2022-01-04 20:35:07 +09:00
␀ဗ
e9e803db18
Update README.md 2022-01-04 20:22:21 +09:00
␀ဗ
22c91811ad
Update README.md 2022-01-04 20:22:06 +09:00
␀ဗ
ded13933f2 色々やった 2022-01-04 20:16:59 +09:00
87 changed files with 1123 additions and 5289 deletions

18
.github/workflows/docker-image.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Docker Image CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)

View File

@ -32,4 +32,3 @@ COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node
COPY . ./
CMD ["npm", "run", "migrateandstart"]

173
README.md
View File

@ -1,168 +1,7 @@
[![Misskey](https://github.com/misskey-dev/assets/blob/main/banner.png?raw=true)](https://join.misskey.page/)
## これってなに?
[Misskey](https://github.com/misskey-dev/misskey)ベースのSNS
<div align="center">
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
**Misskey** is a distributed microblogging platform with advanced features such as Reactions and a highly customizable UI.
[Learn more](https://misskey-hub.net/)
---
[✨ Find an instance](https://misskey-hub.net/instances.html)
[📦 Create your own instance](https://misskey-hub.net/docs/install.html)
[🛠️ Contribute](./CONTRIBUTING.md)
[🚀 Join the community](https://discord.gg/Wp8gVStHW3)
---
<a href="https://www.patreon.com/syuilo"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160" /></a>
</div>
<div>
<a href="https://xn--931a.moe/"><img src="https://github.com/misskey-dev/misskey/blob/develop/assets/ai.png?raw=true" align="right" height="320px"/></a>
## ✨ Features
- **ActivityPub support**\
It is possible to interact with other software.
- **Reactions**\
You can add "reactions" to each post, making it easy for you to express your feelings.
- **Drive**\
An interface to manage uploaded files such as images, videos, sounds, etc.
You can also organize your favorite content into folders, making it easy to share again.
- **Rich Web UI**\
Misskey has a rich WebUI by default.
It is highly customizable by flexibly changing the layout and installing various widgets and themes.
Furthermore, plug-ins can be created using AiScript, a original programming language.
- and more...
</div>
<div style="clear: both;"></div>
## Sponsors
<div align="center">
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank"><img src="https://rss3.mypinata.cloud/ipfs/QmUG6H3Z7D5P511shn7sB4CPmpjH5uZWu4m5mWX7U3Gqbu" alt="RSS3" height="60"></a>
</div>
## Backers
<!-- PATREON_START -->
<table><tr>
<td><img src="https://c8.patreon.com/2/200/20832595" alt="Roujo " width="100"></td>
<td><img src="https://c8.patreon.com/2/200/27956229" alt="Oliver Maximilian Seidel" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/3.png?token-time=2145916800&token-hash=oH_i7gJjNT7Ot6j9JiVwy7ZJIBqACVnzLqlz4YrDAZA%3D" alt="weepjp " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19045173/cb91c0f345c24d4ebfd05f19906d5e26/1.png?token-time=2145916800&token-hash=o_zKBytJs_AxHwSYw_5R8eD0eSJe3RoTR3kR3Q0syN0%3D" alt="kiritan " width="100"></td>
<td><img src="https://c8.patreon.com/2/200/27648259" alt="みなしま " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24430516/b1964ac5b9f746d2a12ff53dbc9aa40a/1.jpg?token-time=2145916800&token-hash=bmEiMGYpp3bS7hCCbymjGGsHBZM3AXuBOFO3Kro37PU%3D" alt="Eduardo Quiros" width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/user?u=20832595">Roujo </a></td>
<td><a href="https://www.patreon.com/user?u=27956229">Oliver Maximilian Seidel</a></td>
<td><a href="https://www.patreon.com/weepjp">weepjp </a></td>
<td><a href="https://www.patreon.com/user?u=19045173">kiritan </a></td>
<td><a href="https://www.patreon.com/user?u=27648259">みなしま </a></td>
<td><a href="https://www.patreon.com/user?u=24430516">Eduardo Quiros</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/14215107/1cbe1912c26143919fa0faca16f12ce1/4.jpg?token-time=2145916800&token-hash=BslMqDjTjz8KYANLvxL87agHTugHa0dMPUzT-hwR6Vk%3D" alt="Nesakko" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/776209" alt="Demogrognard" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3075183/c2ae575c604e420297f000ccc396e395/1.jpeg?token-time=2145916800&token-hash=O9qmPtpo6wWb0OuvnkEekhk_1WO2MTdytLr7ZgsAr80%3D" alt="Liaizon Wakest" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/557245" alt="mkatze " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/23915207/25428766ecd745478e600b3d7f871eb2/1.png?token-time=2145916800&token-hash=urCLLA4KjJZX92Y1CxcBP4d8bVTHGkiaPnQZp-Tqz68%3D" alt="kabo2468y " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8249688/4aacf36b6b244ab1bc6653591b6640df/2.png?token-time=2145916800&token-hash=1ZEf2w6L34253cZXS_HlVevLEENWS9QqrnxGUAYblPo%3D" alt="AureoleArk " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5670915/ee175f0bfb6347ffa4ea101a8c097bff/1.jpg?token-time=2145916800&token-hash=mPLM9CA-riFHx-myr3bLZJuH2xBRHA9se5VbHhLIOuA%3D" alt="osapon " width="100"></td>
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/36813045/29876ea679d443bcbba3c3f16edab8c2/2.jpeg?token-time=2145916800&token-hash=YCKWnIhrV9rjUCV9KqtJnEqjy_uGYF3WMXftjUdpi7o%3D" alt="Wataru Manji (manji0)" width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/Nesakko">Nesakko</a></td>
<td><a href="https://www.patreon.com/user?u=776209">Demogrognard</a></td>
<td><a href="https://www.patreon.com/wakest">Liaizon Wakest</a></td>
<td><a href="https://www.patreon.com/user?u=557245">mkatze </a></td>
<td><a href="https://www.patreon.com/user?u=23915207">kabo2468y </a></td>
<td><a href="https://www.patreon.com/AureoleArk">AureoleArk </a></td>
<td><a href="https://www.patreon.com/osapon">osapon </a></td>
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ </a></td>
<td><a href="https://www.patreon.com/user?u=36813045">Wataru Manji (manji0)</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18899730/6a22797f68254034a854d69ea2445fc8/1.png?token-time=2145916800&token-hash=b_uj57yxo5VzkSOUS7oXE_762dyOTB_oxzbO6lFNG3k%3D" alt="YuzuRyo61 " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5788159/af42076ab3354bb49803cfba65f94bee/1.jpg?token-time=2145916800&token-hash=iSaxp_Yr2-ZiU2YVi9rcpZZj9mj3UvNSMrZr4CU4qtA%3D" alt="mewl hayabusa" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/28779508/3cd4cb7f017f4ee0864341e3464d42f9/1.png?token-time=2145916800&token-hash=eGQtR15be44kgvh8fw2Jx8Db4Bv15YBp2ldxh0EKRxA%3D" alt="S Y" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/16542964" alt="Takumi Sugita" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/17866454" alt="sikyosyounin " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3.png?token-time=2145916800&token-hash=KjfQL8nf3AIf6WqzLshBYAyX44piAqOAZiYXgZS_H6A%3D" alt="YUKIMOCHI" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/38837364/9421361c54c645ac8f5fc442a40c32e9/1.png?token-time=2145916800&token-hash=TUZB48Nem3BeUPLBH6s3P6WyKBnQOy0xKaDSTBBUNzA%3D" alt="xianon" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26340354/08834cf767b3449e93098ef73a434e2f/2.png?token-time=2145916800&token-hash=nyM8DnKRL8hR47HQ619mUzsqVRpkWZjgtgBU9RY15Uc%3D" alt="totokoro " width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/Yuzulia">YuzuRyo61 </a></td>
<td><a href="https://www.patreon.com/hs_sh_net">mewl hayabusa</a></td>
<td><a href="https://www.patreon.com/user?u=28779508">S Y</a></td>
<td><a href="https://www.patreon.com/user?u=16542964">Takumi Sugita</a></td>
<td><a href="https://www.patreon.com/user?u=17866454">sikyosyounin </a></td>
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
<td><a href="https://www.patreon.com/user?u=38837364">xianon</a></td>
<td><a href="https://www.patreon.com/user?u=26340354">totokoro </a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19356899/496b4681d33b4520bd7688e0fd19c04d/2.jpeg?token-time=2145916800&token-hash=_sTj3dUBOhn9qwiJ7F19Qd-yWWfUqJC_0jG1h0agEqQ%3D" alt="sheeta.s " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5827393/59893c191dda408f9cabd0f20a3a5627/1.jpeg?token-time=2145916800&token-hash=i9N05vOph-eP1LTLb9_npATjYOpntL0ZsHNaZFSsPmE%3D" alt="motcha " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/20494440/540beaf2445f408ea6597bc61e077bb3/1.png?token-time=2145916800&token-hash=UJ0JQge64Bx9XmN_qYA1inMQhrWf4U91fqz7VAKJeSg%3D" alt="axtuki1 " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13737140/1adf7835017d479280d90fe8d30aade2/1.png?token-time=2145916800&token-hash=0pdle8h5pDZrww0BDOjdz6zO-HudeGTh36a3qi1biVU%3D" alt="Satsuki Yanagi" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17880724/311738c8a48f4a6b9443c2445a75adde/1.jpg?token-time=2145916800&token-hash=nVAntpybQrznE0rg05keLrSE6ogPKJXB13rmrJng42c%3D" alt="takimura " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13100201/fc5be4fa90444f09a9c8a06f72385272/1.png?token-time=2145916800&token-hash=i8PjlgfOB2LPEdbtWyx8ZPsBKhGcNZqcw_FQmH71UGU%3D" alt="aqz tamaina" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9109588/e3cffc48d20a4e43afe04123e696781d/3.png?token-time=2145916800&token-hash=T_VIUA0IFIbleZv4pIjiszZGnQonwn34sLCYFIhakBo%3D" alt="nafuchoco " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/16900731/619ab87cc08448439222631ebb26802f/1.gif?token-time=2145916800&token-hash=o27K7M02s1z-LkDUEO5Oa7cu-GviRXeOXxryi4o_6VU%3D" alt="Atsuko Tominaga" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/3.png?token-time=2145916800&token-hash=FTm3WVom4dJ9NwWMU4OpCL_8Yc13WiwEbKrDPyTZTPs%3D" alt="natalie" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26144593/9514b10a5c1b42a3af58621aee213d1d/1.png?token-time=2145916800&token-hash=v1PYRsjzu4c_mndN4Hvi_dlispZJsuGRCQeNS82pUSM%3D" alt="EBISUME" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5923936/2a743cbfbff946c2af3f09026047c0da/2.png?token-time=2145916800&token-hash=h6yphW1qnM0n_NOWaf8qtszMRLXEwIxfk5beu4RxdT0%3D" alt="noellabo " width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/user?u=19356899">sheeta.s </a></td>
<td><a href="https://www.patreon.com/user?u=5827393">motcha </a></td>
<td><a href="https://www.patreon.com/user?u=20494440">axtuki1 </a></td>
<td><a href="https://www.patreon.com/user?u=13737140">Satsuki Yanagi</a></td>
<td><a href="https://www.patreon.com/takimura">takimura </a></td>
<td><a href="https://www.patreon.com/aqz">aqz tamaina</a></td>
<td><a href="https://www.patreon.com/user?u=9109588">nafuchoco </a></td>
<td><a href="https://www.patreon.com/user?u=16900731">Atsuko Tominaga</a></td>
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
<td><a href="https://www.patreon.com/user?u=26144593">EBISUME</a></td>
<td><a href="https://www.patreon.com/noellabo">noellabo </a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/2384390/5681180e1efb46a8b28e0e8d4c8b9037/1.jpg?token-time=2145916800&token-hash=SJcMy-Q1BcS940-LFUVOMfR7-5SgrzsEQGhYb3yowFk%3D" alt="CG " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18072312/98e894d960314fa7bc236a72a39488fe/1.jpg?token-time=2145916800&token-hash=7bkMqTwHPRsJPGAq42PYdDXDZBVGLqdgr1ZmBxX8GFQ%3D" alt="Hekovic " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24641572/b4fd175424814f15b0ca9178d2d2d2e4/1.png?token-time=2145916800&token-hash=e2fyqdbuJbpCckHcwux7rbuW6OPkKdERcus0u2wIEWU%3D" alt="uroco @99" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/14661394" alt="Chandler " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1.png?token-time=2145916800&token-hash=hBayGfOmQH3kRMdNnDe4oCZD_9fsJWSt29xXR3KRMVk%3D" alt="Nokotaro Takeda" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/23932002" alt="nenohi " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9481273/7fa89168e72943859c3d3c96e424ed31/4.jpeg?token-time=2145916800&token-hash=5w1QV1qXe-NdWbdFmp1H7O_-QBsSiV0haumk3XTHIEg%3D" alt="Efertone " width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1.jpeg?token-time=2145916800&token-hash=vGe7wXGqmA8Q7m-kDNb6fyGdwk-Dxk4F-ut8ZZu51RM%3D" alt="Takashi Shibuya" width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/Corset">CG </a></td>
<td><a href="https://www.patreon.com/hekovic">Hekovic </a></td>
<td><a href="https://www.patreon.com/user?u=24641572">uroco @99</a></td>
<td><a href="https://www.patreon.com/user?u=14661394">Chandler </a></td>
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
<td><a href="https://www.patreon.com/user?u=23932002">nenohi </a></td>
<td><a href="https://www.patreon.com/efertone">Efertone </a></td>
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
</tr></table>
**Last updated:** Sun, 26 Jul 2020 07:00:10 UTC
<!-- PATREON_END -->
[backer-url]: #backers
[backer-badge]: https://opencollective.com/misskey/backers/badge.svg
[backers-image]: https://opencollective.com/misskey/backers.svg
[sponsor-url]: #sponsors
[sponsor-badge]: https://opencollective.com/misskey/sponsors/badge.svg
[sponsors-image]: https://opencollective.com/misskey/sponsors.svg
[support-url]: https://opencollective.com/misskey#support
[syuilo-link]: https://syuilo.com
[syuilo-icon]: https://avatars2.githubusercontent.com/u/4439005?v=3&s=70
## 本家との違い
[ここ](https://nullc.at/nca10.net/)にかいてあるよ
## 導入方法
[MisskeyHub](https://misskey-hub.net/docs/install.html)をみてね

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -1,52 +1,31 @@
version: "3"
services:
web:
build: .
restart: always
links:
- db
- redis
# - es
ports:
- "127.0.0.1:3000:3000"
networks:
- internal_network
- external_network
volumes:
- ./files:/misskey/files
- ./.config:/misskey/.config:ro
redis:
restart: always
image: redis:4.0-alpine
networks:
- internal_network
volumes:
- ./redis:/data
db:
restart: always
image: postgres:12.2-alpine
networks:
- internal_network
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
# es:
# restart: always
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
# environment:
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# - "TAKE_FILE_OWNERSHIP=111"
# networks:
# - internal_network
# volumes:
# - ./elasticsearch:/usr/share/elasticsearch/data
networks:
internal_network:
internal: true
external_network:
version: "3"
services:
db:
restart: always
image: postgres:12.2-alpine
ports:
- "5432:5432"
networks:
- internal_network
- external_network
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
redis:
restart: always
image: redis:4.0-alpine
ports:
- "6379:6379"
networks:
- internal_network
- external_network
volumes:
- ./redis:/data
networks:
internal_network:
internal: true
external_network:

View File

@ -0,0 +1,6 @@
`packages/backend/src/server/web/views/base.pug` の中の
```
meta(name='theme-color' content='#好きな色')
meta(name='theme-color-orig' content='#好きな色')
```
の好きな色の部分を変更する(Hex値)

15
explanation/ncatlang.md Normal file
View File

@ -0,0 +1,15 @@
## 主な変更点
- なとナがにゃ
- コピーがコビー
- あなたが僕
- パスワードが鍵
- doneがドネ
- ユーザー名が名前
- バナーがバニャーニャ
- ユーザーネームがid
- コントロールパネルがコンソトールパネル
## ぬるきゃごの導入方法
1. `./locales/ja-JP.yml``ja-NCAT.yml` に変更
2. `ja-NCAT.yml``./locales` のなかに入れる
3. `./locales/inde.js``const languages``ja-NCAT` を追加する

View File

@ -94,6 +94,8 @@ unfollow: "Unfollow"
followRequestPending: "Follow request pending"
enterEmoji: "Enter an emoji"
renote: "Renote"
renoteHomeOnly: "Renote to home only"
renoteFollowersOnly: "Renote to followers only"
unrenote: "Take back renote"
renoted: "Renoted."
cantRenote: "This post can't be renoted."

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "misskey",
"version": "12.110.1",
"version": "12.110.1-nca10.net-v1",
"codename": "indigo",
"repository": {
"type": "git",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View File

@ -113,18 +113,26 @@
// eslint-disable-next-line no-inner-declarations
function renderError(code, details) {
document.documentElement.innerHTML = `
<h1>エラーが発生しました</h1>
<p>問題が解決しない場合は管理者までお問い合わせください以下のオプションを試すこともできます:</p>
<ul>
<li><a href="/cli">簡易クライアント</a></li>
<li><a href="/bios">BIOS</a></li>
<li><a href="/flush">キャッシュをクリア</a></li>
</ul>
<hr>
<code>ERROR CODE: ${code}</code>
<details>
${details}
</details>
<style>body { background-color: #010080; }</style>
<div style="color: #FFF; padding: 128px;">
<h1 style="font-family: system-ui; font-size: 100px; margin: 0;">:(</h1>
<h1>おまえが悪い</h1>
<p>問題が解決しない場合はおまえが修正しろ以下のオプションを試すこともできる:</p>
<div style="display: flex; flex-direction: row;">
<img style="width: 192px; image-rendering: pixelated;" src="data:image/gif;base64,R0lGODlhIwAjAIAAAP///wEAgCH5BAAAAAAALAAAAAAjACMAAAK1hI+py+0Pozyh2mAquBtdq2DeplGjaCYYuIpr97avSsZZ1sJ1R7O3XItpUKkiLGfkeT625vEjkRFJ0Z6LKsRNTaDgrIvd3nC/kBZSGpdYnLQZOPSVRzSdN73Oh67I3VtMFUbh1mZHx0d2dQIo6KfFBNSAJKXjoqgydMSlGSEUR2TJxlhnQ2a6AHnW5QNWZ/TleLk4E8QD2ceVOfi4p5RL+/OVakYXa1u7lZqHqDbh/AwdLZ1QAAA7">
<div style="display: flex; flex-direction: column; justify-content: space-between; padding-block: 16px;">
<ul style="margin: 0;">
<li><a style="color: red;" href="/cli">簡易クライアント</a></li>
<li><a style="color: red;" href="/bios">BIOS</a></li>
<li><a style="color: red;" href="/flush">キャッシュを消せ</a></li>
</ul>
<div style="padding-left: 40px;">
<p style="margin: 0;"><code>停止コード: ${code}</code></p>
<p style="margin: 0;"><code>失敗した内容: ${details}</code></p>
</div>
</div>
</div>
</div>
`;
}

View File

@ -1,10 +1,10 @@
{
"short_name": "Misskey",
"name": "Misskey",
"short_name": "nca10.net",
"name": "ぬるきゃのおうち",
"start_url": "/",
"display": "standalone",
"background_color": "#313a42",
"theme_color": "#86b300",
"theme_color": "#96CCE7",
"icons": [
{
"src": "/static-assets/icons/192.png",

View File

@ -27,11 +27,11 @@ html
link(rel='icon' href= icon || '/favicon.ico')
link(rel='apple-touch-icon' href= icon || '/apple-touch-icon.png')
link(rel='manifest' href='/manifest.json')
link(rel='prefetch' href='https://xn--931a.moe/assets/info.jpg')
link(rel='prefetch' href='https://xn--931a.moe/assets/not-found.jpg')
link(rel='prefetch' href='https://xn--931a.moe/assets/error.jpg')
link(rel='preload' href='/assets/fontawesome/css/all.css' as='style')
link(rel='stylesheet' href='/assets/fontawesome/css/all.css')
link(rel='prefetch' href='https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png')
link(rel='prefetch' href='https://s3.nca10.net/misskey/20b71322-00a7-4f57-8eb0-947df6cc0ccb.png')
link(rel='prefetch' href='https://s3.nca10.net/misskey/ba995335-fca2-485b-8203-65e26a67f019.png')
link(rel='preload' href='https://use.fontawesome.com/releases/v5.15.3/css/all.css' as='style')
link(rel='stylesheet' href='https://use.fontawesome.com/releases/v5.15.3/css/all.css')
title
block title

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 106.54"><path d="M282.88,106.54c-14.68,0-25.73-5-32.86-14.78-6.54-9-9.86-21.9-9.86-38.43s3.32-29.44,9.86-38.42C257.14,5,268.21,0,282.88,0c14.29,0,24.71,4.36,31.85,13.33s10.62,22.31,10.62,40-3.57,31.08-10.62,39.91S297.17,106.54,282.88,106.54ZM437.71,106c-8.86,0-15.72-2.4-21-7.34-5.63-5.19-8.39-12.41-8.39-22s2.71-16.84,8.29-22c5.2-4.88,12-7.25,20.89-7.25,4.92,0,12.17.5,18.31,4.88,6.36,4.54,10.06,12.2,11,22.78a5.78,5.78,0,0,1-5.75,6.29H426.55c1.39,6.08,5.08,9.16,11,9.16,4.2,0,7.46-1.26,9.68-3.74a5.79,5.79,0,0,1,4.3-1.91,5.72,5.72,0,0,1,1.86.31l6.45,2.19a5.79,5.79,0,0,1,2.68,9C457.46,102.72,449.13,106,437.71,106Zm-.86-44c-4.68,0-7.83,2.46-9.63,7.53H448C447,64.54,443.24,62,436.85,62ZM133.7,106c-12.72,0-19.17-5.68-19.17-16.88,0-8.86,4.56-15,13.55-18.12,5.38-1.92,12.91-2.86,23-2.86a6.79,6.79,0,0,0-2.38-5.06c-1.39-1.07-3.83-1.62-7.25-1.62-4.48,0-9.52,1.48-15,4.39a5.8,5.8,0,0,1-7.64-2.08L117.14,61a5.78,5.78,0,0,1,2.65-8.33c8.32-3.56,16.2-5.36,23.45-5.36,10.78,0,18.14,2.31,22.49,7.07,4.12,4.5,4.12,9.63,4.12,12.1V99.24a5.78,5.78,0,0,1-5.78,5.78h-7.48a5.77,5.77,0,0,1-5.43-3.82A31.37,31.37,0,0,1,133.7,106Zm17.46-25.65a55.1,55.1,0,0,0-11.45.85c-4.62,1.08-7,3.23-7,6.39,0,2.91,1.89,4.39,5.63,4.39a17.88,17.88,0,0,0,12.78-5.24ZM85.83,106c-8.73,0-15.4-2.4-20.41-7.34-5.25-5.13-7.82-12.34-7.82-22s2.56-16.9,7.82-22c5-4.88,11.68-7.25,20.41-7.25,12.39,0,20.56,4.22,24.26,12.54a5.77,5.77,0,0,1-3.79,7.94l-6.87,1.82a5.72,5.72,0,0,1-1.48.19,5.79,5.79,0,0,1-5-2.87c-1.41-2.42-3.74-3.6-7.13-3.6-6.42,0-9.54,4.34-9.54,13.26,0,8.72,3.12,13,9.54,13A7.72,7.72,0,0,0,93,85.78,5.76,5.76,0,0,1,97.9,83a5.83,5.83,0,0,1,1.65.24l6.94,2.08a5.77,5.77,0,0,1,3.6,7.94C106.22,101.7,98.06,106,85.83,106Zm93.89-.56a5.78,5.78,0,0,1-5.78-5.78V89.07a5.78,5.78,0,0,1,5.78-5.78h17V30.08l-9.45,7.28a5.81,5.81,0,0,1-3.53,1.2,5.45,5.45,0,0,1-.89-.08A5.75,5.75,0,0,1,179,36.05L173,27.44a5.78,5.78,0,0,1,1.29-7.89L198.43,1.41A5.8,5.8,0,0,1,201.91.25h15A5.78,5.78,0,0,1,222.73,6V83.29h14.06a5.78,5.78,0,0,1,5.78,5.78V99.63a5.78,5.78,0,0,1-5.78,5.78ZM494.55,105c-6.1,0-10.2-1.1-12.55-3.34s-3.47-6.19-3.47-11.83v-26h-5.29A5.78,5.78,0,0,1,467.46,58V54a5.77,5.77,0,0,1,5.78-5.77h5.29v-9.1a5.77,5.77,0,0,1,5.77-5.78h7.14a5.78,5.78,0,0,1,5.78,5.78v9.1h9A5.77,5.77,0,0,1,512,54V58a5.78,5.78,0,0,1-5.78,5.78h-9V85.28c0,3.81,1.65,4.1,2.19,4.19a17.21,17.21,0,0,0,2.19.1h4.15a5.77,5.77,0,0,1,5.77,5.77v3.9a5.77,5.77,0,0,1-5.77,5.78ZM392,105a5.78,5.78,0,0,1-5.78-5.78V73.07c0-2.95-.37-5-1.14-6.39-1.08-1.9-3-2.86-5.72-2.86-2.25,0-4.37,1-6.49,3.14a15.18,15.18,0,0,0-3.53,5.92V99.24a5.78,5.78,0,0,1-5.78,5.78h-7a5.77,5.77,0,0,1-5.77-5.78V54a5.77,5.77,0,0,1,5.77-5.77h7.12a5.77,5.77,0,0,1,5.7,4.86c4-3.8,9.12-5.72,15.26-5.72,6,0,10.62,1.5,14.21,4.58,4.05,3.48,6.1,8.87,6.1,16V99.24a5.77,5.77,0,0,1-5.77,5.78Zm-60.84,0a5.78,5.78,0,0,1-5.78-5.78V91.91a5.78,5.78,0,0,1,5.78-5.78H340a5.78,5.78,0,0,1,5.78,5.78v7.33A5.78,5.78,0,0,1,340,105Zm-289.9,0a5.77,5.77,0,0,1-5.77-5.78V73.07c0-2.95-.38-5-1.15-6.39-1.08-1.9-3-2.86-5.72-2.86-2.25,0-4.37,1-6.48,3.14a15.06,15.06,0,0,0-3.53,5.92V99.24A5.78,5.78,0,0,1,12.82,105h-7A5.78,5.78,0,0,1,0,99.24V54a5.77,5.77,0,0,1,5.78-5.77h7.11A5.78,5.78,0,0,1,18.6,53c4-3.8,9.12-5.72,15.26-5.72,6,0,10.61,1.5,14.21,4.58,4,3.48,6.1,8.87,6.1,16V99.24A5.78,5.78,0,0,1,48.39,105ZM276.5,43.74a5.69,5.69,0,1,0-6.66-4.54A5.7,5.7,0,0,0,276.5,43.74ZM265.91,44a5.69,5.69,0,1,0,.55,8A5.69,5.69,0,0,0,265.91,44Zm40.57-1.31A5.69,5.69,0,1,0,311,49.31,5.69,5.69,0,0,0,306.48,42.65Zm-10.59-.22a5.69,5.69,0,0,0,.55-8h0a5.69,5.69,0,1,0-.55,8Zm-12.52,9.1c-9,0-18.93,10.38-16.06,17.77,2.78,7.14,11.45,4.2,16.06,4.2s13.27,2.94,16.05-4.2C302.29,61.91,292.36,51.53,283.37,51.53Z" style="fill:#fff"/></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -64,14 +64,14 @@ const alpha = (hex, a) => {
};
const colors = {
blue: '#008FFB',
green: '#00E396',
yellow: '#FEB019',
red: '#FF4560',
purple: '#e300db',
orange: '#fe6919',
lime: '#bde800',
cyan: '#00e0e0',
blue: '#96CCE7',
green: '#B0E7CB',
yellow: '#E7E7B0',
red: '#FF9D9D',
purple: '#CECEFF',
orange: '#E7BA95',
lime: '#C5E37F',
cyan: '#96E7E7',
};
const colorSets = [colors.blue, colors.green, colors.yellow, colors.red, colors.purple];
const getColor = (i) => {

View File

@ -15,7 +15,7 @@
<header v-if="title"><Mfm :text="title"/></header>
<div v-if="text" class="body"><Mfm :text="text"/></div>
<MkInput v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder || undefined" @keydown="onInputKeydown">
<template v-if="input.type === 'password'" #prefix><i class="fas fa-lock"></i></template>
<template v-if="input.type === 'password'" #prefix><i style="color: #96CCE7;" class="fas fa-lock"></i></template>
</MkInput>
<MkSelect v-if="select" v-model="selectedValue" autofocus>
<template v-if="select.items">

View File

@ -1,7 +1,7 @@
<template>
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
<div class="mjndxjcg">
<img src="https://xn--931a.moe/assets/error.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/ba995335-fca2-485b-8203-65e26a67f019.png" class="_ghost"/>
<p><i class="fas fa-exclamation-triangle"></i> {{ $ts.somethingHappened }}</p>
<MkButton class="button" @click="() => $emit('retry')">{{ $ts.retry }}</MkButton>
</div>

View File

@ -25,6 +25,7 @@
</div>
</template>
<div class="buttons right">
<button class="_button button" v-tooltip="'リロード'" onclick="location.reload();"><i class="fas fa-redo"></i></button>
<template v-if="info && info.actions && !narrow">
<template v-for="action in info.actions">
<MkButton v-if="action.asFullButton" class="fullButton" primary @click.stop="action.handler"><i :class="action.icon" style="margin-right: 6px;"></i>{{ action.text }}</MkButton>

View File

@ -42,7 +42,7 @@
<MkA v-user-preview="appearNote.user.id" class="name" :to="userPage(appearNote.user)">
<MkUserName :user="appearNote.user"/>
</MkA>
<span v-if="appearNote.user.isBot" class="is-bot">bot</span>
<span v-if="appearNote.user.isBot"><svg xmlns="http://www.w3.org/2000/svg" class="is-bot-icon" fill="#FFFFFF" viewBox="0 0 512 512"><title>Hardware Chip</title><path d="M352 128H160a32 32 0 00-32 32v192a32 32 0 0032 32h192a32 32 0 0032-32V160a32 32 0 00-32-32zm0 216a8 8 0 01-8 8H168a8 8 0 01-8-8V168a8 8 0 018-8h176a8 8 0 018 8z" fill="none"/><rect x="160" y="160" width="192" height="192" rx="8" ry="8"/><path d="M464 192a16 16 0 000-32h-16v-32a64.07 64.07 0 00-64-64h-32V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-32a64.07 64.07 0 00-64 64v32H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v32a64.07 64.07 0 0064 64h32v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h32a64.07 64.07 0 0064-64v-32h16a16 16 0 000-32h-16v-48h16a16 16 0 000-32h-16v-48zm-80 160a32 32 0 01-32 32H160a32 32 0 01-32-32V160a32 32 0 0132-32h192a32 32 0 0132 32z"/></svg></span>
<span v-if="appearNote.visibility !== 'public'" class="visibility">
<i v-if="appearNote.visibility === 'home'" class="fas fa-home"></i>
<i v-else-if="appearNote.visibility === 'followers'" class="fas fa-unlock"></i>
@ -432,14 +432,18 @@ if (appearNote.replyId) {
font-weight: bold;
}
> .is-bot {
flex-shrink: 0;
align-self: center;
margin: 0 0.5em;
padding: 4px 6px;
font-size: 80%;
border: solid 0.5px var(--divider);
border-radius: 4px;
.is-bot-icon {
transform: translateY(4px);
width: 20px;
margin-left: 8px;
}
> .visibility {
margin-left: 8px;
}
> .localOnly {
margin-left: 8px;
}
}
}

View File

@ -3,14 +3,12 @@
<MkA v-user-preview="note.user.id" class="name" :to="userPage(note.user)">
<MkUserName :user="note.user"/>
</MkA>
<div v-if="note.user.isBot" class="is-bot">bot</div>
<div class="username"><MkAcct :user="note.user"/></div>
<div class="info">
<MkA class="created-at" :to="notePage(note)">
<MkTime :time="note.createdAt"/>
</MkA>
<span v-if="note.visibility !== 'public'" class="visibility">
<i v-if="note.visibility === 'home'" class="fas fa-home"></i>
<MkTime :time="note.createdAt"/></MkA>
<span v-if="note.user.isBot"><svg xmlns="http://www.w3.org/2000/svg" class="is-bot" fill="#FFFFFF" viewBox="0 0 512 512"><title>Hardware Chip</title><path d="M352 128H160a32 32 0 00-32 32v192a32 32 0 0032 32h192a32 32 0 0032-32V160a32 32 0 00-32-32zm0 216a8 8 0 01-8 8H168a8 8 0 01-8-8V168a8 8 0 018-8h176a8 8 0 018 8z" fill="none"/><rect x="160" y="160" width="192" height="192" rx="8" ry="8"/><path d="M464 192a16 16 0 000-32h-16v-32a64.07 64.07 0 00-64-64h-32V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-32a64.07 64.07 0 00-64 64v32H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v32a64.07 64.07 0 0064 64h32v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h32a64.07 64.07 0 0064-64v-32h16a16 16 0 000-32h-16v-48h16a16 16 0 000-32h-16v-48zm-80 160a32 32 0 01-32 32H160a32 32 0 01-32-32V160a32 32 0 0132-32h192a32 32 0 0132 32z"/></svg></span>
<span v-if="note.visibility !== 'public'" class="visibility"><i v-if="note.visibility === 'home'" class="fas fa-home"></i>
<i v-else-if="note.visibility === 'followers'" class="fas fa-unlock"></i>
<i v-else-if="note.visibility === 'specified'" class="fas fa-envelope"></i>
</span>
@ -53,16 +51,6 @@ defineProps<{
}
}
> .is-bot {
flex-shrink: 0;
align-self: center;
margin: 0 .5em 0 0;
padding: 1px 6px;
font-size: 80%;
border: solid 0.5px var(--divider);
border-radius: 3px;
}
> .username {
flex-shrink: 9999999;
margin: 0 .5em 0 0;
@ -75,6 +63,12 @@ defineProps<{
margin-left: auto;
font-size: 0.9em;
.is-bot {
width: 18px;
margin-left: 8px;
transform: translateY(4px);
}
> .visibility {
margin-left: 8px;
}

View File

@ -339,7 +339,7 @@ function readPromo() {
line-height: 24px;
font-size: 90%;
white-space: pre;
color: #d28a3f;
color: #E7BA95;
> i {
margin-right: 4px;

View File

@ -2,7 +2,7 @@
<MkPagination ref="pagingComponent" :pagination="pagination">
<template #empty>
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.noNotes }}</div>
</div>
</template>

View File

@ -2,7 +2,7 @@
<MkPagination ref="pagingComponent" :pagination="pagination">
<template #empty>
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.noNotifications }}</div>
</div>
</template>

View File

@ -8,9 +8,6 @@
>
<header>
<button v-if="!fixed" class="cancel _button" @click="cancel"><i class="fas fa-times"></i></button>
<button v-click-anime v-tooltip="i18n.ts.switchAccount" class="account _button" @click="openAccountMenu">
<MkAvatar :user="postAccount ?? $i" class="avatar"/>
</button>
<div>
<span class="text-count" :class="{ over: textLength > maxTextLength }">{{ maxTextLength - textLength }}</span>
<span v-if="localOnly" class="local-only"><i class="fas fa-biohazard"></i></span>
@ -51,6 +48,7 @@
<button v-tooltip="i18n.ts.useCw" class="_button" :class="{ active: useCw }" @click="useCw = !useCw"><i class="fas fa-eye-slash"></i></button>
<button v-tooltip="i18n.ts.mention" class="_button" @click="insertMention"><i class="fas fa-at"></i></button>
<button v-tooltip="i18n.ts.hashtags" class="_button" :class="{ active: withHashtags }" @click="withHashtags = !withHashtags"><i class="fas fa-hashtag"></i></button>
<button v-tooltip="i18n.ts.kao" class="_button" @click="kao"><i class="fas fa-paw"></i></button>
<button v-tooltip="i18n.ts.emoji" class="_button" @click="insertEmoji"><i class="fas fa-laugh-squint"></i></button>
<button v-if="postFormActions.length > 0" v-tooltip="i18n.ts.plugin" class="_button" @click="showActions"><i class="fas fa-plug"></i></button>
</footer>
@ -87,6 +85,8 @@ import MkInfo from '@/components/ui/info.vue';
import { i18n } from '@/i18n';
import { instance } from '@/instance';
import { $i, getAccounts, openAccountMenu as openAccountMenu_ } from '@/account';
import {api} from "@/os";
import {deckStore} from "@/ui/deck/deck-store";
const modal = inject('modal');
@ -355,6 +355,49 @@ function chooseFileFrom(ev) {
});
}
async function kao() {
const list = [
"(=^・・^=)",
"v('ω')v",
"( ᐢ˙꒳˙ᐢ )",
"(。><。)",
"(Δ・x・Δ)",
"(´-ω-`)",
"(๑•﹏•)",
"(。ì _ í。)",
"(´×ω×`)",
"(´+ω+)",
"(。-ω-)zzz",
"()",
"(。>ㅿ<。)",
"(´;ω;`)",
"ฅ^•ω•^ฅ",
"⊂(・﹏・⊂)",
"ᕦ(ò_óˇ)ᕤ",
"ᕙ(⇀‸↼‶)ᕗ",
"(・o・;)",
"(。ŏ﹏ŏ)",
"Σ(^._.^=ノ)ノ",
" (๑•̀ - •́)و✧",
"(,,> <,,)♡",
"o(>_<)o",
"(っ´・ω・)っ",
"(´。-ω(-ω-。`)ギュ ",
]
const faces = list.map(kao => {
return {
type: 'button' as const,
text: kao,
action() {
text += kao
},
}
})
await os.popupMenu(faces)
}
function detachFile(id) {
files = files.filter(x => x.id != id);
}
@ -745,7 +788,7 @@ onMounted(() => {
margin-left: 0 !important;
}
}
> .local-only {
margin: 0 0 0 12px;
opacity: 0.7;

View File

@ -80,8 +80,8 @@ export default defineComponent({
tension: 0,
borderWidth: 2,
borderJoinStyle: 'round',
borderColor: '#00E396',
backgroundColor: alpha('#00E396', 0.1),
borderColor: '#B0E7CB',
backgroundColor: alpha('#B0E7CB', 0.1),
data: []
}, {
label: 'Active',
@ -89,8 +89,8 @@ export default defineComponent({
tension: 0,
borderWidth: 2,
borderJoinStyle: 'round',
borderColor: '#00BCD4',
backgroundColor: alpha('#00BCD4', 0.1),
borderColor: '#96CCE7',
backgroundColor: alpha('#96CCE7', 0.1),
data: []
}, {
label: 'Waiting',
@ -98,8 +98,8 @@ export default defineComponent({
tension: 0,
borderWidth: 2,
borderJoinStyle: 'round',
borderColor: '#FFB300',
backgroundColor: alpha('#FFB300', 0.1),
borderColor: '#E7E7B0',
backgroundColor: alpha('#E7E7B0', 0.1),
yAxisID: 'y2',
data: []
}, {
@ -108,7 +108,7 @@ export default defineComponent({
tension: 0,
borderWidth: 2,
borderJoinStyle: 'round',
borderColor: '#E53935',
borderColor: '#FF9D9D',
borderDash: [5, 5],
fill: false,
yAxisID: 'y2',

View File

@ -117,10 +117,10 @@ export default defineComponent({
<style lang="scss" scoped>
.hkzvhatu {
display: inline-block;
height: 32px;
margin: 2px;
padding: 0 6px;
padding: 4px;
border-radius: 4px;
line-height: 0;
&.canToggle {
background: rgba(0, 0, 0, 0.05);
@ -135,10 +135,11 @@ export default defineComponent({
}
&.reacted {
background: var(--accent);
border: 2px solid var(--accent);
background: rgb(150 204 231 / 25%);
&:hover {
background: var(--accent);
border-color: rgb(150 204 231 / 100%);
}
> span {
@ -148,7 +149,6 @@ export default defineComponent({
> span {
font-size: 0.9em;
line-height: 32px;
margin: 0 0 0 4px;
}
}

View File

@ -12,12 +12,18 @@ defineProps<{
.jmgmzlwq {
font-size: 0.8em;
padding: 16px;
background: var(--infoWarnBg);
color: var(--infoWarnFg);
background: none;
border: solid 2px #E7E7B0;
color: #E7E7B0;
> a {
margin-left: 4px;
color: var(--accent);
&:hover{
text-shadow: -6px 0px 15px rgba(150, 204, 231, 0.83),
6px 0px 15px rgba(150, 204, 231, 0.83);
}
}
}
</style>

View File

@ -66,7 +66,25 @@ export default defineComponent({
renoteId: props.note.id
});
}
}, {
},{
text: i18n.ts.renoteHomeOnly,
icon: 'fas fa-home',
action: () => {
os.api('notes/create', {
renoteId: props.note.id,
visibility: 'home'
});
}
},{
text: i18n.ts.renoteFollowersOnly,
icon: 'fas fa-unlock',
action: () => {
os.api('notes/create', {
renoteId: props.note.id,
visibility: 'followers'
});
}
},{
text: i18n.ts.quote,
icon: 'fas fa-quote-right',
action: () => {

View File

@ -8,7 +8,7 @@
<template #suffix>@{{ host }}</template>
</MkInput>
<MkInput v-if="!user || user && !user.usePasswordLessLogin" v-model="password" class="_formBlock" :placeholder="$ts.password" type="password" :with-password-toggle="true" required data-cy-signin-password>
<template #prefix><i class="fas fa-lock"></i></template>
<template #prefix><i style="color: #96CCE7;" class="fas fa-lock"></i></template>
<template #caption><button class="_textButton" type="button" @click="resetPassword">{{ $ts.forgotPassword }}</button></template>
</MkInput>
<MkButton class="_formBlock" type="submit" primary :disabled="signing" style="margin: 0 auto;">{{ signing ? $ts.loggingIn : $ts.login }}</MkButton>
@ -27,7 +27,7 @@
<p style="margin-bottom:0;">{{ $ts.twoStepAuthentication }}</p>
<MkInput v-if="user && user.usePasswordLessLogin" v-model="password" type="password" :with-password-toggle="true" required>
<template #label>{{ $ts.password }}</template>
<template #prefix><i class="fas fa-lock"></i></template>
<template #prefix><i style="color: #96CCE7;" class="fas fa-lock"></i></template>
</MkInput>
<MkInput v-model="token" type="text" pattern="^[0-9]{6}$" autocomplete="off" spellcheck="false" required>
<template #label>{{ $ts.token }}</template>

View File

@ -36,7 +36,7 @@
</MkInput>
<MkInput v-model="password" class="_formBlock" type="password" :autocomplete="Math.random()" required data-cy-signup-password @update:modelValue="onChangePassword">
<template #label>{{ $ts.password }}</template>
<template #prefix><i class="fas fa-lock"></i></template>
<template #prefix><i style="color: #96CCE7;" class="fas fa-lock"></i></template>
<template #caption>
<span v-if="passwordStrength == 'low'" style="color: var(--error)"><i class="fas fa-exclamation-triangle fa-fw"></i> {{ $ts.weakPassword }}</span>
<span v-if="passwordStrength == 'medium'" style="color: var(--warn)"><i class="fas fa-check fa-fw"></i> {{ $ts.normalPassword }}</span>
@ -45,7 +45,7 @@
</MkInput>
<MkInput v-model="retypedPassword" class="_formBlock" type="password" :autocomplete="Math.random()" required data-cy-signup-password-retype @update:modelValue="onChangePasswordRetype">
<template #label>{{ $ts.password }} ({{ $ts.retype }})</template>
<template #prefix><i class="fas fa-lock"></i></template>
<template #prefix><i style="color: #96CCE7;" class="fas fa-lock"></i></template>
<template #caption>
<span v-if="passwordRetypeState == 'match'" style="color: var(--success)"><i class="fas fa-check fa-fw"></i> {{ $ts.passwordMatched }}</span>
<span v-if="passwordRetypeState == 'not-match'" style="color: var(--error)"><i class="fas fa-exclamation-triangle fa-fw"></i> {{ $ts.passwordNotMatched }}</span>

View File

@ -146,14 +146,16 @@ export default defineComponent({
line-height: 22px;
box-shadow: none;
text-decoration: none;
background: var(--buttonBg);
background: none;
border: solid 2px var(--accent);
border-radius: 5px;
overflow: clip;
box-sizing: border-box;
transition: background 0.1s ease;
&:not(:disabled):hover {
background: var(--buttonHoverBg);
text-shadow: -6px 0px 15px rgba(150, 204, 231, 0.83),
6px 0px 15px rgba(150, 204, 231, 0.83);
}
&:not(:disabled):active {
@ -168,20 +170,6 @@ export default defineComponent({
border-radius: 999px;
}
&.primary {
font-weight: bold;
color: var(--fgOnAccent) !important;
background: var(--accent);
&:not(:disabled):hover {
background: var(--X8);
}
&:not(:disabled):active {
background: var(--X8);
}
}
&.gradate {
font-weight: bold;
color: var(--fgOnAccent) !important;
@ -197,19 +185,12 @@ export default defineComponent({
}
&.danger {
color: #ff2a2a;
&.primary {
color: #fff;
background: #ff2a2a;
border-color: #FF9D9D;
&:not(:disabled):hover {
background: #ff4242;
}
&:not(:disabled):active {
background: #d42e2e;
}
text-shadow: -6px 0px 15px rgba(255, 157, 157, 0.83),
6px 0px 15px rgba(255, 157, 157, 0.83);
}
}

View File

@ -163,13 +163,13 @@ function focusDown() {
}
&.danger {
color: #ff2a2a;
color: #FF9D9D;
&:hover {
color: #fff;
&:before {
background: #ff4242;
background: #FF9D9D;
}
}
@ -177,7 +177,7 @@ function focusDown() {
color: #fff;
&:before {
background: #d42e2e;
background: #FF9D9D;
}
}
}

View File

@ -7,7 +7,7 @@
<div v-else-if="empty" key="_empty_" class="empty">
<slot name="empty">
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.nothing }}</div>
</div>
</slot>

View File

@ -2,7 +2,7 @@
<MkPagination ref="pagingComponent" :pagination="pagination">
<template #empty>
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.noUsers }}</div>
</div>
</template>

View File

@ -27,19 +27,19 @@ const text = $computed(() => {
border-radius: 120%; // Blink100%
&.online {
background: #58d4c9;
background: #96E7E7;
}
&.active {
background: #e4bc48;
background: #E7E7B0;
}
&.offline {
background: #ea5353;
background: #FF9D9D;
}
&.unknown {
background: #888;
background: #4F5766;
}
}
</style>

View File

@ -2,7 +2,7 @@
<MkLoading v-if="!loaded"/>
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
<div v-show="loaded" class="mjndxjch">
<img src="https://xn--931a.moe/assets/error.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/ba995335-fca2-485b-8203-65e26a67f019.png" class="_ghost"/>
<p><b><i class="fas fa-exclamation-triangle"></i> {{ i18n.ts.pageLoadError }}</b></p>
<p v-if="meta && (version === meta.version)">{{ i18n.ts.pageLoadErrorDescription }}</p>
<p v-else-if="serverIsDead">{{ i18n.ts.serverIsDead }}</p>

View File

@ -0,0 +1,270 @@
<template>
<MkSpacer :content-max="700" :margin-min="16" :margin-max="32">
<div class="cwepdizn _formRoot">
<FormInput v-model="emojiName" class="_formBlock">
<template #label>{{ $ts.emojiName }}</template>
</FormInput>
<FormTextarea v-model="text" class="_formBlock">
<template #label>{{ $ts.text }}</template>
</FormTextarea>
<FormRadios v-model="emojiAlign" class="_formBlock">
<template #label>{{ $ts.emojiAlign }}</template>
<option value="left"><i class="fa-solid fa-align-left"/></option>
<option value="center"><i class="fa-solid fa-align-center"></i></option>
<option value="right"><i class="fa-solid fa-align-right"/></option>
</FormRadios>
<FormSection>
<template #label>{{ $ts.emojiSizeSetting }}</template>
<FormSwitch v-model="emojiSizeFixed" class="_formBlock">
<template #label>{{ $ts.emojiSizeFixed }}</template>
</FormSwitch>
<FormSwitch v-model="emojiStretch" class="_formBlock">
<template #label>{{ $ts.emojiStretch }}</template>
</FormSwitch>
</FormSection>
<FormRadios v-model="font" class="_formBlock">
<template #label>{{ $ts.font }}</template>
<option value="notosans-mono-bold">Noto Sans Mono CJK JP Bold</option>
<option value="mplus-1p-black">M+ 1p black</option>
<option value="rounded-x-mplus-1p-black">Rounded M+ 1p black</option>
<option value="ipamjm">IPAmj明朝</option>
<option value="aoyagireisyoshimo">青柳隷書しも</option>
<option value="LinLibertine_RBah">LinLibertine Bold</option>
</FormRadios>
<FormSection>
<template #label>{{ $ts.emojiColor }}</template>
<div class="cwepdizn-colors">
<div class="row">
<button v-for="color in accentColors" :key="color" class="color rounded _button" @click="setAccentColor(color)">
<div class="preview" :style="{ background: color }"></div>
</button>
</div>
</div>
<FormInput v-model="emojiColor" class="_formBlock">
<template #prefix><i class="fas fa-palette"></i></template>
<template #label>{{ $ts.emojiColor }}</template>
<template #caption>#RRGGBB</template>
</FormInput>
</FormSection>
<FormButton primary class="_formBlock" @click="emojiGenerate">{{ $ts.emojiGenerate }}</FormButton>
<FormSection>
<template #label>{{ $ts.preview }}</template>
<img :src="emojiUrl" class="img" :alt="emojiName"/>
<a href="{{ emojiUrl }}"><p>{{ emojiUrl }}</p></a>
</FormSection>
<FormButton primary class="_formBlock" @click="emojiApproval">{{ $ts.emojiApproval }}</FormButton>
</div>
</MkSpacer>
</template>
<script lang="ts">
import {defineComponent} from 'vue';
import FormSwitch from '@/components/form/switch.vue';
import FormInput from '@/components/form/input.vue';
import FormTextarea from '@/components/form/textarea.vue';
import FormRadios from '@/components/form/radios.vue';
import FormSection from '@/components/form/section.vue';
import FormButton from '@/components/ui/button.vue';
import * as os from '@/os';
import * as symbols from '@/symbols';
import {defaultStore} from "@/store";
import {stream} from "@/stream";
export default defineComponent({
components: {
FormInput,
FormTextarea,
FormRadios,
FormSection,
FormSwitch,
FormButton,
},
emits: ['info'],
data() {
return {
[symbols.PAGE_INFO]: {
title: this.$ts.emojiGen,
icon: 'fas fa-laugh',
bg: 'var(--bg)',
},
emojiName: '',
text: '',
emojiAlign: 'center',
emojiSizeFixed: false,
emojiStretch: false,
font: 'notosans-mono-bold',
emojiColor: '38BA91',
emojiUrl: '',
accentColors: ['#e36749', '#f29924', '#98c934', '#34c9a9', '#34a1c9', '#606df7', '#8d34c9', '#e84d83']
}
},
methods: {
async init() {
},
emojiGenerate() {
//https://emoji-gen.ninja/result?text=%E7%B5%B5%E6%96%87%0A%E5%AD%97%E3%80%82&color=EC71A1FF&back_color=00000000&font=notosans-mono-bold&size_fixed=false&align=center&stretch=true&public_fg=true&locale=ja
const apiUrl = `https://emoji-gen.ninja/emoji`
let query = {"text": encodeURI(this.text), "color": this.emojiColor.replace('#','') + "FF", "back_color": "00000000", "font": this.font, "size_fixed": this.emojiSizeFixed, "align": this.emojiAlign, "stretch": this.emojiStretch, "public_fg": "false", "locale": "ja"}
this.emojiUrl = apiUrl + '?' + Object.entries(query).map((e) => `${e[0]}=${e[1]}`).join('&');
},
emojiApproval: function () {
//emojiUploaddrive/files/upload-from-urlemojiAddemojiAdd(id)
const emojiUpload = () => new Promise(async resolve => {
const marker = Math.random().toString(); // TODO: UUID使
//
const connection = stream.useChannel('main');
connection.on('urlUploadFinished', async data => {
if (data.marker === marker) {
const fileId = await emojiAdd(data.file.id);
resolve(fileId);
connection.dispose();
}
});
await os.api('drive/files/upload-from-url', {
url: this.emojiUrl,
folderId: defaultStore.state.uploadFolder,
marker
});
//ID
const emojiAdd = (fileId) => new Promise<Record<string, any> | null>(async resolve => {
await os.api('drive/files/update', {
fileId,
name: this.emojiName + '.png',
});
const response = await os.api('admin/emoji/add', {
fileId,
})
resolve(response);
})
});
//emoji admin/emoji/listididuntilId1idsinceIdlistobject
const emoji = (emojiId) => new Promise<Record<string, any> | null>(async resolve => {
const sinceId = await os.api('admin/emoji/list', {
limit: 1,
untilId: emojiId.id
})
if (!sinceId) {
resolve(null);
return;
}
const id = await os.api('admin/emoji/list', {
limit: 1,
sinceId: sinceId[0].id
});
if (!id) {
resolve(null);
return;
}
resolve(id[0]);
});
//editemojiobject
const edit = (emoji) => {
os.popup(import('./emoji-edit-dialog.vue'), {
emoji: emoji
});
};
(async () => {
await this.emojiGenerate()
const emojiId = await emojiUpload();//emojiIdID emojiUploadID
const emojiObj = await emoji(emojiId);//emojiObjemoji emojiemojiIdemoji
edit(emojiObj);
})();
},
setAccentColor(color){
this.emojiColor = color.replace('#', '');
}
},
});
</script>
<style lang="scss" scoped>
.cwepdizn {
::v-deep(.cwepdizn-colors) {
text-align: center;
> .row {
> .color {
display: inline-block;
position: relative;
width: 64px;
height: 64px;
border-radius: 8px;
> .preview {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
width: 42px;
height: 42px;
border-radius: 4px;
box-shadow: 0 2px 4px rgb(0 0 0 / 30%);
transition: transform 0.15s ease;
}
&:hover {
> .preview {
transform: scale(1.1);
}
}
&.active {
box-shadow: 0 0 0 2px var(--divider) inset;
}
&.rounded {
border-radius: 999px;
> .preview {
border-radius: 999px;
}
}
&.char {
line-height: 42px;
}
}
}
}
}
</style>

View File

@ -129,6 +129,13 @@ const add = async (ev: MouseEvent) => {
os.promiseDialog(promise);
};
const create = async (ev: MouseEvent) => {
await os.popupMenu([
{ type: 'button', text: '絵文字ジェネレーター', action: () => window.open('https://emoji-gen.ninja/') },
{ type: 'button', text: 'MEGAMOJI', action: () => window.open('https://zk-phi.github.io/MEGAMOJI/') }
], (ev.currentTarget ?? ev.target ?? undefined) as HTMLElement | undefined);
};
const edit = (emoji) => {
os.popup(import('./emoji-edit-dialog.vue'), {
emoji: emoji
@ -275,10 +282,16 @@ defineExpose({
icon: 'fas fa-plus',
text: i18n.ts.addEmoji,
handler: add,
}, {
asFullButton: true,
icon: 'fas fa-pencil-alt',
text: '絵文字を作成',
handler: create,
}, {
icon: 'fas fa-ellipsis-h',
handler: menu,
}],
tabs: [{
active: tab.value === 'local',
title: i18n.ts.local,

View File

@ -2,7 +2,7 @@
<div ref="el" class="hiyeyicy" :class="{ wide: !narrow }">
<div v-if="!narrow || page == null" class="nav">
<MkHeader :info="header"></MkHeader>
<MkSpacer :content-max="700" :margin-min="16">
<div class="lxpfedzu">
<div class="banner">
@ -120,6 +120,11 @@ export default defineComponent({
text: i18n.ts.customEmojis,
to: '/admin/emojis',
active: page.value === 'emojis',
}, {
icon: 'fas fa-laugh',
text: i18n.ts.emojiGen,
to: '/admin/emojigen',
active: page.value === 'emojigen',
}, {
icon: 'fas fa-globe',
text: i18n.ts.federation,
@ -214,6 +219,7 @@ export default defineComponent({
case 'overview': return defineAsyncComponent(() => import('./overview.vue'));
case 'users': return defineAsyncComponent(() => import('./users.vue'));
case 'emojis': return defineAsyncComponent(() => import('./emojis.vue'));
case 'emojigen': return defineAsyncComponent(() => import('./emojigen.vue'));
case 'federation': return defineAsyncComponent(() => import('../federation.vue'));
case 'queue': return defineAsyncComponent(() => import('./queue.vue'));
case 'files': return defineAsyncComponent(() => import('./files.vue'));

View File

@ -43,8 +43,8 @@
<header>
<MkUserName class="name" :user="user"/>
<span class="acct">@{{ acct(user) }}</span>
<span v-if="user.isAdmin" class="staff"><i class="fas fa-bookmark"></i></span>
<span v-if="user.isModerator" class="staff"><i class="far fa-bookmark"></i></span>
<span v-if="user.isAdmin" class="staff"><img style="height: 20px;transform: translateY(4px);" src="https://s3.nca10.net/misskey/622dcedb-865a-4668-9779-41b02aa50927.png"/></span>
<span v-if="user.isModerator" class="staff"><img style="height: 20px;transform: translateY(4px);" src="https://s3.nca10.net/misskey/622dcedb-865a-4668-9779-41b02aa50927.png"/></span>
<span v-if="user.isSilenced" class="punished"><i class="fas fa-microphone-slash"></i></span>
<span v-if="user.isSuspended" class="punished"><i class="fas fa-snowflake"></i></span>
</header>
@ -206,6 +206,8 @@ defineExpose({
> .staff {
margin-left: 0.5em;
color: var(--badge);
height: 20px;
transform: translateY(4px);
}
> .punished {

View File

@ -3,7 +3,7 @@
<MkPagination ref="pagingComponent" :pagination="pagination">
<template #empty>
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.noNotes }}</div>
</div>
</template>

View File

@ -3,7 +3,7 @@
<MkPagination ref="paginationComponent" :pagination="pagination">
<template #empty>
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.noFollowRequests }}</div>
</div>
</template>

View File

@ -30,7 +30,7 @@
</MkA>
</div>
<div v-if="!fetching && messages.length == 0" class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.noHistory }}</div>
</div>
<MkLoading v-if="fetching"/>

View File

@ -1,7 +1,7 @@
<template>
<div class="ipledcug">
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/not-found.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/20b71322-00a7-4f57-8eb0-947df6cc0ccb.png" class="_ghost"/>
<div>{{ $ts.notFoundDescription }}</div>
</div>
</div>

View File

@ -2,7 +2,7 @@
<MkSpacer v-if="token" :content-max="700" :margin-min="16" :margin-max="32">
<div class="_formRoot">
<FormInput v-model="password" type="password" class="_formBlock">
<template #prefix><i class="fas fa-lock"></i></template>
<template #prefix><i style="color: #96CCE7;" class="fas fa-lock"></i></template>
<template #label>{{ i18n.ts.newPassword }}</template>
</FormInput>

View File

@ -3,7 +3,7 @@
<FormPagination ref="list" :pagination="pagination">
<template #empty>
<div class="_fullinfo">
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
<img src="https://s3.nca10.net/misskey/3e1a7f0c-b106-41a1-b4ea-3ac896a0f3a4.png" class="_ghost"/>
<div>{{ $ts.nothing }}</div>
</div>
</template>

View File

@ -19,10 +19,10 @@
<MkUserName class="name" :user="user" :nowrap="true"/>
<div class="bottom">
<span class="username"><MkAcct :user="user" :detail="true" /></span>
<span v-if="user.isAdmin" :title="$ts.isAdmin" style="color: var(--badge);"><i class="fas fa-bookmark"></i></span>
<span v-if="!user.isAdmin && user.isModerator" :title="$ts.isModerator" style="color: var(--badge);"><i class="far fa-bookmark"></i></span>
<span v-if="user.isLocked" :title="$ts.isLocked"><i class="fas fa-lock"></i></span>
<span v-if="user.isBot" :title="$ts.isBot"><i class="fas fa-robot"></i></span>
<span v-if="user.isAdmin" :title="$ts.isAdmin" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/622dcedb-865a-4668-9779-41b02aa50927.png"/></span>
<span v-if="!user.isAdmin && user.isModerator" :title="$ts.isModerator" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/622dcedb-865a-4668-9779-41b02aa50927.png"/></span>
<span v-if="user.isLocked" :title="$ts.isLocked"><i style="color: #96CCE7;" class="fas fa-lock"></i></span>
<span v-if="user.isBot" :title="$ts.isBot"><svg xmlns="http://www.w3.org/2000/svg" class="is-bot-icon" fill="#96CCE7" viewBox="0 0 512 512"><title>Hardware Chip</title><path d="M352 128H160a32 32 0 00-32 32v192a32 32 0 0032 32h192a32 32 0 0032-32V160a32 32 0 00-32-32zm0 216a8 8 0 01-8 8H168a8 8 0 01-8-8V168a8 8 0 018-8h176a8 8 0 018 8z" fill="none"/><rect x="160" y="160" width="192" height="192" rx="8" ry="8"/><path d="M464 192a16 16 0 000-32h-16v-32a64.07 64.07 0 00-64-64h-32V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-32a64.07 64.07 0 00-64 64v32H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v32a64.07 64.07 0 0064 64h32v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h32a64.07 64.07 0 0064-64v-32h16a16 16 0 000-32h-16v-48h16a16 16 0 000-32h-16v-48zm-80 160a32 32 0 01-32 32H160a32 32 0 01-32-32V160a32 32 0 0132-32h192a32 32 0 0132 32z"/></svg></span>
</div>
</div>
<span v-if="$i && $i.id != user.id && user.isFollowed" class="followed">{{ $ts.followsYou }}</span>
@ -36,10 +36,10 @@
<MkUserName :user="user" :nowrap="false" class="name"/>
<div class="bottom">
<span class="username"><MkAcct :user="user" :detail="true" /></span>
<span v-if="user.isAdmin" :title="$ts.isAdmin" style="color: var(--badge);"><i class="fas fa-bookmark"></i></span>
<span v-if="!user.isAdmin && user.isModerator" :title="$ts.isModerator" style="color: var(--badge);"><i class="far fa-bookmark"></i></span>
<span v-if="user.isLocked" :title="$ts.isLocked"><i class="fas fa-lock"></i></span>
<span v-if="user.isBot" :title="$ts.isBot"><i class="fas fa-robot"></i></span>
<span v-if="user.isAdmin" :title="$ts.isAdmin" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/622dcedb-865a-4668-9779-41b02aa50927.png"/></span>
<span v-if="!user.isAdmin && user.isModerator" :title="$ts.isModerator" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/622dcedb-865a-4668-9779-41b02aa50927.png"/></span>
<span v-if="user.isLocked" :title="$ts.isLocked"><i style="color: #96CCE7;" class="fas fa-lock"></i></span>
<span v-if="user.isBot" :title="$ts.isBot"><svg xmlns="http://www.w3.org/2000/svg" class="is-bot-icon" fill="#96CCE7" viewBox="0 0 512 512"><title>Hardware Chip</title><path d="M352 128H160a32 32 0 00-32 32v192a32 32 0 0032 32h192a32 32 0 0032-32V160a32 32 0 00-32-32zm0 216a8 8 0 01-8 8H168a8 8 0 01-8-8V168a8 8 0 018-8h176a8 8 0 018 8z" fill="none"/><rect x="160" y="160" width="192" height="192" rx="8" ry="8"/><path d="M464 192a16 16 0 000-32h-16v-32a64.07 64.07 0 00-64-64h-32V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-48V48a16 16 0 00-32 0v16h-32a64.07 64.07 0 00-64 64v32H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v48H48a16 16 0 000 32h16v32a64.07 64.07 0 0064 64h32v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h48v16a16 16 0 0032 0v-16h32a64.07 64.07 0 0064-64v-32h16a16 16 0 000-32h-16v-48h16a16 16 0 000-32h-16v-48zm-80 160a32 32 0 01-32 32H160a32 32 0 01-32-32V160a32 32 0 0132-32h192a32 32 0 0132 32z"/></svg></span>
</div>
</div>
<div class="description">
@ -293,6 +293,12 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
.is-bot-icon {
width: 24px;
height: 24px;
transform: translateY(5px);
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.125s ease;
@ -399,7 +405,7 @@ export default defineComponent({
> .bottom {
> * {
display: inline-block;
margin-right: 16px;
margin-right: 8px;
line-height: 20px;
opacity: 0.8;

View File

@ -5,13 +5,13 @@
<XTimeline class="tl"/>
<div class="shape1"></div>
<div class="shape2"></div>
<img src="/client-assets/misskey.svg" class="misskey"/>
<img src="/client-assets/nca10.net.svg" class="misskey"/>
<div class="emojis">
<MkEmoji :normal="true" :no-style="true" emoji="👍"/>
<MkEmoji :normal="true" :no-style="true" emoji=""/>
<MkEmoji :normal="true" :no-style="true" emoji="😆"/>
<MkEmoji :normal="true" :no-style="true" emoji="🎉"/>
<MkEmoji :normal="true" :no-style="true" emoji="🍮"/>
<MkEmoji :normal="true" :no-style="true" emoji="💤"/>
<MkEmoji :normal="true" :no-style="true" emoji="🧬"/>
<MkEmoji :normal="true" :no-style="true" emoji="💙"/>
<MkEmoji :normal="true" :no-style="true" emoji="🐟"/>
<MkEmoji :normal="true" :no-style="true" emoji="👾"/>
</div>
<div class="main _panel">
<div class="bg">
@ -27,13 +27,12 @@
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
</div>
<div class="action">
<MkButton inline gradate data-cy-signup style="margin-right: 12px;" @click="signup()">{{ $ts.signup }}</MkButton>
<MkButton inline data-cy-signin @click="signin()">{{ $ts.login }}</MkButton>
<MkButton inline data-cy-signin @click="signin()"><i class="fas fa-lock"></i></MkButton>
</div>
<div v-if="onlineUsersCount && stats" class="status">
<div>
<I18n :src="$ts.nUsers" text-tag="span" class="users">
<template #n><b>{{ number(stats.originalUsersCount) }}</b></template>
<template #n><b>3</b></template>
</I18n>
<I18n :src="$ts.nNotes" text-tag="span" class="notes">
<template #n><b>{{ number(stats.originalNotesCount) }}</b></template>
@ -296,7 +295,7 @@ export default defineComponent({
> .online {
::v-deep(b) {
color: #41b781;
color: #B0E7CB;
}
::v-deep(span) {

View File

@ -12,8 +12,7 @@
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
</div>
<div class="action">
<MkButton class="signup" inline gradate @click="signup()">{{ $ts.signup }}</MkButton>
<MkButton class="signin" inline @click="signin()">{{ $ts.login }}</MkButton>
<MkButton class="signin" inline @click="signin()"><i class="fas fa-lock"></i></MkButton>
</div>
<div v-if="onlineUsersCount && stats" class="status">
<div>
@ -29,7 +28,7 @@
</I18n>
</div>
</div>
<img src="/client-assets/misskey.svg" class="misskey"/>
<img src="/client-assets/nca10.net.svg" class="misskey"/>
</div>
</div>
</template>

View File

@ -11,7 +11,7 @@
<MkEmoji :normal="true" :no-style="true" emoji="🍮"/>
</div>
<div class="main">
<img src="/client-assets/misskey.svg" class="misskey"/>
<img src="/client-assets/nca10.net.svg" class="misskey"/>
<div class="form _panel">
<div class="bg">
<div class="fade"></div>
@ -24,8 +24,7 @@
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
</div>
<div class="action">
<MkButton inline gradate @click="signup()">{{ $ts.signup }}</MkButton>
<MkButton inline @click="signin()">{{ $ts.login }}</MkButton>
<MkButton inline @click="signin()"><i class="fas fa-lock"></i></MkButton>
</div>
<div v-if="onlineUsersCount && stats" class="status">
<div>
@ -267,7 +266,7 @@ export default defineComponent({
> .online {
::v-deep(b) {
color: #41b781;
color: #B0E7CB;
}
::v-deep(span) {

View File

@ -10,7 +10,7 @@
</MkInput>
<MkInput v-model="password" type="password" data-cy-admin-password class="_formBlock">
<template #label>{{ $ts.password }}</template>
<template #prefix><i class="fas fa-lock"></i></template>
<template #prefix><i style="color: #96CCE7;" class="fas fa-lock"></i></template>
</MkInput>
<div class="bottom _formBlock">
<MkButton gradate type="submit" :disabled="submitting" data-cy-admin-ok>

View File

@ -33,6 +33,7 @@ export const builtinThemes = [
require('@/themes/d-ice.json5'),
require('@/themes/d-pumpkin.json5'),
require('@/themes/d-black.json5'),
require('@/themes/d-ncat.json5'),
] as Theme[];
let timeout = null;

View File

@ -257,8 +257,8 @@ type Plugin = {
*/
export class ColdDeviceStorage {
public static default = {
lightTheme: require('@/themes/l-light.json5') as Theme,
darkTheme: require('@/themes/d-dark.json5') as Theme,
lightTheme: require('@/themes/d-ncat.json5') as Theme,
darkTheme: require('@/themes/d-ncat.json5') as Theme,
syncDeviceDarkMode: true,
plugins: [] as Plugin[],
mediaVolume: 0.5,

View File

@ -0,0 +1,20 @@
{
id: '5cba19a8-b0e0-42b2-9ab2-35ffd623b045',
base: 'dark',
desc: 'ぬぁ~んဗ',
name: 'Ncat.',
props: {
bg: '#13141C',
fg: '#FFF',
link: '#B0E7E7',
navBg: '@bg',
panel: '@bg',
accent: '#96CCE7',
renote: '#B0E7CB',
success: '#B0E7CB',
error: '#FF9D9D',
warn: '#E7E7B0',
hashtag: '#96CCE7'
},
author: '@n@nca10.net',
}

View File

@ -15,9 +15,6 @@
</component>
</template>
<div class="divider"></div>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin">
<i class="fas fa-door-open fa-fw"></i><span class="text">{{ $ts.controlPanel }}</span>
</MkA>
<button v-click-anime class="item _button" @click="more">
<i class="fa fa-ellipsis-h fa-fw"></i><span class="text">{{ $ts.more }}</span>
<span v-if="otherMenuItemIndicated" class="indicator"><i class="fas fa-circle"></i></span>
@ -25,6 +22,9 @@
<MkA v-click-anime class="item" active-class="active" to="/settings">
<i class="fas fa-cog fa-fw"></i><span class="text">{{ $ts.settings }}</span>
</MkA>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin">
<i class="fas fa-door-open fa-fw"></i><span class="text">{{ $ts.controlPanel }}</span>
</MkA>
<button class="item _button post" data-cy-open-post-form @click="post">
<i class="fas fa-pencil-alt fa-fw"></i><span class="text">{{ $ts.note }}</span>
</button>

View File

@ -15,9 +15,6 @@
</component>
</template>
<div class="divider"></div>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin">
<i class="fas fa-door-open fa-fw"></i><span class="text">{{ $ts.controlPanel }}</span>
</MkA>
<button v-click-anime class="item _button" @click="more">
<i class="fa fa-ellipsis-h fa-fw"></i><span class="text">{{ $ts.more }}</span>
<span v-if="otherMenuItemIndicated" class="indicator"><i class="fas fa-circle"></i></span>
@ -25,6 +22,9 @@
<MkA v-click-anime class="item" active-class="active" to="/settings">
<i class="fas fa-cog fa-fw"></i><span class="text">{{ $ts.settings }}</span>
</MkA>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin">
<i class="fas fa-door-open fa-fw"></i><span class="text">{{ $ts.controlPanel }}</span>
</MkA>
<button class="item _button post" data-cy-open-post-form @click="os.post">
<i class="fas fa-pencil-alt fa-fw"></i><span class="text">{{ $ts.note }}</span>
</button>

View File

@ -20,9 +20,6 @@
</component>
</template>
<div class="divider"></div>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin" :behavior="settingsWindowed ? 'modalWindow' : null">
<i class="fas fa-door-open fa-fw"></i><span class="text">{{ $ts.controlPanel }}</span>
</MkA>
<button v-click-anime class="item _button" @click="more">
<i class="fas fa-ellipsis-h fa-fw"></i><span class="text">{{ $ts.more }}</span>
<span v-if="otherNavItemIndicated" class="indicator"><i class="fas fa-circle"></i></span>
@ -30,6 +27,9 @@
<MkA v-click-anime class="item" active-class="active" to="/settings" :behavior="settingsWindowed ? 'modalWindow' : null">
<i class="fas fa-cog fa-fw"></i><span class="text">{{ $ts.settings }}</span>
</MkA>
<MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime class="item" active-class="active" to="/admin" :behavior="settingsWindowed ? 'modalWindow' : null">
<i class="fas fa-door-open fa-fw"></i><span class="text">{{ $ts.controlPanel }}</span>
</MkA>
<div class="divider"></div>
<div class="about">
<MkA v-click-anime class="link" to="/about">
@ -49,7 +49,7 @@ import { menuDef } from '@/menu';
import { openAccountMenu } from '@/account';
import MkButton from '@/components/ui/button.vue';
import { StickySidebar } from '@/scripts/sticky-sidebar';
//import MisskeyLogo from '@assets/client/misskey.svg';
//import MisskeyLogo from '@assets/client/nca10.net.svg';
export default defineComponent({
components: {

View File

@ -7,7 +7,6 @@
<div class="desc" v-html="meta.description || $ts.introMisskey"></div>
</div>
<div class="action">
<button class="_button primary" @click="signup()">{{ $ts.signup }}</button>
<button class="_button" @click="signin()">{{ $ts.login }}</button>
</div>
</div>

View File

@ -1,6 +1,6 @@
<template>
<div class="mk-app">
<a v-if="root" href="https://github.com/misskey-dev/misskey" target="_blank" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--panel); color:var(--fg); position: fixed; z-index: 10; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
<a v-if="root" href="https://github.com/nullnyat/nca10.net" target="_blank" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--panel); color:var(--fg); position: fixed; z-index: 10; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
<div v-if="!narrow && !root" class="side">
<XKanban class="kanban" full/>
@ -40,7 +40,6 @@
<MkA to="/featured" class="link" active-class="active"><i class="fas fa-fire-alt icon"></i>{{ $ts.featured }}</MkA>
<MkA to="/channels" class="link" active-class="active"><i class="fas fa-satellite-dish icon"></i>{{ $ts.channel }}</MkA>
<div class="action">
<button class="_buttonPrimary" @click="signup()">{{ $ts.signup }}</button>
<button class="_button" @click="signin()">{{ $ts.login }}</button>
</div>
</div>

View File

@ -17,7 +17,6 @@
</div>
<div class="right">
<button class="_button search" @click="search()"><i class="fas fa-search icon"></i><span>{{ $ts.search }}</span></button>
<button class="_buttonPrimary signup" @click="signup()">{{ $ts.signup }}</button>
<button class="_button login" @click="signin()">{{ $ts.login }}</button>
</div>
</div>

View File

@ -11,7 +11,6 @@
<div class="desc" v-html="meta.description || $ts.introMisskey"></div>
</div>
<div class="action">
<button class="_buttonPrimary" @click="signup()">{{ $ts.signup }}</button>
<button class="_button" @click="signin()">{{ $ts.login }}</button>
</div>
<div class="announcements panel">

View File

@ -4,17 +4,17 @@
:points="pointsNote"
fill="none"
stroke-width="1"
stroke="#41ddde"/>
stroke="#96CCE7"/>
<polyline
:points="pointsReply"
fill="none"
stroke-width="1"
stroke="#f7796c"/>
stroke="#FF9D9D"/>
<polyline
:points="pointsRenote"
fill="none"
stroke-width="1"
stroke="#a1de41"/>
stroke="#B0E7CB"/>
<polyline
:points="pointsTotal"
fill="none"

View File

@ -133,7 +133,7 @@ defineExpose<WidgetComponentExpose>({
&.isHoliday {
> .day {
color: #ef95a0;
color: #96CCE7;
}
}
@ -151,6 +151,7 @@ defineExpose<WidgetComponentExpose>({
margin: 10px 0;
line-height: 32px;
font-size: 1.75em;
color: #96CCE7;
}
}
@ -193,19 +194,19 @@ defineExpose<WidgetComponentExpose>({
&:nth-child(1) {
> .meter > .val {
background: #f7796c;
background: #96CCE7;
}
}
&:nth-child(2) {
> .meter > .val {
background: #a1de41;
background: #CECEFF;
}
}
&:nth-child(3) {
> .meter > .val {
background: #41ddde;
background: #B0E7CB;
}
}
}

View File

@ -68,7 +68,7 @@ defineExpose<WidgetComponentExpose>({
> .text {
::v-deep(b) {
color: #41b781;
color: #96E7E7;
}
::v-deep(span) {

View File

@ -3,8 +3,8 @@
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
<defs>
<linearGradient :id="cpuGradientId" x1="0" x2="0" y1="1" y2="0">
<stop offset="0%" stop-color="hsl(180, 80%, 70%)"></stop>
<stop offset="100%" stop-color="hsl(0, 80%, 70%)"></stop>
<stop offset="0%" stop-color="#96CCE7"></stop>
<stop offset="100%" stop-color="#FF9D9D"></stop>
</linearGradient>
<mask :id="cpuMaskId" x="0" y="0" :width="viewBoxX" :height="viewBoxY">
<polygon
@ -36,8 +36,8 @@
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
<defs>
<linearGradient :id="memGradientId" x1="0" x2="0" y1="1" y2="0">
<stop offset="0%" stop-color="hsl(180, 80%, 70%)"></stop>
<stop offset="100%" stop-color="hsl(0, 80%, 70%)"></stop>
<stop offset="0%" stop-color="#96CCE7"></stop>
<stop offset="100%" stop-color="#FF9D9D"></stop>
</linearGradient>
<mask :id="memMaskId" x="0" y="0" :width="viewBoxX" :height="viewBoxY">
<polygon

View File

@ -3,40 +3,40 @@
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
<polygon
:points="inPolygonPoints"
fill="#94a029"
fill="#B0E7CB"
fill-opacity="0.5"
/>
<polyline
:points="inPolylinePoints"
fill="none"
stroke="#94a029"
stroke="#B0E7CB"
stroke-width="1"
/>
<circle
:cx="inHeadX"
:cy="inHeadY"
r="1.5"
fill="#94a029"
fill="#B0E7CB"
/>
<text x="1" y="5">NET rx <tspan>{{ bytes(inRecent) }}</tspan></text>
</svg>
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
<polygon
:points="outPolygonPoints"
fill="#ff9156"
fill="#E7BA95"
fill-opacity="0.5"
/>
<polyline
:points="outPolylinePoints"
fill="none"
stroke="#ff9156"
stroke="#E7BA95"
stroke-width="1"
/>
<circle
:cx="outHeadX"
:cy="outHeadY"
r="1.5"
fill="#ff9156"
fill="#E7BA95"
/>
<text x="1" y="5">NET tx <tspan>{{ bytes(outRecent) }}</tspan></text>
</svg>

View File

@ -14,7 +14,7 @@
:stroke-dashoffset="strokeDashoffset"
fill="none"
stroke-width="0.1"
:stroke="color"
stroke="#CECEFF"
/>
<text x="50%" y="50%" dy="0.05" text-anchor="middle">{{ (value * 100).toFixed(0) }}%</text>
</svg>

4494
yarn.lock

File diff suppressed because it is too large Load Diff