Compare commits
72 Commits
Author | SHA1 | Date | |
---|---|---|---|
5bd41704ae | |||
4d0b335748 | |||
5692ae59a1 | |||
84f1ce866b | |||
e68c6175ce | |||
0de11c3636 | |||
1f70657d4a | |||
73646aac9b | |||
e72c590c6b | |||
06e026b346 | |||
5621d5725c | |||
14d0a07b29 | |||
105fefd114 | |||
f81c10fe62 | |||
86a2aa42a4 | |||
42f5c3fe22 | |||
975740464c | |||
c57bffb142 | |||
d92a2cdb55 | |||
5b91463233 | |||
39eed3378f | |||
cf98d40a44 | |||
7d6436c90e | |||
0acf3a8f6d | |||
8b7324c8d3 | |||
a0b0d5dff7 | |||
bef0e36665 | |||
766e721ff3 | |||
93ad4b359e | |||
b3032ad84d | |||
4f76acd249 | |||
fcc4b2c704 | |||
12286f4915 | |||
193abfdbac | |||
0e13481eb4 | |||
b713cac4f1 | |||
2137c894ef | |||
f0d2ce4f19 | |||
e3a89d302f | |||
d01d2ef65e | |||
23c550acba | |||
b9db88f616 | |||
dee4a18d48 | |||
fa5073b042 | |||
9dda698dc8 | |||
99d0930fba | |||
a599524b5f | |||
5f34758e87 | |||
cdb8e41176 | |||
d8f3e9d4a3 | |||
da900439a3 | |||
ad0273ab99 | |||
8bbff90aca | |||
fcb3ba9947 | |||
23b3e33df6 | |||
9edac2cd74 | |||
fbe0d70661 | |||
8782a64b18 | |||
b722431720 | |||
295563caad | |||
26735815f1 | |||
c06a52c237 | |||
5678adf3b5 | |||
ac772dd389 | |||
2c4de8475f | |||
46facaf176 | |||
eea1b7fc63 | |||
f0e9386cd0 | |||
e4a4238b57 | |||
55e126998a | |||
608a30d37b | |||
7d22d6255d |
16
CHANGELOG.md
16
CHANGELOG.md
@ -1,6 +1,22 @@
|
||||
ChangeLog
|
||||
=========
|
||||
|
||||
10.73.0
|
||||
-------
|
||||
* テーマの強化
|
||||
* line thiknessの設定はデバイスに保存するように
|
||||
|
||||
10.72.0
|
||||
-------
|
||||
* いくつかのテーマの追加
|
||||
* デザインの調整
|
||||
* バグ修正
|
||||
* など
|
||||
|
||||
10.71.0
|
||||
-------
|
||||
* いくつかのテーマの追加
|
||||
|
||||
10.70.1
|
||||
-------
|
||||
* notes/mentions にミュートを適用するように
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "公式アカウント"
|
||||
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "閲覧注意"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "ダークモード"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "UIの角を丸める"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "円形のアイコンを使用"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "パスワードを入力してください"
|
||||
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
||||
howtoinstall: "インストール方法はこちら"
|
||||
token: "トークン"
|
||||
scan: "次に、表示されているQRコードをスキャンします:"
|
||||
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
||||
submit: "完了"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "動作"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Dein Token wurde generiert. Du wirst jetzt abgemeldet."
|
||||
i-like-sushi: "Ich bevorzuge Sushi anstelle von Pudding"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "Verifizierter Benutzer"
|
||||
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "Dieser Inhalt ist NSFW"
|
||||
click-to-show: "Klicke zum den Inhalt anzusehen"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "Thema"
|
||||
dark-theme: "Thema während des Nachtmodus"
|
||||
light-themes: "Helles Thema"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "Basisthema"
|
||||
base-theme-light: "Hell"
|
||||
base-theme-dark: "Dunkel"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "Name des Themas"
|
||||
preview-created-theme: "Vorschau"
|
||||
invalid-theme: "Thema ist ungültig"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "Nacht Modus"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "Abgerundete Ecken"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "Kreisförmige Icons"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "Bitte Passwort eingeben"
|
||||
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
||||
howtoinstall: "インストール方法はこちら"
|
||||
token: "トークン"
|
||||
scan: "次に、表示されているQRコードをスキャンします:"
|
||||
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
||||
submit: "完了"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "動作"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -18,7 +18,7 @@ common:
|
||||
ui-desc: "No UI fits for everyone. Therefore, Misskey has a highly customizable UI for your taste. Make your original home by editing, adjusting layouts of timeline and placing selectable widgets you can easily customize."
|
||||
drive: "Drive"
|
||||
drive-desc: "Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online."
|
||||
outro: "Check further Misskey-unique features on your eyes! Feeling like this is not for you, try other instances as Misskey is a decentralized SNS so that you can easily find your mates. Then, GLHF!"
|
||||
outro: "Check Misskey-unique features by seeing them with your own eyes! If you feel like this instance is not for you, try other instances, as Misskey is a decentralized SNS, so that you can easily find your mates. Then, GLHF!"
|
||||
adblock:
|
||||
detected: "Please disable ad blocker."
|
||||
warning: "Some features may be unavailable or cause malfunctions if ad blocking features are enabled. <strong>Misskey is not running ads</strong>."
|
||||
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Your token has been regenerated, so you will be signed out."
|
||||
i-like-sushi: "I prefer sushi rather than pudding"
|
||||
show-reversi-board-labels: "Show row and column labels in Reversi"
|
||||
use-white-black-reversi-stones: "Use white-black stone in reversi"
|
||||
use-avatar-reversi-stones: "Use avatar as a stone in reversi"
|
||||
verified-user: "Verified account"
|
||||
disable-animated-mfm: "Disable animated texts in a post"
|
||||
suggest-recent-hashtags: "Suggest recently used hashtags within the post composition area"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "NSFW"
|
||||
click-to-show: "Click to show"
|
||||
common/views/components/theme.vue:
|
||||
theme: "Theme"
|
||||
light-theme: "Theme"
|
||||
dark-theme: "Theme during dark mode"
|
||||
light-themes: "Light theme"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "Base theme"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "Find more themes"
|
||||
theme-name: "Theme name"
|
||||
preview-created-theme: "Preview"
|
||||
invalid-theme: "Not valid theme"
|
||||
@ -329,7 +331,7 @@ common/views/components/nav.vue:
|
||||
develop: "Developers"
|
||||
feedback: "Feedback"
|
||||
common/views/components/note-menu.vue:
|
||||
mention: "Mentions"
|
||||
mention: "Mention"
|
||||
detail: "Details"
|
||||
copy-link: "Copy link"
|
||||
favorite: "Favorite this note"
|
||||
@ -497,8 +499,8 @@ common/views/widgets/calendar.vue:
|
||||
month: "{},"
|
||||
day: "{}"
|
||||
today: "Today: "
|
||||
this-month: "This month: "
|
||||
this-year: "This year: "
|
||||
this-month: "Month:"
|
||||
this-year: "Year:"
|
||||
common/views/widgets/photo-stream.vue:
|
||||
title: "Photo stream"
|
||||
no-photos: "No photos"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "Dark Mode"
|
||||
use-shadow: "Use shadows in the UI"
|
||||
rounded-corners: "Round corners of UI"
|
||||
line-width: "Line thickness"
|
||||
line-width-thin: "Thin"
|
||||
line-width-normal: "Regular"
|
||||
line-width-thick: "Thick"
|
||||
circle-icons: "Use circle icons"
|
||||
contrasted-acct: "Add contrast to username"
|
||||
post-form-on-timeline: "Display post form at the top of the timeline"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "Enter the password"
|
||||
authenticator: "First, you need to install Google Authenticator on your device:"
|
||||
howtoinstall: "How to install"
|
||||
token: "Token"
|
||||
scan: "And then, scan the QR code:"
|
||||
done: "Please enter the token displayed on your device:"
|
||||
submit: "Submit"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "Notification style"
|
||||
notification-position-bottom: "Bottom"
|
||||
notification-position-top: "Top"
|
||||
theme: "Theme"
|
||||
behavior: "Behavior"
|
||||
fetch-on-scroll: "Endless loading on scroll"
|
||||
note-visibility: "Post visibility"
|
||||
@ -1525,7 +1531,7 @@ deck/deck.user-column.vue:
|
||||
pinned-notes: "Pinned posts"
|
||||
push-to-a-list: "Add to list"
|
||||
docs:
|
||||
edit-this-page-on-github: "Found a mistake or want to contribute for the documentation?"
|
||||
edit-this-page-on-github: "Found an error, or do you want to contribute to the documentation?"
|
||||
edit-this-page-on-github-link: "Edit this page at GitHub!"
|
||||
api:
|
||||
entities:
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Tu token se ha regenerado vas a ser desconectado."
|
||||
i-like-sushi: "Prefiero sushi a pudín"
|
||||
show-reversi-board-labels: "Mostrar etiquetas de filas y columnas en Reversi"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "Cuenta verificada"
|
||||
disable-animated-mfm: "Desactivar texto animado en una publicación"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "閲覧注意"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "Modo Nocturno"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "UIの角を丸める"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "Usar iconos circulares"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "Mostrar el formulario de las entradas encima de la línea de tiempo"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "Escribe una contraseña"
|
||||
authenticator: "Primero, necesitas instalar Google Authenticator en tu dispositivo:"
|
||||
howtoinstall: "Cómo instalar"
|
||||
token: "トークン"
|
||||
scan: "Luego, escanea el código QR:"
|
||||
done: "Por favor ingresa el token mostrado en tu dispositivo:"
|
||||
submit: "Enviar"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "動作"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Votre jeton vient d’être généré, vous allez maintenant être déconnecté."
|
||||
i-like-sushi: "Je préfère les sushis plutôt que le pudding"
|
||||
show-reversi-board-labels: "Afficher les étiquettes des lignes et colonnes dans Reversi"
|
||||
use-white-black-reversi-stones: "Jouer avec des pions noirs et blancs sur Reversi"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "Compte vérifié"
|
||||
disable-animated-mfm: "Désactiver les textes animés dans les publications"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "Contenu sensible"
|
||||
click-to-show: "Cliquer pour afficher"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "Thème en mode jour"
|
||||
dark-theme: "Thème en mode nuit"
|
||||
light-themes: "Thème clair"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "Thème de base"
|
||||
base-theme-light: "Clair"
|
||||
base-theme-dark: "Sombre"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "Nom du Thème"
|
||||
preview-created-theme: "Prévisualisation"
|
||||
invalid-theme: "Thème n’est pas valide."
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "Mode nuit"
|
||||
use-shadow: "Utiliser les ombres dans l'interface utilisateur"
|
||||
rounded-corners: "Coins arrondis"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "Utiliser des icônes circulaires"
|
||||
contrasted-acct: "Nom d’utilisateur contrasté"
|
||||
post-form-on-timeline: "Afficher le formulaire en haut du fil"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "Entrez un mot de passe"
|
||||
authenticator: "Vous devez au préalable installer Google Authenticator sur votre appareil :"
|
||||
howtoinstall: "Comment installer"
|
||||
token: "トークン"
|
||||
scan: "Ensuite, scannez le code QR affiché sur votre écran :"
|
||||
done: "Veuillez entrer le token qui s'affiche sur votre appareil :"
|
||||
submit: "Envoyer"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "Style de notification"
|
||||
notification-position-bottom: "en bas"
|
||||
notification-position-top: "en haut"
|
||||
theme: "Thème"
|
||||
behavior: "Comportement"
|
||||
fetch-on-scroll: "Chargement lors du défilement"
|
||||
note-visibility: "Visibilité de la publication"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "公式アカウント"
|
||||
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "閲覧注意"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "ダークモード"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "UIの角を丸める"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "円形のアイコンを使用"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "パスワードを入力してください"
|
||||
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
||||
howtoinstall: "インストール方法はこちら"
|
||||
token: "トークン"
|
||||
scan: "次に、表示されているQRコードをスキャンします:"
|
||||
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
||||
submit: "完了"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "動作"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -117,7 +117,7 @@ common:
|
||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "公式アカウント"
|
||||
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -128,6 +128,10 @@ common:
|
||||
reduce-motion: "UIの動きを減らす"
|
||||
this-setting-is-this-device-only: "このデバイスのみ"
|
||||
use-os-default-emojis: "OS標準の絵文字を使用"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
|
||||
do-not-use-in-production: "これは開発ビルドです。本番環境で使用しないでください。"
|
||||
user-suspended: "このユーザーは凍結されています。"
|
||||
@ -283,6 +287,7 @@ common/views/components/media-banner.vue:
|
||||
click-to-show: "クリックして表示"
|
||||
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -299,6 +304,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -1628,7 +1634,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "動作"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "あんさんのトークンが更新されたらしいわ。すまんがとりあえずサインアウトすんで。"
|
||||
i-like-sushi: "寿司(のほうがプリンよりむしろ)ウマい、タコ焼きはあらへんけど。"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示や!"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "アメちゃん付きアカウント"
|
||||
disable-animated-mfm: "投稿内のちょろちょろ動いてんのを止める"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "見せたらあかん"
|
||||
click-to-show: "押してみ、見せたるわ"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "ナイトゲームちゃう時のテーマどないする?"
|
||||
dark-theme: "ナイトゲームの時のテーマどないする?"
|
||||
light-themes: "デイゲーム"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "この色が背景や!"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "試してみる"
|
||||
invalid-theme: "このテーマあかんわ、なんか間違うとる"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "夜にすんで"
|
||||
use-shadow: "UIに影付けたる"
|
||||
rounded-corners: "みんなまぁるくUI変更"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "アイコンもタコ焼きも丸いやんな?"
|
||||
contrasted-acct: "ユーザー名ようわからんし見やすしといて"
|
||||
post-form-on-timeline: "タイムラインの上の方で投稿できるようにせえへん?"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "パスワードを入れてや"
|
||||
authenticator: "まず、Google Authenticatorとかのをつこてるデバイスにインストールしてや:"
|
||||
howtoinstall: "インストール方法はここやで"
|
||||
token: "トークン"
|
||||
scan: "んで、ここに出とるQRコードをスキャンしてな:"
|
||||
done: "最後にデバイスに表示されとるトークンを入力してな:"
|
||||
submit: "送信"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知どこ見せる?"
|
||||
notification-position-bottom: "ミナミの方"
|
||||
notification-position-top: "キタの方"
|
||||
theme: "テーマ"
|
||||
behavior: "動き"
|
||||
fetch-on-scroll: "スクロールしたらもっと見せてや"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "당신의 토큰이 업데이트되었으므로 로그아웃합니다."
|
||||
i-like-sushi: "저는 (푸딩보다 차라리) 초밥이 좋아요"
|
||||
show-reversi-board-labels: "리버시 보드의 행과 열 레이블을 표시"
|
||||
use-white-black-reversi-stones: "리버시에 흑백 돌을 사용"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "공식 계정"
|
||||
disable-animated-mfm: "글의 문자 애니메이션을 비활성화"
|
||||
suggest-recent-hashtags: "최근 해시태그를 글 작성란에 표시"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "열람주의"
|
||||
click-to-show: "클릭하여 표시"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "다크 모드가 아닐 때 사용하는 테마"
|
||||
dark-theme: "다크 모드일 때 사용하는 테마"
|
||||
light-themes: "밝은 테마"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "기본 테마"
|
||||
base-theme-light: "밝음"
|
||||
base-theme-dark: "어두움"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "테마명"
|
||||
preview-created-theme: "미리보기"
|
||||
invalid-theme: "테마가 올바르지 않습니다."
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "다크 모드"
|
||||
use-shadow: "UI에 그림자 효과 적용"
|
||||
rounded-corners: "UI의 모서리를 둥글게 설정"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "원형 아이콘 사용"
|
||||
contrasted-acct: "사용자명에 대비 추가"
|
||||
post-form-on-timeline: "타임라인 상단에 글 작성란을 표시"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "비밀번호를 입력하여 주십시오"
|
||||
authenticator: "먼저, 가지고 계신 장치에 Google Authenticator를 설치해야 합니다:"
|
||||
howtoinstall: "설치 방법은 여기에 있습니다"
|
||||
token: "トークン"
|
||||
scan: "다음으로 표시되어 있는 QR 코드를 스캔합니다:"
|
||||
done: "사용중이신 장치에 표시된 토큰을 입력해주시면 마무리됩니다:"
|
||||
submit: "완료"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "알림 표시"
|
||||
notification-position-bottom: "아래"
|
||||
notification-position-top: "위"
|
||||
theme: "테마"
|
||||
behavior: "동작"
|
||||
fetch-on-scroll: "스크롤하여 자동으로 불러오기"
|
||||
note-visibility: "게시물의 공개 범위"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Je sleutel is gegenereerd; je wordt nu uitgelogd."
|
||||
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "公式アカウント"
|
||||
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "閲覧注意"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "Donkere modus"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "UIの角を丸める"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "Ronde pictogrammen gebruiken"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "Berichtformulier boven de tijdlijn tonen"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "Voer het wachtwoord in"
|
||||
authenticator: "Installeer eerst Google Authenticator op je apparaat:"
|
||||
howtoinstall: "Hoe installeer ik dit?"
|
||||
token: "トークン"
|
||||
scan: "Scan daarna de QR-code:"
|
||||
done: "Voer de op je apparaat getoonde sleutel in:"
|
||||
submit: "Versturen"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "Gedrag"
|
||||
fetch-on-scroll: "Ophalen bij scrollen"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Ditt synbol har blitt generert. Du vil nå bli utlogget."
|
||||
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "公式アカウント"
|
||||
disable-animated-mfm: "投稿内の動きのあるテキストを無効にする"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "Sensitivt innhold"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Mørk"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "Tema navn"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "ダークモード"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "UIの角を丸める"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "円形のアイコンを使用"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "パスワードを入力してください"
|
||||
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
||||
howtoinstall: "インストール方法はこちら"
|
||||
token: "トークン"
|
||||
scan: "次に、表示されているQRコードをスキャンします:"
|
||||
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
||||
submit: "Send"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "Bunn"
|
||||
notification-position-top: "Topp"
|
||||
theme: "Utseende"
|
||||
behavior: "Oppførsel"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Twój token został wygenerowany. Zostaniesz wylogowany."
|
||||
i-like-sushi: "Wolę sushi od puddingu"
|
||||
show-reversi-board-labels: "Pokazuj podpisy wierszy i kolumn w Reversi"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "Zweryfikowane konto"
|
||||
disable-animated-mfm: "Wyłącz animowany tekst we wpisach"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "閲覧注意"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "Jasny Motyw"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "Podstawowy motyw"
|
||||
base-theme-light: "Jasny"
|
||||
base-theme-dark: "Ciemny"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "Nazwa motywu"
|
||||
preview-created-theme: "Pokaż podgląd"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "Tryb ciemny"
|
||||
use-shadow: "Użyj cieni w UI"
|
||||
rounded-corners: "Zaokrąglaj rogi w UI"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "Używaj okrągłych ikon"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "Wprowadź hasło"
|
||||
authenticator: "Na początek musisz zainstalować Google Authenticator na swoim urządzeniu:"
|
||||
howtoinstall: "Jak zainstalować"
|
||||
token: "トークン"
|
||||
scan: "Później, zeskanuje ten kod QR:"
|
||||
done: "Wprowadź token wyświetlony na Twoim urządzeniu:"
|
||||
submit: "Wyślij"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "Dół"
|
||||
notification-position-top: "Góra"
|
||||
theme: "Motyw"
|
||||
behavior: "Zachowanie"
|
||||
fetch-on-scroll: "Automatycznie ładuj po przeciągnięciu w dół"
|
||||
note-visibility: "Widoczność wpisów"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "Seu token foi recriado, portanto você foi deslogado."
|
||||
i-like-sushi: "Eu prefiro sushi a pudim"
|
||||
show-reversi-board-labels: "Mostrar etiquetas de colunas e linhas no Reversi"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "Conta verificada"
|
||||
disable-animated-mfm: "Desativar texto animado nas publicações"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "閲覧注意"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "ダークモード"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "UIの角を丸める"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "円形のアイコンを使用"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "パスワードを入力してください"
|
||||
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
||||
howtoinstall: "インストール方法はこちら"
|
||||
token: "トークン"
|
||||
scan: "次に、表示されているQRコードをスキャンします:"
|
||||
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
||||
submit: "完了"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "動作"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
|
||||
i-like-sushi: "私は(プリンよりむしろ)寿司が好き"
|
||||
show-reversi-board-labels: "リバーシのボードの行と列のラベルを表示"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "公式アカウント"
|
||||
disable-animated-mfm: "Отключить анимированный текст в постах"
|
||||
suggest-recent-hashtags: "最近のハッシュタグを投稿フォームに表示する"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "閲覧注意"
|
||||
click-to-show: "クリックして表示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "非ダークモード時に使用するテーマ"
|
||||
dark-theme: "ダークモード時に使用するテーマ"
|
||||
light-themes: "明るいテーマ"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "ベーステーマ"
|
||||
base-theme-light: "Light"
|
||||
base-theme-dark: "Dark"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "テーマ名"
|
||||
preview-created-theme: "プレビュー"
|
||||
invalid-theme: "テーマが正しくありません。"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "ダークモード"
|
||||
use-shadow: "UIに影を使用"
|
||||
rounded-corners: "UIの角を丸める"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "円形のアイコンを使用"
|
||||
contrasted-acct: "ユーザー名にコントラストを付ける"
|
||||
post-form-on-timeline: "タイムライン上部に投稿フォームを表示する"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "パスワードを入力してください"
|
||||
authenticator: "まず、Google Authenticatorをお使いのデバイスにインストールします:"
|
||||
howtoinstall: "インストール方法はこちら"
|
||||
token: "トークン"
|
||||
scan: "次に、表示されているQRコードをスキャンします:"
|
||||
done: "お使いのデバイスに表示されているトークンを入力して完了します:"
|
||||
submit: "完了"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知の表示"
|
||||
notification-position-bottom: "下"
|
||||
notification-position-top: "上"
|
||||
theme: "テーマ"
|
||||
behavior: "動作"
|
||||
fetch-on-scroll: "スクロールで自動読み込み"
|
||||
note-visibility: "投稿の公開範囲"
|
||||
|
@ -109,7 +109,7 @@ common:
|
||||
my-token-regenerated: "您的 Token 已被重置, 您将自动登出。"
|
||||
i-like-sushi: "相比于布丁来说, 我更喜欢寿司。"
|
||||
show-reversi-board-labels: "在 Reversi 中显示行和列表签"
|
||||
use-white-black-reversi-stones: "リバーシに白黒の石を使う"
|
||||
use-avatar-reversi-stones: "リバーシの石にアバターを使う"
|
||||
verified-user: "认证用户"
|
||||
disable-animated-mfm: "在帖子中禁用动画文本"
|
||||
suggest-recent-hashtags: "在帖子表单上显示最近流行的主题标签"
|
||||
@ -260,6 +260,7 @@ common/views/components/media-banner.vue:
|
||||
sensitive: "阅读注意"
|
||||
click-to-show: "点击以显示"
|
||||
common/views/components/theme.vue:
|
||||
theme: "テーマ"
|
||||
light-theme: "主题"
|
||||
dark-theme: "黑暗模式主题"
|
||||
light-themes: "明亮主题"
|
||||
@ -276,6 +277,7 @@ common/views/components/theme.vue:
|
||||
base-theme: "基础主题"
|
||||
base-theme-light: "亮"
|
||||
base-theme-dark: "暗"
|
||||
find-more-theme: "その他のテーマを入手"
|
||||
theme-name: "主题名称"
|
||||
preview-created-theme: "预览"
|
||||
invalid-theme: "无效主题"
|
||||
@ -780,6 +782,10 @@ desktop/views/components/settings.vue:
|
||||
dark-mode: "黑暗模式"
|
||||
use-shadow: "在UI中使用阴影效果"
|
||||
rounded-corners: "UI界面圆角效果"
|
||||
line-width: "線の太さ"
|
||||
line-width-thin: "細い"
|
||||
line-width-normal: "普通"
|
||||
line-width-thick: "太い"
|
||||
circle-icons: "使用圆形图标"
|
||||
contrasted-acct: "增加用户名的对比度"
|
||||
post-form-on-timeline: "在时间线顶部显示帖子表单"
|
||||
@ -849,6 +855,7 @@ desktop/views/components/settings.2fa.vue:
|
||||
enter-password: "请输入您的密码"
|
||||
authenticator: "首先,您需要在设备上安装 Google Authenticator:"
|
||||
howtoinstall: "怎样安装"
|
||||
token: "トークン"
|
||||
scan: "然后,扫描二维码:"
|
||||
done: "请输入显示在您设备上的密钥:"
|
||||
submit: "提交"
|
||||
@ -1432,7 +1439,6 @@ mobile/views/pages/settings.vue:
|
||||
notification-position: "通知形式"
|
||||
notification-position-bottom: "底部"
|
||||
notification-position-top: "顶部"
|
||||
theme: "主题"
|
||||
behavior: "动作"
|
||||
fetch-on-scroll: "滚动无限加载"
|
||||
note-visibility: "帖子可见性"
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"author": "syuilo <i@syuilo.com>",
|
||||
"version": "10.70.1",
|
||||
"clientVersion": "2.0.13194",
|
||||
"version": "10.73.0",
|
||||
"clientVersion": "2.0.13266",
|
||||
"codename": "nighthike",
|
||||
"main": "./built/index.js",
|
||||
"private": true,
|
||||
|
@ -30,11 +30,11 @@
|
||||
:class="{ empty: stone == null, none: o.map[i] == 'null', isEnded: game.isEnded, myTurn: !game.isEnded && isMyTurn, can: turnUser ? o.canPut(turnUser.id == blackUser.id, i) : null, prev: o.prevPos == i }"
|
||||
@click="set(i)"
|
||||
:title="`${String.fromCharCode(65 + o.transformPosToXy(i)[0])}${o.transformPosToXy(i)[1] + 1}`">
|
||||
<template v-if="!$store.state.settings.games.reversi.useWhiteBlackStones">
|
||||
<template v-if="$store.state.settings.games.reversi.useAvatarStones">
|
||||
<img v-if="stone === true" :src="blackUser.avatarUrl" alt="black">
|
||||
<img v-if="stone === false" :src="whiteUser.avatarUrl" alt="white">
|
||||
</template>
|
||||
<template v-if="$store.state.settings.games.reversi.useWhiteBlackStones">
|
||||
<template v-else>
|
||||
<fa v-if="stone === true" :icon="fasCircle"/>
|
||||
<fa v-if="stone === false" :icon="farCircle"/>
|
||||
</template>
|
||||
|
@ -53,14 +53,14 @@ export default Vue.extend({
|
||||
pointer-events none
|
||||
user-select none
|
||||
padding 0 4px
|
||||
background var(--primary)
|
||||
border solid 1px var(--primary)
|
||||
background var(--mfmMention)
|
||||
border solid var(--lineWidth) var(--mfmMention)
|
||||
border-radius 4px 0 0 4px
|
||||
color var(--primaryForeground)
|
||||
color var(--mfmMentionForeground)
|
||||
|
||||
& + .main
|
||||
padding 0 4px
|
||||
border solid 1px var(--primary)
|
||||
border solid var(--lineWidth) var(--mfmMention)
|
||||
border-radius 0 4px 4px 0
|
||||
|
||||
> .main
|
||||
|
@ -186,7 +186,7 @@ export default Vue.extend({
|
||||
|
||||
> div
|
||||
margin 8px 0
|
||||
height 1px
|
||||
height var(--lineWidth)
|
||||
background var(--faceDivider)
|
||||
|
||||
</style>
|
||||
|
@ -129,8 +129,10 @@ export default Vue.component('misskey-flavored-markdown', {
|
||||
key: Math.random(),
|
||||
props: {
|
||||
url: token.node.props.url,
|
||||
target: '_blank',
|
||||
style: 'color:var(--mfmLink);'
|
||||
target: '_blank'
|
||||
},
|
||||
attrs: {
|
||||
style: 'color:var(--mfmUrl);'
|
||||
}
|
||||
})];
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<ui-card>
|
||||
<div slot="title"><fa :icon="['far', 'bell']"/> {{ $t('notification') }}</div>
|
||||
<div slot="title"><fa :icon="['far', 'bell']"/> {{ $t('title') }}</div>
|
||||
<section>
|
||||
<ui-switch v-model="$store.state.i.settings.autoWatch" @change="onChangeAutoWatch">
|
||||
{{ $t('auto-watch') }}<span slot="desc">{{ $t('auto-watch-desc') }}</span>
|
||||
|
@ -254,7 +254,7 @@ export default Vue.extend({
|
||||
padding 8px 10px
|
||||
font-size 14px
|
||||
color var(--popupFg)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
> div
|
||||
padding 4px
|
||||
|
@ -1,99 +1,104 @@
|
||||
<template>
|
||||
<div class="nicnklzforebnpfgasiypmpdaaglujqm">
|
||||
<label>
|
||||
<span><fa :icon="faSun"/> {{ $t('light-theme') }}</span>
|
||||
<ui-select v-model="light" :placeholder="$t('light-theme')">
|
||||
<optgroup :label="$t('light-themes')">
|
||||
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('dark-themes')">
|
||||
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
</ui-select>
|
||||
</label>
|
||||
<ui-card>
|
||||
<div slot="title"><fa icon="palette"/> {{ $t('theme') }}</div>
|
||||
<section class="nicnklzforebnpfgasiypmpdaaglujqm fit-top">
|
||||
<label>
|
||||
<ui-select v-model="light" :placeholder="$t('light-theme')">
|
||||
<span slot="label"><fa :icon="faSun"/> {{ $t('light-theme') }}</span>
|
||||
<optgroup :label="$t('light-themes')">
|
||||
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('dark-themes')">
|
||||
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
</ui-select>
|
||||
</label>
|
||||
|
||||
<label>
|
||||
<span><fa :icon="faMoon"/> {{ $t('dark-theme') }}</span>
|
||||
<ui-select v-model="dark" :placeholder="$t('dark-theme')">
|
||||
<optgroup :label="$t('dark-themes')">
|
||||
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('light-themes')">
|
||||
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
</ui-select>
|
||||
</label>
|
||||
<label>
|
||||
<ui-select v-model="dark" :placeholder="$t('dark-theme')">
|
||||
<span slot="label"><fa :icon="faMoon"/> {{ $t('dark-theme') }}</span>
|
||||
<optgroup :label="$t('dark-themes')">
|
||||
<option v-for="x in darkThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('light-themes')">
|
||||
<option v-for="x in lightThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
</ui-select>
|
||||
</label>
|
||||
|
||||
<details class="creator">
|
||||
<summary><fa icon="palette"/> {{ $t('create-a-theme') }}</summary>
|
||||
<div>
|
||||
<span>{{ $t('base-theme') }}:</span>
|
||||
<ui-radio v-model="myThemeBase" value="light">{{ $t('base-theme-light') }}</ui-radio>
|
||||
<ui-radio v-model="myThemeBase" value="dark">{{ $t('base-theme-dark') }}</ui-radio>
|
||||
</div>
|
||||
<div>
|
||||
<ui-input v-model="myThemeName">
|
||||
<span>{{ $t('theme-name') }}</span>
|
||||
</ui-input>
|
||||
<ui-textarea v-model="myThemeDesc">
|
||||
<span>{{ $t('desc') }}</span>
|
||||
</ui-textarea>
|
||||
</div>
|
||||
<div>
|
||||
<div style="padding-bottom:8px;">{{ $t('primary-color') }}:</div>
|
||||
<color-picker v-model="myThemePrimary"/>
|
||||
</div>
|
||||
<div>
|
||||
<div style="padding-bottom:8px;">{{ $t('secondary-color') }}:</div>
|
||||
<color-picker v-model="myThemeSecondary"/>
|
||||
</div>
|
||||
<div>
|
||||
<div style="padding-bottom:8px;">{{ $t('text-color') }}:</div>
|
||||
<color-picker v-model="myThemeText"/>
|
||||
</div>
|
||||
<ui-button @click="preview()"><fa icon="eye"/> {{ $t('preview-created-theme') }}</ui-button>
|
||||
<ui-button primary @click="gen()"><fa :icon="['far', 'save']"/> {{ $t('save-created-theme') }}</ui-button>
|
||||
</details>
|
||||
<a href="https://assets.msky.cafe/theme/list" target="_blank">{{ $t('find-more-theme') }}</a>
|
||||
|
||||
<details>
|
||||
<summary><fa icon="download"/> {{ $t('install-a-theme') }}</summary>
|
||||
<ui-button @click="import_()"><fa icon="file-import"/> {{ $t('import') }}</ui-button>
|
||||
<input ref="file" type="file" accept=".misskeytheme" style="display:none;" @change="onUpdateImportFile"/>
|
||||
<p>{{ $t('import-by-code') }}:</p>
|
||||
<ui-textarea v-model="installThemeCode">
|
||||
<span>{{ $t('theme-code') }}</span>
|
||||
</ui-textarea>
|
||||
<ui-button @click="() => install(this.installThemeCode)"><fa icon="check"/> {{ $t('install') }}</ui-button>
|
||||
</details>
|
||||
<details class="creator">
|
||||
<summary><fa icon="palette"/> {{ $t('create-a-theme') }}</summary>
|
||||
<div>
|
||||
<span>{{ $t('base-theme') }}:</span>
|
||||
<ui-radio v-model="myThemeBase" value="light">{{ $t('base-theme-light') }}</ui-radio>
|
||||
<ui-radio v-model="myThemeBase" value="dark">{{ $t('base-theme-dark') }}</ui-radio>
|
||||
</div>
|
||||
<div>
|
||||
<ui-input v-model="myThemeName">
|
||||
<span>{{ $t('theme-name') }}</span>
|
||||
</ui-input>
|
||||
<ui-textarea v-model="myThemeDesc">
|
||||
<span>{{ $t('desc') }}</span>
|
||||
</ui-textarea>
|
||||
</div>
|
||||
<div>
|
||||
<div style="padding-bottom:8px;">{{ $t('primary-color') }}:</div>
|
||||
<color-picker v-model="myThemePrimary"/>
|
||||
</div>
|
||||
<div>
|
||||
<div style="padding-bottom:8px;">{{ $t('secondary-color') }}:</div>
|
||||
<color-picker v-model="myThemeSecondary"/>
|
||||
</div>
|
||||
<div>
|
||||
<div style="padding-bottom:8px;">{{ $t('text-color') }}:</div>
|
||||
<color-picker v-model="myThemeText"/>
|
||||
</div>
|
||||
<ui-button @click="preview()"><fa icon="eye"/> {{ $t('preview-created-theme') }}</ui-button>
|
||||
<ui-button primary @click="gen()"><fa :icon="['far', 'save']"/> {{ $t('save-created-theme') }}</ui-button>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><fa icon="folder-open"/> {{ $t('manage-themes') }}</summary>
|
||||
<ui-select v-model="selectedThemeId" :placeholder="$t('select-theme')">
|
||||
<optgroup :label="$t('builtin-themes')">
|
||||
<option v-for="x in builtinThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('my-themes')">
|
||||
<option v-for="x in installedThemes.filter(t => t.author == this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('installed-themes')">
|
||||
<option v-for="x in installedThemes.filter(t => t.author != this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
</ui-select>
|
||||
<template v-if="selectedTheme">
|
||||
<ui-input readonly :value="selectedTheme.author">
|
||||
<span>{{ $t('author') }}</span>
|
||||
</ui-input>
|
||||
<ui-textarea v-if="selectedTheme.desc" readonly :value="selectedTheme.desc">
|
||||
<span>{{ $t('desc') }}</span>
|
||||
</ui-textarea>
|
||||
<ui-textarea readonly :value="selectedThemeCode">
|
||||
<details>
|
||||
<summary><fa icon="download"/> {{ $t('install-a-theme') }}</summary>
|
||||
<ui-button @click="import_()"><fa icon="file-import"/> {{ $t('import') }}</ui-button>
|
||||
<input ref="file" type="file" accept=".misskeytheme" style="display:none;" @change="onUpdateImportFile"/>
|
||||
<p>{{ $t('import-by-code') }}:</p>
|
||||
<ui-textarea v-model="installThemeCode">
|
||||
<span>{{ $t('theme-code') }}</span>
|
||||
</ui-textarea>
|
||||
<ui-button @click="export_()" link :download="`${selectedTheme.name}.misskeytheme`" ref="export"><fa icon="box"/> {{ $t('export') }}</ui-button>
|
||||
<ui-button @click="uninstall()" v-if="!builtinThemes.some(t => t.id == selectedTheme.id)"><fa :icon="['far', 'trash-alt']"/> {{ $t('uninstall') }}</ui-button>
|
||||
</template>
|
||||
</details>
|
||||
</div>
|
||||
<ui-button @click="() => install(this.installThemeCode)"><fa icon="check"/> {{ $t('install') }}</ui-button>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><fa icon="folder-open"/> {{ $t('manage-themes') }}</summary>
|
||||
<ui-select v-model="selectedThemeId" :placeholder="$t('select-theme')">
|
||||
<optgroup :label="$t('builtin-themes')">
|
||||
<option v-for="x in builtinThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('my-themes')">
|
||||
<option v-for="x in installedThemes.filter(t => t.author == this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
<optgroup :label="$t('installed-themes')">
|
||||
<option v-for="x in installedThemes.filter(t => t.author != this.$store.state.i.username)" :value="x.id" :key="x.id">{{ x.name }}</option>
|
||||
</optgroup>
|
||||
</ui-select>
|
||||
<template v-if="selectedTheme">
|
||||
<ui-input readonly :value="selectedTheme.author">
|
||||
<span>{{ $t('author') }}</span>
|
||||
</ui-input>
|
||||
<ui-textarea v-if="selectedTheme.desc" readonly :value="selectedTheme.desc">
|
||||
<span>{{ $t('desc') }}</span>
|
||||
</ui-textarea>
|
||||
<ui-textarea readonly tall :value="selectedThemeCode">
|
||||
<span>{{ $t('theme-code') }}</span>
|
||||
</ui-textarea>
|
||||
<ui-button @click="export_()" link :download="`${selectedTheme.name}.misskeytheme`" ref="export"><fa icon="box"/> {{ $t('export') }}</ui-button>
|
||||
<ui-button @click="uninstall()" v-if="!builtinThemes.some(t => t.id == selectedTheme.id)"><fa :icon="['far', 'trash-alt']"/> {{ $t('uninstall') }}</ui-button>
|
||||
</template>
|
||||
</details>
|
||||
</section>
|
||||
</ui-card>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
@ -331,8 +336,13 @@ export default Vue.extend({
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.nicnklzforebnpfgasiypmpdaaglujqm
|
||||
> a
|
||||
display block
|
||||
margin-top -16px
|
||||
margin-bottom 16px
|
||||
|
||||
> details
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
> summary
|
||||
padding 16px 0
|
||||
@ -343,5 +353,5 @@ export default Vue.extend({
|
||||
> .creator
|
||||
> div
|
||||
padding 16px 0
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
</style>
|
||||
|
@ -41,7 +41,7 @@ export default Vue.extend({
|
||||
|
||||
> section
|
||||
padding 20px 16px
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
@media (min-width 500px)
|
||||
padding 32px
|
||||
|
@ -25,11 +25,9 @@ export default Vue.extend({
|
||||
},
|
||||
props: {
|
||||
model: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
disabled: {
|
||||
@ -66,10 +64,10 @@ export default Vue.extend({
|
||||
|
||||
&.checked
|
||||
> .button
|
||||
border-color var(--primary)
|
||||
border-color var(--radioActive)
|
||||
|
||||
&:after
|
||||
background-color var(--primary)
|
||||
background-color var(--radioActive)
|
||||
transform scale(1)
|
||||
opacity 1
|
||||
|
||||
|
@ -77,11 +77,11 @@ export default Vue.extend({
|
||||
|
||||
&.checked
|
||||
> .button
|
||||
background-color var(--primaryAlpha04)
|
||||
border-color var(--primaryAlpha04)
|
||||
background-color var(--switchActiveTrack)
|
||||
border-color var(--switchActiveTrack)
|
||||
|
||||
> *
|
||||
background-color var(--primary)
|
||||
background-color var(--switchActive)
|
||||
transform translateX(14px)
|
||||
|
||||
> input
|
||||
|
@ -207,7 +207,7 @@ export default Vue.extend({
|
||||
> a
|
||||
display block
|
||||
font-size 14px
|
||||
border solid 1px var(--urlPreviewBorder)
|
||||
border solid var(--lineWidth) var(--urlPreviewBorder)
|
||||
border-radius 4px
|
||||
overflow hidden
|
||||
|
||||
|
@ -59,10 +59,18 @@ import * as anime from 'animejs';
|
||||
|
||||
export default Vue.extend({
|
||||
i18n: i18n('common/views/components/visibility-chooser.vue'),
|
||||
props: ['source'],
|
||||
props: {
|
||||
source: {
|
||||
required: true
|
||||
},
|
||||
currentVisibility: {
|
||||
type: String,
|
||||
required: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
v: this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : this.$store.state.settings.defaultNoteVisibility
|
||||
v: this.$store.state.settings.rememberNoteVisibility ? (this.$store.state.device.visibility || this.$store.state.settings.defaultNoteVisibility) : (this.currentVisibility || this.$store.state.settings.defaultNoteVisibility)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -162,7 +170,6 @@ export default Vue.extend({
|
||||
width 240px
|
||||
padding 8px 0
|
||||
background $bgcolor
|
||||
border 1px solid $border-color
|
||||
border-radius 4px
|
||||
box-shadow 0 3px 12px rgba(27, 31, 35, 0.15)
|
||||
transform scale(0.5)
|
||||
|
@ -72,7 +72,7 @@ export default define({
|
||||
color var(--inputText)
|
||||
background var(--face)
|
||||
border none
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
border-radius 0
|
||||
|
||||
> button
|
||||
|
@ -77,7 +77,7 @@ export default define({
|
||||
display block
|
||||
padding 4px 0
|
||||
color var(--text)
|
||||
border-bottom dashed 1px var(--faceDivider)
|
||||
border-bottom dashed var(--lineWidth) var(--faceDivider)
|
||||
|
||||
&:last-child
|
||||
border-bottom none
|
||||
|
@ -84,6 +84,7 @@ export default define({
|
||||
<style lang="stylus" scoped>
|
||||
.mkw-tips
|
||||
overflow visible !important
|
||||
opacity 0.8
|
||||
|
||||
> p
|
||||
display block
|
||||
@ -91,7 +92,7 @@ export default define({
|
||||
padding 0 12px
|
||||
text-align center
|
||||
font-size 0.7em
|
||||
color #999
|
||||
color var(--text)
|
||||
|
||||
> [data-icon]
|
||||
margin-right 4px
|
||||
@ -102,7 +103,7 @@ export default define({
|
||||
margin 0 2px
|
||||
font-size 1em
|
||||
font-family inherit
|
||||
border solid 1px #999
|
||||
border solid 1px var(--text)
|
||||
border-radius 2px
|
||||
|
||||
</style>
|
||||
|
@ -24,6 +24,7 @@ p
|
||||
padding 0 12px
|
||||
text-align center
|
||||
font-size 0.7em
|
||||
color #aaa
|
||||
color var(--text)
|
||||
opacity 0.8
|
||||
|
||||
</style>
|
||||
|
@ -151,7 +151,7 @@ export default Vue.extend({
|
||||
font-weight bold
|
||||
color var(--faceHeaderText)
|
||||
background var(--faceHeader)
|
||||
box-shadow 0 1px rgba(#000, 0.07)
|
||||
box-shadow 0 var(--lineWidth) rgba(#000, 0.07)
|
||||
|
||||
> [data-icon]
|
||||
margin-right 4px
|
||||
@ -199,11 +199,11 @@ export default Vue.extend({
|
||||
color var(--calendarSaturdayOrSunday)
|
||||
|
||||
&[data-today]
|
||||
box-shadow 0 0 0 1px var(--calendarWeek) inset
|
||||
box-shadow 0 0 0 var(--lineWidth) var(--calendarWeek) inset
|
||||
border-radius 6px
|
||||
|
||||
&[data-is-donichi]
|
||||
box-shadow 0 0 0 1px var(--calendarSaturdayOrSunday) inset
|
||||
box-shadow 0 0 0 var(--lineWidth) var(--calendarSaturdayOrSunday) inset
|
||||
|
||||
&.day
|
||||
cursor pointer
|
||||
|
@ -46,7 +46,7 @@ export default Vue.extend({
|
||||
&.divider
|
||||
margin-top $padding
|
||||
padding-top $padding
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
&.nest
|
||||
> p
|
||||
|
@ -140,7 +140,7 @@ export default Vue.extend({
|
||||
margin 0
|
||||
padding 0
|
||||
background var(--face)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
&.mini
|
||||
font-size 13px
|
||||
@ -261,7 +261,7 @@ export default Vue.extend({
|
||||
|
||||
> *
|
||||
padding 16px
|
||||
border dashed 1px var(--quoteBorder)
|
||||
border dashed var(--lineWidth) var(--quoteBorder)
|
||||
border-radius 8px
|
||||
|
||||
> footer
|
||||
|
@ -209,7 +209,7 @@ export default Vue.extend({
|
||||
text-align center
|
||||
color var(--dateDividerFg)
|
||||
background var(--dateDividerBg)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
span
|
||||
margin 0 16px
|
||||
@ -233,7 +233,7 @@ export default Vue.extend({
|
||||
text-align center
|
||||
color #ccc
|
||||
background var(--face)
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
border-bottom-left-radius 6px
|
||||
border-bottom-right-radius 6px
|
||||
|
||||
|
@ -248,7 +248,7 @@ export default Vue.extend({
|
||||
padding 16px
|
||||
overflow-wrap break-word
|
||||
font-size 12px
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
&:last-child
|
||||
border-bottom none
|
||||
@ -332,7 +332,7 @@ export default Vue.extend({
|
||||
font-size 0.8em
|
||||
color var(--dateDividerFg)
|
||||
background var(--dateDividerBg)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
span
|
||||
margin 0 16px
|
||||
@ -345,7 +345,7 @@ export default Vue.extend({
|
||||
width 100%
|
||||
padding 16px
|
||||
color var(--text)
|
||||
border-top solid 1px rgba(#000, 0.05)
|
||||
border-top solid var(--lineWidth) rgba(#000, 0.05)
|
||||
|
||||
&:hover
|
||||
background rgba(#000, 0.025)
|
||||
|
@ -381,7 +381,8 @@ export default Vue.extend({
|
||||
|
||||
setVisibility() {
|
||||
const w = this.$root.new(MkVisibilityChooser, {
|
||||
source: this.$refs.visibilityButton
|
||||
source: this.$refs.visibilityButton,
|
||||
currentVisibility: this.visibility
|
||||
});
|
||||
w.$once('chosen', v => {
|
||||
this.applyVisibility(v);
|
||||
|
@ -19,13 +19,7 @@
|
||||
<x-integration-settings/>
|
||||
</div>
|
||||
|
||||
<ui-card class="theme" v-show="page == 'theme'">
|
||||
<div slot="title"><fa icon="palette"/> {{ $t('theme') }}</div>
|
||||
|
||||
<section>
|
||||
<x-theme/>
|
||||
</section>
|
||||
</ui-card>
|
||||
<x-theme class="theme" v-show="page == 'theme'"/>
|
||||
|
||||
<ui-card class="web" v-show="page == 'web'">
|
||||
<div slot="title"><fa icon="sliders-h"/> {{ $t('behaviour') }}</div>
|
||||
@ -86,8 +80,10 @@
|
||||
</section>
|
||||
<section>
|
||||
<header>{{ $t('wallpaper') }}</header>
|
||||
<ui-button @click="updateWallpaper">{{ $t('choose-wallpaper') }}</ui-button>
|
||||
<ui-button @click="deleteWallpaper">{{ $t('delete-wallpaper') }}</ui-button>
|
||||
<ui-horizon-group class="fit-bottom">
|
||||
<ui-button @click="updateWallpaper">{{ $t('choose-wallpaper') }}</ui-button>
|
||||
<ui-button @click="deleteWallpaper">{{ $t('delete-wallpaper') }}</ui-button>
|
||||
</ui-horizon-group>
|
||||
</section>
|
||||
<section>
|
||||
<header>{{ $t('navbar-position') }}</header>
|
||||
@ -103,6 +99,12 @@
|
||||
<ui-switch v-model="useShadow">{{ $t('use-shadow') }}</ui-switch>
|
||||
<ui-switch v-model="roundedCorners">{{ $t('rounded-corners') }}</ui-switch>
|
||||
<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
|
||||
<section>
|
||||
<header>{{ $t('@.line-width') }}</header>
|
||||
<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
|
||||
<ui-radio v-model="lineWidth" :value="1">{{ $t('@.line-width-normal') }}</ui-radio>
|
||||
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
|
||||
</section>
|
||||
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch>
|
||||
<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
|
||||
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
|
||||
@ -135,7 +137,7 @@
|
||||
</section>
|
||||
<section>
|
||||
<ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch>
|
||||
<ui-switch v-model="games_reversi_useWhiteBlackStones">{{ $t('@.use-white-black-reversi-stones') }}</ui-switch>
|
||||
<ui-switch v-model="games_reversi_useAvatarStones">{{ $t('@.use-avatar-reversi-stones') }}</ui-switch>
|
||||
</section>
|
||||
</ui-card>
|
||||
|
||||
@ -411,6 +413,11 @@ export default Vue.extend({
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'roundedCorners', value }); }
|
||||
},
|
||||
|
||||
lineWidth: {
|
||||
get() { return this.$store.state.device.lineWidth; },
|
||||
set(value) { this.$store.commit('device/set', { key: 'lineWidth', value }); }
|
||||
},
|
||||
|
||||
fetchOnScroll: {
|
||||
get() { return this.$store.state.settings.fetchOnScroll; },
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'fetchOnScroll', value }); }
|
||||
@ -501,9 +508,9 @@ export default Vue.extend({
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.showBoardLabels', value }); }
|
||||
},
|
||||
|
||||
games_reversi_useWhiteBlackStones: {
|
||||
get() { return this.$store.state.settings.games.reversi.useWhiteBlackStones; },
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useWhiteBlackStones', value }); }
|
||||
games_reversi_useAvatarStones: {
|
||||
get() { return this.$store.state.settings.games.reversi.useAvatarStones; },
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useAvatarStones', value }); }
|
||||
},
|
||||
|
||||
disableAnimatedMfm: {
|
||||
|
@ -173,7 +173,7 @@ export default Vue.extend({
|
||||
<style lang="stylus" scoped>
|
||||
.mk-timeline-core
|
||||
> .mk-friends-maker
|
||||
border-bottom solid 1px #eee
|
||||
border-bottom solid var(--lineWidth) #eee
|
||||
|
||||
</style>
|
||||
|
||||
|
@ -187,7 +187,7 @@ export default Vue.extend({
|
||||
padding 0 8px
|
||||
z-index 10
|
||||
background var(--faceHeader)
|
||||
box-shadow 0 1px var(--desktopTimelineHeaderShadow)
|
||||
box-shadow 0 var(--lineWidth) var(--desktopTimelineHeaderShadow)
|
||||
|
||||
> .buttons
|
||||
position absolute
|
||||
@ -207,7 +207,7 @@ export default Vue.extend({
|
||||
top -4px
|
||||
right 4px
|
||||
font-size 10px
|
||||
color var(--primary)
|
||||
color var(--notificationIndicator)
|
||||
|
||||
&:hover
|
||||
color var(--faceTextButtonHover)
|
||||
|
@ -227,7 +227,7 @@ export default Vue.extend({
|
||||
font-size 0.8em
|
||||
background $bgcolor
|
||||
border-radius 4px
|
||||
box-shadow 0 1px 4px rgba(#000, 0.25)
|
||||
box-shadow 0 var(--lineWidth) 4px rgba(#000, 0.25)
|
||||
|
||||
&:before
|
||||
content ""
|
||||
@ -261,7 +261,7 @@ export default Vue.extend({
|
||||
|
||||
& + ul
|
||||
padding-top 10px
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
> li
|
||||
display block
|
||||
|
@ -147,7 +147,7 @@ export default Vue.extend({
|
||||
> [data-icon]:last-child
|
||||
margin-left 5px
|
||||
font-size 10px
|
||||
color var(--primary)
|
||||
color var(--notificationIndicator)
|
||||
|
||||
@media (max-width 1100px)
|
||||
margin-left -5px
|
||||
|
@ -90,7 +90,7 @@ export default Vue.extend({
|
||||
margin-left -5px
|
||||
vertical-align super
|
||||
font-size 10px
|
||||
color var(--primary)
|
||||
color var(--notificationIndicator)
|
||||
|
||||
> .pop
|
||||
$bgcolor = var(--face)
|
||||
|
@ -46,7 +46,7 @@ export default Vue.extend({
|
||||
font-size 0.9em
|
||||
font-weight bold
|
||||
color var(--faceHeaderText)
|
||||
box-shadow 0 1px rgba(#000, 0.07)
|
||||
box-shadow 0 var(--lineWidth) rgba(#000, 0.07)
|
||||
|
||||
> [data-icon]
|
||||
margin-right 6px
|
||||
|
@ -373,7 +373,7 @@ export default Vue.extend({
|
||||
font-size 14px
|
||||
color var(--faceHeaderText)
|
||||
background var(--faceHeader)
|
||||
box-shadow 0 1px rgba(#000, 0.15)
|
||||
box-shadow 0 var(--lineWidth) rgba(#000, 0.15)
|
||||
cursor pointer
|
||||
|
||||
&, *
|
||||
|
@ -214,7 +214,7 @@ export default Vue.extend({
|
||||
text-align center
|
||||
color var(--dateDividerFg)
|
||||
background var(--dateDividerBg)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
span
|
||||
margin 0 16px
|
||||
@ -231,7 +231,7 @@ export default Vue.extend({
|
||||
text-align center
|
||||
color #ccc
|
||||
background var(--face)
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
border-bottom-left-radius 6px
|
||||
border-bottom-right-radius 6px
|
||||
|
||||
|
@ -177,7 +177,7 @@ export default Vue.extend({
|
||||
> .notifications
|
||||
|
||||
> .notification:not(:last-child)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
> .date
|
||||
display block
|
||||
@ -187,7 +187,7 @@ export default Vue.extend({
|
||||
font-size 12px
|
||||
color var(--dateDividerFg)
|
||||
background var(--dateDividerBg)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
span
|
||||
margin 0 16px
|
||||
@ -200,7 +200,7 @@ export default Vue.extend({
|
||||
width 100%
|
||||
padding 16px
|
||||
color #555
|
||||
border-top solid 1px rgba(#000, 0.05)
|
||||
border-top solid var(--lineWidth) rgba(#000, 0.05)
|
||||
|
||||
&:hover
|
||||
background rgba(#000, 0.025)
|
||||
|
@ -462,7 +462,7 @@ export default Vue.extend({
|
||||
display grid
|
||||
grid-template-columns 2fr 2fr 2fr 1fr
|
||||
margin-top 8px
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
> div
|
||||
padding 8px 8px 0 8px
|
||||
|
@ -413,6 +413,15 @@ export default (callback: (launch: (router: VueRouter) => [Vue, MiOS]) => void,
|
||||
});
|
||||
//#endregion
|
||||
|
||||
//#region line width
|
||||
document.documentElement.style.setProperty('--lineWidth', `${os.store.state.device.lineWidth}px`);
|
||||
os.store.watch(s => {
|
||||
return s.device.lineWidth;
|
||||
}, v => {
|
||||
document.documentElement.style.setProperty('--lineWidth', `${os.store.state.device.lineWidth}px`);
|
||||
});
|
||||
//#endregion
|
||||
|
||||
// Navigation hook
|
||||
router.beforeEach((to, from, next) => {
|
||||
next(os.store.state.navHook && os.store.state.navHook(to) ? false : undefined);
|
||||
|
@ -98,7 +98,7 @@ export default Vue.extend({
|
||||
<style lang="stylus" scoped>
|
||||
.note
|
||||
font-size 12px
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
&:focus
|
||||
z-index 1
|
||||
@ -231,7 +231,7 @@ export default Vue.extend({
|
||||
|
||||
> *
|
||||
padding 16px
|
||||
border dashed 1px var(--quoteBorder)
|
||||
border dashed var(--lineWidth) var(--quoteBorder)
|
||||
border-radius 8px
|
||||
|
||||
> .app
|
||||
|
@ -210,7 +210,7 @@ export default Vue.extend({
|
||||
font-size 0.9em
|
||||
color var(--dateDividerFg)
|
||||
background var(--dateDividerBg)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
span
|
||||
margin 0 16px
|
||||
@ -240,7 +240,7 @@ export default Vue.extend({
|
||||
|
||||
> footer
|
||||
text-align center
|
||||
border-top solid 1px var(--faceDivider)
|
||||
border-top solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
&:empty
|
||||
display none
|
||||
|
@ -152,7 +152,7 @@ export default Vue.extend({
|
||||
> .notifications
|
||||
|
||||
> .mk-notification:not(:last-child)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
> .date
|
||||
display block
|
||||
@ -162,7 +162,7 @@ export default Vue.extend({
|
||||
font-size 0.8em
|
||||
color var(--dateDividerFg)
|
||||
background var(--dateDividerBg)
|
||||
border-bottom solid 1px var(--faceDivider)
|
||||
border-bottom solid var(--lineWidth) var(--faceDivider)
|
||||
|
||||
span
|
||||
margin 0 16px
|
||||
@ -175,7 +175,7 @@ export default Vue.extend({
|
||||
width 100%
|
||||
padding 16px
|
||||
color var(--text)
|
||||
border-top solid 1px rgba(#000, 0.05)
|
||||
border-top solid var(--lineWidth) rgba(#000, 0.05)
|
||||
|
||||
> [data-icon]
|
||||
margin-right 4px
|
||||
|
@ -300,7 +300,8 @@ export default Vue.extend({
|
||||
|
||||
setVisibility() {
|
||||
const w = this.$root.new(MkVisibilityChooser, {
|
||||
source: this.$refs.visibilityButton
|
||||
source: this.$refs.visibilityButton,
|
||||
currentVisibility: this.visibility
|
||||
});
|
||||
w.$once('chosen', v => {
|
||||
this.applyVisibility(v);
|
||||
|
@ -159,7 +159,7 @@ export default Vue.extend({
|
||||
left 8px
|
||||
pointer-events none
|
||||
font-size 10px
|
||||
color var(--primary)
|
||||
color var(--notificationIndicator)
|
||||
|
||||
> button:last-child
|
||||
display block
|
||||
|
@ -238,7 +238,7 @@ export default Vue.extend({
|
||||
> i.circle
|
||||
margin-left 6px
|
||||
font-size 10px
|
||||
color var(--primary)
|
||||
color var(--notificationIndicator)
|
||||
|
||||
> i:last-child
|
||||
position absolute
|
||||
|
@ -225,7 +225,7 @@ main
|
||||
> .badge
|
||||
margin-left 6px
|
||||
font-size 10px
|
||||
color var(--primary)
|
||||
color var(--notificationIndicator)
|
||||
|
||||
> .tl
|
||||
max-width 680px
|
||||
@ -248,7 +248,7 @@ main
|
||||
.badge
|
||||
margin-left 6px
|
||||
font-size 10px
|
||||
color var(--primary)
|
||||
color var(--notificationIndicator)
|
||||
vertical-align middle
|
||||
|
||||
</style>
|
||||
|
@ -7,12 +7,7 @@
|
||||
<div>
|
||||
<x-profile-editor/>
|
||||
|
||||
<ui-card>
|
||||
<div slot="title"><fa icon="palette"/> {{ $t('theme') }}</div>
|
||||
<section>
|
||||
<x-theme/>
|
||||
</section>
|
||||
</ui-card>
|
||||
<x-theme/>
|
||||
|
||||
<ui-card>
|
||||
<div slot="title"><fa icon="poll-h"/> {{ $t('design') }}</div>
|
||||
@ -20,6 +15,12 @@
|
||||
<section>
|
||||
<ui-switch v-model="darkmode">{{ $t('dark-mode') }}</ui-switch>
|
||||
<ui-switch v-model="circleIcons">{{ $t('circle-icons') }}</ui-switch>
|
||||
<section>
|
||||
<header>{{ $t('@.line-width') }}</header>
|
||||
<ui-radio v-model="lineWidth" :value="0.5">{{ $t('@.line-width-thin') }}</ui-radio>
|
||||
<ui-radio v-model="lineWidth" :value="1">{{ $t('@.line-width-normal') }}</ui-radio>
|
||||
<ui-radio v-model="lineWidth" :value="2">{{ $t('@.line-width-thick') }}</ui-radio>
|
||||
</section>
|
||||
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }} ({{ $t('@.this-setting-is-this-device-only') }})</ui-switch>
|
||||
<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
|
||||
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
|
||||
@ -33,7 +34,7 @@
|
||||
|
||||
<section>
|
||||
<ui-switch v-model="games_reversi_showBoardLabels">{{ $t('@.show-reversi-board-labels') }}</ui-switch>
|
||||
<ui-switch v-model="games_reversi_useWhiteBlackStones">{{ $t('@.use-white-black-reversi-stones') }}</ui-switch>
|
||||
<ui-switch v-model="games_reversi_useAvatarStones">{{ $t('@.use-avatar-reversi-stones') }}</ui-switch>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
@ -265,6 +266,11 @@ export default Vue.extend({
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'circleIcons', value }); }
|
||||
},
|
||||
|
||||
lineWidth: {
|
||||
get() { return this.$store.state.device.lineWidth; },
|
||||
set(value) { this.$store.commit('device/set', { key: 'lineWidth', value }); }
|
||||
},
|
||||
|
||||
contrastedAcct: {
|
||||
get() { return this.$store.state.settings.contrastedAcct; },
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'contrastedAcct', value }); }
|
||||
@ -290,9 +296,9 @@ export default Vue.extend({
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.showBoardLabels', value }); }
|
||||
},
|
||||
|
||||
games_reversi_useWhiteBlackStones: {
|
||||
get() { return this.$store.state.settings.games.reversi.useWhiteBlackStones; },
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useWhiteBlackStones', value }); }
|
||||
games_reversi_useAvatarStones: {
|
||||
get() { return this.$store.state.settings.games.reversi.useAvatarStones; },
|
||||
set(value) { this.$store.dispatch('settings/set', { key: 'games.reversi.useAvatarStones', value }); }
|
||||
},
|
||||
|
||||
disableAnimatedMfm: {
|
||||
|
@ -40,7 +40,7 @@ const defaultSettings = {
|
||||
games: {
|
||||
reversi: {
|
||||
showBoardLabels: false,
|
||||
useWhiteBlackStones: false,
|
||||
useAvatarStones: true,
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -52,6 +52,7 @@ const defaultDeviceSettings = {
|
||||
darkmode: false,
|
||||
darkTheme: 'dark',
|
||||
lightTheme: 'light',
|
||||
lineWidth: 1,
|
||||
themes: [],
|
||||
enableSounds: true,
|
||||
soundVolume: 0.5,
|
||||
|
@ -15,13 +15,27 @@ export const darkTheme: Theme = require('../theme/dark.json5');
|
||||
export const pinkTheme: Theme = require('../theme/pink.json5');
|
||||
export const blackTheme: Theme = require('../theme/black.json5');
|
||||
export const halloweenTheme: Theme = require('../theme/halloween.json5');
|
||||
export const cafeTheme: Theme = require('../theme/cafe.json5');
|
||||
export const japaneseSushiSetTheme: Theme = require('../theme/japanese-sushi-set.json5');
|
||||
export const gruvboxDarkTheme: Theme = require('../theme/gruvbox-dark.json5');
|
||||
export const monokaiTheme: Theme = require('../theme/monokai.json5');
|
||||
export const colorfulTheme: Theme = require('../theme/colorful.json5');
|
||||
export const naturalTheme: Theme = require('../theme/natural.json5');
|
||||
export const mauveTheme: Theme = require('../theme/mauve.json5');
|
||||
|
||||
export const builtinThemes = [
|
||||
lightTheme,
|
||||
darkTheme,
|
||||
pinkTheme,
|
||||
blackTheme,
|
||||
halloweenTheme
|
||||
halloweenTheme,
|
||||
cafeTheme,
|
||||
japaneseSushiSetTheme,
|
||||
gruvboxDarkTheme,
|
||||
monokaiTheme,
|
||||
colorfulTheme,
|
||||
naturalTheme,
|
||||
mauveTheme,
|
||||
];
|
||||
|
||||
export function applyTheme(theme: Theme, persisted = true) {
|
||||
@ -85,12 +99,12 @@ function compile(theme: Theme): { [key: string]: string } {
|
||||
props['primaryAlpha0' + i] = genValue(color);
|
||||
}
|
||||
|
||||
for (let i = 1; i < 100; i++) {
|
||||
for (let i = 5; i < 100; i += 5) {
|
||||
const color = primary.clone().lighten(i);
|
||||
props['primaryLighten' + i] = genValue(color);
|
||||
}
|
||||
|
||||
for (let i = 1; i < 100; i++) {
|
||||
for (let i = 5; i < 100; i += 5) {
|
||||
const color = primary.clone().darken(i);
|
||||
props['primaryDarken' + i] = genValue(color);
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ html, body
|
||||
|
||||
a
|
||||
text-decoration none
|
||||
color var(--primary)
|
||||
color var(--link)
|
||||
cursor pointer
|
||||
|
||||
&:hover
|
||||
@ -33,7 +33,7 @@ a
|
||||
|
||||
@css {
|
||||
a {
|
||||
tap-highlight-color: var(--primaryAlpha07) !important;
|
||||
-webkit-tap-highlight-color: var(--primaryAlpha07) !important;
|
||||
tap-highlight-color: var(--linkTapHighlight) !important;
|
||||
-webkit-tap-highlight-color: var(--linkTapHighlight) !important;
|
||||
}
|
||||
}
|
||||
|
20
src/client/theme/cafe.json5
Normal file
20
src/client/theme/cafe.json5
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
id: '0ff48d43-aab3-46e7-ab12-8492110d2e2b',
|
||||
|
||||
name: 'Cafe',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'light',
|
||||
|
||||
vars: {
|
||||
primary: 'rgb(234, 154, 82)',
|
||||
secondary: 'rgb(238, 236, 232)',
|
||||
text: 'rgb(149, 143, 139)',
|
||||
},
|
||||
|
||||
props: {
|
||||
renoteGradient: '#ffe1c7',
|
||||
renoteText: '$primary',
|
||||
quoteBorder: '$primary',
|
||||
},
|
||||
}
|
23
src/client/theme/colorful.json5
Normal file
23
src/client/theme/colorful.json5
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
id: '2d066d6e-bd39-4f23-bd48-686d5c1c6ae8',
|
||||
|
||||
name: 'Colorful',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'light',
|
||||
|
||||
vars: {
|
||||
primary: 'rgb(255, 153, 64)',
|
||||
secondary: 'rgb(255, 255, 255)',
|
||||
text: 'rgb(108, 118, 128)',
|
||||
},
|
||||
|
||||
props: {
|
||||
bg: 'rgb(250, 250, 250)',
|
||||
mfmMention: '#f07171',
|
||||
mfmMentionForeground: '#fff',
|
||||
mfmUrl: '#86b300',
|
||||
mfmLink: '#399ee6',
|
||||
mfmHashtag: '#fa8d3e'
|
||||
},
|
||||
}
|
@ -24,6 +24,15 @@
|
||||
scrollbarHandle: ':lighten<5<$secondary',
|
||||
scrollbarHandleHover: ':lighten<10<$secondary',
|
||||
|
||||
link: '$primary',
|
||||
linkTapHighlight: ':alpha<0.7<@link',
|
||||
|
||||
notificationIndicator: '$primary',
|
||||
|
||||
switchActive: '$primary',
|
||||
switchActiveTrack: ':alpha<0.4<@switchActive',
|
||||
radioActive: '$primary',
|
||||
|
||||
face: '$secondary',
|
||||
faceText: '#fff',
|
||||
faceHeader: ':lighten<5<$secondary',
|
||||
@ -120,8 +129,10 @@
|
||||
mfmTitleBg: 'rgba(0, 0, 0, 0.2)',
|
||||
mfmQuote: ':alpha<0.7<$text',
|
||||
mfmQuoteLine: ':alpha<0.6<$text',
|
||||
mfmLink: '$primary',
|
||||
mfmUrl: '$primary',
|
||||
mfmLink: '@mfmUrl',
|
||||
mfmMention: '$primary',
|
||||
mfmMentionForeground: '@primaryForeground',
|
||||
mfmHashtag: '$primary',
|
||||
|
||||
suspendedInfoBg: '#611d1d',
|
||||
|
29
src/client/theme/gruvbox-dark.json5
Normal file
29
src/client/theme/gruvbox-dark.json5
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
id: '0c6e70e2-a1ec-4053-9b1a-b6082fe016cb',
|
||||
|
||||
name: 'Gruvbox Dark',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'dark',
|
||||
|
||||
vars: {
|
||||
primary: 'rgb(215, 153, 33)',
|
||||
secondary: 'rgb(40, 40, 40)',
|
||||
text: 'rgb(235, 219, 178)',
|
||||
},
|
||||
|
||||
props: {
|
||||
renoteGradient: '#58581e',
|
||||
renoteText: 'rgb(169, 174, 36)',
|
||||
quoteBorder: 'rgb(169, 174, 36)',
|
||||
mfmMention: 'rgb(177, 98, 134)',
|
||||
mfmMentionForeground: '#fff',
|
||||
mfmUrl: 'rgb(69, 133, 136)',
|
||||
mfmLink: 'rgb(104, 157, 106)',
|
||||
mfmHashtag: 'rgb(251, 73, 52)',
|
||||
notificationIndicator: 'rgb(184, 187, 38)',
|
||||
switchActive: 'rgb(254, 128, 25)',
|
||||
radioActive: 'rgb(131, 165, 152)',
|
||||
link: 'rgb(104, 157, 106)',
|
||||
},
|
||||
}
|
20
src/client/theme/japanese-sushi-set.json5
Normal file
20
src/client/theme/japanese-sushi-set.json5
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
id: '2b0a0654-cdb4-4c9a-8244-736b647d3c2a',
|
||||
|
||||
name: 'Japanese Sushi Set',
|
||||
author: 'noizenecio & syuilo',
|
||||
|
||||
base: 'dark',
|
||||
|
||||
vars: {
|
||||
primary: 'rgb(234, 136, 50)',
|
||||
secondary: 'rgb(34, 36, 42)',
|
||||
text: 'rgb(221, 209, 203)',
|
||||
},
|
||||
|
||||
props: {
|
||||
renoteGradient: '#6d3d14',
|
||||
renoteText: '$primary',
|
||||
quoteBorder: '$primary',
|
||||
},
|
||||
}
|
@ -24,6 +24,15 @@
|
||||
scrollbarHandle: '#00000033',
|
||||
scrollbarHandleHover: '#00000066',
|
||||
|
||||
link: '$primary',
|
||||
linkTapHighlight: ':alpha<0.7<@link',
|
||||
|
||||
notificationIndicator: '$primary',
|
||||
|
||||
switchActive: '$primary',
|
||||
switchActiveTrack: ':alpha<0.4<@switchActive',
|
||||
radioActive: '$primary',
|
||||
|
||||
face: '$secondary',
|
||||
faceText: '$text',
|
||||
faceHeader: ':lighten<5<$secondary',
|
||||
@ -120,8 +129,10 @@
|
||||
mfmTitleBg: 'rgba(0, 0, 0, 0.07)',
|
||||
mfmQuote: ':alpha<0.6<$text',
|
||||
mfmQuoteLine: ':alpha<0.5<$text',
|
||||
mfmLink: '$primary',
|
||||
mfmUrl: '$primary',
|
||||
mfmLink: '@mfmUrl',
|
||||
mfmMention: '$primary',
|
||||
mfmMentionForeground: '@primaryForeground',
|
||||
mfmHashtag: '$primary',
|
||||
|
||||
suspendedInfoBg: '#ffdbdb',
|
||||
|
20
src/client/theme/mauve.json5
Normal file
20
src/client/theme/mauve.json5
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
id: '252b2caf-86c2-4c3f-a73f-e1fc1cfa5298',
|
||||
|
||||
name: 'Mauve',
|
||||
author: 'とわこ & syuilo',
|
||||
|
||||
base: 'dark',
|
||||
|
||||
vars: {
|
||||
primary: 'rgb(133, 88, 150)',
|
||||
secondary: 'rgb(54, 43, 59)',
|
||||
text: 'rgb(229, 223, 231)',
|
||||
},
|
||||
|
||||
props: {
|
||||
renoteGradient: '#54415d',
|
||||
renoteText: '$primary',
|
||||
quoteBorder: '$primary',
|
||||
},
|
||||
}
|
29
src/client/theme/monokai.json5
Normal file
29
src/client/theme/monokai.json5
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
id: 'fef11dc4-6b17-436e-b374-73282c44ddc0',
|
||||
|
||||
name: 'Monokai',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'dark',
|
||||
|
||||
vars: {
|
||||
primary: '#f92672',
|
||||
secondary: '#272822',
|
||||
text: '#f8f8f2',
|
||||
},
|
||||
|
||||
props: {
|
||||
renoteGradient: '#3f500f',
|
||||
renoteText: '#a6e22e',
|
||||
quoteBorder: '#a6e22e',
|
||||
mfmMention: '#ae81ff',
|
||||
mfmMentionForeground: '#fff',
|
||||
mfmUrl: '#66d9ef',
|
||||
mfmLink: '#e6db74',
|
||||
mfmHashtag: '#fd971f',
|
||||
notificationIndicator: '#66d9ef',
|
||||
switchActive: 'rgb(166, 226, 46)',
|
||||
radioActive: '#fd971f',
|
||||
link: '#e6db74',
|
||||
},
|
||||
}
|
23
src/client/theme/natural.json5
Normal file
23
src/client/theme/natural.json5
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
id: 'b4b7d5fc-08d0-4915-b1cf-4090771e1a84',
|
||||
|
||||
name: 'Natural',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'light',
|
||||
|
||||
vars: {
|
||||
primary: 'rgb(0, 179, 104)',
|
||||
secondary: '#fef8ec',
|
||||
text: 'rgb(136, 132, 119)',
|
||||
},
|
||||
|
||||
props: {
|
||||
bg: 'rgb(248, 239, 221)',
|
||||
mfmMention: 'rgb(238, 150, 43)',
|
||||
mfmMentionForeground: '#fff',
|
||||
mfmUrl: 'rgb(0, 189, 214)',
|
||||
mfmLink: 'rgb(255, 87, 146)',
|
||||
mfmHashtag: 'rgb(179, 134, 0)'
|
||||
},
|
||||
}
|
Reference in New Issue
Block a user