mirror of
https://github.com/misskey-dev/misskey.git
synced 2024-12-26 06:10:20 +01:00
Merge branch 'develop' into inner-quote
This commit is contained in:
commit
58dd7837a6
167 changed files with 389 additions and 399 deletions
11
CHANGELOG.md
11
CHANGELOG.md
|
@ -1,15 +1,10 @@
|
|||
## Unreleased
|
||||
|
||||
### General
|
||||
-
|
||||
## 2024.10.1
|
||||
|
||||
### Client
|
||||
- Enhance: l10nの更新
|
||||
- Fix: メールアドレス不要でCaptchaが有効な場合にアカウント登録完了後自動でのログインに失敗する問題を修正
|
||||
- Enhance: 新しいMFM「URL引用」を追加。`> https://hogehoge.com`のように、`> `に続けてURLを置くことで文中にURLプレビューを展開することができます
|
||||
|
||||
### Server
|
||||
-
|
||||
|
||||
|
||||
## 2024.10.0
|
||||
|
||||
### Note
|
||||
|
|
|
@ -1252,7 +1252,6 @@ _theme:
|
|||
buttonBg: "خلفية الأزرار"
|
||||
buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)"
|
||||
inputBorder: "حواف حقل الإدخال"
|
||||
listItemHoverBg: "خلفية عناصر القائمة (عند التمرير فوقها)"
|
||||
driveFolderBg: "خلفية مجلد قرص التخزين"
|
||||
messageBg: "خلفية المحادثة"
|
||||
_sfx:
|
||||
|
|
|
@ -1017,7 +1017,6 @@ _theme:
|
|||
buttonBg: "বাটনের পটভূমি"
|
||||
buttonHoverBg: "বাটনের পটভূমি (হভার)"
|
||||
inputBorder: "ইনপুট ফিল্ডের বর্ডার"
|
||||
listItemHoverBg: "লিস্ট আইটেমের পটভূমি (হোভার)"
|
||||
driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
|
||||
wallpaperOverlay: "ওয়ালপেপার ওভারলে"
|
||||
badge: "ব্যাজ"
|
||||
|
|
|
@ -453,6 +453,7 @@ totpDescription: "Escriu una contrasenya d'un sol us fent servir l'aplicació d'
|
|||
moderator: "Moderador/a"
|
||||
moderation: "Moderació"
|
||||
moderationNote: "Nota de moderació "
|
||||
moderationNoteDescription: "Pots escriure notes que es compartiran entre els moderadors."
|
||||
addModerationNote: "Afegir una nota de moderació "
|
||||
moderationLogs: "Registre de moderació "
|
||||
nUsersMentioned: "{n} usuaris mencionats"
|
||||
|
@ -1284,6 +1285,14 @@ unknownWebAuthnKey: "Passkey desconeguda"
|
|||
passkeyVerificationFailed: "La verificació a fallat"
|
||||
passkeyVerificationSucceededButPasswordlessLoginDisabled: "La verificació de la passkey a estat correcta, però s'ha deshabilitat l'inici de sessió sense contrasenya."
|
||||
messageToFollower: "Missatge als meus seguidors"
|
||||
target: "Assumpte "
|
||||
_abuseUserReport:
|
||||
forward: "Reenviar "
|
||||
forwardDescription: "Reenvia l'informe a una altra instància com un compte del sistema anònima."
|
||||
resolve: "Solució "
|
||||
accept: "Acceptar "
|
||||
reject: "Rebutjar"
|
||||
resolveTutorial: "Si l'informe és legítim selecciona \"Acceptar\" per resoldre'l positivament. Però si l'informe no és legítim selecciona \"Rebutjar\" per resoldre'l negativament."
|
||||
_delivery:
|
||||
status: "Estat d'entrega "
|
||||
stop: "Suspés"
|
||||
|
@ -1974,7 +1983,6 @@ _theme:
|
|||
buttonBg: "Fons botó "
|
||||
buttonHoverBg: "Fons botó (en passar-hi per sobre)"
|
||||
inputBorder: "Contorn del cap d'introducció "
|
||||
listItemHoverBg: "Fons dels elements d'una llista"
|
||||
driveFolderBg: "Fons de la carpeta Disc"
|
||||
wallpaperOverlay: "Superposició del fons de pantalla "
|
||||
badge: "Insígnia "
|
||||
|
@ -2520,6 +2528,8 @@ _moderationLogTypes:
|
|||
markSensitiveDriveFile: "Fitxer marcat com a sensible"
|
||||
unmarkSensitiveDriveFile: "S'ha tret la marca de sensible del fitxer"
|
||||
resolveAbuseReport: "Informe resolt"
|
||||
forwardAbuseReport: "Informe reenviat"
|
||||
updateAbuseReportNote: "Nota de moderació d'un informe actualitzat"
|
||||
createInvitation: "Crear codi d'invitació "
|
||||
createAd: "Anunci creat"
|
||||
deleteAd: "Anunci esborrat"
|
||||
|
|
|
@ -1629,7 +1629,6 @@ _theme:
|
|||
buttonBg: "Pozadí tlačítka"
|
||||
buttonHoverBg: "Pozadí tlačítka (Hover)"
|
||||
inputBorder: "Ohraničení vstupního pole"
|
||||
listItemHoverBg: "Pozadí položky seznamu (Hover)"
|
||||
driveFolderBg: "Pozadí složky disku"
|
||||
wallpaperOverlay: "Překrytí tapety"
|
||||
badge: "Odznak"
|
||||
|
|
|
@ -1784,7 +1784,6 @@ _theme:
|
|||
buttonBg: "Hintergrund von Schaltflächen"
|
||||
buttonHoverBg: "Hintergrund von Schaltflächen (Mouseover)"
|
||||
inputBorder: "Rahmen von Eingabefeldern"
|
||||
listItemHoverBg: "Hintergrund von Listeneinträgen (Mouseover)"
|
||||
driveFolderBg: "Hintergrund von Drive-Ordnern"
|
||||
wallpaperOverlay: "Hintergrundbild-Overlay"
|
||||
badge: "Wappen"
|
||||
|
|
|
@ -1984,7 +1984,6 @@ _theme:
|
|||
buttonBg: "Button background"
|
||||
buttonHoverBg: "Button background (Hover)"
|
||||
inputBorder: "Input field border"
|
||||
listItemHoverBg: "List item background (Hover)"
|
||||
driveFolderBg: "Drive folder background"
|
||||
wallpaperOverlay: "Wallpaper overlay"
|
||||
badge: "Badge"
|
||||
|
|
|
@ -1915,7 +1915,6 @@ _theme:
|
|||
buttonBg: "Fondo de botón"
|
||||
buttonHoverBg: "Fondo de botón (hover)"
|
||||
inputBorder: "Borde de los campos de entrada"
|
||||
listItemHoverBg: "Fondo de elemento de listas (hover)"
|
||||
driveFolderBg: "Fondo de capeta del drive"
|
||||
wallpaperOverlay: "Transparencia del fondo de pantalla"
|
||||
badge: "Medalla"
|
||||
|
|
|
@ -1701,7 +1701,6 @@ _theme:
|
|||
buttonBg: "Arrière-plan du bouton"
|
||||
buttonHoverBg: "Arrière-plan du bouton (survolé)"
|
||||
inputBorder: "Cadre de la zone de texte"
|
||||
listItemHoverBg: "Arrière-plan d'item de liste (survolé)"
|
||||
driveFolderBg: "Arrière-plan du dossier de disque"
|
||||
wallpaperOverlay: "Superposition de fond d'écran"
|
||||
badge: "Badge"
|
||||
|
|
|
@ -1924,7 +1924,6 @@ _theme:
|
|||
buttonBg: "Latar belakang tombol"
|
||||
buttonHoverBg: "Latar belakang tombol (Mengambang)"
|
||||
inputBorder: "Batas bidang masukan"
|
||||
listItemHoverBg: "Latar belakang daftar item (Mengambang)"
|
||||
driveFolderBg: "Latar belakang folder drive"
|
||||
wallpaperOverlay: "Lapisan wallpaper"
|
||||
badge: "Lencana"
|
||||
|
|
|
@ -1975,7 +1975,6 @@ _theme:
|
|||
buttonBg: "Sfondo del pulsante"
|
||||
buttonHoverBg: "Sfondo del pulsante (sorvolato)"
|
||||
inputBorder: "Inquadra casella di testo"
|
||||
listItemHoverBg: "Sfondo della voce di elenco (sorvolato)"
|
||||
driveFolderBg: "Sfondo della cartella di disco"
|
||||
wallpaperOverlay: "Sovrapposizione dello sfondo"
|
||||
badge: "Distintivo"
|
||||
|
|
|
@ -1943,7 +1943,6 @@ _theme:
|
|||
buttonBg: "ボタンの背景"
|
||||
buttonHoverBg: "ボタンの背景 (ホバー)"
|
||||
inputBorder: "入力ボックスの縁取り"
|
||||
listItemHoverBg: "リスト項目の背景 (ホバー)"
|
||||
driveFolderBg: "ドライブフォルダーの背景"
|
||||
wallpaperOverlay: "壁紙のオーバーレイ"
|
||||
badge: "バッジ"
|
||||
|
|
|
@ -1984,7 +1984,6 @@ _theme:
|
|||
buttonBg: "버튼 배경"
|
||||
buttonHoverBg: "버튼 배경 (호버)"
|
||||
inputBorder: "입력 필드 테두리"
|
||||
listItemHoverBg: "리스트 항목 배경 (호버)"
|
||||
driveFolderBg: "드라이브 폴더 배경"
|
||||
wallpaperOverlay: "배경화면 오버레이"
|
||||
badge: "배지"
|
||||
|
|
|
@ -1205,7 +1205,6 @@ _theme:
|
|||
buttonBg: "Tło przycisku"
|
||||
buttonHoverBg: "Tło przycisku (po najechaniu)"
|
||||
inputBorder: "Obramowanie pola wejścia"
|
||||
listItemHoverBg: "Tło elementu listy (po najechaniu)"
|
||||
driveFolderBg: "Tło folderu na dysku"
|
||||
wallpaperOverlay: "Nakładka tapety"
|
||||
badge: "Odznaka"
|
||||
|
|
|
@ -25,7 +25,7 @@ basicSettings: "Configurações básicas"
|
|||
otherSettings: "Outras configurações"
|
||||
openInWindow: "Abrir em um janela"
|
||||
profile: "Perfil"
|
||||
timeline: "Cronologia"
|
||||
timeline: "Linha do tempo"
|
||||
noAccountDescription: "Este usuário não tem uma descrição."
|
||||
login: "Iniciar sessão"
|
||||
loggingIn: "Iniciando sessão…"
|
||||
|
@ -1944,7 +1944,6 @@ _theme:
|
|||
buttonBg: "Plano de fundo de botão"
|
||||
buttonHoverBg: "Plano de fundo de botão (Selecionado)"
|
||||
inputBorder: "Borda de campo digitável"
|
||||
listItemHoverBg: "Plano de fundo do item de uma lista (Selecionado)"
|
||||
driveFolderBg: "Plano de fundo da pasta no Drive"
|
||||
wallpaperOverlay: "Sobreposição do papel de parede."
|
||||
badge: "Emblema"
|
||||
|
|
|
@ -1694,7 +1694,6 @@ _theme:
|
|||
buttonBg: "Фон кнопки"
|
||||
buttonHoverBg: "Текст кнопки"
|
||||
inputBorder: "Рамка поля ввода"
|
||||
listItemHoverBg: "Фон пункта списка (под указателем)"
|
||||
driveFolderBg: "Фон папки «Диска»"
|
||||
wallpaperOverlay: "Слой обоев"
|
||||
badge: "Значок"
|
||||
|
|
|
@ -1108,7 +1108,6 @@ _theme:
|
|||
buttonBg: "Pozadie tlačidla"
|
||||
buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
|
||||
inputBorder: "Okraj vstupného poľa"
|
||||
listItemHoverBg: "Pozadie položky zoznamu (pod kurzorom)"
|
||||
driveFolderBg: "Pozadie priečinu disku"
|
||||
wallpaperOverlay: "Vrstvenie pozadia"
|
||||
badge: "Odznak"
|
||||
|
|
|
@ -1943,7 +1943,6 @@ _theme:
|
|||
buttonBg: "ปุ่มพื้นหลัง"
|
||||
buttonHoverBg: "ปุ่มพื้นหลัง (โฮเวอร์)"
|
||||
inputBorder: "เส้นขอบของช่องป้อนข้อมูล"
|
||||
listItemHoverBg: "รายการไอเทมพื้นหลัง (โฮเวอร์)"
|
||||
driveFolderBg: "พื้นหลังโฟลเดอร์ไดรฟ์"
|
||||
wallpaperOverlay: "วอลล์เปเปอร์ซ้อนทับ"
|
||||
badge: "ตรา"
|
||||
|
|
|
@ -1302,7 +1302,6 @@ _theme:
|
|||
buttonBg: "Фон кнопки"
|
||||
buttonHoverBg: "Фон кнопки (при наведенні)"
|
||||
inputBorder: "Край поля вводу"
|
||||
listItemHoverBg: "Фон елементу в списку (при наведенні)"
|
||||
driveFolderBg: "Фон папки на диску"
|
||||
wallpaperOverlay: "Накладання шпалер"
|
||||
badge: "Значок"
|
||||
|
|
|
@ -1546,7 +1546,6 @@ _theme:
|
|||
buttonBg: "Nền nút"
|
||||
buttonHoverBg: "Nền nút (Chạm)"
|
||||
inputBorder: "Đường viền khung soạn thảo"
|
||||
listItemHoverBg: "Nền mục liệt kê (Chạm)"
|
||||
driveFolderBg: "Nền thư mục Ổ đĩa"
|
||||
wallpaperOverlay: "Lớp phủ hình nền"
|
||||
badge: "Huy hiệu"
|
||||
|
|
|
@ -1984,7 +1984,6 @@ _theme:
|
|||
buttonBg: "按钮背景"
|
||||
buttonHoverBg: "按钮背景(悬停)"
|
||||
inputBorder: "输入框边框"
|
||||
listItemHoverBg: "下拉列表项目背景(悬停)"
|
||||
driveFolderBg: "网盘的文件夹背景"
|
||||
wallpaperOverlay: "壁纸叠加层"
|
||||
badge: "徽章"
|
||||
|
|
|
@ -1975,7 +1975,6 @@ _theme:
|
|||
buttonBg: "按鈕背景"
|
||||
buttonHoverBg: "按鈕背景 (漂浮)"
|
||||
inputBorder: "輸入框邊框"
|
||||
listItemHoverBg: "列表物品背景 (漂浮)"
|
||||
driveFolderBg: "雲端硬碟文件夾背景"
|
||||
wallpaperOverlay: "壁紙覆蓋層"
|
||||
badge: "徽章"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "misskey",
|
||||
"version": "2024.10.0",
|
||||
"version": "2024.10.1-beta.2",
|
||||
"codename": "nasubi",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -31,10 +31,10 @@ defineProps<{
|
|||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
padding: var(--margin);
|
||||
padding: var(--MI-margin);
|
||||
margin-top: 4px;
|
||||
border: 1px solid var(--MI_THEME-inputBorder);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
background-color: var(--MI_THEME-panel);
|
||||
transition: background-color .1s, border-color .1s;
|
||||
|
||||
|
|
|
@ -29,9 +29,9 @@ defineProps<{
|
|||
width: 100%;
|
||||
height: auto;
|
||||
aspect-ratio: 16 / 9;
|
||||
padding: var(--margin);
|
||||
padding: var(--MI-margin);
|
||||
border: 1px solid var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
background-color: #000;
|
||||
|
||||
&:hover {
|
||||
|
|
|
@ -190,7 +190,7 @@ const isDeleted = ref(false);
|
|||
width: calc(100% - 8px);
|
||||
height: calc(100% - 8px);
|
||||
border: dashed 2px var(--MI_THEME-focus);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ const isDeleted = ref(false);
|
|||
width: 58px;
|
||||
height: 58px;
|
||||
position: sticky !important;
|
||||
top: calc(22px + var(--stickyTop, 0px));
|
||||
top: calc(22px + var(--MI-stickyTop, 0px));
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
@ -377,7 +377,7 @@ const isDeleted = ref(false);
|
|||
width: 100%;
|
||||
margin-top: 14px;
|
||||
position: sticky;
|
||||
bottom: calc(var(--stickyBottom, 0px) + 14px);
|
||||
bottom: calc(var(--MI-stickyBottom, 0px) + 14px);
|
||||
}
|
||||
|
||||
.showLessLabel {
|
||||
|
@ -430,7 +430,7 @@ const isDeleted = ref(false);
|
|||
|
||||
.translation {
|
||||
border: solid 0.5px var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
padding: 12px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
@ -550,7 +550,7 @@ const isDeleted = ref(false);
|
|||
margin: 0 10px 0 0;
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
top: calc(14px + var(--stickyTop, 0px));
|
||||
top: calc(14px + var(--MI-stickyTop, 0px));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -364,7 +364,7 @@ const collapsed = ref(appearNote.value.cw == null && isLong);
|
|||
width: 100%;
|
||||
margin-top: 14px;
|
||||
position: sticky;
|
||||
bottom: calc(var(--stickyBottom, 0px) + 14px);
|
||||
bottom: calc(var(--MI-stickyBottom, 0px) + 14px);
|
||||
}
|
||||
|
||||
.showLessLabel {
|
||||
|
|
|
@ -53,7 +53,7 @@ const showContent = ref(false);
|
|||
height: 34px;
|
||||
border-radius: 8px;
|
||||
position: sticky !important;
|
||||
top: calc(16px + var(--stickyTop, 0px));
|
||||
top: calc(16px + var(--MI-stickyTop, 0px));
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ const collapsed = ref(isLong);
|
|||
width: 100%;
|
||||
margin-top: 14px;
|
||||
position: sticky;
|
||||
bottom: calc(var(--stickyBottom, 0px) + 14px);
|
||||
bottom: calc(var(--MI-stickyBottom, 0px) + 14px);
|
||||
}
|
||||
|
||||
.showLessLabel {
|
||||
|
|
|
@ -100,7 +100,7 @@ function top(ev: MouseEvent) {
|
|||
display: flex;
|
||||
min-width: 0;
|
||||
align-items: center;
|
||||
gap: var(--margin);
|
||||
gap: var(--MI-margin);
|
||||
overflow: hidden;
|
||||
|
||||
.headerClipIconRoot {
|
||||
|
|
|
@ -83,7 +83,7 @@ function top(ev: MouseEvent) {
|
|||
display: flex;
|
||||
min-width: 0;
|
||||
align-items: center;
|
||||
gap: var(--margin);
|
||||
gap: var(--MI-margin);
|
||||
overflow: hidden;
|
||||
|
||||
.headerClipIconRoot {
|
||||
|
|
|
@ -117,7 +117,7 @@ function top(ev: MouseEvent) {
|
|||
display: flex;
|
||||
min-width: 0;
|
||||
align-items: center;
|
||||
gap: var(--margin);
|
||||
gap: var(--MI-margin);
|
||||
overflow: hidden;
|
||||
|
||||
.avatarLink {
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
*/
|
||||
|
||||
:root {
|
||||
--radius: 12px;
|
||||
--marginFull: 14px;
|
||||
--marginHalf: 10px;
|
||||
--MI-radius: 12px;
|
||||
--MI-marginFull: 14px;
|
||||
--MI-marginHalf: 10px;
|
||||
|
||||
--margin: var(--marginFull);
|
||||
--MI-margin: var(--MI-marginFull);
|
||||
}
|
||||
|
||||
html {
|
||||
|
@ -218,12 +218,12 @@ rt {
|
|||
|
||||
._panel {
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
overflow: clip;
|
||||
}
|
||||
|
||||
._margin {
|
||||
margin: var(--margin) 0;
|
||||
margin: var(--MI-margin) 0;
|
||||
}
|
||||
|
||||
._gaps_m {
|
||||
|
@ -241,7 +241,7 @@ rt {
|
|||
._gaps {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--margin);
|
||||
gap: var(--MI-margin);
|
||||
}
|
||||
|
||||
._buttons {
|
||||
|
@ -264,7 +264,7 @@ rt {
|
|||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
border: solid 0.5px var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
|
||||
&:active {
|
||||
border-color: var(--MI_THEME-accent);
|
||||
|
@ -273,14 +273,14 @@ rt {
|
|||
|
||||
._popup {
|
||||
background: var(--MI_THEME-popup);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
contain: content;
|
||||
}
|
||||
|
||||
._acrylic {
|
||||
background: var(--MI_THEME-acrylicPanel);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
}
|
||||
|
||||
._fullinfo {
|
||||
|
|
|
@ -95,7 +95,7 @@ onUnmounted(() => {
|
|||
height: auto;
|
||||
|
||||
&.rounded {
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
|
||||
&.noBorder {
|
||||
|
|
|
@ -226,7 +226,7 @@ export async function openAccountMenu(opts: {
|
|||
|
||||
function showSigninDialog() {
|
||||
const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkSigninDialog.vue')), {}, {
|
||||
done: res => {
|
||||
done: (res: Misskey.entities.SigninFlowResponse & { finished: true }) => {
|
||||
addAccount(res.id, res.i);
|
||||
success();
|
||||
},
|
||||
|
@ -236,9 +236,9 @@ export async function openAccountMenu(opts: {
|
|||
|
||||
function createAccount() {
|
||||
const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkSignupDialog.vue')), {}, {
|
||||
done: res => {
|
||||
addAccount(res.id, res.i);
|
||||
switchAccountWithToken(res.i);
|
||||
done: (res: Misskey.entities.SignupResponse) => {
|
||||
addAccount(res.id, res.token);
|
||||
switchAccountWithToken(res.token);
|
||||
},
|
||||
closed: () => dispose(),
|
||||
});
|
||||
|
|
|
@ -186,14 +186,14 @@ export async function common(createVue: () => App<Element>) {
|
|||
});
|
||||
|
||||
watch(defaultStore.reactiveState.useBlurEffectForModal, v => {
|
||||
document.documentElement.style.setProperty('--modalBgFilter', v ? 'blur(4px)' : 'none');
|
||||
document.documentElement.style.setProperty('--MI-modalBgFilter', v ? 'blur(4px)' : 'none');
|
||||
}, { immediate: true });
|
||||
|
||||
watch(defaultStore.reactiveState.useBlurEffect, v => {
|
||||
if (v) {
|
||||
document.documentElement.style.removeProperty('--blur');
|
||||
document.documentElement.style.removeProperty('--MI-blur');
|
||||
} else {
|
||||
document.documentElement.style.setProperty('--blur', 'none');
|
||||
document.documentElement.style.setProperty('--MI-blur', 'none');
|
||||
}
|
||||
}, { immediate: true });
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ misskeyApi('users/show', { userId: props.movedTo }).then(u => user.value = u);
|
|||
font-size: 90%;
|
||||
background: var(--MI_THEME-infoWarnBg);
|
||||
color: var(--MI_THEME-error);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
|
||||
.link {
|
||||
|
|
|
@ -84,7 +84,7 @@ onMounted(() => {
|
|||
max-width: 480px;
|
||||
box-sizing: border-box;
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
|
||||
.header {
|
||||
|
|
|
@ -863,8 +863,8 @@ onMounted(() => {
|
|||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-backdrop-filter: var(--blur, blur(12px));
|
||||
backdrop-filter: var(--blur, blur(12px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(12px));
|
||||
backdrop-filter: var(--MI-blur, blur(12px));
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
|
|
@ -165,7 +165,7 @@ onUnmounted(() => {
|
|||
|
||||
.header {
|
||||
position: sticky;
|
||||
top: var(--stickyTop, 0px);
|
||||
top: var(--MI-stickyTop, 0px);
|
||||
left: 0;
|
||||
color: var(--MI_THEME-panelHeaderFg);
|
||||
background: var(--MI_THEME-panelHeaderBg);
|
||||
|
@ -201,7 +201,7 @@ onUnmounted(() => {
|
|||
}
|
||||
|
||||
.content {
|
||||
--stickyTop: 0px;
|
||||
--MI-stickyTop: 0px;
|
||||
|
||||
&.omitted {
|
||||
position: relative;
|
||||
|
|
|
@ -170,8 +170,8 @@ onMounted(() => {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
-webkit-backdrop-filter: var(--blur, blur(10px));
|
||||
backdrop-filter: var(--blur, blur(10px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(10px));
|
||||
backdrop-filter: var(--MI-blur, blur(10px));
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ function cancel() {
|
|||
max-width: 100%;
|
||||
height: 40cqh;
|
||||
background-image: repeating-linear-gradient(45deg, transparent, transparent 8px, var(--MI_THEME-X5) 8px, var(--MI_THEME-X5) 14px);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
margin: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
@ -103,6 +103,6 @@ function cancel() {
|
|||
padding: 3px 10px;
|
||||
background-color: var(--MI_THEME-X5);
|
||||
border: solid 1px var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -182,7 +182,7 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
&:not(.date-separated-list-nogap) > *:not(:last-child) {
|
||||
margin-bottom: var(--margin);
|
||||
margin-bottom: var(--MI-margin);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -65,12 +65,12 @@ function neverShow() {
|
|||
.root {
|
||||
position: fixed;
|
||||
z-index: v-bind(zIndex);
|
||||
bottom: var(--margin);
|
||||
bottom: var(--MI-margin);
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
box-sizing: border-box;
|
||||
width: calc(100% - (var(--margin) * 2));
|
||||
width: calc(100% - (var(--MI-margin) * 2));
|
||||
max-width: 500px;
|
||||
display: flex;
|
||||
}
|
||||
|
|
|
@ -36,13 +36,13 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<script lang="ts" setup>
|
||||
import { computed, defineAsyncComponent, ref } from 'vue';
|
||||
import * as Misskey from 'misskey-js';
|
||||
import type { MenuItem } from '@/types/menu.js';
|
||||
import * as os from '@/os.js';
|
||||
import { misskeyApi } from '@/scripts/misskey-api.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { defaultStore } from '@/store.js';
|
||||
import { claimAchievement } from '@/scripts/achievements.js';
|
||||
import { copyToClipboard } from '@/scripts/copy-to-clipboard.js';
|
||||
import type { MenuItem } from '@/types/menu.js';
|
||||
|
||||
const props = withDefaults(defineProps<{
|
||||
folder: Misskey.entities.DriveFolder;
|
||||
|
@ -375,7 +375,6 @@ function onContextmenu(ev: MouseEvent) {
|
|||
.name {
|
||||
margin: 0;
|
||||
font-size: 0.9em;
|
||||
color: var(--desktopDriveFolderFg);
|
||||
}
|
||||
|
||||
.icon {
|
||||
|
@ -388,6 +387,5 @@ function onContextmenu(ev: MouseEvent) {
|
|||
margin: 4px 4px;
|
||||
font-size: 0.8em;
|
||||
text-align: right;
|
||||
color: var(--desktopDriveFolderFg);
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -768,7 +768,7 @@ onBeforeUnmount(() => {
|
|||
.main {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
padding: var(--margin);
|
||||
padding: var(--MI-margin);
|
||||
user-select: none;
|
||||
|
||||
&.fetching {
|
||||
|
|
|
@ -110,7 +110,7 @@ const emits = defineEmits<{
|
|||
|
||||
<style lang="scss" module>
|
||||
.extInstallerRoot {
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
background: var(--MI_THEME-panel);
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
|
|
@ -83,7 +83,6 @@ const props = defineProps<{
|
|||
> p {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
color: var(--urlPreviewInfo);
|
||||
font-size: 0.8em;
|
||||
line-height: 16px;
|
||||
vertical-align: top;
|
||||
|
|
|
@ -118,9 +118,9 @@ onMounted(() => {
|
|||
position: relative;
|
||||
z-index: 10;
|
||||
position: sticky;
|
||||
top: var(--stickyTop, 0px);
|
||||
-webkit-backdrop-filter: var(--blur, blur(8px));
|
||||
backdrop-filter: var(--blur, blur(20px));
|
||||
top: var(--MI-stickyTop, 0px);
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(8px));
|
||||
backdrop-filter: var(--MI-blur, blur(20px));
|
||||
}
|
||||
|
||||
.title {
|
||||
|
|
|
@ -145,8 +145,8 @@ onMounted(() => {
|
|||
box-sizing: border-box;
|
||||
padding: 9px 12px 9px 12px;
|
||||
background: var(--MI_THEME-folderHeaderBg);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
border-radius: 6px;
|
||||
transition: border-radius 0.3s;
|
||||
|
||||
|
@ -236,12 +236,12 @@ onMounted(() => {
|
|||
.footer {
|
||||
position: sticky !important;
|
||||
z-index: 1;
|
||||
bottom: var(--stickyBottom, 0px);
|
||||
bottom: var(--MI-stickyBottom, 0px);
|
||||
left: 0;
|
||||
padding: 12px;
|
||||
background: var(--MI_THEME-acrylicBg);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
background-size: auto auto;
|
||||
background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, var(--MI_THEME-panel) 5px, var(--MI_THEME-panel) 10px);
|
||||
border-radius: 0 0 6px 6px;
|
||||
|
|
|
@ -39,7 +39,7 @@ withDefaults(defineProps<{
|
|||
|
||||
<style module lang="scss">
|
||||
.root {
|
||||
--fukidashi-radius: var(--radius);
|
||||
--fukidashi-radius: var(--MI-radius);
|
||||
--fukidashi-bg: var(--MI_THEME-panel);
|
||||
|
||||
position: relative;
|
||||
|
|
|
@ -38,7 +38,7 @@ function close() {
|
|||
font-size: 90%;
|
||||
background: var(--MI_THEME-infoBg);
|
||||
color: var(--MI_THEME-infoFg);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
white-space: pre-wrap;
|
||||
|
||||
&.warn {
|
||||
|
|
|
@ -257,7 +257,7 @@ onMounted(() => {
|
|||
min-width: 0;
|
||||
position: relative;
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
padding: 24px;
|
||||
max-height: 300px;
|
||||
|
||||
|
|
|
@ -392,7 +392,7 @@ onDeactivated(() => {
|
|||
container-type: inline-size;
|
||||
position: relative;
|
||||
border: .5px solid var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
overflow: clip;
|
||||
|
||||
&:focus-visible {
|
||||
|
@ -454,7 +454,7 @@ onDeactivated(() => {
|
|||
|
||||
.controlButton {
|
||||
padding: 6px;
|
||||
border-radius: calc(var(--radius) / 2);
|
||||
border-radius: calc(var(--MI-radius) / 2);
|
||||
font-size: 1.05rem;
|
||||
|
||||
&:hover {
|
||||
|
|
|
@ -68,7 +68,6 @@ async function show() {
|
|||
}
|
||||
|
||||
.download {
|
||||
background: var(--noteAttachedFile);
|
||||
}
|
||||
|
||||
.sensitive {
|
||||
|
|
|
@ -226,8 +226,8 @@ html[data-color-scheme=light] .visible {
|
|||
position: absolute;
|
||||
border-radius: 999px;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
color: #fff;
|
||||
font-size: 0.8em;
|
||||
width: 28px;
|
||||
|
|
|
@ -317,7 +317,7 @@ defineExpose({
|
|||
<style lang="scss">
|
||||
.pswp__bg {
|
||||
background: var(--MI_THEME-modalBg);
|
||||
backdrop-filter: var(--modalBgFilter);
|
||||
backdrop-filter: var(--MI-modalBgFilter);
|
||||
}
|
||||
|
||||
.pswp__alt-text-container {
|
||||
|
@ -338,8 +338,8 @@ defineExpose({
|
|||
color: var(--MI_THEME-fg);
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
padding: var(--margin);
|
||||
border-radius: var(--radius);
|
||||
padding: var(--MI-margin);
|
||||
border-radius: var(--MI-radius);
|
||||
max-height: 8em;
|
||||
overflow-y: auto;
|
||||
text-shadow: var(--MI_THEME-bg) 0 0 10px, var(--MI_THEME-bg) 0 0 3px, var(--MI_THEME-bg) 0 0 3px;
|
||||
|
|
|
@ -658,7 +658,7 @@ onDeactivated(() => {
|
|||
|
||||
.controlButton {
|
||||
padding: 6px;
|
||||
border-radius: calc(var(--radius) / 2);
|
||||
border-radius: calc(var(--MI-radius) / 2);
|
||||
transition: background-color .2s ease-in-out;
|
||||
font-size: 1.05rem;
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ defineExpose({
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
contain: content;
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
|
||||
--root-margin: 24px;
|
||||
|
||||
|
@ -106,8 +106,8 @@ defineExpose({
|
|||
display: flex;
|
||||
flex-shrink: 0;
|
||||
background: var(--MI_THEME-windowHeader);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
}
|
||||
|
||||
.headerButton {
|
||||
|
|
|
@ -644,7 +644,7 @@ function emitUpdReaction(emoji: string, delta: number) {
|
|||
width: calc(100% - 8px);
|
||||
height: calc(100% - 8px);
|
||||
border: dashed 2px var(--MI_THEME-focus);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
@ -810,7 +810,7 @@ function emitUpdReaction(emoji: string, delta: number) {
|
|||
width: 58px;
|
||||
height: 58px;
|
||||
position: sticky !important;
|
||||
top: calc(22px + var(--stickyTop, 0px));
|
||||
top: calc(22px + var(--MI-stickyTop, 0px));
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
@ -831,7 +831,7 @@ function emitUpdReaction(emoji: string, delta: number) {
|
|||
width: 100%;
|
||||
margin-top: 14px;
|
||||
position: sticky;
|
||||
bottom: calc(var(--stickyBottom, 0px) + 14px);
|
||||
bottom: calc(var(--MI-stickyBottom, 0px) + 14px);
|
||||
}
|
||||
|
||||
.showLessLabel {
|
||||
|
@ -884,7 +884,7 @@ function emitUpdReaction(emoji: string, delta: number) {
|
|||
|
||||
.translation {
|
||||
border: solid 0.5px var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
padding: 12px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
@ -998,7 +998,7 @@ function emitUpdReaction(emoji: string, delta: number) {
|
|||
margin: 0 10px 0 0;
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
top: calc(14px + var(--stickyTop, 0px));
|
||||
top: calc(14px + var(--MI-stickyTop, 0px));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -570,7 +570,7 @@ function loadConversation() {
|
|||
width: calc(100% - 8px);
|
||||
height: calc(100% - 8px);
|
||||
border: dashed 2px var(--MI_THEME-focus);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
@ -711,7 +711,7 @@ function loadConversation() {
|
|||
|
||||
.translation {
|
||||
border: solid 0.5px var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
padding: 12px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ const showContent = ref(false);
|
|||
height: 34px;
|
||||
border-radius: 8px;
|
||||
position: sticky !important;
|
||||
top: calc(16px + var(--stickyTop, 0px));
|
||||
top: calc(16px + var(--MI-stickyTop, 0px));
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ defineExpose({
|
|||
|
||||
.note {
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ onUnmounted(() => {
|
|||
|
||||
<style lang="scss" module>
|
||||
.content {
|
||||
--stickyTop: 0px;
|
||||
--MI-stickyTop: 0px;
|
||||
|
||||
&.omitted {
|
||||
position: relative;
|
||||
|
|
|
@ -42,7 +42,7 @@ const props = defineProps<{
|
|||
.eyeCatchingImageRoot {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
border-radius: var(--radius) var(--radius) 0 0;
|
||||
border-radius: var(--MI-radius) var(--MI-radius) 0 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
|
@ -67,7 +67,7 @@ const props = defineProps<{
|
|||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
pointer-events: none;
|
||||
box-shadow: inset 0 0 0 2px var(--MI_THEME-focus);
|
||||
}
|
||||
|
@ -75,14 +75,14 @@ const props = defineProps<{
|
|||
|
||||
> .thumbnail {
|
||||
& + article {
|
||||
border-radius: 0 0 var(--radius) var(--radius);
|
||||
border-radius: 0 0 var(--MI-radius) var(--MI-radius);
|
||||
}
|
||||
}
|
||||
|
||||
> article {
|
||||
background-color: var(--MI_THEME-panel);
|
||||
padding: 16px;
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
|
||||
> header {
|
||||
margin-bottom: 8px;
|
||||
|
@ -115,7 +115,6 @@ const props = defineProps<{
|
|||
> p {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
color: var(--urlPreviewInfo);
|
||||
font-size: 0.8em;
|
||||
line-height: 16px;
|
||||
vertical-align: top;
|
||||
|
|
|
@ -181,6 +181,6 @@ defineExpose({
|
|||
min-height: 100%;
|
||||
background: var(--MI_THEME-bg);
|
||||
|
||||
--margin: var(--marginHalf);
|
||||
--MI-margin: var(--MI-marginHalf);
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -21,7 +21,7 @@ defineProps<{
|
|||
padding: 16px;
|
||||
background: var(--MI_THEME-infoWarnBg);
|
||||
color: var(--MI_THEME-infoWarnFg);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
overflow: clip;
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ import type { AuthenticationPublicKeyCredential } from '@github/webauthn-json/br
|
|||
import type { OpenOnRemoteOptions } from '@/scripts/please-login.js';
|
||||
|
||||
const emit = defineEmits<{
|
||||
(ev: 'login', v: Misskey.entities.SigninFlowResponse): void;
|
||||
(ev: 'login', v: Misskey.entities.SigninFlowResponse & { finished: true }): void;
|
||||
}>();
|
||||
|
||||
const props = withDefaults(defineProps<{
|
||||
|
@ -276,7 +276,7 @@ async function tryLogin(req: Partial<Misskey.entities.SigninFlowRequest>): Promi
|
|||
});
|
||||
}
|
||||
|
||||
async function onLoginSucceeded(res: Misskey.entities.SigninFlowResponse & { finished: true; }) {
|
||||
async function onLoginSucceeded(res: Misskey.entities.SigninFlowResponse & { finished: true }) {
|
||||
if (props.autoSet) {
|
||||
await login(res.i);
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import * as Misskey from 'misskey-js';
|
||||
import { shallowRef } from 'vue';
|
||||
import type { OpenOnRemoteOptions } from '@/scripts/please-login.js';
|
||||
import MkSignin from '@/components/MkSignin.vue';
|
||||
|
@ -40,7 +41,7 @@ withDefaults(defineProps<{
|
|||
});
|
||||
|
||||
const emit = defineEmits<{
|
||||
(ev: 'done', v: any): void;
|
||||
(ev: 'done', v: Misskey.entities.SigninFlowResponse & { finished: true }): void;
|
||||
(ev: 'closed'): void;
|
||||
(ev: 'cancelled'): void;
|
||||
}>();
|
||||
|
@ -52,7 +53,7 @@ function onClose() {
|
|||
if (modal.value) modal.value.close();
|
||||
}
|
||||
|
||||
function onLogin(res) {
|
||||
function onLogin(res: Misskey.entities.SigninFlowResponse & { finished: true }) {
|
||||
emit('done', res);
|
||||
if (modal.value) modal.value.close();
|
||||
}
|
||||
|
@ -69,7 +70,7 @@ function onLogin(res) {
|
|||
max-height: 450px;
|
||||
box-sizing: border-box;
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
|
||||
.header {
|
||||
|
@ -82,7 +83,7 @@ function onLogin(res) {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
background: var(--MI_THEME-acrylicBg);
|
||||
z-index: 1;
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ const props = withDefaults(defineProps<{
|
|||
});
|
||||
|
||||
const emit = defineEmits<{
|
||||
(ev: 'signup', user: Misskey.entities.SigninFlowResponse): void;
|
||||
(ev: 'signup', user: Misskey.entities.SignupResponse): void;
|
||||
(ev: 'signupEmailPending'): void;
|
||||
}>();
|
||||
|
||||
|
@ -250,18 +250,30 @@ async function onSubmit(): Promise<void> {
|
|||
if (submitting.value) return;
|
||||
submitting.value = true;
|
||||
|
||||
try {
|
||||
await misskeyApi('signup', {
|
||||
username: username.value,
|
||||
password: password.value,
|
||||
emailAddress: email.value,
|
||||
invitationCode: invitationCode.value,
|
||||
'hcaptcha-response': hCaptchaResponse.value,
|
||||
'm-captcha-response': mCaptchaResponse.value,
|
||||
'g-recaptcha-response': reCaptchaResponse.value,
|
||||
'turnstile-response': turnstileResponse.value,
|
||||
});
|
||||
if (instance.emailRequiredForSignup) {
|
||||
const signupPayload: Misskey.entities.SignupRequest = {
|
||||
username: username.value,
|
||||
password: password.value,
|
||||
emailAddress: email.value,
|
||||
invitationCode: invitationCode.value,
|
||||
'hcaptcha-response': hCaptchaResponse.value,
|
||||
'm-captcha-response': mCaptchaResponse.value,
|
||||
'g-recaptcha-response': reCaptchaResponse.value,
|
||||
'turnstile-response': turnstileResponse.value,
|
||||
};
|
||||
|
||||
const res = await fetch(`${config.apiUrl}/signup`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(signupPayload),
|
||||
}).catch(() => {
|
||||
onSignupApiError();
|
||||
return null;
|
||||
});
|
||||
|
||||
if (res) {
|
||||
if (res.status === 204 || instance.emailRequiredForSignup) {
|
||||
os.alert({
|
||||
type: 'success',
|
||||
title: i18n.ts._signup.almostThere,
|
||||
|
@ -269,33 +281,31 @@ async function onSubmit(): Promise<void> {
|
|||
});
|
||||
emit('signupEmailPending');
|
||||
} else {
|
||||
const res = await misskeyApi('signin-flow', {
|
||||
username: username.value,
|
||||
password: password.value,
|
||||
});
|
||||
emit('signup', res);
|
||||
const resJson = (await res.json()) as Misskey.entities.SignupResponse;
|
||||
if (_DEV_) console.log(resJson);
|
||||
|
||||
if (props.autoSet && res.finished) {
|
||||
return login(res.i);
|
||||
} else {
|
||||
os.alert({
|
||||
type: 'error',
|
||||
text: i18n.ts.somethingHappened,
|
||||
});
|
||||
emit('signup', resJson);
|
||||
|
||||
if (props.autoSet) {
|
||||
await login(resJson.token);
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
submitting.value = false;
|
||||
hcaptcha.value?.reset?.();
|
||||
mcaptcha.value?.reset?.();
|
||||
recaptcha.value?.reset?.();
|
||||
turnstile.value?.reset?.();
|
||||
|
||||
os.alert({
|
||||
type: 'error',
|
||||
text: i18n.ts.somethingHappened,
|
||||
});
|
||||
}
|
||||
|
||||
submitting.value = false;
|
||||
}
|
||||
|
||||
function onSignupApiError() {
|
||||
submitting.value = false;
|
||||
hcaptcha.value?.reset?.();
|
||||
mcaptcha.value?.reset?.();
|
||||
recaptcha.value?.reset?.();
|
||||
turnstile.value?.reset?.();
|
||||
|
||||
os.alert({
|
||||
type: 'error',
|
||||
text: i18n.ts.somethingHappened,
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ async function updateAgreeNote(v: boolean) {
|
|||
flex-shrink: 0;
|
||||
display: flex;
|
||||
position: sticky;
|
||||
top: calc(var(--stickyTop, 0px) + 8px);
|
||||
top: calc(var(--MI-stickyTop, 0px) + 8px);
|
||||
counter-increment: item;
|
||||
content: counter(item);
|
||||
width: 32px;
|
||||
|
|
|
@ -47,7 +47,7 @@ const props = withDefaults(defineProps<{
|
|||
});
|
||||
|
||||
const emit = defineEmits<{
|
||||
(ev: 'done', res: Misskey.entities.SigninFlowResponse): void;
|
||||
(ev: 'done', res: Misskey.entities.SignupResponse): void;
|
||||
(ev: 'closed'): void;
|
||||
}>();
|
||||
|
||||
|
@ -55,7 +55,7 @@ const dialog = shallowRef<InstanceType<typeof MkModalWindow>>();
|
|||
|
||||
const isAcceptedServerRule = ref(false);
|
||||
|
||||
function onSignup(res: Misskey.entities.SigninFlowResponse) {
|
||||
function onSignup(res: Misskey.entities.SignupResponse) {
|
||||
emit('done', res);
|
||||
dialog.value?.close();
|
||||
}
|
||||
|
|
|
@ -63,12 +63,12 @@ function close() {
|
|||
.root {
|
||||
position: fixed;
|
||||
z-index: v-bind(zIndex);
|
||||
bottom: var(--margin);
|
||||
bottom: var(--MI-margin);
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
box-sizing: border-box;
|
||||
width: calc(100% - (var(--margin) * 2));
|
||||
width: calc(100% - (var(--MI-margin) * 2));
|
||||
max-width: 500px;
|
||||
display: flex;
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ const collapsed = ref(isLong);
|
|||
width: 100%;
|
||||
margin-top: 14px;
|
||||
position: sticky;
|
||||
bottom: calc(var(--stickyBottom, 0px) + 14px);
|
||||
bottom: calc(var(--MI-stickyBottom, 0px) + 14px);
|
||||
}
|
||||
|
||||
.showLessLabel {
|
||||
|
|
|
@ -263,8 +263,8 @@ onMounted(async () => {
|
|||
padding: 12px;
|
||||
border-top: solid 0.5px var(--MI_THEME-divider);
|
||||
background: var(--MI_THEME-acrylicBg);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
}
|
||||
|
||||
.switchBox {
|
||||
|
|
|
@ -226,7 +226,7 @@ onUnmounted(() => {
|
|||
|
||||
.mfmPreview {
|
||||
padding: 12px;
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
box-sizing: border-box;
|
||||
min-height: 130px;
|
||||
pointer-events: none;
|
||||
|
|
|
@ -137,7 +137,7 @@ function enableAll(): void {
|
|||
margin: 8px -6px 0;
|
||||
padding: 24px 6px 6px;
|
||||
border: 2px solid var(--MI_THEME-error);
|
||||
border-radius: calc(var(--radius) / 2);
|
||||
border-radius: calc(var(--MI-radius) / 2);
|
||||
}
|
||||
|
||||
.adminPermissionsHeader {
|
||||
|
|
|
@ -105,7 +105,7 @@ function removeReaction(emoji) {
|
|||
|
||||
<style lang="scss" module>
|
||||
.exampleNoteRoot {
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
border: var(--MI_THEME-panelBorder);
|
||||
background: var(--MI_THEME-panel);
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ const exampleCWNote = reactive<Misskey.entities.Note>({
|
|||
<style lang="scss" module>
|
||||
.exampleRoot {
|
||||
max-width: none!important;
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
border: var(--MI_THEME-panelBorder);
|
||||
background: var(--MI_THEME-panel);
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@ const exampleNote = reactive<Misskey.entities.Note>({
|
|||
|
||||
<style lang="scss" module>
|
||||
.exampleRoot {
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
border: var(--MI_THEME-panelBorder);
|
||||
background: var(--MI_THEME-panel);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ import { basicTimelineIconClass, basicTimelineTypes } from '@/timelines.js';
|
|||
|
||||
<style lang="scss" module>
|
||||
.exampleNoteRoot {
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
border: var(--MI_THEME-panelBorder);
|
||||
background: var(--MI_THEME-panel);
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ onMounted(() => {
|
|||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
|
||||
.title {
|
||||
|
|
|
@ -84,13 +84,13 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { defineAsyncComponent, onDeactivated, onUnmounted, ref } from 'vue';
|
||||
import type { summaly } from '@misskey-dev/summaly';
|
||||
import { url as local } from '@@/js/config.js';
|
||||
import { versatileLang } from '@@/js/intl-const.js';
|
||||
import type { summaly } from '@misskey-dev/summaly';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import * as os from '@/os.js';
|
||||
import { deviceKind } from '@/scripts/device-kind.js';
|
||||
import MkButton from '@/components/MkButton.vue';
|
||||
import { versatileLang } from '@@/js/intl-const.js';
|
||||
import { transformPlayerUrl } from '@/scripts/player-url-transform.js';
|
||||
import { defaultStore } from '@/store.js';
|
||||
|
||||
|
@ -317,7 +317,6 @@ onUnmounted(() => {
|
|||
.siteName {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
color: var(--urlPreviewInfo);
|
||||
font-size: 0.8em;
|
||||
line-height: 16px;
|
||||
vertical-align: top;
|
||||
|
|
|
@ -142,7 +142,7 @@ async function del() {
|
|||
left: 0;
|
||||
padding: 12px;
|
||||
border-top: solid 0.5px var(--MI_THEME-divider);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -23,7 +23,7 @@ import { acct } from '@/filters/user.js';
|
|||
|
||||
const props = withDefaults(defineProps<{
|
||||
user: Misskey.entities.User;
|
||||
withChart: boolean;
|
||||
withChart?: boolean;
|
||||
}>(), {
|
||||
withChart: true,
|
||||
});
|
||||
|
|
|
@ -39,6 +39,6 @@ const props = withDefaults(defineProps<{
|
|||
.root {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
|
||||
grid-gap: var(--margin);
|
||||
grid-gap: var(--MI-margin);
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -62,7 +62,7 @@ const popularUsers: Paging = {
|
|||
.users {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
|
||||
grid-gap: var(--margin);
|
||||
grid-gap: var(--MI-margin);
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -107,7 +107,7 @@ function showMenu(ev: MouseEvent) {
|
|||
.panel {
|
||||
position: relative;
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
box-shadow: 0 12px 32px rgb(0 0 0 / 25%);
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ watch(() => props.showing, () => {
|
|||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
background: var(--MI_THEME-panel);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
width: 250px;
|
||||
|
||||
&.iconOnly {
|
||||
|
|
|
@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<div :class="$style.root">
|
||||
<template v-if="edit">
|
||||
<header :class="$style.editHeader">
|
||||
<MkSelect v-model="widgetAdderSelected" style="margin-bottom: var(--margin)" data-cy-widget-select>
|
||||
<MkSelect v-model="widgetAdderSelected" style="margin-bottom: var(--MI-margin)" data-cy-widget-select>
|
||||
<template #label>{{ i18n.ts.selectWidget }}</template>
|
||||
<option v-for="widget in widgetDefs" :key="widget" :value="widget">{{ i18n.ts._widgets[widget] }}</option>
|
||||
</MkSelect>
|
||||
|
@ -123,7 +123,7 @@ function onContextmenu(widget: Widget, ev: MouseEvent) {
|
|||
|
||||
.widget {
|
||||
contain: content;
|
||||
margin: var(--margin) 0;
|
||||
margin: var(--MI-margin) 0;
|
||||
|
||||
&:first-of-type {
|
||||
margin-top: 0;
|
||||
|
|
|
@ -502,7 +502,7 @@ defineExpose({
|
|||
contain: content;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
|
||||
.header {
|
||||
|
@ -515,8 +515,8 @@ defineExpose({
|
|||
user-select: none;
|
||||
height: var(--height);
|
||||
background: var(--MI_THEME-windowHeader);
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
//border-bottom: solid 1px var(--MI_THEME-divider);
|
||||
font-size: 90%;
|
||||
font-weight: bold;
|
||||
|
|
|
@ -43,9 +43,9 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { ref, computed } from 'vue';
|
||||
import { url as local, host } from '@@/js/config.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { instance } from '@/instance.js';
|
||||
import { url as local, host } from '@@/js/config.js';
|
||||
import MkButton from '@/components/MkButton.vue';
|
||||
import { defaultStore } from '@/store.js';
|
||||
import * as os from '@/os.js';
|
||||
|
@ -124,7 +124,7 @@ function reduceFrequency(): void {
|
|||
<style lang="scss" module>
|
||||
.root {
|
||||
background-size: auto auto;
|
||||
background-image: repeating-linear-gradient(45deg, transparent, transparent 8px, var(--ad) 8px, var(--ad) 14px );
|
||||
background-image: repeating-linear-gradient(45deg, transparent, transparent 8px, var(--bg) 8px, var(--bg) 14px );
|
||||
}
|
||||
|
||||
.main {
|
||||
|
|
|
@ -130,8 +130,8 @@ onUnmounted(() => {
|
|||
|
||||
<style lang="scss" module>
|
||||
.root {
|
||||
-webkit-backdrop-filter: var(--blur, blur(15px));
|
||||
backdrop-filter: var(--blur, blur(15px));
|
||||
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
|
||||
backdrop-filter: var(--MI-blur, blur(15px));
|
||||
border-bottom: solid 0.5px var(--MI_THEME-divider);
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ onUnmounted(() => {
|
|||
.upper {
|
||||
--height: 50px;
|
||||
display: flex;
|
||||
gap: var(--margin);
|
||||
gap: var(--MI-margin);
|
||||
height: var(--height);
|
||||
|
||||
.tabs:first-child {
|
||||
|
|
|
@ -69,28 +69,28 @@ onMounted(() => {
|
|||
|
||||
watch(childStickyTop, () => {
|
||||
if (bodyEl.value == null) return;
|
||||
bodyEl.value.style.setProperty('--stickyTop', `${childStickyTop.value}px`);
|
||||
bodyEl.value.style.setProperty('--MI-stickyTop', `${childStickyTop.value}px`);
|
||||
}, {
|
||||
immediate: true,
|
||||
});
|
||||
|
||||
watch(childStickyBottom, () => {
|
||||
if (bodyEl.value == null) return;
|
||||
bodyEl.value.style.setProperty('--stickyBottom', `${childStickyBottom.value}px`);
|
||||
bodyEl.value.style.setProperty('--MI-stickyBottom', `${childStickyBottom.value}px`);
|
||||
}, {
|
||||
immediate: true,
|
||||
});
|
||||
|
||||
if (headerEl.value != null) {
|
||||
headerEl.value.style.position = 'sticky';
|
||||
headerEl.value.style.top = 'var(--stickyTop, 0)';
|
||||
headerEl.value.style.top = 'var(--MI-stickyTop, 0)';
|
||||
headerEl.value.style.zIndex = '1';
|
||||
observer.observe(headerEl.value);
|
||||
}
|
||||
|
||||
if (footerEl.value != null) {
|
||||
footerEl.value.style.position = 'sticky';
|
||||
footerEl.value.style.bottom = 'var(--stickyBottom, 0)';
|
||||
footerEl.value.style.bottom = 'var(--MI-stickyBottom, 0)';
|
||||
footerEl.value.style.zIndex = '1';
|
||||
observer.observe(footerEl.value);
|
||||
}
|
||||
|
|
|
@ -28,8 +28,8 @@ const props = defineProps<{
|
|||
<style lang="scss" module>
|
||||
.root {
|
||||
border: 1px solid var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
padding: var(--margin);
|
||||
border-radius: var(--MI-radius);
|
||||
padding: var(--MI-margin);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ onMounted(() => {
|
|||
<style lang="scss" module>
|
||||
.root {
|
||||
border: 1px solid var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
overflow: hidden;
|
||||
}
|
||||
.mediaList {
|
||||
|
|
|
@ -36,6 +36,6 @@ onMounted(() => {
|
|||
<style lang="scss" module>
|
||||
.root {
|
||||
border: 1px solid var(--MI_THEME-divider);
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -441,7 +441,7 @@ definePageMetadata(() => ({
|
|||
.znqjceqz {
|
||||
> .about {
|
||||
position: relative;
|
||||
border-radius: var(--radius);
|
||||
border-radius: var(--MI-radius);
|
||||
|
||||
> .treasure {
|
||||
position: absolute;
|
||||
|
|
|
@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<template #prefix><i class="ti ti-search"></i></template>
|
||||
<template #label>{{ i18n.ts.host }}</template>
|
||||
</MkInput>
|
||||
<FormSplit style="margin-top: var(--margin);">
|
||||
<FormSplit style="margin-top: var(--MI-margin);">
|
||||
<MkSelect v-model="state">
|
||||
<template #label>{{ i18n.ts.state }}</template>
|
||||
<option value="all">{{ i18n.ts.all }}</option>
|
||||
|
|
|
@ -183,7 +183,7 @@ const initStats = () => misskeyApi('stats', {});
|
|||
flex-shrink: 0;
|
||||
display: flex;
|
||||
position: sticky;
|
||||
top: calc(var(--stickyTop, 0px) + 8px);
|
||||
top: calc(var(--MI-stickyTop, 0px) + 8px);
|
||||
counter-increment: item;
|
||||
content: counter(item);
|
||||
width: 32px;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue