Compare commits
87 Commits
develop
...
ncat-sim-d
Author | SHA1 | Date | |
---|---|---|---|
87ba0ec566 | |||
75482bb4b3 | |||
|
c57f03b092 | ||
|
e53e40bf62 | ||
|
be4d3a2b84 | ||
|
08d0b0f5ef | ||
|
828121217d | ||
|
49fad60683 | ||
|
adc85b8af4 | ||
|
7532e44d37 | ||
|
081a312132 | ||
|
f5ba0db663 | ||
|
ed727aac78 | ||
|
8f85675275 | ||
|
5d1946465b | ||
|
839dbd98da | ||
|
866f3954a9 | ||
|
dd2f324050 | ||
|
ee6209afb2 | ||
|
3b68630e61 | ||
|
8f539adfdb | ||
|
56f552cc89 | ||
|
bb7fc84fab | ||
|
e7ae677b71 | ||
|
64f80f122f | ||
|
43a59c9b80 | ||
|
53f548bb08 | ||
|
291743087d | ||
|
432210e1b5 | ||
|
cb115d31cc | ||
|
088ecac89d | ||
|
7257336dc5 | ||
|
feb4373735 | ||
|
9861135546 | ||
|
22c0d5cb4e | ||
|
9d1e4b9014 | ||
|
99971cb91c | ||
|
c40da925a3 | ||
|
7c75e6666e | ||
|
922b7b0ad3 | ||
|
05c2db1dc0 | ||
|
282c2be5af | ||
|
6fd089d31a | ||
|
4850919a5b | ||
|
ed0eafbfd0 | ||
|
89120d45c0 | ||
|
1eedeb5842 | ||
|
c363154e07 | ||
|
87627eebaa | ||
|
a5956fc2f4 | ||
|
2924b84deb | ||
|
3b303a20a4 | ||
|
0fb9a438f9 | ||
|
139f4ae26b | ||
|
7e25be2513 | ||
|
c32edde497 | ||
|
b6e66d1d39 | ||
|
1d3ec1f31c | ||
|
a8abf35a91 | ||
|
90462ea1de | ||
|
bb1d02bde2 | ||
|
884f6a2fc9 | ||
|
d5ae48a754 | ||
|
0e04fd26d7 | ||
|
14440a95af | ||
|
645d945a33 | ||
|
1024fa4706 | ||
|
f231ad84e9 | ||
|
5c79e72774 | ||
|
639024897a | ||
|
0103cf8cd5 | ||
|
37129c2aa2 | ||
|
30f7e9e104 | ||
|
edad7fdbfe | ||
|
ec6facfe7d | ||
|
42184984a2 | ||
|
cc82bc182a | ||
|
6e52dc622d | ||
|
55ee63a57e | ||
|
a03f330c49 | ||
|
01185a830b | ||
|
502441c0e8 | ||
|
e1985690d2 | ||
|
eedd182187 | ||
|
e9e803db18 | ||
|
22c91811ad | ||
|
ded13933f2 |
10
CHANGELOG.md
@ -10,9 +10,19 @@
|
|||||||
You should also include the user name that made the change.
|
You should also include the user name that made the change.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## 12.105.0 (2022/02/09)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
- インスタンスのテーマカラーを設定できるように @syuilo
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- 一部環境でマイグレーションが失敗する問題を修正 @syuilo
|
||||||
|
|
||||||
## 12.104.0 (2022/02/09)
|
## 12.104.0 (2022/02/09)
|
||||||
|
|
||||||
### Note
|
### Note
|
||||||
|
ビルドする前に`npm run clean`を実行してください。
|
||||||
|
|
||||||
このリリースはマイグレーションの規模が大きいため、インスタンスによってはマイグレーションに時間がかかる可能性があります。
|
このリリースはマイグレーションの規模が大きいため、インスタンスによってはマイグレーションに時間がかかる可能性があります。
|
||||||
マイグレーションが終わらない場合は、チャートの情報はリセットされてしまいますが`__chart__`で始まるテーブルの**レコード**を全て削除(テーブル自体は消さないでください)してから再度試す方法もあります。
|
マイグレーションが終わらない場合は、チャートの情報はリセットされてしまいますが`__chart__`で始まるテーブルの**レコード**を全て削除(テーブル自体は消さないでください)してから再度試す方法もあります。
|
||||||
|
|
||||||
|
@ -32,4 +32,3 @@ COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node
|
|||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
CMD ["npm", "run", "migrateandstart"]
|
CMD ["npm", "run", "migrateandstart"]
|
||||||
|
|
||||||
|
177
README.md
@ -1,168 +1,13 @@
|
|||||||
[](https://join.misskey.page/)
|
## これってなに?
|
||||||
|
NullCat用のmisskeyインスタンス用のリポジトリです。
|
||||||
|
|
||||||
<div align="center">
|
## 本家と主な違い
|
||||||
|
- ノートのインスタンス情報の色が `#bfe0f0` ([変更方法](https://github.com/nullnyat/nca10.net/blob/Ncat/explanation/instancecolor.md))
|
||||||
|
- デフォルトのテーマがNcat.の配色
|
||||||
|
- 新規登録ボタンがない
|
||||||
|
- 日本語がぬるきゃご ([ぬるきゃごの導入方法と変更点](https://github.com/nullnyat/nca10.net/blob/Ncat/explanation/ncatlang.md))
|
||||||
|
- AdminとModeratorのタグがねこ
|
||||||
|
- RNのオプションに鍵RNがある ([byこけっち](https://github.com/nullnyat/nca10.net/pull/13))
|
||||||
|
|
||||||
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
|
## 導入方法
|
||||||
|
[MisskeyHub](https://misskey-hub.net/docs/install.html) をみてね
|
||||||
**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" style="display: inline-block;"><img src="https://rss3.io/assets/images/Logo.svg" alt="RSS3" style="display: inline-block; height: 60px;"></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
|
|
||||||
|
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 317 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 200 KiB |
BIN
assets/ai.png
Before Width: | Height: | Size: 235 KiB |
Before Width: | Height: | Size: 238 KiB |
Before Width: | Height: | Size: 148 KiB |
BIN
assets/title.png
Before Width: | Height: | Size: 3.8 KiB |
6
explanation/instancecolor.md
Normal 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値)
|
14
explanation/ncatlang.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
## 主な変更点
|
||||||
|
- なとナがにゃ
|
||||||
|
- コピーがコビー
|
||||||
|
- あなたが僕
|
||||||
|
- パスワードが鍵
|
||||||
|
- doneがドネ
|
||||||
|
- ユーザー名が名前
|
||||||
|
- バナーがバニャーニャ
|
||||||
|
- ユーザーネームがid
|
||||||
|
|
||||||
|
## ぬるきゃごの導入方法
|
||||||
|
1. `./locales/ja-JP.yml` を `ja-NCAT.yml` に変更
|
||||||
|
2. `ja-NCAT.yml` を `./locales` のなかに入れる
|
||||||
|
3. `./locales/inde.js` の `const languages` に `ja-NCAT` を追加する
|
@ -94,6 +94,8 @@ unfollow: "Unfollow"
|
|||||||
followRequestPending: "Pending follow request"
|
followRequestPending: "Pending follow request"
|
||||||
enterEmoji: "Enter an emoji"
|
enterEmoji: "Enter an emoji"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
|
renoteHomeOnly: "Renote to home only"
|
||||||
|
renoteFollowersOnly: "Renote to followers only"
|
||||||
unrenote: "Take back renote"
|
unrenote: "Take back renote"
|
||||||
renoted: "Renoted."
|
renoted: "Renoted."
|
||||||
cantRenote: "This post can't be renoted."
|
cantRenote: "This post can't be renoted."
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "12.104.0",
|
"version": "12.105.0",
|
||||||
"codename": "indigo",
|
"codename": "indigo",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 84 KiB |
@ -158,18 +158,8 @@ module.exports = class chartV71644058404077 {
|
|||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_following" SET "___remote_followers_total"=2147483647 WHERE "___remote_followers_total" > 2147483647`);
|
await queryRunner.query(`UPDATE "__chart_day__per_user_following" SET "___remote_followers_total"=2147483647 WHERE "___remote_followers_total" > 2147483647`);
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_following" SET "___remote_followers_inc"=32767 WHERE "___remote_followers_inc" > 32767`);
|
await queryRunner.query(`UPDATE "__chart_day__per_user_following" SET "___remote_followers_inc"=32767 WHERE "___remote_followers_inc" > 32767`);
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_following" SET "___remote_followers_dec"=32767 WHERE "___remote_followers_dec" > 32767`);
|
await queryRunner.query(`UPDATE "__chart_day__per_user_following" SET "___remote_followers_dec"=32767 WHERE "___remote_followers_dec" > 32767`);
|
||||||
await queryRunner.query(`UPDATE "__chart__per_user_drive" SET "___totalCount"=2147483647 WHERE "___totalCount" > 2147483647`);
|
await queryRunner.query(`TRUNCATE TABLE "__chart__per_user_drive"`);
|
||||||
await queryRunner.query(`UPDATE "__chart__per_user_drive" SET "___totalSize"=2147483647 WHERE "___totalSize" > 2147483647`);
|
await queryRunner.query(`TRUNCATE TABLE "__chart_day__per_user_drive"`);
|
||||||
await queryRunner.query(`UPDATE "__chart__per_user_drive" SET "___incCount"=32767 WHERE "___incCount" > 32767`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart__per_user_drive" SET "___incSize"=2147483647 WHERE "___incSize" > 2147483647`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart__per_user_drive" SET "___decCount"=32767 WHERE "___decCount" > 32767`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart__per_user_drive" SET "___decSize"=2147483647 WHERE "___decSize" > 2147483647`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_drive" SET "___totalCount"=2147483647 WHERE "___totalCount" > 2147483647`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_drive" SET "___totalSize"=2147483647 WHERE "___totalSize" > 2147483647`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_drive" SET "___incCount"=32767 WHERE "___incCount" > 32767`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_drive" SET "___incSize"=2147483647 WHERE "___incSize" > 2147483647`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_drive" SET "___decCount"=32767 WHERE "___decCount" > 32767`);
|
|
||||||
await queryRunner.query(`UPDATE "__chart_day__per_user_drive" SET "___decSize"=2147483647 WHERE "___decSize" > 2147483647`);
|
|
||||||
|
|
||||||
await queryRunner.query(`ALTER TABLE "__chart__federation" ALTER COLUMN "___instance_total" TYPE integer USING "___instance_total"::integer`);
|
await queryRunner.query(`ALTER TABLE "__chart__federation" ALTER COLUMN "___instance_total" TYPE integer USING "___instance_total"::integer`);
|
||||||
await queryRunner.query(`ALTER TABLE "__chart__federation" ALTER COLUMN "___instance_inc" TYPE smallint USING "___instance_inc"::smallint`);
|
await queryRunner.query(`ALTER TABLE "__chart__federation" ALTER COLUMN "___instance_inc" TYPE smallint USING "___instance_inc"::smallint`);
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
const { MigrationInterface, QueryRunner } = require("typeorm");
|
||||||
|
|
||||||
|
module.exports = class instanceThemeColor1644395759931 {
|
||||||
|
name = 'instanceThemeColor1644395759931'
|
||||||
|
|
||||||
|
async up(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" ADD "themeColor" character varying(512)`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async down(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "themeColor"`);
|
||||||
|
}
|
||||||
|
}
|
@ -88,6 +88,12 @@ export class Meta {
|
|||||||
})
|
})
|
||||||
public pinnedClipId: Clip['id'] | null;
|
public pinnedClipId: Clip['id'] | null;
|
||||||
|
|
||||||
|
@Column('varchar', {
|
||||||
|
length: 512,
|
||||||
|
nullable: true,
|
||||||
|
})
|
||||||
|
public themeColor: string | null;
|
||||||
|
|
||||||
@Column('varchar', {
|
@Column('varchar', {
|
||||||
length: 512,
|
length: 512,
|
||||||
nullable: true,
|
nullable: true,
|
||||||
|
@ -41,6 +41,10 @@ export const meta = {
|
|||||||
validator: $.optional.nullable.arr($.str),
|
validator: $.optional.nullable.arr($.str),
|
||||||
},
|
},
|
||||||
|
|
||||||
|
themeColor: {
|
||||||
|
validator: $.optional.nullable.str,
|
||||||
|
},
|
||||||
|
|
||||||
mascotImageUrl: {
|
mascotImageUrl: {
|
||||||
validator: $.optional.nullable.str,
|
validator: $.optional.nullable.str,
|
||||||
},
|
},
|
||||||
@ -331,6 +335,10 @@ export default define(meta, async (ps, me) => {
|
|||||||
set.blockedHosts = ps.blockedHosts.filter(Boolean);
|
set.blockedHosts = ps.blockedHosts.filter(Boolean);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ps.themeColor !== undefined) {
|
||||||
|
set.themeColor = ps.themeColor;
|
||||||
|
}
|
||||||
|
|
||||||
if (ps.mascotImageUrl !== undefined) {
|
if (ps.mascotImageUrl !== undefined) {
|
||||||
set.mascotImageUrl = ps.mascotImageUrl;
|
set.mascotImageUrl = ps.mascotImageUrl;
|
||||||
}
|
}
|
||||||
|
@ -499,6 +499,7 @@ export default define(meta, async (ps, me) => {
|
|||||||
enableRecaptcha: instance.enableRecaptcha,
|
enableRecaptcha: instance.enableRecaptcha,
|
||||||
recaptchaSiteKey: instance.recaptchaSiteKey,
|
recaptchaSiteKey: instance.recaptchaSiteKey,
|
||||||
swPublickey: instance.swPublicKey,
|
swPublickey: instance.swPublicKey,
|
||||||
|
themeColor: instance.themeColor,
|
||||||
mascotImageUrl: instance.mascotImageUrl,
|
mascotImageUrl: instance.mascotImageUrl,
|
||||||
bannerUrl: instance.bannerUrl,
|
bannerUrl: instance.bannerUrl,
|
||||||
errorImageUrl: instance.errorImageUrl,
|
errorImageUrl: instance.errorImageUrl,
|
||||||
|
@ -113,18 +113,26 @@
|
|||||||
// eslint-disable-next-line no-inner-declarations
|
// eslint-disable-next-line no-inner-declarations
|
||||||
function renderError(code, details) {
|
function renderError(code, details) {
|
||||||
document.documentElement.innerHTML = `
|
document.documentElement.innerHTML = `
|
||||||
<h1>⚠エラーが発生しました</h1>
|
<style>body { background-color: #010080; }</style>
|
||||||
<p>問題が解決しない場合は管理者までお問い合わせください。以下のオプションを試すこともできます:</p>
|
<div style="color: #FFF; padding: 128px;">
|
||||||
<ul>
|
<h1 style="font-family: system-ui; font-size: 100px; margin: 0;">:(</h1>
|
||||||
<li><a href="/cli">簡易クライアント</a>を起動</li>
|
<h1>おまえが悪い</h1>
|
||||||
<li><a href="/bios">BIOS</a>で修復を試みる</li>
|
<p>問題が解決しない場合はおまえが修正しろ。以下のオプションを試すこともできる:</p>
|
||||||
<li><a href="/flush">キャッシュをクリア</a>する</li>
|
<div style="display: flex; flex-direction: row;">
|
||||||
</ul>
|
<img style="width: 192px; image-rendering: pixelated;" src="data:image/gif;base64,R0lGODlhIwAjAIAAAP///wEAgCH5BAAAAAAALAAAAAAjACMAAAK1hI+py+0Pozyh2mAquBtdq2DeplGjaCYYuIpr97avSsZZ1sJ1R7O3XItpUKkiLGfkeT625vEjkRFJ0Z6LKsRNTaDgrIvd3nC/kBZSGpdYnLQZOPSVRzSdN73Oh67I3VtMFUbh1mZHx0d2dQIo6KfFBNSAJKXjoqgydMSlGSEUR2TJxlhnQ2a6AHnW5QNWZ/TleLk4E8QD2ceVOfi4p5RL+/OVakYXa1u7lZqHqDbh/AwdLZ1QAAA7">
|
||||||
<hr>
|
<div style="display: flex; flex-direction: column; justify-content: space-between; padding-block: 16px;">
|
||||||
<code>ERROR CODE: ${code}</code>
|
<ul style="margin: 0;">
|
||||||
<details>
|
<li><a style="color: red;" href="/cli">簡易クライアント</a>を起動しろ</li>
|
||||||
${details}
|
<li><a style="color: red;" href="/bios">BIOS</a>で修復を試みろ</li>
|
||||||
</details>
|
<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>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,6 +200,7 @@ router.get(['/@:user', '/@:user/:sub'], async (ctx, next) => {
|
|||||||
sub: ctx.params.sub,
|
sub: ctx.params.sub,
|
||||||
instanceName: meta.name || 'Misskey',
|
instanceName: meta.name || 'Misskey',
|
||||||
icon: meta.iconUrl,
|
icon: meta.iconUrl,
|
||||||
|
themeColor: meta.themeColor,
|
||||||
});
|
});
|
||||||
ctx.set('Cache-Control', 'public, max-age=30');
|
ctx.set('Cache-Control', 'public, max-age=30');
|
||||||
} else {
|
} else {
|
||||||
@ -239,6 +240,7 @@ router.get('/notes/:note', async (ctx, next) => {
|
|||||||
summary: getNoteSummary(_note),
|
summary: getNoteSummary(_note),
|
||||||
instanceName: meta.name || 'Misskey',
|
instanceName: meta.name || 'Misskey',
|
||||||
icon: meta.iconUrl,
|
icon: meta.iconUrl,
|
||||||
|
themeColor: meta.themeColor,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (['public', 'home'].includes(note.visibility)) {
|
if (['public', 'home'].includes(note.visibility)) {
|
||||||
@ -277,6 +279,7 @@ router.get('/@:user/pages/:page', async (ctx, next) => {
|
|||||||
profile,
|
profile,
|
||||||
instanceName: meta.name || 'Misskey',
|
instanceName: meta.name || 'Misskey',
|
||||||
icon: meta.iconUrl,
|
icon: meta.iconUrl,
|
||||||
|
themeColor: meta.themeColor,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (['public'].includes(page.visibility)) {
|
if (['public'].includes(page.visibility)) {
|
||||||
@ -307,6 +310,7 @@ router.get('/clips/:clip', async (ctx, next) => {
|
|||||||
profile,
|
profile,
|
||||||
instanceName: meta.name || 'Misskey',
|
instanceName: meta.name || 'Misskey',
|
||||||
icon: meta.iconUrl,
|
icon: meta.iconUrl,
|
||||||
|
themeColor: meta.themeColor,
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.set('Cache-Control', 'public, max-age=180');
|
ctx.set('Cache-Control', 'public, max-age=180');
|
||||||
@ -330,6 +334,7 @@ router.get('/gallery/:post', async (ctx, next) => {
|
|||||||
profile,
|
profile,
|
||||||
instanceName: meta.name || 'Misskey',
|
instanceName: meta.name || 'Misskey',
|
||||||
icon: meta.iconUrl,
|
icon: meta.iconUrl,
|
||||||
|
themeColor: meta.themeColor,
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.set('Cache-Control', 'public, max-age=180');
|
ctx.set('Cache-Control', 'public, max-age=180');
|
||||||
@ -353,6 +358,7 @@ router.get('/channels/:channel', async (ctx, next) => {
|
|||||||
channel: _channel,
|
channel: _channel,
|
||||||
instanceName: meta.name || 'Misskey',
|
instanceName: meta.name || 'Misskey',
|
||||||
icon: meta.iconUrl,
|
icon: meta.iconUrl,
|
||||||
|
themeColor: meta.themeColor,
|
||||||
});
|
});
|
||||||
|
|
||||||
ctx.set('Cache-Control', 'public, max-age=180');
|
ctx.set('Cache-Control', 'public, max-age=180');
|
||||||
@ -412,6 +418,7 @@ router.get('(.*)', async ctx => {
|
|||||||
instanceName: meta.name || 'Misskey',
|
instanceName: meta.name || 'Misskey',
|
||||||
desc: meta.description,
|
desc: meta.description,
|
||||||
icon: meta.iconUrl,
|
icon: meta.iconUrl,
|
||||||
|
themeColor: meta.themeColor,
|
||||||
});
|
});
|
||||||
ctx.set('Cache-Control', 'public, max-age=300');
|
ctx.set('Cache-Control', 'public, max-age=300');
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"short_name": "Misskey",
|
"short_name": "nca10.net",
|
||||||
"name": "Misskey",
|
"name": "ぬるきゃのおうち",
|
||||||
"start_url": "/",
|
"start_url": "/",
|
||||||
"display": "standalone",
|
"display": "standalone",
|
||||||
"background_color": "#313a42",
|
"background_color": "#313a42",
|
||||||
"theme_color": "#86b300",
|
"theme_color": "#96CCE7",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/static-assets/icons/192.png",
|
"src": "/static-assets/icons/192.png",
|
||||||
|
@ -9,6 +9,7 @@ module.exports = async (ctx: Koa.Context) => {
|
|||||||
|
|
||||||
json.short_name = instance.name || 'Misskey';
|
json.short_name = instance.name || 'Misskey';
|
||||||
json.name = instance.name || 'Misskey';
|
json.name = instance.name || 'Misskey';
|
||||||
|
if (instance.themeColor) json.theme_color = instance.themeColor;
|
||||||
|
|
||||||
ctx.set('Cache-Control', 'max-age=300');
|
ctx.set('Cache-Control', 'max-age=300');
|
||||||
ctx.body = json;
|
ctx.body = json;
|
||||||
|
@ -19,19 +19,19 @@ html
|
|||||||
meta(charset='utf-8')
|
meta(charset='utf-8')
|
||||||
meta(name='application-name' content='Misskey')
|
meta(name='application-name' content='Misskey')
|
||||||
meta(name='referrer' content='origin')
|
meta(name='referrer' content='origin')
|
||||||
meta(name='theme-color' content='#86b300')
|
meta(name='theme-color' content= themeColor || '#86b300')
|
||||||
meta(name='theme-color-orig' content='#86b300')
|
meta(name='theme-color-orig' content= themeColor || '#86b300')
|
||||||
meta(property='twitter:card' content='summary')
|
meta(property='twitter:card' content='summary')
|
||||||
meta(property='og:site_name' content= instanceName || 'Misskey')
|
meta(property='og:site_name' content= instanceName || 'Misskey')
|
||||||
meta(name='viewport' content='width=device-width, initial-scale=1')
|
meta(name='viewport' content='width=device-width, initial-scale=1')
|
||||||
link(rel='icon' href= icon || '/favicon.ico')
|
link(rel='icon' href= icon || '/favicon.ico')
|
||||||
link(rel='apple-touch-icon' href= icon || '/apple-touch-icon.png')
|
link(rel='apple-touch-icon' href= icon || '/apple-touch-icon.png')
|
||||||
link(rel='manifest' href='/manifest.json')
|
link(rel='manifest' href='/manifest.json')
|
||||||
link(rel='prefetch' href='https://xn--931a.moe/assets/info.jpg')
|
link(rel='prefetch' href='https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png')
|
||||||
link(rel='prefetch' href='https://xn--931a.moe/assets/not-found.jpg')
|
link(rel='prefetch' href='https://s3.nca10.net/misskey/5c92993f-9d73-4fa8-b493-db0c4e262f18.png')
|
||||||
link(rel='prefetch' href='https://xn--931a.moe/assets/error.jpg')
|
link(rel='prefetch' href='https://s3.nca10.net/misskey/384ef7d3-e846-4e50-be59-d933c97a4287.png')
|
||||||
link(rel='preload' href='/assets/fontawesome/css/all.css' as='style')
|
link(rel='preload' href='https://use.fontawesome.com/releases/v5.15.3/css/all.css' as='style')
|
||||||
link(rel='stylesheet' href='/assets/fontawesome/css/all.css')
|
link(rel='stylesheet' href='https://use.fontawesome.com/releases/v5.15.3/css/all.css')
|
||||||
|
|
||||||
title
|
title
|
||||||
block title
|
block title
|
||||||
|
Before Width: | Height: | Size: 9.2 KiB |
1
packages/client/assets/nca10.net.svg
Normal 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 |
@ -15,7 +15,7 @@
|
|||||||
<header v-if="title"><Mfm :text="title"/></header>
|
<header v-if="title"><Mfm :text="title"/></header>
|
||||||
<div v-if="text" class="body"><Mfm :text="text"/></div>
|
<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">
|
<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>
|
</MkInput>
|
||||||
<MkSelect v-if="select" v-model="selectedValue" autofocus>
|
<MkSelect v-if="select" v-model="selectedValue" autofocus>
|
||||||
<template v-if="select.items">
|
<template v-if="select.items">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
||||||
<div class="mjndxjcg">
|
<div class="mjndxjcg">
|
||||||
<img src="https://xn--931a.moe/assets/error.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/384ef7d3-e846-4e50-be59-d933c97a4287.png" class="_ghost"/>
|
||||||
<p><i class="fas fa-exclamation-triangle"></i> {{ $ts.somethingHappened }}</p>
|
<p><i class="fas fa-exclamation-triangle"></i> {{ $ts.somethingHappened }}</p>
|
||||||
<MkButton class="button" @click="() => $emit('retry')">{{ $ts.retry }}</MkButton>
|
<MkButton class="button" @click="() => $emit('retry')">{{ $ts.retry }}</MkButton>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<MkPagination ref="pagingComponent" :pagination="pagination">
|
<MkPagination ref="pagingComponent" :pagination="pagination">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.noNotes }}</div>
|
<div>{{ $ts.noNotes }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<MkPagination ref="pagingComponent" :pagination="pagination">
|
<MkPagination ref="pagingComponent" :pagination="pagination">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.noNotifications }}</div>
|
<div>{{ $ts.noNotifications }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -7,10 +7,7 @@
|
|||||||
@drop.stop="onDrop"
|
@drop.stop="onDrop"
|
||||||
>
|
>
|
||||||
<header>
|
<header>
|
||||||
<button v-if="!fixed" class="cancel _button" @click="cancel"><i class="fas fa-times"></i></button>
|
<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>
|
<div>
|
||||||
<span class="text-count" :class="{ over: textLength > maxTextLength }">{{ maxTextLength - textLength }}</span>
|
<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>
|
<span v-if="localOnly" class="local-only"><i class="fas fa-biohazard"></i></span>
|
||||||
@ -341,8 +338,10 @@ function addTag(tag: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function focus() {
|
function focus() {
|
||||||
textareaEl.focus();
|
if (textareaEl) {
|
||||||
textareaEl.setSelectionRange(textareaEl.value.length, textareaEl.value.length);
|
textareaEl.focus();
|
||||||
|
textareaEl.setSelectionRange(textareaEl.value.length, textareaEl.value.length);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function chooseFileFrom(ev) {
|
function chooseFileFrom(ev) {
|
||||||
|
@ -66,7 +66,25 @@ export default defineComponent({
|
|||||||
renoteId: props.note.id
|
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,
|
text: i18n.ts.quote,
|
||||||
icon: 'fas fa-quote-right',
|
icon: 'fas fa-quote-right',
|
||||||
action: () => {
|
action: () => {
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<template #suffix>@{{ host }}</template>
|
<template #suffix>@{{ host }}</template>
|
||||||
</MkInput>
|
</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>
|
<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>
|
<template #caption><button class="_textButton" type="button" @click="resetPassword">{{ $ts.forgotPassword }}</button></template>
|
||||||
</MkInput>
|
</MkInput>
|
||||||
<MkButton class="_formBlock" type="submit" primary :disabled="signing" style="margin: 0 auto;">{{ signing ? $ts.loggingIn : $ts.login }}</MkButton>
|
<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>
|
<p style="margin-bottom:0;">{{ $ts.twoStepAuthentication }}</p>
|
||||||
<MkInput v-if="user && user.usePasswordLessLogin" v-model="password" type="password" :with-password-toggle="true" required>
|
<MkInput v-if="user && user.usePasswordLessLogin" v-model="password" type="password" :with-password-toggle="true" required>
|
||||||
<template #label>{{ $ts.password }}</template>
|
<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>
|
||||||
<MkInput v-model="token" type="text" pattern="^[0-9]{6}$" autocomplete="off" spellcheck="false" required>
|
<MkInput v-model="token" type="text" pattern="^[0-9]{6}$" autocomplete="off" spellcheck="false" required>
|
||||||
<template #label>{{ $ts.token }}</template>
|
<template #label>{{ $ts.token }}</template>
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
</MkInput>
|
</MkInput>
|
||||||
<MkInput v-model="password" class="_formBlock" type="password" :autocomplete="Math.random()" required data-cy-signup-password @update:modelValue="onChangePassword">
|
<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 #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>
|
<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 == '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>
|
<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>
|
||||||
<MkInput v-model="retypedPassword" class="_formBlock" type="password" :autocomplete="Math.random()" required data-cy-signup-password-retype @update:modelValue="onChangePasswordRetype">
|
<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 #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>
|
<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 == '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>
|
<span v-if="passwordRetypeState == 'not-match'" style="color: var(--error)"><i class="fas fa-exclamation-triangle fa-fw"></i> {{ $ts.passwordNotMatched }}</span>
|
||||||
|
@ -146,14 +146,16 @@ export default defineComponent({
|
|||||||
line-height: 22px;
|
line-height: 22px;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background: var(--buttonBg);
|
background: none;
|
||||||
|
border: solid 2px var(--accent);
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
overflow: clip;
|
overflow: clip;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
transition: background 0.1s ease;
|
transition: background 0.1s ease;
|
||||||
|
|
||||||
&:not(:disabled):hover {
|
&: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 {
|
&:not(:disabled):active {
|
||||||
@ -168,20 +170,6 @@ export default defineComponent({
|
|||||||
border-radius: 999px;
|
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 {
|
&.gradate {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: var(--fgOnAccent) !important;
|
color: var(--fgOnAccent) !important;
|
||||||
@ -197,19 +185,12 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.danger {
|
&.danger {
|
||||||
color: #ff2a2a;
|
border-color: #FF9D9D;
|
||||||
|
|
||||||
&.primary {
|
|
||||||
color: #fff;
|
|
||||||
background: #ff2a2a;
|
|
||||||
|
|
||||||
&:not(:disabled):hover {
|
&:not(:disabled):hover {
|
||||||
background: #ff4242;
|
text-shadow: -6px 0px 15px rgba(255, 157, 157, 0.83),
|
||||||
}
|
6px 0px 15px rgba(255, 157, 157, 0.83);
|
||||||
|
|
||||||
&:not(:disabled):active {
|
|
||||||
background: #d42e2e;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<div v-else-if="empty" key="_empty_" class="empty">
|
<div v-else-if="empty" key="_empty_" class="empty">
|
||||||
<slot name="empty">
|
<slot name="empty">
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.nothing }}</div>
|
<div>{{ $ts.nothing }}</div>
|
||||||
</div>
|
</div>
|
||||||
</slot>
|
</slot>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<MkPagination ref="pagingComponent" :pagination="pagination">
|
<MkPagination ref="pagingComponent" :pagination="pagination">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.noUsers }}</div>
|
<div>{{ $ts.noUsers }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
import { Directive } from 'vue';
|
import { Directive } from 'vue';
|
||||||
import { defaultStore } from '@/store';
|
import { defaultStore } from '@/store';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mounted(el, binding, vn) {
|
mounted(el, binding, vn) {
|
||||||
if (!defaultStore.state.animation) return;
|
if (!defaultStore.state.animation) return;
|
||||||
|
|
||||||
el.classList.add('_anime_bounce_standBy');
|
el.classList.add('_anime_bounce_standBy');
|
||||||
|
|
||||||
el.addEventListener('mousedown', () => {
|
el.addEventListener('mousedown', () => {
|
||||||
el.classList.add('_anime_bounce_standBy');
|
el.classList.add('_anime_bounce_standBy');
|
||||||
el.classList.add('_anime_bounce_ready');
|
el.classList.add('_anime_bounce_ready');
|
||||||
|
|
||||||
el.addEventListener('mouseleave', () => {
|
el.addEventListener('mouseleave', () => {
|
||||||
el.classList.remove('_anime_bounce_ready');
|
el.classList.remove('_anime_bounce_ready');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
el.addEventListener('click', () => {
|
el.addEventListener('click', () => {
|
||||||
el.classList.add('_anime_bounce');
|
el.classList.add('_anime_bounce');
|
||||||
});
|
});
|
||||||
|
|
||||||
el.addEventListener('animationend', () => {
|
el.addEventListener('animationend', () => {
|
||||||
el.classList.remove('_anime_bounce_ready');
|
el.classList.remove('_anime_bounce_ready');
|
||||||
el.classList.remove('_anime_bounce');
|
el.classList.remove('_anime_bounce');
|
||||||
el.classList.add('_anime_bounce_standBy');
|
el.classList.add('_anime_bounce_standBy');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} as Directive;
|
} as Directive;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<MkLoading v-if="!loaded"/>
|
<MkLoading v-if="!loaded"/>
|
||||||
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
<transition :name="$store.state.animation ? 'zoom' : ''" appear>
|
||||||
<div v-show="loaded" class="mjndxjch">
|
<div v-show="loaded" class="mjndxjch">
|
||||||
<img src="https://xn--931a.moe/assets/error.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/384ef7d3-e846-4e50-be59-d933c97a4287.png" class="_ghost"/>
|
||||||
<p><b><i class="fas fa-exclamation-triangle"></i> {{ i18n.ts.pageLoadError }}</b></p>
|
<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-if="meta && (version === meta.version)">{{ i18n.ts.pageLoadErrorDescription }}</p>
|
||||||
<p v-else-if="serverIsDead">{{ i18n.ts.serverIsDead }}</p>
|
<p v-else-if="serverIsDead">{{ i18n.ts.serverIsDead }}</p>
|
||||||
|
@ -25,6 +25,12 @@
|
|||||||
<template #label>{{ $ts.backgroundImageUrl }}</template>
|
<template #label>{{ $ts.backgroundImageUrl }}</template>
|
||||||
</FormInput>
|
</FormInput>
|
||||||
|
|
||||||
|
<FormInput v-model="themeColor" class="_formBlock">
|
||||||
|
<template #prefix><i class="fas fa-palette"></i></template>
|
||||||
|
<template #label>{{ $ts.themeColor }}</template>
|
||||||
|
<template #caption>#RRGGBB</template>
|
||||||
|
</FormInput>
|
||||||
|
|
||||||
<FormInput v-model="tosUrl" class="_formBlock">
|
<FormInput v-model="tosUrl" class="_formBlock">
|
||||||
<template #prefix><i class="fas fa-link"></i></template>
|
<template #prefix><i class="fas fa-link"></i></template>
|
||||||
<template #label>{{ $ts.tosUrl }}</template>
|
<template #label>{{ $ts.tosUrl }}</template>
|
||||||
@ -179,6 +185,7 @@ export default defineComponent({
|
|||||||
iconUrl: null,
|
iconUrl: null,
|
||||||
bannerUrl: null,
|
bannerUrl: null,
|
||||||
backgroundImageUrl: null,
|
backgroundImageUrl: null,
|
||||||
|
themeColor: null,
|
||||||
maxNoteTextLength: 0,
|
maxNoteTextLength: 0,
|
||||||
enableLocalTimeline: false,
|
enableLocalTimeline: false,
|
||||||
enableGlobalTimeline: false,
|
enableGlobalTimeline: false,
|
||||||
@ -206,6 +213,7 @@ export default defineComponent({
|
|||||||
this.iconUrl = meta.iconUrl;
|
this.iconUrl = meta.iconUrl;
|
||||||
this.bannerUrl = meta.bannerUrl;
|
this.bannerUrl = meta.bannerUrl;
|
||||||
this.backgroundImageUrl = meta.backgroundImageUrl;
|
this.backgroundImageUrl = meta.backgroundImageUrl;
|
||||||
|
this.themeColor = meta.themeColor;
|
||||||
this.maintainerName = meta.maintainerName;
|
this.maintainerName = meta.maintainerName;
|
||||||
this.maintainerEmail = meta.maintainerEmail;
|
this.maintainerEmail = meta.maintainerEmail;
|
||||||
this.maxNoteTextLength = meta.maxNoteTextLength;
|
this.maxNoteTextLength = meta.maxNoteTextLength;
|
||||||
@ -233,6 +241,7 @@ export default defineComponent({
|
|||||||
iconUrl: this.iconUrl,
|
iconUrl: this.iconUrl,
|
||||||
bannerUrl: this.bannerUrl,
|
bannerUrl: this.bannerUrl,
|
||||||
backgroundImageUrl: this.backgroundImageUrl,
|
backgroundImageUrl: this.backgroundImageUrl,
|
||||||
|
themeColor: this.themeColor === '' ? null : this.themeColor,
|
||||||
maintainerName: this.maintainerName,
|
maintainerName: this.maintainerName,
|
||||||
maintainerEmail: this.maintainerEmail,
|
maintainerEmail: this.maintainerEmail,
|
||||||
maxNoteTextLength: this.maxNoteTextLength,
|
maxNoteTextLength: this.maxNoteTextLength,
|
||||||
|
@ -43,8 +43,8 @@
|
|||||||
<header>
|
<header>
|
||||||
<MkUserName class="name" :user="user"/>
|
<MkUserName class="name" :user="user"/>
|
||||||
<span class="acct">@{{ acct(user) }}</span>
|
<span class="acct">@{{ acct(user) }}</span>
|
||||||
<span v-if="user.isAdmin" class="staff"><i class="fas fa-bookmark"></i></span>
|
<span v-if="user.isAdmin" class="staff"><img style="height: 20px;transform: translateY(4px);" src="https://s3.nca10.net/misskey/cb40a22b-cccf-490d-b224-bffa359a3462.png"/></span>
|
||||||
<span v-if="user.isModerator" class="staff"><i class="far fa-bookmark"></i></span>
|
<span v-if="user.isModerator" class="staff"><img style="height: 20px;transform: translateY(4px);" src="https://s3.nca10.net/misskey/cb40a22b-cccf-490d-b224-bffa359a3462.png"/></span>
|
||||||
<span v-if="user.isSilenced" class="punished"><i class="fas fa-microphone-slash"></i></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>
|
<span v-if="user.isSuspended" class="punished"><i class="fas fa-snowflake"></i></span>
|
||||||
</header>
|
</header>
|
||||||
@ -206,6 +206,8 @@ defineExpose({
|
|||||||
> .staff {
|
> .staff {
|
||||||
margin-left: 0.5em;
|
margin-left: 0.5em;
|
||||||
color: var(--badge);
|
color: var(--badge);
|
||||||
|
height: 20px;
|
||||||
|
transform: translateY(4px);
|
||||||
}
|
}
|
||||||
|
|
||||||
> .punished {
|
> .punished {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<MkPagination ref="pagingComponent" :pagination="pagination">
|
<MkPagination ref="pagingComponent" :pagination="pagination">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.noNotes }}</div>
|
<div>{{ $ts.noNotes }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<MkPagination ref="paginationComponent" :pagination="pagination">
|
<MkPagination ref="paginationComponent" :pagination="pagination">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.noFollowRequests }}</div>
|
<div>{{ $ts.noFollowRequests }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
</MkA>
|
</MkA>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!fetching && messages.length == 0" class="_fullinfo">
|
<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/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.noHistory }}</div>
|
<div>{{ $ts.noHistory }}</div>
|
||||||
</div>
|
</div>
|
||||||
<MkLoading v-if="fetching"/>
|
<MkLoading v-if="fetching"/>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="ipledcug">
|
<div class="ipledcug">
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/not-found.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/5c92993f-9d73-4fa8-b493-db0c4e262f18.png" class="_ghost"/>
|
||||||
<div>{{ $ts.notFoundDescription }}</div>
|
<div>{{ $ts.notFoundDescription }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<MkSpacer v-if="token" :content-max="700" :margin-min="16" :margin-max="32">
|
<MkSpacer v-if="token" :content-max="700" :margin-min="16" :margin-max="32">
|
||||||
<div class="_formRoot">
|
<div class="_formRoot">
|
||||||
<FormInput v-model="password" type="password" class="_formBlock">
|
<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>
|
<template #label>{{ i18n.ts.newPassword }}</template>
|
||||||
</FormInput>
|
</FormInput>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<FormPagination ref="list" :pagination="pagination">
|
<FormPagination ref="list" :pagination="pagination">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<div class="_fullinfo">
|
<div class="_fullinfo">
|
||||||
<img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
|
<img src="https://s3.nca10.net/misskey/391b11c7-ac02-4cd1-948e-86877f79f6fb.png" class="_ghost"/>
|
||||||
<div>{{ $ts.nothing }}</div>
|
<div>{{ $ts.nothing }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -19,10 +19,10 @@
|
|||||||
<MkUserName class="name" :user="user" :nowrap="true"/>
|
<MkUserName class="name" :user="user" :nowrap="true"/>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<span class="username"><MkAcct :user="user" :detail="true" /></span>
|
<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" :title="$ts.isAdmin" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/cb40a22b-cccf-490d-b224-bffa359a3462.png"/></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.isAdmin && user.isModerator" :title="$ts.isModerator" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/cb40a22b-cccf-490d-b224-bffa359a3462.png"/></span>
|
||||||
<span v-if="user.isLocked" :title="$ts.isLocked"><i class="fas fa-lock"></i></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"><i class="fas fa-robot"></i></span>
|
<span v-if="user.isBot" :title="$ts.isBot"><i style="color: #96CCE7;" class="fas fa-robot"></i></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span v-if="$i && $i.id != user.id && user.isFollowed" class="followed">{{ $ts.followsYou }}</span>
|
<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"/>
|
<MkUserName :user="user" :nowrap="false" class="name"/>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<span class="username"><MkAcct :user="user" :detail="true" /></span>
|
<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" :title="$ts.isAdmin" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/cb40a22b-cccf-490d-b224-bffa359a3462.png"/></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.isAdmin && user.isModerator" :title="$ts.isModerator" style="color: var(--badge);"><img style="height: 20px; transform: translateY(4px);" src="https://s3.nca10.net/misskey/cb40a22b-cccf-490d-b224-bffa359a3462.png"/></span>
|
||||||
<span v-if="user.isLocked" :title="$ts.isLocked"><i class="fas fa-lock"></i></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"><i class="fas fa-robot"></i></span>
|
<span v-if="user.isBot" :title="$ts.isBot"><i style="color: #96CCE7;" class="fas fa-robot"></i></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="description">
|
<div class="description">
|
||||||
@ -399,7 +399,7 @@ export default defineComponent({
|
|||||||
> .bottom {
|
> .bottom {
|
||||||
> * {
|
> * {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 16px;
|
margin-right: 8px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<XTimeline class="tl"/>
|
<XTimeline class="tl"/>
|
||||||
<div class="shape1"></div>
|
<div class="shape1"></div>
|
||||||
<div class="shape2"></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">
|
<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="❤"/>
|
||||||
@ -27,8 +27,7 @@
|
|||||||
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
|
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="action">
|
<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()"><i class="fas fa-lock"></i></MkButton>
|
||||||
<MkButton inline data-cy-signin @click="signin()">{{ $ts.login }}</MkButton>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="onlineUsersCount && stats" class="status">
|
<div v-if="onlineUsersCount && stats" class="status">
|
||||||
<div>
|
<div>
|
||||||
@ -296,7 +295,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
> .online {
|
> .online {
|
||||||
::v-deep(b) {
|
::v-deep(b) {
|
||||||
color: #41b781;
|
color: #B0E7CB;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep(span) {
|
::v-deep(span) {
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
|
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="action">
|
<div class="action">
|
||||||
<MkButton class="signup" inline gradate @click="signup()">{{ $ts.signup }}</MkButton>
|
<MkButton class="signin" inline @click="signin()"><i class="fas fa-lock"></i></MkButton>
|
||||||
<MkButton class="signin" inline @click="signin()">{{ $ts.login }}</MkButton>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="onlineUsersCount && stats" class="status">
|
<div v-if="onlineUsersCount && stats" class="status">
|
||||||
<div>
|
<div>
|
||||||
@ -29,7 +28,7 @@
|
|||||||
</I18n>
|
</I18n>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<img src="/client-assets/misskey.svg" class="misskey"/>
|
<img src="/client-assets/nca10.net.svg" class="misskey"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<MkEmoji :normal="true" :no-style="true" emoji="🍮"/>
|
<MkEmoji :normal="true" :no-style="true" emoji="🍮"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="main">
|
<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="form _panel">
|
||||||
<div class="bg">
|
<div class="bg">
|
||||||
<div class="fade"></div>
|
<div class="fade"></div>
|
||||||
@ -24,8 +24,7 @@
|
|||||||
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
|
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="action">
|
<div class="action">
|
||||||
<MkButton inline gradate @click="signup()">{{ $ts.signup }}</MkButton>
|
<MkButton inline @click="signin()"><i class="fas fa-lock"></i></MkButton>
|
||||||
<MkButton inline @click="signin()">{{ $ts.login }}</MkButton>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="onlineUsersCount && stats" class="status">
|
<div v-if="onlineUsersCount && stats" class="status">
|
||||||
<div>
|
<div>
|
||||||
@ -267,7 +266,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
> .online {
|
> .online {
|
||||||
::v-deep(b) {
|
::v-deep(b) {
|
||||||
color: #41b781;
|
color: #B0E7CB;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep(span) {
|
::v-deep(span) {
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
</MkInput>
|
</MkInput>
|
||||||
<MkInput v-model="password" type="password" data-cy-admin-password>
|
<MkInput v-model="password" type="password" data-cy-admin-password>
|
||||||
<template #label>{{ $ts.password }}</template>
|
<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>
|
||||||
<footer>
|
<footer>
|
||||||
<MkButton primary type="submit" :disabled="submitting" data-cy-admin-ok>
|
<MkButton primary type="submit" :disabled="submitting" data-cy-admin-ok>
|
||||||
|
@ -29,6 +29,7 @@ export const builtinThemes = [
|
|||||||
require('@/themes/d-botanical.json5'),
|
require('@/themes/d-botanical.json5'),
|
||||||
require('@/themes/d-pumpkin.json5'),
|
require('@/themes/d-pumpkin.json5'),
|
||||||
require('@/themes/d-black.json5'),
|
require('@/themes/d-black.json5'),
|
||||||
|
require('@/themes/d-ncat.json5'),
|
||||||
] as Theme[];
|
] as Theme[];
|
||||||
|
|
||||||
let timeout = null;
|
let timeout = null;
|
||||||
|
@ -250,8 +250,8 @@ type Plugin = {
|
|||||||
*/
|
*/
|
||||||
export class ColdDeviceStorage {
|
export class ColdDeviceStorage {
|
||||||
public static default = {
|
public static default = {
|
||||||
lightTheme: require('@/themes/l-light.json5') as Theme,
|
lightTheme: require('@/themes/d-ncat.json5') as Theme,
|
||||||
darkTheme: require('@/themes/d-dark.json5') as Theme,
|
darkTheme: require('@/themes/d-ncat.json5') as Theme,
|
||||||
syncDeviceDarkMode: true,
|
syncDeviceDarkMode: true,
|
||||||
plugins: [] as Plugin[],
|
plugins: [] as Plugin[],
|
||||||
mediaVolume: 0.5,
|
mediaVolume: 0.5,
|
||||||
|
19
packages/client/src/themes/d-ncat.json5
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
id: '5cba19a8-b0e0-42b2-9ab2-35ffd623b045',
|
||||||
|
base: 'dark',
|
||||||
|
desc: 'ぬぁ~んဗ',
|
||||||
|
name: 'Ncat.',
|
||||||
|
props: {
|
||||||
|
bg: '#13141C',
|
||||||
|
fg: '#FFF',
|
||||||
|
link: '#96E7E7',
|
||||||
|
navBg: '@bg',
|
||||||
|
panel: '@bg',
|
||||||
|
accent: '#96CCE7',
|
||||||
|
renote: '#B0E7CB',
|
||||||
|
success: '#B0E7CB',
|
||||||
|
error: '#FF9D9D',
|
||||||
|
warn: '#E7E7B0',
|
||||||
|
},
|
||||||
|
author: '@n@nca10.net',
|
||||||
|
}
|
@ -49,7 +49,7 @@ import { menuDef } from '@/menu';
|
|||||||
import { openAccountMenu } from '@/account';
|
import { openAccountMenu } from '@/account';
|
||||||
import MkButton from '@/components/ui/button.vue';
|
import MkButton from '@/components/ui/button.vue';
|
||||||
import { StickySidebar } from '@/scripts/sticky-sidebar';
|
import { StickySidebar } from '@/scripts/sticky-sidebar';
|
||||||
//import MisskeyLogo from '@assets/client/misskey.svg';
|
//import MisskeyLogo from '@assets/client/nca10.net.svg';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
<div class="desc" v-html="meta.description || $ts.introMisskey"></div>
|
<div class="desc" v-html="meta.description || $ts.introMisskey"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="action">
|
<div class="action">
|
||||||
<button class="_button primary" @click="signup()">{{ $ts.signup }}</button>
|
|
||||||
<button class="_button" @click="signin()">{{ $ts.login }}</button>
|
<button class="_button" @click="signin()">{{ $ts.login }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mk-app">
|
<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">
|
<div v-if="!narrow && !root" class="side">
|
||||||
<XKanban class="kanban" full/>
|
<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="/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>
|
<MkA to="/channels" class="link" active-class="active"><i class="fas fa-satellite-dish icon"></i>{{ $ts.channel }}</MkA>
|
||||||
<div class="action">
|
<div class="action">
|
||||||
<button class="_buttonPrimary" @click="signup()">{{ $ts.signup }}</button>
|
|
||||||
<button class="_button" @click="signin()">{{ $ts.login }}</button>
|
<button class="_button" @click="signin()">{{ $ts.login }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<button class="_button search" @click="search()"><i class="fas fa-search icon"></i><span>{{ $ts.search }}</span></button>
|
<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>
|
<button class="_button login" @click="signin()">{{ $ts.login }}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
<div class="desc" v-html="meta.description || $ts.introMisskey"></div>
|
<div class="desc" v-html="meta.description || $ts.introMisskey"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="action">
|
<div class="action">
|
||||||
<button class="_buttonPrimary" @click="signup()">{{ $ts.signup }}</button>
|
|
||||||
<button class="_button" @click="signin()">{{ $ts.login }}</button>
|
<button class="_button" @click="signin()">{{ $ts.login }}</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="announcements panel">
|
<div class="announcements panel">
|
||||||
|
@ -4,17 +4,17 @@
|
|||||||
:points="pointsNote"
|
:points="pointsNote"
|
||||||
fill="none"
|
fill="none"
|
||||||
stroke-width="1"
|
stroke-width="1"
|
||||||
stroke="#41ddde"/>
|
stroke="#96CCE7"/>
|
||||||
<polyline
|
<polyline
|
||||||
:points="pointsReply"
|
:points="pointsReply"
|
||||||
fill="none"
|
fill="none"
|
||||||
stroke-width="1"
|
stroke-width="1"
|
||||||
stroke="#f7796c"/>
|
stroke="#FF9D9D"/>
|
||||||
<polyline
|
<polyline
|
||||||
:points="pointsRenote"
|
:points="pointsRenote"
|
||||||
fill="none"
|
fill="none"
|
||||||
stroke-width="1"
|
stroke-width="1"
|
||||||
stroke="#a1de41"/>
|
stroke="#B0E7CB"/>
|
||||||
<polyline
|
<polyline
|
||||||
:points="pointsTotal"
|
:points="pointsTotal"
|
||||||
fill="none"
|
fill="none"
|
||||||
|
@ -193,19 +193,19 @@ defineExpose<WidgetComponentExpose>({
|
|||||||
|
|
||||||
&:nth-child(1) {
|
&:nth-child(1) {
|
||||||
> .meter > .val {
|
> .meter > .val {
|
||||||
background: #f7796c;
|
background: #96CCE7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(2) {
|
&:nth-child(2) {
|
||||||
> .meter > .val {
|
> .meter > .val {
|
||||||
background: #a1de41;
|
background: #CECEFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3) {
|
&:nth-child(3) {
|
||||||
> .meter > .val {
|
> .meter > .val {
|
||||||
background: #41ddde;
|
background: #B0E7CB;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ defineExpose<WidgetComponentExpose>({
|
|||||||
|
|
||||||
> .text {
|
> .text {
|
||||||
::v-deep(b) {
|
::v-deep(b) {
|
||||||
color: #41b781;
|
color: #96E7E7;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep(span) {
|
::v-deep(span) {
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
|
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
|
||||||
<defs>
|
<defs>
|
||||||
<linearGradient :id="cpuGradientId" x1="0" x2="0" y1="1" y2="0">
|
<linearGradient :id="cpuGradientId" x1="0" x2="0" y1="1" y2="0">
|
||||||
<stop offset="0%" stop-color="hsl(180, 80%, 70%)"></stop>
|
<stop offset="0%" stop-color="#96CCE7"></stop>
|
||||||
<stop offset="100%" stop-color="hsl(0, 80%, 70%)"></stop>
|
<stop offset="100%" stop-color="#FF9D9D"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<mask :id="cpuMaskId" x="0" y="0" :width="viewBoxX" :height="viewBoxY">
|
<mask :id="cpuMaskId" x="0" y="0" :width="viewBoxX" :height="viewBoxY">
|
||||||
<polygon
|
<polygon
|
||||||
@ -36,8 +36,8 @@
|
|||||||
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
|
<svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`">
|
||||||
<defs>
|
<defs>
|
||||||
<linearGradient :id="memGradientId" x1="0" x2="0" y1="1" y2="0">
|
<linearGradient :id="memGradientId" x1="0" x2="0" y1="1" y2="0">
|
||||||
<stop offset="0%" stop-color="hsl(180, 80%, 70%)"></stop>
|
<stop offset="0%" stop-color="#96CCE7"></stop>
|
||||||
<stop offset="100%" stop-color="hsl(0, 80%, 70%)"></stop>
|
<stop offset="100%" stop-color="#FF9D9D"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<mask :id="memMaskId" x="0" y="0" :width="viewBoxX" :height="viewBoxY">
|
<mask :id="memMaskId" x="0" y="0" :width="viewBoxX" :height="viewBoxY">
|
||||||
<polygon
|
<polygon
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
:stroke-dashoffset="strokeDashoffset"
|
:stroke-dashoffset="strokeDashoffset"
|
||||||
fill="none"
|
fill="none"
|
||||||
stroke-width="0.1"
|
stroke-width="0.1"
|
||||||
:stroke="color"
|
stroke="#CECEFF"
|
||||||
/>
|
/>
|
||||||
<text x="50%" y="50%" dy="0.05" text-anchor="middle">{{ (value * 100).toFixed(0) }}%</text>
|
<text x="50%" y="50%" dy="0.05" text-anchor="middle">{{ (value * 100).toFixed(0) }}%</text>
|
||||||
</svg>
|
</svg>
|
||||||
|