Compare commits

...

168 Commits

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

* 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
139f4ae26b Update README.md 2022-01-26 20:23:39 +09:00
7e25be2513 Merge remote-tracking branch 'origin/Ncat' into Ncat 2022-01-26 20:22:26 +09:00
c32edde497 ぬるきゃご以外を消した 2022-01-26 20:13:58 +09:00
b6e66d1d39 Update README.md 2022-01-26 20:08:29 +09:00
1d3ec1f31c Update README.md 2022-01-26 19:47:11 +09:00
a8abf35a91 AdminとModeratorのタグを猫に!!!
にゃんにゃん
2022-01-26 18:43:41 +09:00
90462ea1de 転々 2022-01-23 20:11:16 +09:00
bb1d02bde2 転々 2022-01-23 20:10:10 +09:00
884f6a2fc9 ログイン画面の右上のGitHubのURLを自分のに変更 2022-01-23 03:12:28 +09:00
d5ae48a754 Update README.md 2022-01-20 23:53:00 +09:00
0e04fd26d7 Update README.md 2022-01-20 23:52:50 +09:00
14440a95af Update README.md 2022-01-15 05:48:31 +09:00
645d945a33 Update README.md 2022-01-15 05:46:54 +09:00
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
a03f330c49 Themeを色々変えてみた 2022-01-06 23:07:20 +09:00
01185a830b 新規登録を殺した 2022-01-06 23:06:58 +09:00
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%; // Blinkのバグか知らんけど、100%ぴったりにすると何故か若干楕円でレンダリングされる
&.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 () {
//emojiUploadでは、絵文字をdrive/files/upload-from-urlでアップロードしたあと、emojiAddでリネーム、登録をして、emojiAddの戻り値(絵文字の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/listでは、idによる検索ができないため、自分のidをuntilIdに入れて1つ前のidを取得してからそれをsinceIdに指定して、絵文字情報をlist→objectで取得する
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]);
});
//edit関数には、emojiのobjectを渡す
const edit = (emoji) => {
os.popup(import('./emoji-edit-dialog.vue'), {
emoji: emoji
});
};
(async () => {
await this.emojiGenerate()
const emojiId = await emojiUpload();//emojiIdはファイルID emojiUploadはファイルIDを返す
const emojiObj = await emoji(emojiId);//emojiObjはemojiオブジェクト emoji関数はemojiIdを引数に受け取りemojiオブジェクトを返す
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