Compare commits
	
		
			35 commits
		
	
	
		
			clickable-
			...
			develop
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | d9ab03f086 | ||
|  | a97fcd9e73 | ||
|  | 4c767f16f6 | ||
|  | 606d7dbc22 | ||
|  | e60a6cc621 | ||
|  | d4b146e77a | ||
|  | 406d088421 | ||
|  | 7c89a27e61 | ||
|  | 20aee2deed | ||
|  | 255f19bd23 | ||
|  | 06aeb49625 | ||
|  | 1b014bc3e5 | ||
|  | a9e13693a5 | ||
|  | 0b99ffa8f9 | ||
|  | d4e284c859 | ||
|  | eff9cdd8a7 | ||
|  | 057d1642c8 | ||
|  | 9db2380c20 | ||
|  | 9132c72545 | ||
|  | 4c3d094a45 | ||
|  | f337459c6e | ||
|  | e41810f142 | ||
|  | 25f4c8688a | ||
|  | d9ff2dd471 | ||
|  | 2c2c7d4966 | ||
|  | 2d8e7b4da7 | ||
|  | 786b150ea7 | ||
|  | 47b2e56967 | ||
|  | e0dce77678 | ||
|  | 4373019b36 | ||
|  | 0dfb9f8291 | ||
|  | 773139b737 | ||
|  | 806a80a1e5 | ||
|  | 450076cfa4 | ||
|  | 253f005e80 | 
					 362 changed files with 2770 additions and 2126 deletions
				
			
		
							
								
								
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -13,6 +13,9 @@ report.*.json | |||
| cypress/screenshots | ||||
| cypress/videos | ||||
| 
 | ||||
| # Coverage | ||||
| coverage | ||||
| 
 | ||||
| # config | ||||
| /.config/* | ||||
| !/.config/example.yml | ||||
|  |  | |||
|  | @ -9,10 +9,17 @@ | |||
| You should also include the user name that made the change. | ||||
| --> | ||||
| 
 | ||||
| ## 12.x.x (unreleased) | ||||
| ## 12.119.0 (2022/09/10) | ||||
| 
 | ||||
| ### Improvements | ||||
| - Client: Add following badge to user preview popup @nvisser | ||||
| - Client: mobile twitter url can be used as widget @caipira113 | ||||
| - Client: Improve clock widget @syuilo | ||||
| 
 | ||||
| ### Bugfixes | ||||
| - マイグレーションに失敗する問題を修正 | ||||
| - Server: 他人の通知を既読にできる可能性があるのを修正 @syuilo | ||||
| - Client: アクセストークン管理画面、アカウント管理画面表示できないのを修正 @futchitwo | ||||
| 
 | ||||
| ## 12.118.1 (2022/08/08) | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,7 +14,12 @@ This is the phase we are at now. We need to make a high-maintenance environment | |||
| 	- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986 | ||||
| 	- Add more tests | ||||
| 		- May need to implement a mechanism that allows for DI | ||||
| 			- https://github.com/misskey-dev/misskey/pull/9085 | ||||
| 	- Measure coverage | ||||
| 		- https://github.com/misskey-dev/misskey/pull/9081 | ||||
| - Improve documentation | ||||
| - Refactoring | ||||
| 	- Extract the logic of each endpoint definition into a service and just call it | ||||
| 
 | ||||
| ## (2) Improve functionality | ||||
| Once Phase 1 is complete and an environment conducive to the development of a stable system is in place, the implementation of new functions can begin gradually. | ||||
|  |  | |||
|  | @ -206,6 +206,7 @@ instanceFollowers: "Následovníci na instanci" | |||
| instanceUsers: "Uživatelé této instance" | ||||
| changePassword: "Změnit heslo" | ||||
| security: "Zabezpečení" | ||||
| retypedNotMatch: "Zadané údaje se neshodují." | ||||
| currentPassword: "Současné heslo" | ||||
| newPassword: "Nové heslo" | ||||
| newPasswordRetype: "Nové heslo (znovu)" | ||||
|  | @ -268,6 +269,7 @@ addFile: "Přidat soubor" | |||
| emptyFolder: "Tato složka je prázdná" | ||||
| unableToDelete: "Nelze smazat" | ||||
| inputNewFileName: "Zadejte nový název" | ||||
| inputNewFolderName: "Zadejte název nové složky" | ||||
| copyUrl: "Kopírovat URL" | ||||
| rename: "Přejmenovat" | ||||
| avatar: "Avatar" | ||||
|  | @ -310,9 +312,11 @@ pinnedUsers: "Připnutí uživatelé" | |||
| pinnedNotes: "Připnutá poznámka" | ||||
| hcaptcha: "hCaptcha" | ||||
| enableHcaptcha: "Aktivovat hCaptchu" | ||||
| hcaptchaSiteKey: "Klíč stránky" | ||||
| hcaptchaSecretKey: "Tajný Klíč (Secret Key)" | ||||
| recaptcha: "reCAPTCHA" | ||||
| enableRecaptcha: "Zapnout ReCAPTCHu" | ||||
| recaptchaSiteKey: "Klíč stránky" | ||||
| recaptchaSecretKey: "Tajný Klíč (Secret Key)" | ||||
| antennas: "Antény" | ||||
| manageAntennas: "Spravovat Antény" | ||||
|  | @ -321,6 +325,10 @@ antennaSource: "Zdroj Antény" | |||
| enableServiceworker: "Povolit ServiceWorker" | ||||
| caseSensitive: "Rozlišuje malá a velká písmena" | ||||
| connectedTo: "Následující účty jsou připojeny" | ||||
| notesAndReplies: "Poznámky a odpovědi" | ||||
| withFiles: "Včetně souborů" | ||||
| popularUsers: "Populární uživatelé" | ||||
| recentlyUpdatedUsers: "Nedávno aktívni uživatelé" | ||||
| popularTags: "Populární tagy" | ||||
| userList: "Seznamy" | ||||
| about: "Informace" | ||||
|  | @ -365,10 +373,14 @@ next: "Další" | |||
| retype: "Zadejte znovu" | ||||
| noteOf: "{user} poznámky" | ||||
| inviteToGroup: "Pozvat do skupiny" | ||||
| quoteAttached: "Citace" | ||||
| quoteQuestion: "Přiložit jako citaci?" | ||||
| noMessagesYet: "Zatím tu nejsou žádné zprávy" | ||||
| newMessageExists: "Máte novou zprávu" | ||||
| onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor" | ||||
| signinRequired: "Přihlašte se, prosím" | ||||
| invitations: "Pozvat" | ||||
| invitationCode: "Kód pozvánky" | ||||
| checking: "Ověřuji" | ||||
| available: "K dispozici" | ||||
| unavailable: "Není k dispozici" | ||||
|  | @ -382,6 +394,7 @@ passwordMatched: "Hesla se schodují" | |||
| passwordNotMatched: "Hesla se neschodují" | ||||
| signinWith: "Přihlásit se s {x}" | ||||
| signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo." | ||||
| tapSecurityKey: "Ťukněte na bezpečnostní klíč" | ||||
| or: "Nebo" | ||||
| language: "Jazyk" | ||||
| uiLanguage: "Jazyk uživatelského rozhraní" | ||||
|  | @ -411,9 +424,20 @@ accountSettings: "Nastavení účtu" | |||
| promotion: "Propagace" | ||||
| promote: "Propagovat" | ||||
| numberOfDays: "Počet dní" | ||||
| objectStorageBaseUrl: "Base URL" | ||||
| objectStorageBucket: "Bucket" | ||||
| objectStoragePrefix: "Předpona" | ||||
| objectStorageEndpoint: "Endpoint" | ||||
| objectStorageRegion: "Región" | ||||
| objectStorageUseSSL: "Použít SSL" | ||||
| deleteAll: "Smazat vše" | ||||
| showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou" | ||||
| listen: "Poslouchat" | ||||
| showInPage: "Zobrazit na stránce" | ||||
| popout: "Pop-out" | ||||
| volume: "Hlasitost" | ||||
| masterVolume: "Celková hlasitost" | ||||
| details: "Detaily" | ||||
| chooseEmoji: "Vybrat emotikon" | ||||
| unableToProcess: "Operace nebyla dokončena." | ||||
| recentUsed: "Naposledy použité" | ||||
|  | @ -434,13 +458,20 @@ deleteAllFiles: "Smazat všechny soubory" | |||
| deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?" | ||||
| userSuspended: "Tomuto uživateli byl pozastaven účet." | ||||
| menu: "Menu" | ||||
| divider: "Dělící čára" | ||||
| addItem: "Přidat položku" | ||||
| relays: "Relay" | ||||
| addRelay: "Přidat Relay" | ||||
| inboxUrl: "Inbox URL" | ||||
| deletedNote: "Odstraněné příspěvky" | ||||
| invisibleNote: "Skryté příspěvky" | ||||
| description: "Popis" | ||||
| author: "Autor" | ||||
| manage: "Administrace" | ||||
| width: "Šířka" | ||||
| height: "Výška" | ||||
| large: "Velké" | ||||
| medium: "Střední" | ||||
| small: "Malé" | ||||
| generateAccessToken: "Vygenerovat přístupový token" | ||||
| permission: "Oprávnění" | ||||
|  | @ -458,11 +489,16 @@ smtpPort: "Port" | |||
| smtpUser: "Uživatelské jméno" | ||||
| smtpPass: "Heslo" | ||||
| smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS" | ||||
| testEmail: "Otestovat doručení emailů" | ||||
| makeActive: "Aktivovat" | ||||
| display: "Zobrazit" | ||||
| copy: "Kopírovat" | ||||
| metrics: "Metriky" | ||||
| overview: "Shrnutí" | ||||
| logs: "Logy" | ||||
| delayed: "Prodleva" | ||||
| database: "Databáze" | ||||
| channel: "Kanály" | ||||
| create: "Vytvořit" | ||||
| notificationSetting: "Nastavení oznámení" | ||||
| useGlobalSetting: "Použít globální nastavení" | ||||
|  | @ -470,79 +506,415 @@ other: "Ostatní" | |||
| fileIdOrUrl: "ID nebo URL souboru" | ||||
| behavior: "Chování" | ||||
| sample: "Ukázka" | ||||
| send: "Odeslat" | ||||
| openInNewTab: "Otevřít v nové kartě" | ||||
| random: "Náhodně" | ||||
| system: "Systém" | ||||
| desktop: "Plocha" | ||||
| clip: "Oříznout" | ||||
| createNew: "Vytvořit nový" | ||||
| optional: "Volitelné" | ||||
| yes: "Ano" | ||||
| no: "Ne" | ||||
| notSet: "Není nastaveno" | ||||
| emailVerified: "Váš e-mail byl ověřen" | ||||
| contact: "Kontakt" | ||||
| useSystemFont: "Použít výchozí font systému" | ||||
| clips: "Oříznout" | ||||
| experimentalFeatures: "Experimentální funkce" | ||||
| developer: "Vývojář" | ||||
| duplicate: "Duplikovat" | ||||
| left: "Vlevo" | ||||
| center: "Uprostřed" | ||||
| wide: "Široké" | ||||
| narrow: "Úzké" | ||||
| clearCache: "Vyprázdnit mezipaměť" | ||||
| nUsers: "{n} užívatelů" | ||||
| nNotes: "{n} poznámek" | ||||
| myTheme: "Moje vzhledy" | ||||
| backgroundColor: "Pozadí" | ||||
| accentColor: "Akcent" | ||||
| textColor: "Barva textu" | ||||
| saveAs: "Uložit jako…" | ||||
| advanced: "Pokročilé" | ||||
| value: "Hodnota" | ||||
| createdAt: "Vytvořeno" | ||||
| updatedAt: "Upraveno" | ||||
| saveConfirm: "Uložit změny?" | ||||
| deleteConfirm: "Opravdu smazat?" | ||||
| invalidValue: "Neplatná hodnota." | ||||
| registry: "Registr" | ||||
| info: "Informace" | ||||
| unknown: "Neznámý" | ||||
| onlineStatus: "Online status" | ||||
| hideOnlineStatus: "Skrýt Váš online status" | ||||
| hideOnlineStatusDescription: "Skrytí vašeho online stavu může snížit funkcionalitu některých funkcí, například vyhledávání." | ||||
| online: "Online" | ||||
| active: "Aktivní" | ||||
| offline: "Offline" | ||||
| notRecommended: "Nedoporučuje se" | ||||
| botProtection: "Bot ochrana" | ||||
| instanceBlocking: "Blokované instance" | ||||
| selectAccount: "Vybrat účet" | ||||
| switchAccount: "Přepnout účet" | ||||
| enabled: "Zapnuto" | ||||
| disabled: "Vypnuto" | ||||
| quickAction: "Rychlé akce" | ||||
| user: "Uživatelé" | ||||
| administration: "Administrace" | ||||
| accounts: "Účty" | ||||
| switch: "Přepnout" | ||||
| configure: "Nastavit" | ||||
| gallery: "Galerie" | ||||
| recentPosts: "Poslední příspěvky" | ||||
| ads: "Reklamy" | ||||
| memo: "Memo" | ||||
| priority: "Priorita" | ||||
| high: "Vysoká" | ||||
| middle: "Střední" | ||||
| low: "Nízká" | ||||
| emailNotConfiguredWarning: "E-mailová adresa není nastavena." | ||||
| ratio: "Poměr" | ||||
| global: "Globální" | ||||
| sent: "Odeslat" | ||||
| hashtags: "Hashtagy" | ||||
| troubleshooting: "Poradce při potížích" | ||||
| whatIsNew: "Zobrazit změny" | ||||
| translate: "Přeložit" | ||||
| hide: "Skrýt" | ||||
| smartphone: "Telefon" | ||||
| tablet: "Tablet" | ||||
| auto: "Auto" | ||||
| size: "Velikost" | ||||
| numberOfColumn: "Počet sloupců" | ||||
| searchByGoogle: "Vyhledávání" | ||||
| indefinitely: "Navždy" | ||||
| tenMinutes: "10 minut" | ||||
| oneHour: "1 hodina" | ||||
| oneDay: "1 den" | ||||
| oneWeek: "1 týden" | ||||
| reflectMayTakeTime: "Může trvat nějakou dobu, než se projeví změny." | ||||
| cropImage: "Oříznout obrázek" | ||||
| file: "Soubor(ů)" | ||||
| recentNHours: "Posledních {n} hodin" | ||||
| recentNDays: "Posledních {n} dnů" | ||||
| recommended: "Doporučeno" | ||||
| deleteAccount: "Odstranit účet" | ||||
| document: "Dokumentace" | ||||
| logoutConfirm: "Opravdu se chcete odhlásit?" | ||||
| pleaseSelect: "Vybrat možnost" | ||||
| reverse: "Otočit" | ||||
| colored: "Barevné" | ||||
| type: "Typ" | ||||
| speed: "Rychlost" | ||||
| slow: "Pomalá" | ||||
| fast: "Rychlá" | ||||
| account: "Účty" | ||||
| _ad: | ||||
|   back: "Zpět" | ||||
| _gallery: | ||||
|   my: "Moje galerie" | ||||
| _email: | ||||
|   _follow: | ||||
|     title: "Máte nového následovníka" | ||||
| _plugin: | ||||
|   install: "Instalovat plugin" | ||||
|   manage: "Správce pluginů" | ||||
| _preferencesBackups: | ||||
|   list: "Vytvořit backup" | ||||
|   loadFile: "Načíst ze souboru" | ||||
|   save: "Uložit změny" | ||||
| _registry: | ||||
|   scope: "Rozsah" | ||||
|   key: "Klíč" | ||||
|   keys: "Klíče" | ||||
|   domain: "Doména" | ||||
|   createKey: "Vytvořit klíč" | ||||
| _aboutMisskey: | ||||
|   allContributors: "Všichni přispěvatelé" | ||||
|   source: "Zdrojový kód" | ||||
| _mfm: | ||||
|   mention: "Zmínění" | ||||
|   hashtag: "Hashtag" | ||||
|   link: "Odkaz" | ||||
|   bold: "Tučně" | ||||
|   quote: "Citovat" | ||||
|   emoji: "Vlastní emoji" | ||||
|   search: "Vyhledávání" | ||||
|   flip: "Otočit" | ||||
|   tada: "Animace (tadá)" | ||||
|   blur: "Rozmazání" | ||||
|   font: "Font" | ||||
|   rainbow: "Duha" | ||||
| _channel: | ||||
|   featured: "Trendy" | ||||
| _menuDisplay: | ||||
|   top: "Nahoru" | ||||
|   hide: "Skrýt" | ||||
| _theme: | ||||
|   install: "Nainstalovat vzhled" | ||||
|   manage: "Správa vzhledů" | ||||
|   code: "Kód vzhledu" | ||||
|   description: "Popis" | ||||
|   installedThemes: "Nainstalované vzhledy" | ||||
|   constant: "Konstanta" | ||||
|   defaultValue: "Výchozí hodnota" | ||||
|   color: "Barva" | ||||
|   key: "Klíč" | ||||
|   func: "Funkce " | ||||
|   keys: | ||||
|     shadow: "Stín" | ||||
|     header: "Nadpis" | ||||
|     link: "Odkaz" | ||||
|     hashtag: "Hashtag" | ||||
|     mention: "Zmínění" | ||||
|     renote: "Přeposlat" | ||||
|     divider: "Dělící čára" | ||||
| _sfx: | ||||
|   note: "Poznámky" | ||||
|   notification: "Oznámení" | ||||
|   chat: "Zprávy" | ||||
| _ago: | ||||
|   future: "Budoucí" | ||||
|   justNow: "Teď" | ||||
| _time: | ||||
|   second: "Sekund" | ||||
|   minute: "Minut" | ||||
|   hour: "Hodin" | ||||
| _2fa: | ||||
|   registerDevice: "Přidat zařízení" | ||||
|   registerKey: "Přidat bezpečnostní klíč" | ||||
| _weekday: | ||||
|   sunday: "Neděle" | ||||
|   monday: "Pondělí" | ||||
|   tuesday: "Úterý" | ||||
|   wednesday: "Středa" | ||||
|   thursday: "Čtvrtek" | ||||
|   friday: "Pátek" | ||||
|   saturday: "Sobota" | ||||
| _widgets: | ||||
|   notifications: "Oznámení" | ||||
|   timeline: "Časová osa" | ||||
|   calendar: "Kalendář" | ||||
|   trends: "Trendy" | ||||
|   clock: "Hodiny" | ||||
|   rss: "RSS čtečka" | ||||
|   activity: "Aktivita" | ||||
|   photos: "Fotky" | ||||
|   digitalClock: "Digitální hodiny" | ||||
|   federation: "Federace" | ||||
|   slideshow: "Prezentace" | ||||
|   button: "Tlačítko" | ||||
|   onlineUsers: "Online uživatelé" | ||||
|   jobQueue: "Fronta úloh" | ||||
|   aiscript: "AiScript conzole" | ||||
|   aichan: "Ai" | ||||
| _cw: | ||||
|   hide: "Skrýt" | ||||
|   show: "Zobrazit více" | ||||
| _poll: | ||||
|   noMore: "Více už přidat nemůžete" | ||||
|   infinite: "Nikdy" | ||||
|   deadlineDate: "Datum ukončení" | ||||
|   deadlineTime: "Hodin" | ||||
|   duration: "Trvání" | ||||
| _visibility: | ||||
|   home: "Domů" | ||||
|   followers: "Sledující" | ||||
| _postForm: | ||||
|   _placeholders: | ||||
|     f: "Čekám, až něco napíšete..." | ||||
| _profile: | ||||
|   name: "Jméno" | ||||
|   username: "Uživatelské jméno" | ||||
|   description: "O mně" | ||||
|   youCanIncludeHashtags: "V popisku o Vás můžete použít i hastagy." | ||||
|   metadata: "Doplňující informace" | ||||
|   metadataContent: "Obsah" | ||||
| _exportOrImport: | ||||
|   allNotes: "Všechny poznámky" | ||||
|   followingList: "Sledovaní" | ||||
|   muteList: "Ztlumit" | ||||
|   blockingList: "Zablokovat" | ||||
|   userLists: "Seznamy" | ||||
| _charts: | ||||
|   federation: "Federace" | ||||
|   apRequest: "Požadavek" | ||||
|   usersTotal: "Celkem uživatelů" | ||||
|   activeUsers: "Aktivní uživatelé" | ||||
|   notesTotal: "Celkový počet poznámek" | ||||
| _timelines: | ||||
|   home: "Domů" | ||||
|   global: "Globální" | ||||
| _pages: | ||||
|   newPage: "Vytvořit novou stránku" | ||||
|   editPage: "Upravit stránku" | ||||
|   created: "Stránka byla úspěšně vytvořena" | ||||
|   updated: "Stránka byla úspěšně aktualizována" | ||||
|   deleted: "Stránka byla úspěšně smazána" | ||||
|   pageSetting: "Nastavení stránky" | ||||
|   invalidNameText: "Ujistěte se že jméno stránky je vyplněno" | ||||
|   contents: "Obsah" | ||||
|   fontSerif: "Serif" | ||||
|   fontSansSerif: "Sans Serif" | ||||
|   chooseBlock: "Přidat blok" | ||||
|   selectType: "Vyberte typ" | ||||
|   contentBlocks: "Obsah" | ||||
|   inputBlocks: "Vstup" | ||||
|   specialBlocks: "Speciální" | ||||
|   blocks: | ||||
|     text: "Text" | ||||
|     textarea: "Textové pole" | ||||
|     section: "Sekce" | ||||
|     image: "Obrázky" | ||||
|     button: "Tlačítko" | ||||
|     if: "Pokud" | ||||
|     _if: | ||||
|       variable: "Proměnná" | ||||
|     _post: | ||||
|       text: "Obsah" | ||||
|       canvasId: "Canvas ID" | ||||
|     _textInput: | ||||
|       name: "Jméno proměnné" | ||||
|       text: "Titulek" | ||||
|       default: "Výchozí hodnota" | ||||
|     _textareaInput: | ||||
|       name: "Jméno proměnné" | ||||
|       text: "Titulek" | ||||
|       default: "Výchozí hodnota" | ||||
|     _numberInput: | ||||
|       name: "Jméno proměnné" | ||||
|       text: "Titulek" | ||||
|       default: "Výchozí hodnota" | ||||
|     canvas: "Canvas" | ||||
|     _canvas: | ||||
|       id: "Canvas ID" | ||||
|       width: "Šířka" | ||||
|       height: "Výška" | ||||
|     _switch: | ||||
|       name: "Jméno proměnné" | ||||
|       text: "Titulek" | ||||
|       default: "Výchozí hodnota" | ||||
|     _counter: | ||||
|       name: "Jméno proměnné" | ||||
|       text: "Titulek" | ||||
|       inc: "Krok" | ||||
|     _button: | ||||
|       text: "Titulek" | ||||
|       colored: "Barevné" | ||||
|       _action: | ||||
|         _dialog: | ||||
|           content: "Obsah" | ||||
|     _radioButton: | ||||
|       name: "Jméno proměnné" | ||||
|       default: "Výchozí hodnota" | ||||
|   script: | ||||
|     categories: | ||||
|       list: "Seznamy" | ||||
|     blocks: | ||||
|       text: "Text" | ||||
|       _strLen: | ||||
|         arg1: "Text" | ||||
|       _strPick: | ||||
|         arg1: "Text" | ||||
|       _strReplace: | ||||
|         arg1: "Text" | ||||
|       _strReverse: | ||||
|         arg1: "Text" | ||||
|       _join: | ||||
|         arg1: "Seznamy" | ||||
|       _subtract: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _multiply: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _divide: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _mod: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       round: "Zaokrouhlení zlomku" | ||||
|       _round: | ||||
|         arg1: "Číselná hodnota" | ||||
|       eq: "A a B jsou stejné" | ||||
|       _eq: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       notEq: "A a B jsou odlišné" | ||||
|       _notEq: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _and: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _or: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _lt: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _gt: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _ltEq: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       _gtEq: | ||||
|         arg1: "A" | ||||
|         arg2: "B" | ||||
|       if: "Větev" | ||||
|       _if: | ||||
|         arg1: "Pokud" | ||||
|         arg2: "Potom" | ||||
|         arg3: "Nebo" | ||||
|       random: "Náhodně" | ||||
|       _random: | ||||
|         arg1: "Pravděpodobnost" | ||||
|       rannum: "Náhodné číslo" | ||||
|       _rannum: | ||||
|         arg1: "Minimální hodnota" | ||||
|         arg2: "Maximální hodnota" | ||||
|       _randomPick: | ||||
|         arg1: "Seznamy" | ||||
|       _dailyRandom: | ||||
|         arg1: "Pravděpodobnost" | ||||
|       _dailyRannum: | ||||
|         arg1: "Minimální hodnota" | ||||
|         arg2: "Maximální hodnota" | ||||
|       _dailyRandomPick: | ||||
|         arg1: "Seznamy" | ||||
|       _seedRandom: | ||||
|         arg2: "Pravděpodobnost" | ||||
|       _seedRannum: | ||||
|         arg2: "Minimální hodnota" | ||||
|         arg3: "Maximální hodnota" | ||||
|       _seedRandomPick: | ||||
|         arg2: "Seznamy" | ||||
|       _pick: | ||||
|         arg1: "Seznamy" | ||||
|       _listLen: | ||||
|         arg1: "Seznamy" | ||||
|       number: "Číselná hodnota" | ||||
|       _stringToNumber: | ||||
|         arg1: "Text" | ||||
|       _numberToString: | ||||
|         arg1: "Číselná hodnota" | ||||
|       _splitStrByLine: | ||||
|         arg1: "Text" | ||||
|     types: | ||||
|       string: "Text" | ||||
|       number: "Číselná hodnota" | ||||
|       array: "Seznamy" | ||||
| _notification: | ||||
|   youWereFollowed: "Máte nového následovníka" | ||||
|   youWereInvitedToGroup: "Pozvat do skupiny" | ||||
|   _types: | ||||
|     all: "Vše" | ||||
|     follow: "Sledovaní" | ||||
|     mention: "Zmínění" | ||||
|     reply: "Odpovědi" | ||||
|     renote: "Přeposlat" | ||||
|     quote: "Citovat" | ||||
|     reaction: "Reakce" | ||||
|  |  | |||
|  | @ -562,6 +562,7 @@ author: "작성자" | |||
| leaveConfirm: "저장하지 않은 변경사항이 있습니다. 취소하시겠습니까?" | ||||
| manage: "관리" | ||||
| plugins: "플러그인" | ||||
| preferencesBackups: "환경설정 백업" | ||||
| deck: "덱" | ||||
| undeck: "덱 해제" | ||||
| useBlurEffectForModal: "모달에 흐림 효과 사용" | ||||
|  | @ -612,7 +613,7 @@ create: "생성" | |||
| notificationSetting: "알림 설정" | ||||
| notificationSettingDesc: "표시할 알림의 종류를 선택해 주세요." | ||||
| useGlobalSetting: "글로벌 설정을 사용하기" | ||||
| useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용되니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다." | ||||
| useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용됩니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다." | ||||
| other: "기타" | ||||
| regenerateLoginToken: "로그인 토큰을 재생성" | ||||
| regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다." | ||||
|  | @ -941,6 +942,24 @@ _plugin: | |||
|   install: "플러그인 설치" | ||||
|   installWarn: "신뢰할 수 없는 플러그인은 설치하지 않는 것이 좋습니다." | ||||
|   manage: "플러그인 관리" | ||||
| _preferencesBackups: | ||||
|   list: "생성한 백업" | ||||
|   saveNew: "새 백업 만들기" | ||||
|   loadFile: "파일 가져오기" | ||||
|   apply: "이 기기에 적용" | ||||
|   save: "현재 설정으로 덮어쓰기" | ||||
|   inputName: "백업 이름을 입력하세요" | ||||
|   cannotSave: "저장하지 못했습니다" | ||||
|   nameAlreadyExists: "\"{name}\" 백업이 이미 존재합니다. 다른 이름을 설정하여 주십시오." | ||||
|   applyConfirm: "\"{name}\" 백업을 현재 기기에 적용하시겠습니까? 현재 설정은 덮어 씌워집니다." | ||||
|   saveConfirm: "{name} 을 덮어쓰시겠습니까?" | ||||
|   deleteConfirm: "{name} 을(를) 삭제하시겠습니까?" | ||||
|   renameConfirm: "\"{old}\" 백업을 \"{new}\"(으)로 바꾸시겠습니까?" | ||||
|   noBackups: "저장된 백업이 없습니다. \"새 백업 만들기\"를 눌러 현재 클라이언트 설정을 서버에 백업할 수 있습니다." | ||||
|   createdAt: "생성 날짜: {date} {time}" | ||||
|   updatedAt: "갱신 날짜: {date} {time}" | ||||
|   cannotLoad: "가져오기에 실패했습니다" | ||||
|   invalidFile: "파일 형식이 올바르지 않습니다." | ||||
| _registry: | ||||
|   scope: "범위" | ||||
|   key: "키" | ||||
|  | @ -1258,6 +1277,7 @@ _widgets: | |||
|   activity: "활동" | ||||
|   photos: "사진" | ||||
|   digitalClock: "디지털 시계" | ||||
|   unixClock: "UNIX 시계" | ||||
|   federation: "연합" | ||||
|   instanceCloud: "인스턴스 구름" | ||||
|   postForm: "글 입력란" | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| --- | ||||
| _lang_: "język polski" | ||||
| _lang_: "Polski" | ||||
| headlineMisskey: "Sieć połączona wpisami" | ||||
| introMisskey: "Misskey jest serwisem mikroblogowym typu open source.\nMisskey to opensource'owy serwis mikroblogowy, w którym możesz tworzyć \"notatki\", aby dzielić się tym, co się dzieje i opowiadać wszystkim o sobie.\nMożesz również użyć funkcji \"Reakcje\", aby szybko dodać własne reakcje do notatek innych użytkowników👍.\nOdkrywaj nowy świat🚀!" | ||||
| monthAndDay: "{month}-{day}" | ||||
|  | @ -88,7 +88,7 @@ enterListName: "Nazwa listy" | |||
| privacy: "Prywatność" | ||||
| makeFollowManuallyApprove: "Prośby o możliwość obserwacji wymagają zatwierdzenia" | ||||
| defaultNoteVisibility: "Domyślna widoczność" | ||||
| follow: "Obserwowani" | ||||
| follow: "Obserwuj" | ||||
| followRequest: "Poproś o możliwość obserwacji" | ||||
| followRequests: "Prośby o możliwość obserwacji" | ||||
| unfollow: "Przestań obserwować" | ||||
|  | @ -127,7 +127,7 @@ unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?" | |||
| selectList: "Wybierz listę" | ||||
| selectAntenna: "Wybierz Antennę" | ||||
| selectWidget: "Wybierz widżet" | ||||
| editWidgets: "Edytuj widżet" | ||||
| editWidgets: "Edytuj widżety" | ||||
| editWidgetsExit: "Gotowe" | ||||
| customEmojis: "Niestandardowe emoji" | ||||
| emoji: "Emoji" | ||||
|  | @ -142,6 +142,7 @@ flagAsBot: "To konto jest botem" | |||
| flagAsBotDescription: "Jeżeli ten kanał jest kontrolowany przez jakiś program, ustaw tę opcję. Jeżeli włączona, będzie działać jako flaga informująca innych programistów, aby zapobiegać nieskończonej interakcji z różnymi botami i dostosowywać wewnętrzne systemy Misskey, traktując konto jako bota." | ||||
| flagAsCat: "To konto jest kotem" | ||||
| flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot." | ||||
| flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu" | ||||
| autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz" | ||||
| addAccount: "Dodaj konto" | ||||
| loginFailed: "Nie udało się zalogować" | ||||
|  | @ -201,6 +202,7 @@ done: "Gotowe" | |||
| processing: "Przetwarzanie" | ||||
| preview: "Podgląd" | ||||
| default: "Domyślne" | ||||
| defaultValueIs: "Domyślne: {value}" | ||||
| noCustomEmojis: "Brak emoji" | ||||
| noJobs: "Brak zadań" | ||||
| federating: "Federowanie" | ||||
|  | @ -235,6 +237,7 @@ resetAreYouSure: "Czy na pewno chcesz zresetować?" | |||
| saved: "Zapisano" | ||||
| messaging: "Wiadomości" | ||||
| upload: "Wyślij" | ||||
| keepOriginalUploading: "Zachowaj oryginalny obraz" | ||||
| fromDrive: "Z dysku" | ||||
| fromUrl: "Z adresu URL" | ||||
| uploadFromUrl: "Wyślij z adresu URL" | ||||
|  | @ -377,6 +380,7 @@ administrator: "Admin" | |||
| token: "Token" | ||||
| twoStepAuthentication: "Uwierzytelnianie dwuskładnikowe" | ||||
| moderator: "Moderator" | ||||
| moderation: "Moderacja" | ||||
| nUsersMentioned: "{n} wspomnianych użytkowników" | ||||
| securityKey: "Klucz bezpieczeństwa" | ||||
| securityKeyName: "Nazwa klucza" | ||||
|  | @ -444,11 +448,13 @@ uiLanguage: "Język wyświetlania UI" | |||
| groupInvited: "Zaproszony(-a) do grupy" | ||||
| aboutX: "O {x}" | ||||
| useOsNativeEmojis: "Używaj natywnych Emoji systemu" | ||||
| disableDrawer: "Nie używaj menu w stylu szuflady" | ||||
| youHaveNoGroups: "Nie masz żadnych grup" | ||||
| joinOrCreateGroup: "Uzyskaj zaproszenie do dołączenia do grupy lub utwórz własną grupę." | ||||
| noHistory: "Brak historii" | ||||
| signinHistory: "Historia logowania" | ||||
| disableAnimatedMfm: "Wyłącz MFM z animacją" | ||||
| doing: "Przetwarzanie..." | ||||
| category: "Kategoria" | ||||
| tags: "Tagi" | ||||
| docSource: "Źródło tego dokumentu" | ||||
|  | @ -523,6 +529,9 @@ deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?" | |||
| removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj to, jeżeli instancja już nie istnieje." | ||||
| userSuspended: "To konto zostało zawieszone." | ||||
| userSilenced: "Ten użytkownik został wyciszony." | ||||
| yourAccountSuspendedTitle: "To konto jest zawieszone" | ||||
| yourAccountSuspendedDescription: "To konto zostało zawieszone z powodu złamania regulaminu serwera lub innych podobnych. Skontaktuj się z administratorem, jeśli chciałbyś poznać bardziej szczegółowy powód. Proszę nie zakładać nowego konta." | ||||
| menu: "Menu" | ||||
| divider: "Rozdzielacz" | ||||
| addItem: "Dodaj element" | ||||
| relays: "Przekaźniki" | ||||
|  | @ -541,7 +550,7 @@ disablePlayer: "Zamknij odtwarzacz wideo" | |||
| expandTweet: "Rozwiń tweet" | ||||
| themeEditor: "Edytor motywu" | ||||
| description: "Opis" | ||||
| describeFile: "dodaj podpis" | ||||
| describeFile: "Dodaj podpis" | ||||
| enterFileDescription: "Wprowadź napis" | ||||
| author: "Autor" | ||||
| leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?" | ||||
|  | @ -578,6 +587,7 @@ emptyToDisableSmtpAuth: "Pozostaw adres e-mail i hasło puste, aby wyłączyć w | |||
| smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS" | ||||
| testEmail: "Przetestuj dostarczanie wiadomości e-mail" | ||||
| wordMute: "Wyciszenie słowa" | ||||
| instanceMute: "Wyciszone instancje" | ||||
| userSaysSomething: "{name} powiedział(-a) coś" | ||||
| makeActive: "Aktywuj" | ||||
| display: "Wyświetlanie" | ||||
|  | @ -607,6 +617,7 @@ fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy | |||
| abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy." | ||||
| reporteeOrigin: "Pochodzenie zgłoszonego" | ||||
| reporterOrigin: "Pochodzenie zgłaszającego" | ||||
| forwardReport: "Przekaż zgłoszenie do innej instancji" | ||||
| send: "Wyślij" | ||||
| abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane" | ||||
| openInNewTab: "Otwórz w nowej karcie" | ||||
|  | @ -619,8 +630,12 @@ random: "Losowe" | |||
| system: "System" | ||||
| switchUi: "Przełącz interfejs użytkownika" | ||||
| desktop: "Pulpit" | ||||
| clip: "Klip" | ||||
| createNew: "Utwórz nowy" | ||||
| optional: "Nieobowiązkowe" | ||||
| createNewClip: "Utwórz nowy klip" | ||||
| unclip: "Odczep" | ||||
| confirmToUnclipAlreadyClippedNote: "Ten wpis jest już częścią klipu \"{name}\". Czy chcesz ją usunąć z tego klipu?" | ||||
| public: "Publiczny" | ||||
| i18nInfo: "Misskey jest tłumaczone na wiele języków przez wolontariuszy. Możesz pomóc na {link}." | ||||
| manageAccessTokens: "Zarządzaj tokenami dostępu" | ||||
|  | @ -654,6 +669,7 @@ pageLikesCount: "Liczba otrzymanych polubień stron" | |||
| pageLikedCount: "Liczba polubionych stron" | ||||
| contact: "Kontakt" | ||||
| useSystemFont: "Używaj domyślnej czcionki systemu" | ||||
| clips: "Klipy" | ||||
| experimentalFeatures: "Eksperymentalne funkcje" | ||||
| developer: "Programista" | ||||
| makeExplorable: "Pokazuj konto na stronie „Eksploruj”" | ||||
|  | @ -725,6 +741,7 @@ notRecommended: "Nie zalecane" | |||
| botProtection: "Zabezpieczenie przed botami" | ||||
| instanceBlocking: "Zablokowane instancje" | ||||
| selectAccount: "Wybierz konto" | ||||
| switchAccount: "Przełącz konto" | ||||
| enabled: "Właczono" | ||||
| disabled: "Wyłączono" | ||||
| quickAction: "Szybkie działania" | ||||
|  | @ -756,22 +773,103 @@ global: "Globalna" | |||
| squareAvatars: "Wyświetlaj kwadratowe awatary" | ||||
| sent: "Wyślij" | ||||
| received: "Otrzymane" | ||||
| searchResult: "Wyniki wyszukiwania" | ||||
| hashtags: "Hashtag" | ||||
| troubleshooting: "Rozwiązywanie problemów" | ||||
| useBlurEffect: "Użyj efektów rozmycia w UI" | ||||
| learnMore: "Dowiedz się więcej" | ||||
| misskeyUpdated: "Misskey zostało zaktualizowane!" | ||||
| whatIsNew: "Pokaż zmiany" | ||||
| translate: "Przetłumacz" | ||||
| translatedFrom: "Przetłumaczone z {x}" | ||||
| accountDeletionInProgress: "Trwa usuwanie konta" | ||||
| usernameInfo: "Nazwa, która identyfikuje Twoje konto spośród innych na tym serwerze.  Możesz użyć alfabetu (a~z, A~Z), cyfr (0~9) lub podkreślników (_). Nazwy użytkownika nie mogą być później zmieniane." | ||||
| aiChanMode: "Tryb Ai" | ||||
| keepCw: "Zostaw ostrzeżenia o zawartości" | ||||
| pubSub: "Konta Pub/Sub" | ||||
| resolved: "Rozwiązane" | ||||
| unresolved: "Nierozwiązane" | ||||
| breakFollow: "Usuń obserwującego" | ||||
| itsOn: "Włączone" | ||||
| itsOff: "Wyłączone" | ||||
| unread: "Nieodczytane" | ||||
| filter: "Filtr" | ||||
| controlPanel: "Panel sterowania" | ||||
| manageAccounts: "Zarządzaj kontami" | ||||
| makeReactionsPublic: "Ustawić historię reakcji jako publiczną" | ||||
| makeReactionsPublicDescription: "To spowoduje, że lista wszystkich Twoich dotychczasowych reakcji będzie publicznie widoczna." | ||||
| classic: "Klasyczny" | ||||
| muteThread: "Wycisz wątek" | ||||
| unmuteThread: "Wyłącz wyciszenie wątku" | ||||
| ffVisibility: "Widoczność obserwowanych/obserwujących" | ||||
| ffVisibilityDescription: "Pozwala skonfigurować, kto może zobaczyć, kogo obserwujesz i kto Cię obserwuje." | ||||
| continueThread: "Pokaż kontynuację wątku" | ||||
| deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?" | ||||
| incorrectPassword: "Nieprawidłowe hasło." | ||||
| voteConfirm: "Potwierdzić swój głos na \"{choice}\"?" | ||||
| hide: "Ukryj" | ||||
| leaveGroup: "Opuść grupę" | ||||
| leaveGroupConfirm: "Czy na pewno chcesz opuścić \"{name}\"?" | ||||
| useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych" | ||||
| welcomeBackWithName: "Witaj z powrotem, {name}" | ||||
| clickToFinishEmailVerification: "Kliknij [{ok}], aby zakończyć weryfikację e-mail." | ||||
| overridedDeviceKind: "Typ urządzenia" | ||||
| smartphone: "Smartfon" | ||||
| tablet: "Tablet" | ||||
| auto: "Automatycznie" | ||||
| size: "Rozmiar" | ||||
| numberOfColumn: "Liczba kolumn" | ||||
| searchByGoogle: "Szukaj" | ||||
| indefinitely: "Nigdy" | ||||
| file: "Pliki" | ||||
| logoutConfirm: "Czy na pewno chcesz się wylogować?" | ||||
| lastActiveDate: "Ostatnio użyte w" | ||||
| statusbar: "Pasek stanu" | ||||
| pleaseSelect: "Wybierz opcję" | ||||
| reverse: "Odwróć" | ||||
| colored: "Kolorowe" | ||||
| label: "Etykieta" | ||||
| type: "Typ" | ||||
| speed: "Prędkość" | ||||
| localOnly: "Lokalne tylko" | ||||
| failedToUpload: "Przesyłanie nie powiodło się" | ||||
| cannotUploadBecauseInappropriate: "Nie można przesłać tego pliku, ponieważ jego części zostały wykryte jako potencjalnie nieodpowiednie." | ||||
| cannotUploadBecauseNoFreeSpace: "Przesyłanie nie powiodło się z powodu braku miejsca na dysku." | ||||
| beta: "Beta" | ||||
| enableAutoSensitive: "Automatyczne oznaczanie NSFW" | ||||
| enableAutoSensitiveDescription: "Umożliwia automatyczne wykrywanie i oznaczanie zawartości NSFW za pomocą uczenia maszynowego. Nawet jeśli ta opcja jest wyłączona, może być włączona w całej instancji." | ||||
| navbar: "Pasek nawigacyjny" | ||||
| account: "Konta" | ||||
| move: "Przenieś" | ||||
| _sensitiveMediaDetection: | ||||
|   description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera." | ||||
|   setSensitiveFlagAutomatically: "Oznacz jako NSFW" | ||||
| _emailUnavailable: | ||||
|   used: "Ten adres e-mail jest już używany" | ||||
|   format: "Format tego adresu e-mail jest nieprawidłowy" | ||||
|   disposable: "Nie można używać jednorazowych adresów e-mail" | ||||
|   mx: "Ten serwer e-mail jest nieprawidłowy" | ||||
|   smtp: "Ten serwer e-mail nie odpowiada" | ||||
| _ffVisibility: | ||||
|   public: "Publikuj" | ||||
|   public: "Publiczne" | ||||
|   followers: "Widoczne tylko dla obserwujących" | ||||
|   private: "Prywatne" | ||||
| _signup: | ||||
|   almostThere: "Prawie na miejscu" | ||||
|   emailAddressInfo: "Podaj swój adres e-mail. Nie zostanie on upubliczniony." | ||||
|   emailSent: "E-mail z potwierdzeniem został wysłany na Twój adres e-mail ({email}). Kliknij dołączony link, aby dokończyć tworzenie konta." | ||||
| _accountDelete: | ||||
|   accountDelete: "Usuń konto" | ||||
|   mayTakeTime: "Ponieważ usuwanie konta jest procesem wymagającym dużej ilości zasobów, jego ukończenie może zająć trochę czasu, w zależności od ilości utworzonej zawartości i liczby przesłanych plików." | ||||
|   sendEmail: "Po zakończeniu usuwania konta na adres e-mail zarejestrowany na tym koncie zostanie wysłana wiadomość e-mail." | ||||
|   requestAccountDelete: "Poproś o usunięcie konta" | ||||
|   started: "Usuwanie się rozpoczęło." | ||||
|   inProgress: "Usuwanie jest obecnie w toku" | ||||
| _ad: | ||||
|   back: "Wróć" | ||||
|   reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej" | ||||
| _forgotPassword: | ||||
|   enterEmail: "Wpisz adres e-mail użyty do rejestracji. Zostanie do niego wysłany link, za pomocą którego możesz zresetować hasło." | ||||
|   ifNoEmail: "Jeżeli nie podano adresu e-mail podczas rejestracji, skontaktuj się z administratorem zamiast tego." | ||||
|   contactAdmin: "Jeżeli Twoja instancja nie obsługuje adresów e-mail, skontaktuj się zamiast tego z administratorem, aby zresetować hasło." | ||||
| _gallery: | ||||
|  | @ -788,6 +886,23 @@ _plugin: | |||
|   install: "Zainstaluj wtyczki" | ||||
|   installWarn: "Nie instaluj niezaufanych wtyczek." | ||||
|   manage: "Zarządzanie wtyczkami" | ||||
| _preferencesBackups: | ||||
|   list: "Utworzone kopie zapasowe" | ||||
|   saveNew: "Zapisz nową kopię zapasową" | ||||
|   loadFile: "Załaduj z pliku" | ||||
|   apply: "Zastosuj do tego urządzenia" | ||||
|   save: "Zapisz zmiany" | ||||
|   inputName: "Proszę podać nazwę dla tej kopii zapasowej" | ||||
|   cannotSave: "Zapisanie nie powiodło się" | ||||
|   nameAlreadyExists: "Kopia zapasowa o nazwie \"{name}\" już istnieje. Proszę podać inną nazwę." | ||||
|   applyConfirm: "Czy na pewno chcesz zastosować kopię zapasową \"{name}\" na tym urządzeniu? Istniejące ustawienia tego urządzenia zostaną nadpisane." | ||||
|   saveConfirm: "Zapisać kopię zapasową jako {name}?" | ||||
|   deleteConfirm: "Usunąć kopię zapasową {name}?" | ||||
|   renameConfirm: "Zmienić nazwę kopii zapasowej z \"{old}\" na \"{new}\"?" | ||||
|   createdAt: "Utworzony w: {date} {time}" | ||||
|   updatedAt: "Zaktualizowano w: {date} {time}" | ||||
|   cannotLoad: "Ładowanie nie powiodło się" | ||||
|   invalidFile: "Nieprawidłowy format pliku" | ||||
| _registry: | ||||
|   scope: "Zakres" | ||||
|   key: "Klucz" | ||||
|  | @ -822,10 +937,13 @@ _mfm: | |||
|   bold: "Pogrubienie" | ||||
|   boldDescription: "Wyróżnia litery pogrubiając je." | ||||
|   small: "Małe" | ||||
|   smallDescription: "Wyświetla treść jako małą i cienką." | ||||
|   center: "Wyśrodkowanie" | ||||
|   centerDescription: "Wyśrodkowuje zawartość." | ||||
|   inlineCode: "Kod (w wierszu)" | ||||
|   blockCode: "Kod (blok)" | ||||
|   blockCodeDescription: "Wyświetla kod z podświetlaną składnią składający się z wielu linii." | ||||
|   blockMath: "Matematyka (Blok)" | ||||
|   quote: "Cytuj" | ||||
|   quoteDescription: "Wyświetla treść jako cytat." | ||||
|   emoji: "Niestandardowe emoji" | ||||
|  | @ -834,6 +952,20 @@ _mfm: | |||
|   searchDescription: "Wyświetla pole wyszukiwania z wcześniej wpisanym tekstem." | ||||
|   flip: "Odwróć" | ||||
|   flipDescription: "Przerzuca treść poziomo lub pionowo." | ||||
|   jelly: "Animacja (Galaretka)" | ||||
|   jellyDescription: "Nadaje treści galaretowatą animację." | ||||
|   tada: "Animation (Tada)" | ||||
|   tadaDescription: "Nadaje treści animację podobną do \"Tada!\"." | ||||
|   jump: "Animacja (Skok)" | ||||
|   jumpDescription: "Nadaje treści animację skakania." | ||||
|   bounce: "Animacja (Odbijanie)" | ||||
|   bounceDescription: "Nadaje treści animację odbijania się." | ||||
|   shake: "Animacja (Wstrząsanie)" | ||||
|   shakeDescription: "Nadaje treści animację wstrząsania." | ||||
|   twitch: "Animacja (Drganie)" | ||||
|   twitchDescription: "Nadaje treści mocno drgającą animację." | ||||
|   spin: "Animacja (Obrót)" | ||||
|   spinDescription: "Nadaje treści animację obracania." | ||||
|   x2: "Duże" | ||||
|   x2Description: "Czyni treść większą." | ||||
|   x3: "Bardzo duże" | ||||
|  | @ -841,9 +973,17 @@ _mfm: | |||
|   x4: "Ogromne" | ||||
|   x4Description: "Czyni treść jeszcze większą niż jeszcze większa." | ||||
|   blur: "Rozmycie" | ||||
|   blurDescription: "Rozmywa treść. Zostanie wyraźnie wyświetlona po najechaniu." | ||||
|   font: "Czcionka" | ||||
|   fontDescription: "Wybiera czcionkę do wyświetlania treści." | ||||
|   rainbow: "Tęcza" | ||||
|   rainbowDescription: "Sprawia, że zawartość pojawia się w kolorach tęczy." | ||||
|   sparkle: "Blask" | ||||
|   sparkleDescription: "Nadaje zawartości efekt lśniącego brokatu." | ||||
|   rotate: "Obróć" | ||||
|   rotateDescription: "Obraca zawartość o określony kąt." | ||||
|   plain: "Zwyczajny" | ||||
|   plainDescription: "Wyłącza efekty wszystkich MFM zawartych w tym efekcie MFM." | ||||
| _instanceTicker: | ||||
|   none: "Nigdy nie pokazuj" | ||||
|   remote: "Pokaż dla zdalnych użytkowników" | ||||
|  | @ -863,6 +1003,7 @@ _channel: | |||
|   usersCount: "{n} uczestnicy" | ||||
|   notesCount: "{n} wpisy" | ||||
| _menuDisplay: | ||||
|   top: "Góra" | ||||
|   hide: "Ukryj" | ||||
| _wordMute: | ||||
|   muteWords: "Słowo do wyciszenia" | ||||
|  | @ -870,6 +1011,9 @@ _wordMute: | |||
|   soft: "Łagodny" | ||||
|   hard: "Twardy" | ||||
|   mutedNotes: "Wyciszone wpisy" | ||||
| _instanceMute: | ||||
|   title: "Ukrywa wpisy z wymienionych instancji." | ||||
|   heading: "Lista instancji do wyciszenia" | ||||
| _theme: | ||||
|   explore: "Przeglądaj motywy" | ||||
|   install: "Zainstaluj motyw" | ||||
|  | @ -950,6 +1094,7 @@ _sfx: | |||
|   notification: "Powiadomienia" | ||||
|   chat: "Wiadomości" | ||||
|   chatBg: "Rozmowy (tło)" | ||||
|   antenna: "Anteny" | ||||
|   channel: "Powiadomienia kanału" | ||||
| _ago: | ||||
|   future: "W przyszłości" | ||||
|  | @ -969,12 +1114,30 @@ _time: | |||
| _tutorial: | ||||
|   title: "Jak korzystać z Misskey" | ||||
|   step1_1: "Witaj!" | ||||
|   step1_2: "Ta strona nazywa się „oś czasu”. Pokazuje chronologicznie uporządkowane wpisy osób, które „śledzisz”." | ||||
|   step1_3: "Twoja oś czasu jest jeszcze pusta, ponieważ nie opublikowałeś(-aś) jeszcze żadnych wpisów i nie obserwujesz jeszcze nikogo." | ||||
|   step2_1: "Ukończmy konfigurację profilu zanim utworzymy wpis lub zaczniemy kogoś obserwować." | ||||
|   step2_2: "Podanie pewnych informacji o tym, kim jesteś, ułatwi innym określenie, czy chcą widzieć Twoje wpisy lub Cię obserwować." | ||||
|   step3_1: "Zakończyłeś(-aś) konfigurację profilu?" | ||||
|   step3_2: "Następnie spróbujmy opublikować wpis. Możesz to zrobić, naciskając przycisk z ikoną ołówka na ekranie." | ||||
|   step3_3: "Wypełnij pole i kliknij przycisk w prawym górnym rogu by wysłać post." | ||||
|   step3_4: "Nie masz nic do powiedzenia? Spróbuj \"ustawiam swój misskey\"!" | ||||
|   step4_1: "Zakończyłeś publikowanie pierwszego wpisu?" | ||||
|   step4_2: "Hurra! Teraz Twój pierwszy wpis powinien być wyświetlany na Twojej osi czasu." | ||||
|   step5_1: "Teraz spróbujmy ożywić Twoją oś czasu, przez zaobserwowanie innych ludzi." | ||||
|   step5_2: "{featured} pokaże Ci popularne wpisy na tej instancji. {explore} pozwoli Ci znaleźć popularnych użytkowników. Spróbuj znaleźć tam osoby, które chcesz obserwować!" | ||||
|   step5_3: "Aby obserwować innych użytkowników, kliknij ich ikonę i naciśnij przycisk \"Obserwuj\" na ich profilu." | ||||
|   step5_4: "Jeśli inny użytkownik ma ikonę kłódki obok swojej nazwy, może minąć trochę czasu, zanim ten użytkownik ręcznie zatwierdzi Twoją prośbę o obserwowanie." | ||||
|   step6_1: "Powinieneś teraz widzieć wpisy innych użytkowników na swojej osi czasu." | ||||
|   step6_2: "Możesz także umieścić „reakcje” na wpisach innych osób, aby szybko na nie odpowiedzieć." | ||||
|   step6_3: "Aby dodać \"reakcję\", naciśnij znak \"+\" na wpisie innego użytkownika i wybierz emotikonę, którą chcesz zareagować." | ||||
|   step7_1: "Gratulacje! Ukończyłeś podstawowy samouczek Misskey." | ||||
|   step7_2: "Jeśli chcesz dowiedzieć się więcej o Misskey, wypróbuj sekcję {help}." | ||||
|   step7_3: "A teraz powodzenia i baw się dobrze z Misskey! 🚀" | ||||
| _2fa: | ||||
|   alreadyRegistered: "Zarejestrowałeś już urządzenie do uwierzytelniania dwuskładnikowego." | ||||
|   registerDevice: "Zarejestruj nowe urządzenie" | ||||
|   registerKey: "Zarejestruj klucz bezpieczeństwa" | ||||
|   step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu." | ||||
|   step2: "Następnie, zeskanuje kod QR z ekranu." | ||||
|   step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację." | ||||
|  | @ -990,6 +1153,7 @@ _permissions: | |||
|   "write:favorites": "Edycja Twojej listy ulubionych." | ||||
|   "read:following": "Wyświetlanie informacji o obserwowanych" | ||||
|   "write:following": "Obserwowanie lub cofanie obserwacji innych kont" | ||||
|   "read:messaging": "Zobacz swoje czaty" | ||||
|   "read:mutes": "Wyświetlanie listy osób, które wyciszyłeś(-aś)" | ||||
|   "write:mutes": "Edycja listy osób, które wyciszyłeś(-aś)" | ||||
|   "read:notifications": "Wyświetlanie powiadomień" | ||||
|  | @ -1003,6 +1167,10 @@ _permissions: | |||
|   "write:page-likes": "Edycja polubień na stronach" | ||||
|   "read:user-groups": "Wyświetlanie grup użytkownika" | ||||
|   "write:user-groups": "Edycja lub usuwanie grup użytkownika" | ||||
|   "read:channels": "Zobacz swoje kanały" | ||||
|   "write:channels": "Edytuj swoje kanały" | ||||
|   "read:gallery": "Zobacz swoją galerię" | ||||
|   "write:gallery": "Edytuj swoją galerię" | ||||
| _auth: | ||||
|   shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?" | ||||
|   permissionAsk: "Ta aplikacja wymaga następujących uprawnień:" | ||||
|  | @ -1021,12 +1189,21 @@ _widgets: | |||
|   calendar: "Kalendarz" | ||||
|   trends: "Na czasie" | ||||
|   clock: "Zegar" | ||||
|   rss: "Czytnik RSS" | ||||
|   activity: "Aktywność" | ||||
|   photos: "Zdjęcia" | ||||
|   digitalClock: "Zegar cyfrowy" | ||||
|   unixClock: "Zegar UNIX" | ||||
|   federation: "Federacja" | ||||
|   postForm: "Utwórz wpis" | ||||
|   instanceCloud: "Chmura instancji" | ||||
|   postForm: "Formularz tworzenia wpisu" | ||||
|   slideshow: "Pokaz slajdów" | ||||
|   button: "Przycisk" | ||||
|   onlineUsers: "Użytkownicy online" | ||||
|   jobQueue: "Kolejka zadań" | ||||
|   serverMetric: "Metryka serwera" | ||||
|   aiscript: "Konsola AiScript" | ||||
|   aichan: "Ai" | ||||
| _cw: | ||||
|   hide: "Ukryj" | ||||
|   show: "Załaduj więcej" | ||||
|  | @ -1393,9 +1570,11 @@ _notification: | |||
|   youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji" | ||||
|   yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta" | ||||
|   youWereInvitedToGroup: "Zaproszony(-a) do grupy" | ||||
|   pollEnded: "Wyniki ankiety stały się dostępne" | ||||
|   emptyPushNotificationMessage: "Powiadomienia push zostały zaktualizowane" | ||||
|   _types: | ||||
|     all: "Wszystkie" | ||||
|     follow: "Obserwowani" | ||||
|     follow: "Nowi obserwujący" | ||||
|     mention: "Wspomnij" | ||||
|     reply: "Odpowiedzi" | ||||
|     renote: "Udostępnij" | ||||
|  | @ -1407,12 +1586,14 @@ _notification: | |||
|     groupInvited: "Zaproszono do grup" | ||||
|     app: "Powiadomienia z aplikacji" | ||||
|   _actions: | ||||
|     followBack: "zaobserwował cię z powrotem" | ||||
|     reply: "Odpowiedz" | ||||
|     renote: "Udostępnij" | ||||
| _deck: | ||||
|   alwaysShowMainColumn: "Zawsze pokazuj główną kolumnę" | ||||
|   columnAlign: "Wyrównaj kolumny" | ||||
|   addColumn: "Dodaj kolumnę" | ||||
|   configureColumn: "Ustawienia kolumny" | ||||
|   swapLeft: "Przesuń w lewo" | ||||
|   swapRight: "Przesuń w prawo" | ||||
|   swapUp: "Zamień z powyższym" | ||||
|  | @ -1420,6 +1601,9 @@ _deck: | |||
|   stackLeft: "Przypnij do lewej" | ||||
|   popRight: "Odepnij w prawo" | ||||
|   profile: "Profil" | ||||
|   newProfile: "Nowy profil" | ||||
|   deleteProfile: "Usuń profil" | ||||
|   widgetsIntroduction: "Wybierz \"Edytuj widżety\" w menu kolumny i dodaj widżet." | ||||
|   _columns: | ||||
|     main: "Główna" | ||||
|     widgets: "Widżety" | ||||
|  |  | |||
|  | @ -562,6 +562,7 @@ author: "Автор" | |||
| leaveConfirm: "Вы не сохранили изменения. Хотите выйти и потерять их?" | ||||
| manage: "Управление" | ||||
| plugins: "Расширения" | ||||
| preferencesBackups: "Резервная копия" | ||||
| deck: "Пульт" | ||||
| undeck: "Покинуть пульт" | ||||
| useBlurEffectForModal: "Размывка под формой поверх всего" | ||||
|  |  | |||
|  | @ -562,6 +562,7 @@ author: "ผู้เขียน" | |||
| leaveConfirm: "คุณมีการเปลี่ยนแปลงที่ไม่ได้บันทึกนะ นายต้องการทิ้งการเปลี่ยนแปลงเหล่านั้นหรอ?" | ||||
| manage: "การจัดการ" | ||||
| plugins: "ปลั๊กอิน" | ||||
| preferencesBackups: "ตั้งค่าการสำรองข้อมูล" | ||||
| deck: "เด็ค" | ||||
| undeck: "ออกจากเด็ค" | ||||
| useBlurEffectForModal: "ใช้เอฟเฟกต์เบลอสำหรับโมดอล" | ||||
|  | @ -598,7 +599,7 @@ wordMute: "ปิดเสียงคำ" | |||
| regexpError: "ข้อผิดพลาดของนิพจน์ทั่วไป" | ||||
| regexpErrorDescription: "เกิดข้อผิดพลาดในนิพจน์ทั่วไปในบรรทัดที่ {line} ของการปิดเสียงคำ {tab} ของคุณ:" | ||||
| instanceMute: "ปิดเสียง อินสแตนซ์" | ||||
| userSaysSomething: "{ชื่อ} พูดอะไรบางอย่าง" | ||||
| userSaysSomething: "{name} พูดอะไรบางอย่าง" | ||||
| makeActive: "เปิดใช้งาน" | ||||
| display: "แสดงผล" | ||||
| copy: "คัดลอก" | ||||
|  | @ -913,13 +914,89 @@ _ffVisibility: | |||
| _signup: | ||||
|   almostThere: "เกือบจะมี" | ||||
|   emailAddressInfo: "โปรดกรอกอีเมลของคุณ มันจะไม่เปิดเผยต่อสาธารณะ" | ||||
|   emailSent: "เราได้ส่งอีเมลยืนยันไปยังที่อยู่อีเมลของคุณแล้วนะ ({email}) โปรดคลิกลิงก์ที่รวมไว้เพื่อสร้างบัญชีให้เสร็จสิ้น" | ||||
| _accountDelete: | ||||
|   accountDelete: "ลบบัญชีผู้ใช้" | ||||
|   mayTakeTime: "เนื่องจากการลบบัญชีนี้จะเป็นกระบวนการที่ต้องใช้ทรัพยากรมาก จึงอาจจะต้องใช้เวลาสักครู่ถึงจะเสร็จสมบูรณ์ ทั้งนี้ขึ้นอยู่กับจำนวนเนื้อหาที่คุณสร้างและจำนวนไฟล์ที่คุณอัปโหลดนะ" | ||||
|   sendEmail: "เมื่อการลบบัญชีนี้เสร็จสิ้น เราอาจจะส่งอีเมลไปยังที่อยู่อีเมลของคุณที่เคยลงทะเบียนไว้กับบัญชีนี้นะ" | ||||
|   requestAccountDelete: "ร้องขอให้ลบบัญชี" | ||||
|   started: "การลบได้เริ่มต้นขึ้น" | ||||
|   inProgress: "ปัจจุบันกำลังดำเนินการลบอยู่" | ||||
| _ad: | ||||
|   back: "ย้อนกลับ" | ||||
|   reduceFrequencyOfThisAd: "แสดงโฆษณานี้ให้น้อยลง" | ||||
| _forgotPassword: | ||||
|   enterEmail: "ป้อนที่อยู่อีเมลที่คุณเคยใช้ในการลงทะเบียนไว้ ลิงก์ที่คุณสามารถรีเซ็ตรหัสผ่านได้นั้นจะถูกส่งไปนะ" | ||||
|   ifNoEmail: "ถ้าหากคุณไม่ได้ใช้อีเมลระหว่างการลงทะเบียน กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์แทนนะ" | ||||
|   contactAdmin: "อินสแตนซ์นี้ไม่รองรับการใช้งานที่อยู่อีเมลนี้ กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์เพื่อรีเซ็ตรหัสผ่านของคุณแทน" | ||||
| _gallery: | ||||
|   my: "แกลลอรี่ของฉัน" | ||||
|   liked: "โพสต์ที่ถูกใจ" | ||||
|   like: "ชื่นชอบ" | ||||
|   unlike: "ลบไลค์" | ||||
| _email: | ||||
|   _follow: | ||||
|     title: "ได้ติดตามคุณ" | ||||
|   _receiveFollowRequest: | ||||
|     title: "คุณได้รับคำขอติดตาม" | ||||
| _plugin: | ||||
|   install: "ติดตั้งปลั๊กอิน" | ||||
|   installWarn: "กรุณาอย่าติดตั้งปลั๊กอินที่ไม่น่าเชื่อถือนะคะ" | ||||
|   manage: "จัดการปลั๊กอิน" | ||||
| _preferencesBackups: | ||||
|   list: "สร้างการสำรองข้อมูล" | ||||
|   saveNew: "บันทึกใหม่" | ||||
|   loadFile: "โหลดจากไฟล์" | ||||
|   apply: "นำไปใช้กับอุปกรณ์นี้" | ||||
|   save: "บันทึก" | ||||
|   inputName: "กรุณาป้อนชื่อสำหรับข้อมูลสำรองนี้" | ||||
|   cannotSave: "การบันทึกล้มเหลว" | ||||
|   nameAlreadyExists: "มีข้อมูลสำรองชื่อ \"{name}\" นี้อยู่แล้ว กรุณาป้อนชื่ออื่นนะ" | ||||
|   applyConfirm: "คุณต้องการใช้ข้อมูลสำรอง \"{name}\" กับอุปกรณ์นี้อย่างงั้นจริงหรอ การตั้งค่าที่มีอยู่ของอุปกรณ์นี้จะถูกเขียนทับนะ" | ||||
|   saveConfirm: "บันทึกข้อมูลสำรองเป็น {name} มั้ย?" | ||||
|   deleteConfirm: "ลบข้อมูลสำรอง {name} มั้ย?" | ||||
|   renameConfirm: "เปลี่ยนชื่อข้อมูลสำรองนี้จาก \"{old}\" เป็น \"{new}\" หรือป่าว" | ||||
|   noBackups: "ไม่มีข้อมูลสำรองนะ คุณสามารถสำรองข้อมูลการตั้งค่าไคลเอนต์ของคุณบนเซิร์ฟเวอร์นี้โดยใช้ \"สร้างการสำรองข้อมูลใหม่\"ได้นะ" | ||||
|   createdAt: "สร้างเมื่อ: {date} {time}" | ||||
|   updatedAt: "อัปเดตเมื่อ: {date} {time}" | ||||
|   cannotLoad: "การโหลดล้มเหลว" | ||||
|   invalidFile: "รูปแบบไฟล์ไม่ถูกต้องนะ" | ||||
| _registry: | ||||
|   scope: "สโคป" | ||||
|   key: "คีย์" | ||||
|   keys: "คีย์" | ||||
|   domain: "โดเมน" | ||||
|   createKey: "สร้างคีย์" | ||||
| _aboutMisskey: | ||||
|   about: "Misskey เป็นซอฟต์แวร์โอเพ่นซอร์สที่ถูกพัฒนาโดย Syuilo ตั้งแต่ปี 2014" | ||||
|   contributors: "ผู้สนับสนุนหลัก" | ||||
|   allContributors: "ผู้มีส่วนร่วมทั้งหมด" | ||||
|   source: "ซอร์สโค้ด" | ||||
|   translation: "รับแปลภาษา Misskey" | ||||
|   donate: "บริจาคให้กับ Misskey" | ||||
|   morePatrons: "เราขอขอบคุณสำหรับความช่วยเหลือจากผู้ช่วยอื่นๆ ที่ไม่ได้ระบุไว้ที่นี่นะ ขอขอบคุณ! 🥰" | ||||
|   patrons: "สมาชิกพันธมิตร" | ||||
| _nsfw: | ||||
|   respect: "ซ่อนสื่อ NSFW" | ||||
|   ignore: "อย่าซ่อนสื่อ NSFW" | ||||
|   force: "ซ่อนสื่อทั้งหมด" | ||||
| _mfm: | ||||
|   cheatSheet: "โค้ด MFM Cheat Sheet" | ||||
|   intro: "MFM เป็นภาษามาร์กอัปพิเศษเฉพาะของ Misskey ที่สามารถใช้ได้ในหลายที่ คุณยังสามารถดูรายการไวยากรณ์ MFM ที่มีอยู่ทั้งหมดได้ที่นี่นะ" | ||||
|   dummy: "Misskey ขยายโลกของ Fediverse" | ||||
|   mention: "กล่าวถึง" | ||||
|   mentionDescription: "คุณสามารถระบุผู้ใช้โดยใช้ At-Symbol และชื่อผู้ใช้ได้นะ" | ||||
|   hashtag: "แฮชแท็ก" | ||||
|   hashtagDescription: "คุณสามารถระบุชื่อแฮชแท็กได้โดยใช้เครื่องหมายตัวเลขและข้อความได้นะ" | ||||
|   url: "URL" | ||||
|   urlDescription: "สามารถแสดง URL ได้นะ" | ||||
|   link: "ลิงก์" | ||||
|   linkDescription: "เจาะจงเฉพาะ ส่วนของข้อความที่สามารถแสดงเป็น URL ได้" | ||||
|   bold: "ตัวหนา" | ||||
|   boldDescription: "ไฮไลท์ตัวอักษรโดยทำให้หนาขึ้น" | ||||
|   small: "ขนาดเล็ก" | ||||
|   smallDescription: "แสดงผลเนื้อหาขนาดเล็กและบาง" | ||||
|   center: "เซ็นเตอร์" | ||||
|   centerDescription: "แสดงผลเนื้อหาเป็นศูนย์กลาง" | ||||
|   inlineCode: "โค้ด (อินไลน์)" | ||||
|   inlineCodeDescription: "แสดงผลการเน้นไวยากรณ์แบบอินไลน์สำหรับโค้ด (โปรแกรม)" | ||||
|  | @ -936,9 +1013,117 @@ _mfm: | |||
|   search: "ค้นหา" | ||||
|   searchDescription: "แสดงผลกล่องค้นหาพร้อมกับข้อความที่ป้อนไว้ล่วงหน้า" | ||||
|   flip: "พลิก" | ||||
|   flipDescription: "พลิกเนื้อหาในแนวนอนหรือแนวตั้ง" | ||||
|   jelly: "แอนิเมชั่น (เยลลี่)" | ||||
|   jellyDescription: "ให้เนื้อหาเป็นแอนิเมชั่นเหมือนเยลลี่" | ||||
|   tada: "แอนิเมชั่น (ธาดา)" | ||||
|   tadaDescription: "ให้เนื้อหาเป็นแอนิเมชั่นเหมือน \"ทาด้า!\"" | ||||
|   jump: "อนิเมชั่น (กระโดด)" | ||||
|   jumpDescription: "ให้เนื้อหามีภาพเคลื่อนไหวแบบกระโดด" | ||||
|   bounce: "อนิเมชั่น (เด้ง)" | ||||
|   bounceDescription: "ให้เนื้อหามีอนิเมชั่นเด้ง" | ||||
|   shake: "อนิเมชั่น (เขย่า)" | ||||
|   shakeDescription: "ให้เนื้อหามีภาพเคลื่อนไหวสั่น" | ||||
|   twitch: "แอนิเมชั่น (Twitch)" | ||||
|   twitchDescription: "ให้เนื้อหามีแอนิเมชั่นกระตุกอย่างแรง" | ||||
|   spin: "แอนิเมชั่น (สปิน)" | ||||
|   spinDescription: "ให้เนื้อหาเป็นภาพเคลื่อนไหวแบบหมุน" | ||||
|   x2: "ขนาดใหญ่" | ||||
|   x2Description: "แสดงเนื้อหาที่ใหญ่ขึ้น" | ||||
|   x3: "ใหญ่มาก" | ||||
|   x3Description: "แสดงเนื้อหาอีเว้นท์ที่ใหญ่ขึ้น" | ||||
|   x4: "ใหญ่อย่างไม่น่าเชื่อ" | ||||
|   x4Description: "แสดงผลเนื้อหาที่ใหญ่กว่าใหญ่กว่าขนาดใหญ่" | ||||
|   blur: "เบลอ" | ||||
|   blurDescription: "เบลอเนื้อหา จะแสดงผลอย่างชัดเจนต่อเมื่อวางเมาส์เหนือ" | ||||
|   font: "ตัวอักษร" | ||||
|   fontDescription: "ตั้งค่าตัวอักษรเพื่อแสดงเนื้อหาใน" | ||||
|   rainbow: "สายรุ้ง" | ||||
|   rainbowDescription: "ทำให้เนื้อหานั้นปรากฏเป็นสีรุ้ง" | ||||
|   sparkle: "กลิตเตอร์" | ||||
|   sparkleDescription: "ให้เนื้อหานั้นมีเอฟเฟกต์แบบอนุภาคประกาย" | ||||
|   rotate: "หมุนหน้าจอ" | ||||
|   rotateDescription: "เปลี่ยนเนื้อหาตามด้วยมุมที่ระบุไว้" | ||||
|   plain: "เรียบง่าย" | ||||
|   plainDescription: "ปิดการใช้งานเอฟเฟกต์ของ MFM ทั้งหมดที่มีอยู่ในเอฟเฟกต์ MFM นี้" | ||||
| _instanceTicker: | ||||
|   none: "ไม่ต้องแสดง" | ||||
|   remote: "แสดงสำหรับผู้ใช้ระยะไกล" | ||||
|   always: "แสดงเสมอ" | ||||
| _serverDisconnectedBehavior: | ||||
|   reload: "โหลดใหม่โดยอัตโนมัติ" | ||||
|   dialog: "แสดงกล่องโต้ตอบคำเตือน" | ||||
|   quiet: "แสดงคำเตือนที่ไม่เป็นการรบกวน" | ||||
| _channel: | ||||
|   create: "สร้างแชนแนลใหม่" | ||||
|   edit: "แก้ไขแชนแนล" | ||||
|   setBanner: "เซตแบนเนอร์" | ||||
|   removeBanner: "ลบแบนเนอร์" | ||||
|   featured: "เทรนด์" | ||||
|   owned: "เจ้าของ" | ||||
|   following: "ติดตามแล้ว" | ||||
|   usersCount: "{n} ผู้เข้าร่วม" | ||||
|   notesCount: "{n} โน้ต" | ||||
| _menuDisplay: | ||||
|   sideFull: "ด้านข้าง" | ||||
|   sideIcon: "ด้านข้าง (ไอคอน)" | ||||
|   top: "ท็อป" | ||||
|   hide: "ซ่อน" | ||||
| _wordMute: | ||||
|   muteWords: "ปิดเสียงคำ" | ||||
|   muteWordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข OR นะ" | ||||
|   muteWordsDescription2: "ล้อมรอบคีย์เวิร์ดด้วยเครื่องหมายทับเพื่อใช้นิพจน์ทั่วไป" | ||||
|   softDescription: "ซ่อนโน้ตให้ตรงตามเงื่อนไขที่ตั้งไว้จากไทม์ไลน์" | ||||
|   hardDescription: "ป้องกันไม่ให้โน้ตย่อที่ตรงตามเงื่อนไขที่ตั้งไว้ไม่ให้ถูกเพิ่มลงในไทม์ไลน์ นอกจากนี้ โน้ตเหล่านี้จะไม่ถูกเพิ่มลงในไทม์ไลน์แม้ว่าจะมีการเปลี่ยนแปลงเงื่อนไขยังไงก็ตาม" | ||||
|   soft: "ซอฟ" | ||||
|   hard: "ยาก" | ||||
|   mutedNotes: "ปิดเสียงโน้ต" | ||||
| _instanceMute: | ||||
|   instanceMuteDescription: "การดำเนินการนี้จะปิดเสียง\"โน้ต/รีโน้ต\"จากอินสแตนซ์ที่อยู่ในรายการ รวมถึงบันทึกของผู้ใช้ที่ตอบกลับผู้ใช้จากอินสแตนซ์ที่ปิดเสียง" | ||||
|   instanceMuteDescription2: "คั่นด้วยการขึ้นบรรทัดใหม่" | ||||
|   title: "ซ่อนโน้ตจากอินสแตนซ์ที่มีอยู่ในรายการ" | ||||
|   heading: "รายชื่ออินสแตนซ์ที่ถูกปิดเสียง" | ||||
| _theme: | ||||
|   explore: "สำรวจธีม" | ||||
|   install: "ติดตั้งธีม" | ||||
|   manage: "จัดการธีม" | ||||
|   code: "โค้ดธีม" | ||||
|   description: "รายละเอียด" | ||||
|   installed: "{name} ได้รับการติดตั้ง" | ||||
|   installedThemes: "ธีมที่ติดตั้ง" | ||||
|   builtinThemes: "ธีมในตัว" | ||||
|   alreadyInstalled: "ธีมนี้ได้รับการติดตั้งแล้ว" | ||||
|   invalid: "รูปแบบของธีมนี้ไม่ถูกต้องนะ" | ||||
|   make: "ทำธีม" | ||||
|   base: "ฐาน" | ||||
|   addConstant: "เพิ่มค่าคงที่" | ||||
|   constant: "ตัวแปร" | ||||
|   defaultValue: "ค่าเริ่มต้น" | ||||
|   color: "สี" | ||||
|   refProp: "อ้างอิงคุณสมบัติ" | ||||
|   refConst: "อ้างอิงค่าคงที่" | ||||
|   key: "คีย์" | ||||
|   func: "ฟังก์ชัน" | ||||
|   funcKind: "ประเภทฟังก์ชัน" | ||||
|   argument: "อากิวเม้นต์" | ||||
|   basedProp: "ทรัพย์สินอ้างอิง" | ||||
|   alpha: "ความทึบแสง" | ||||
|   darken: "มืดลง" | ||||
|   lighten: "สว่าง" | ||||
|   inputConstantName: "ป้อนชื่อสำหรับค่าคงที่นี้" | ||||
|   importInfo: "ถ้าหากต้องการป้อนโค้ดที่นี่ คุณยังสามารถนำเข้าไปยังโปรแกรมแก้ไขธีมได้" | ||||
|   deleteConstantConfirm: "คุณต้องการลบค่าคงที่ {const} หรือป่าว?" | ||||
|   keys: | ||||
|     accent: "เน้น" | ||||
|     bg: "ภาพพื้นหลัง" | ||||
|     fg: "ข้อความ" | ||||
|     focus: "โฟกัส" | ||||
|     indicator: "ตัวบ่งชี้" | ||||
|     panel: "แผงควบคุม" | ||||
|     shadow: "เงา" | ||||
|     header: "ส่วนหัว" | ||||
|     navBg: "พื้นหลังแถบด้านข้าง" | ||||
|     navFg: "ข้อความแถบด้านข้าง" | ||||
|     mention: "กล่าวถึง" | ||||
|     renote: "รีโน้ต" | ||||
|     divider: "ตัวแบ่ง" | ||||
|  |  | |||
|  | @ -141,7 +141,7 @@ cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远 | |||
| flagAsBot: "这是一个机器人账号" | ||||
| flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。" | ||||
| flagAsCat: "将这个账户设定为一只猫" | ||||
| flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。" | ||||
| flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。" | ||||
| flagShowTimelineReplies: "在时间线上显示帖子的回复" | ||||
| flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。" | ||||
| autoAcceptFollowed: "自动允许关注者的关注" | ||||
|  | @ -252,7 +252,7 @@ messageRead: "已读" | |||
| noMoreHistory: "没有更多的历史记录" | ||||
| startMessaging: "添加聊天" | ||||
| nUsersRead: "{n}人已读" | ||||
| agreeTo: "{0}勾选则表示已阅读并同意" | ||||
| agreeTo: "勾选则表示已阅读并同意{0}" | ||||
| tos: "服务条款" | ||||
| start: "开始" | ||||
| home: "首页" | ||||
|  | @ -668,7 +668,7 @@ yes: "是" | |||
| no: "否" | ||||
| driveFilesCount: "网盘的文件数" | ||||
| driveUsage: "网盘的空间用量" | ||||
| noCrawle: "要求搜索引擎不索引该站点" | ||||
| noCrawle: "要求搜索引擎不索引该用户" | ||||
| noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。" | ||||
| lockedAccountInfo: "即使通过了关注请求,只要您不将帖子可见范围设置成“关注者”,任何人都可以看到您的帖子。" | ||||
| alwaysMarkSensitive: "默认将媒体文件标记为敏感内容" | ||||
|  | @ -747,7 +747,7 @@ userInfo: "用户信息" | |||
| unknown: "未知" | ||||
| onlineStatus: "在线状态" | ||||
| hideOnlineStatus: "隐藏在线状态" | ||||
| hideOnlineStatusDescription: "隐藏在线状态后,可能会降低例如搜索等功能的便利性。" | ||||
| hideOnlineStatusDescription: "隐藏在线状态后,可能会降低搜索等功能的便利性。" | ||||
| online: "在线" | ||||
| active: "活动" | ||||
| offline: "离线" | ||||
|  |  | |||
|  | @ -883,8 +883,8 @@ sensitiveMediaDetection: "敏感性媒體的檢測" | |||
| localOnly: "僅限本地" | ||||
| remoteOnly: "僅限遠端" | ||||
| failedToUpload: "上傳失敗" | ||||
| cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上船。" | ||||
| cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上船>" | ||||
| cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上傳。" | ||||
| cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上傳。" | ||||
| beta: "Beta" | ||||
| enableAutoSensitive: "自動NSFW判定" | ||||
| enableAutoSensitiveDescription: "如果可用,請利用機器學習在媒體上自動設置 NSFW 旗標。 即使關閉此功能,依實例而定也可能會自動設置。" | ||||
|  | @ -917,7 +917,7 @@ _signup: | |||
|   emailSent: "已將確認郵件發送至您輸入的電子郵件地址 ({email})。請開啟電子郵件中的連結以完成帳戶創建。" | ||||
| _accountDelete: | ||||
|   accountDelete: "刪除帳戶" | ||||
|   mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶產生的內容數量上船的檔案數量較多的話,就需要花费一段時間才能完成。" | ||||
|   mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶產生的內容數量上傳的檔案數量較多的話,就需要花费一段時間才能完成。" | ||||
|   sendEmail: "帳戶删除完成後,將向註冊地電子郵件地址發送通知。" | ||||
|   requestAccountDelete: "刪除帳戶請求" | ||||
|   started: "已開始刪除作業。" | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| { | ||||
| 	"name": "misskey", | ||||
| 	"version": "12.118.1", | ||||
| 	"version": "12.119.0", | ||||
| 	"codename": "indigo", | ||||
| 	"repository": { | ||||
| 		"type": "git", | ||||
|  | @ -41,10 +41,10 @@ | |||
| 	"devDependencies": { | ||||
| 		"@types/gulp": "4.0.9", | ||||
| 		"@types/gulp-rename": "2.0.1", | ||||
| 		"@typescript-eslint/parser": "5.33.0", | ||||
| 		"@typescript-eslint/parser": "5.36.2", | ||||
| 		"cross-env": "7.0.3", | ||||
| 		"cypress": "10.4.0", | ||||
| 		"cypress": "10.7.0", | ||||
| 		"start-server-and-test": "1.14.0", | ||||
| 		"typescript": "4.7.4" | ||||
| 		"typescript": "4.8.3" | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| 		"lodash": "^4.17.21" | ||||
| 	}, | ||||
| 	"optionalDependencies": { | ||||
| 		"@tensorflow/tfjs-node": "3.19.0" | ||||
| 		"@tensorflow/tfjs-node": "3.20.0" | ||||
| 	}, | ||||
| 	"dependencies": { | ||||
| 		"@bull-board/koa": "4.2.2", | ||||
|  | @ -30,10 +30,10 @@ | |||
| 		"archiver": "5.3.1", | ||||
| 		"autobind-decorator": "2.4.0", | ||||
| 		"autwh": "0.1.0", | ||||
| 		"aws-sdk": "2.1194.0", | ||||
| 		"aws-sdk": "2.1213.0", | ||||
| 		"bcryptjs": "2.4.3", | ||||
| 		"blurhash": "1.1.5", | ||||
| 		"bull": "4.8.5", | ||||
| 		"bull": "4.9.0", | ||||
| 		"cacheable-lookup": "6.1.0", | ||||
| 		"cbor": "8.1.0", | ||||
| 		"chalk": "5.0.1", | ||||
|  | @ -42,7 +42,7 @@ | |||
| 		"cli-highlight": "2.1.11", | ||||
| 		"color-convert": "2.0.1", | ||||
| 		"content-disposition": "0.5.4", | ||||
| 		"date-fns": "2.29.1", | ||||
| 		"date-fns": "2.29.2", | ||||
| 		"deep-email-validator": "0.1.21", | ||||
| 		"escape-regexp": "0.0.1", | ||||
| 		"feed": "4.2.2", | ||||
|  | @ -58,7 +58,7 @@ | |||
| 		"json5": "2.2.1", | ||||
| 		"json5-loader": "4.0.1", | ||||
| 		"jsonld": "6.0.0", | ||||
| 		"jsrsasign": "10.5.26", | ||||
| 		"jsrsasign": "10.5.27", | ||||
| 		"koa": "2.13.4", | ||||
| 		"koa-bodyparser": "4.3.0", | ||||
| 		"koa-favicon": "2.1.0", | ||||
|  | @ -77,10 +77,10 @@ | |||
| 		"nested-property": "4.0.0", | ||||
| 		"node-fetch": "3.2.10", | ||||
| 		"nodemailer": "6.7.8", | ||||
| 		"nsfwjs": "2.4.1", | ||||
| 		"nsfwjs": "2.4.2", | ||||
| 		"os-utils": "0.0.14", | ||||
| 		"parse5": "7.0.0", | ||||
| 		"pg": "8.7.3", | ||||
| 		"parse5": "7.1.1", | ||||
| 		"pg": "8.8.0", | ||||
| 		"private-ip": "2.3.4", | ||||
| 		"probe-image-size": "7.2.3", | ||||
| 		"promise-limit": "2.7.0", | ||||
|  | @ -105,7 +105,7 @@ | |||
| 		"stringz": "2.1.0", | ||||
| 		"summaly": "2.7.0", | ||||
| 		"syslog-pro": "1.0.0", | ||||
| 		"systeminformation": "5.12.5", | ||||
| 		"systeminformation": "5.12.6", | ||||
| 		"tinycolor2": "1.4.2", | ||||
| 		"tmp": "0.2.1", | ||||
| 		"ts-loader": "9.3.1", | ||||
|  | @ -113,17 +113,17 @@ | |||
| 		"tsc-alias": "1.7.0", | ||||
| 		"tsconfig-paths": "4.1.0", | ||||
| 		"twemoji-parser": "14.0.0", | ||||
| 		"typeorm": "0.3.7", | ||||
| 		"typeorm": "0.3.9", | ||||
| 		"ulid": "2.3.0", | ||||
| 		"unzipper": "0.10.11", | ||||
| 		"uuid": "8.3.2", | ||||
| 		"uuid": "9.0.0", | ||||
| 		"web-push": "3.5.0", | ||||
| 		"websocket": "1.0.34", | ||||
| 		"ws": "8.8.1", | ||||
| 		"xev": "3.0.2" | ||||
| 	}, | ||||
| 	"devDependencies": { | ||||
| 		"@redocly/openapi-core": "1.0.0-beta.106", | ||||
| 		"@redocly/openapi-core": "1.0.0-beta.108", | ||||
| 		"@types/bcryptjs": "2.4.2", | ||||
| 		"@types/bull": "3.15.9", | ||||
| 		"@types/cbor": "6.0.0", | ||||
|  | @ -145,13 +145,13 @@ | |||
| 		"@types/koa__multer": "2.0.4", | ||||
| 		"@types/koa__router": "8.0.11", | ||||
| 		"@types/mocha": "9.1.1", | ||||
| 		"@types/node": "18.7.2", | ||||
| 		"@types/node": "18.7.16", | ||||
| 		"@types/node-fetch": "3.0.3", | ||||
| 		"@types/nodemailer": "6.4.5", | ||||
| 		"@types/oauth": "0.9.1", | ||||
| 		"@types/pug": "2.0.6", | ||||
| 		"@types/punycode": "2.1.0", | ||||
| 		"@types/qrcode": "1.4.2", | ||||
| 		"@types/qrcode": "1.5.0", | ||||
| 		"@types/random-seed": "0.3.3", | ||||
| 		"@types/ratelimiter": "3.4.3", | ||||
| 		"@types/redis": "4.0.11", | ||||
|  | @ -167,12 +167,12 @@ | |||
| 		"@types/web-push": "3.3.2", | ||||
| 		"@types/websocket": "1.0.5", | ||||
| 		"@types/ws": "8.5.3", | ||||
| 		"@typescript-eslint/eslint-plugin": "5.33.0", | ||||
| 		"@typescript-eslint/parser": "5.33.0", | ||||
| 		"@typescript-eslint/eslint-plugin": "5.36.2", | ||||
| 		"@typescript-eslint/parser": "5.36.2", | ||||
| 		"cross-env": "7.0.3", | ||||
| 		"eslint": "8.21.0", | ||||
| 		"eslint": "8.23.0", | ||||
| 		"eslint-plugin-import": "2.26.0", | ||||
| 		"execa": "6.1.0", | ||||
| 		"typescript": "4.7.4" | ||||
| 		"typescript": "4.8.3" | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -1,18 +1,19 @@ | |||
| import { In } from 'typeorm'; | ||||
| import { publishMainStream } from '@/services/stream.js'; | ||||
| import { pushNotification } from '@/services/push-notification.js'; | ||||
| import { User } from '@/models/entities/user.js'; | ||||
| import { Notification } from '@/models/entities/notification.js'; | ||||
| import { Notifications, Users } from '@/models/index.js'; | ||||
| import { In } from 'typeorm'; | ||||
| 
 | ||||
| export async function readNotification( | ||||
| 	userId: User['id'], | ||||
| 	notificationIds: Notification['id'][] | ||||
| 	notificationIds: Notification['id'][], | ||||
| ) { | ||||
| 	if (notificationIds.length === 0) return; | ||||
| 
 | ||||
| 	// Update documents
 | ||||
| 	const result = await Notifications.update({ | ||||
| 		notifieeId: userId, | ||||
| 		id: In(notificationIds), | ||||
| 		isRead: false, | ||||
| 	}, { | ||||
|  | @ -27,7 +28,7 @@ export async function readNotification( | |||
| 
 | ||||
| export async function readNotificationByQuery( | ||||
| 	userId: User['id'], | ||||
| 	query: Record<string, any> | ||||
| 	query: Record<string, any>, | ||||
| ) { | ||||
| 	const notificationIds = await Notifications.findBy({ | ||||
| 		...query, | ||||
|  |  | |||
|  | @ -92,6 +92,10 @@ | |||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	const colorSchema = localStorage.getItem('colorSchema'); | ||||
| 	if (colorSchema) { | ||||
| 		document.documentElement.style.setProperty('color-schema', colorSchema); | ||||
| 	} | ||||
| 	//#endregion
 | ||||
| 
 | ||||
| 	const fontSize = localStorage.getItem('fontSize'); | ||||
|  |  | |||
|  | @ -91,14 +91,14 @@ | |||
|     pump "^3.0.0" | ||||
|     secure-json-parse "^2.1.0" | ||||
| 
 | ||||
| "@eslint/eslintrc@^1.3.0": | ||||
|   version "1.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" | ||||
|   integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== | ||||
| "@eslint/eslintrc@^1.3.1": | ||||
|   version "1.3.1" | ||||
|   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" | ||||
|   integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== | ||||
|   dependencies: | ||||
|     ajv "^6.12.4" | ||||
|     debug "^4.3.2" | ||||
|     espree "^9.3.2" | ||||
|     espree "^9.4.0" | ||||
|     globals "^13.15.0" | ||||
|     ignore "^5.2.0" | ||||
|     import-fresh "^3.2.1" | ||||
|  | @ -125,6 +125,11 @@ | |||
|   resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" | ||||
|   integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== | ||||
| 
 | ||||
| "@humanwhocodes/module-importer@^1.0.1": | ||||
|   version "1.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" | ||||
|   integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== | ||||
| 
 | ||||
| "@humanwhocodes/object-schema@^1.2.1": | ||||
|   version "1.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" | ||||
|  | @ -282,22 +287,22 @@ | |||
|     jsprim "^1.2.2" | ||||
|     sshpk "^1.14.1" | ||||
| 
 | ||||
| "@redocly/ajv@^8.6.4": | ||||
|   version "8.6.4" | ||||
|   resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.6.4.tgz#94053e7a9d4146d1a4feacd3813892873f229a85" | ||||
|   integrity sha512-y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw== | ||||
| "@redocly/ajv@^8.6.5": | ||||
|   version "8.6.5" | ||||
|   resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.6.5.tgz#b6e737248b791905b3f600fb329779a807f0f774" | ||||
|   integrity sha512-3P2TY/u4c6OBqkP+1cTH1iGAEv0O34PV3vV2Wnos/nNHu62OTrtC4zcaxttG0pHtPtn42StrhGq7SsiFgP4Bfw== | ||||
|   dependencies: | ||||
|     fast-deep-equal "^3.1.1" | ||||
|     json-schema-traverse "^1.0.0" | ||||
|     require-from-string "^2.0.2" | ||||
|     uri-js "^4.2.2" | ||||
| 
 | ||||
| "@redocly/openapi-core@1.0.0-beta.106": | ||||
|   version "1.0.0-beta.106" | ||||
|   resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.106.tgz#5df810aee2ed64ecadf3d5100d8fbdf0d74c2924" | ||||
|   integrity sha512-ZHeczZ6iJrHL7K1v4s+NRFUOHsfZ1ZrB+bcS42CP4bhL/Y17PkOMWA+6Ubk0NVT4Ihdt5cLLWGfjVABD/bEM2A== | ||||
| "@redocly/openapi-core@1.0.0-beta.108": | ||||
|   version "1.0.0-beta.108" | ||||
|   resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.108.tgz#fbf1b4e31c148f8816d2d63aa37b7831e305ec0f" | ||||
|   integrity sha512-4Lq7KB+XiBvVzpaY/M0a8qog/Zr8kGrvJbRW2z7Sk2Zpc/m+8LTuZbRh15eMoneVc13M9qbHFIRh3PG18g3Tng== | ||||
|   dependencies: | ||||
|     "@redocly/ajv" "^8.6.4" | ||||
|     "@redocly/ajv" "^8.6.5" | ||||
|     "@types/node" "^14.11.8" | ||||
|     colorette "^1.2.0" | ||||
|     js-levenshtein "^1.1.6" | ||||
|  | @ -362,35 +367,35 @@ | |||
|   dependencies: | ||||
|     defer-to-connect "^2.0.1" | ||||
| 
 | ||||
| "@tensorflow/tfjs-backend-cpu@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.19.0.tgz#c7524ccdfded81df0c5cb53185b14e5222ac51e5" | ||||
|   integrity sha512-02f+WkiL9gc9G7P8PwfsvuXREcAUdM/3uAL6fTle3xKEj7KOxX+E/mc3jxPY5UzjAsgHVBZrPJ2xi6AG16WPkQ== | ||||
| "@tensorflow/tfjs-backend-cpu@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.20.0.tgz#338ec5cfc7c713355839fd85ddf90b5b59b6099a" | ||||
|   integrity sha512-gf075YaBLwSAAiUwa0D4GvYyUBhbJ1BVSivUNQmUfGKvIr2lIhF0qstBr033YTc3lhkbFSHEEPAHh/EfpqyjXQ== | ||||
|   dependencies: | ||||
|     "@types/seedrandom" "^2.4.28" | ||||
|     seedrandom "^3.0.5" | ||||
| 
 | ||||
| "@tensorflow/tfjs-backend-webgl@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.19.0.tgz#64b8a14df35ee7d27859c7d141c527cefc6d9484" | ||||
|   integrity sha512-2HTkAE21t3WQTt8P6iK80ni03AzC8UNZmbIB7/pBDYBbhDwZwe/C5fXrJWnP9m6u4hvCdMAJ3o+OP3NeaEL1pw== | ||||
| "@tensorflow/tfjs-backend-webgl@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.20.0.tgz#1ea6dff51a62cda64bd80ff9e7861a6010924f5a" | ||||
|   integrity sha512-SucbyQ08re3HvRgVfarRtKFIjNM4JvIAzcXmw4vaE/HrCtPEePkGO1VrmfQoN470EdUmGiwgqAjoyBvM2VOlVg== | ||||
|   dependencies: | ||||
|     "@tensorflow/tfjs-backend-cpu" "3.19.0" | ||||
|     "@tensorflow/tfjs-backend-cpu" "3.20.0" | ||||
|     "@types/offscreencanvas" "~2019.3.0" | ||||
|     "@types/seedrandom" "^2.4.28" | ||||
|     "@types/webgl-ext" "0.0.30" | ||||
|     "@types/webgl2" "0.0.6" | ||||
|     seedrandom "^3.0.5" | ||||
| 
 | ||||
| "@tensorflow/tfjs-converter@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-converter/-/tfjs-converter-3.19.0.tgz#701db7255ef45578811a191478db5a09bcca6dda" | ||||
|   integrity sha512-B69HQq9/orsM8pGJPjNp1cV+hIcc90mxcRIsQSYGovTUNEcftmz2Sh+mqXDWysKUk0gRfx5CX6eJk6NaE55Xow== | ||||
| "@tensorflow/tfjs-converter@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-converter/-/tfjs-converter-3.20.0.tgz#5d3d2b388775997585204bc867ecdf1e52789a38" | ||||
|   integrity sha512-8EIYqtQwvSYw9GFNW2OFU8Qnl/FQF/kKAsQJoORYaZ419WJo+FIZWbAWDtCpJSAgkgoHH1jYWgV9H313cVmqxg== | ||||
| 
 | ||||
| "@tensorflow/tfjs-core@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-core/-/tfjs-core-3.19.0.tgz#981c50bb38a6441a4375cfc8806784e7490f01bc" | ||||
|   integrity sha512-znJ+TOJ3NdNL5yjw8M7dn2jO96sokiH1wfFuD7gglCkbZ4SXlFpFj2xelNdRHHmeYanMhJzqeyOW9whUnNcBqw== | ||||
| "@tensorflow/tfjs-core@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-core/-/tfjs-core-3.20.0.tgz#b6f89ae6490099e2c0c992faa59c96f563f9eba2" | ||||
|   integrity sha512-L16JyVA4a8jFJXFgB9/oYZxcGq/GfLypt5dMVTyedznARZZ9SiY/UMMbo3IKl9ZylG1dOVVTpjzV3EvBYfeJXw== | ||||
|   dependencies: | ||||
|     "@types/long" "^4.0.1" | ||||
|     "@types/offscreencanvas" "~2019.3.0" | ||||
|  | @ -401,27 +406,27 @@ | |||
|     node-fetch "~2.6.1" | ||||
|     seedrandom "^3.0.5" | ||||
| 
 | ||||
| "@tensorflow/tfjs-data@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-data/-/tfjs-data-3.19.0.tgz#31de23cbea6cc594d60bd2216ab39faa8b2219cb" | ||||
|   integrity sha512-rkZv+YZowZwnm4RaedkV44WDrjokRHld9Py/0Fb7IvMyUh37lY0WsAsV94kJ+QuLc6iVNcDLaV29K+dUz57bRA== | ||||
| "@tensorflow/tfjs-data@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-data/-/tfjs-data-3.20.0.tgz#8e267ea9f01066e0276be3226cb21b7d38711144" | ||||
|   integrity sha512-DiD3M/K/RYyTpOsrTL0ZUsdLgoczbSEx1+cQgCtlO3wUFoMxGYMxRTFeqp4hnJalY9MDptEqZ2gXAO1BMd2IXA== | ||||
|   dependencies: | ||||
|     "@types/node-fetch" "^2.1.2" | ||||
|     node-fetch "~2.6.1" | ||||
|     string_decoder "^1.3.0" | ||||
| 
 | ||||
| "@tensorflow/tfjs-layers@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-layers/-/tfjs-layers-3.19.0.tgz#b624c25a2bdec09ea1c71db6547eb0952707fb35" | ||||
|   integrity sha512-+sVWjWWyTuT3sImrtNLtMv8/4FS30GAYpTgyJKhCQ3+GSvHUXulxJfncD0QqOg9fTbhtuF1TRAkzDU8v64791g== | ||||
| "@tensorflow/tfjs-layers@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-layers/-/tfjs-layers-3.20.0.tgz#53aac3e719c9aa06cdff894e564704555e73a069" | ||||
|   integrity sha512-CbeDFX7XgWVsjsqp9HisbhO+a+soLt9tMNNBD/F+Rmw+YDJ5+X64iRpsMj3OWK8yKp895waoeads56UhG+Pxlw== | ||||
| 
 | ||||
| "@tensorflow/tfjs-node@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-node/-/tfjs-node-3.19.0.tgz#b7e58ff8bbea48881554d9178361726a83e56f92" | ||||
|   integrity sha512-6l8+56J66zf5k+WS8zTA1SbXno+iV7LgchwKPa62fsPRwjdzNIm1QondJbQYbFOILYx6bsgJs7nOoxStOlygAw== | ||||
| "@tensorflow/tfjs-node@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-node/-/tfjs-node-3.20.0.tgz#df401f99a6e7690d64f35136910d541cd337ba0f" | ||||
|   integrity sha512-lhMaqydtFNQ89kiET2nNMsV/rhOVa/Xh+hUHpxJP5e6KpVBzACmcJD8MjxM122G2EBntbf/vOQUAfnbX9AI9PA== | ||||
|   dependencies: | ||||
|     "@mapbox/node-pre-gyp" "1.0.9" | ||||
|     "@tensorflow/tfjs" "3.19.0" | ||||
|     "@tensorflow/tfjs" "3.20.0" | ||||
|     adm-zip "^0.5.2" | ||||
|     google-protobuf "^3.9.2" | ||||
|     https-proxy-agent "^2.2.1" | ||||
|  | @ -429,17 +434,17 @@ | |||
|     rimraf "^2.6.2" | ||||
|     tar "^4.4.6" | ||||
| 
 | ||||
| "@tensorflow/tfjs@3.19.0": | ||||
|   version "3.19.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs/-/tfjs-3.19.0.tgz#a08c35e6101bdbc0bf9a58f468270eee15f77bb0" | ||||
|   integrity sha512-fZF3HOON8jgKhFk06WIScIXf7j/gkl6cLbU1brFWutBhHlPSzxSWvdJR/TivCK7p+yMBunoyK50TjiwOrcoclA== | ||||
| "@tensorflow/tfjs@3.20.0": | ||||
|   version "3.20.0" | ||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs/-/tfjs-3.20.0.tgz#4a525be52c72deb9964fe2e5a0abaae04b95d862" | ||||
|   integrity sha512-Vx6MBFgZs+o413a/tM9nLdo4LM5U8Rh3d1fB8ioPL4j8dsqoqfCeee/215J3zzWPHIiSqv3pcD7bkK3fDA27GQ== | ||||
|   dependencies: | ||||
|     "@tensorflow/tfjs-backend-cpu" "3.19.0" | ||||
|     "@tensorflow/tfjs-backend-webgl" "3.19.0" | ||||
|     "@tensorflow/tfjs-converter" "3.19.0" | ||||
|     "@tensorflow/tfjs-core" "3.19.0" | ||||
|     "@tensorflow/tfjs-data" "3.19.0" | ||||
|     "@tensorflow/tfjs-layers" "3.19.0" | ||||
|     "@tensorflow/tfjs-backend-cpu" "3.20.0" | ||||
|     "@tensorflow/tfjs-backend-webgl" "3.20.0" | ||||
|     "@tensorflow/tfjs-converter" "3.20.0" | ||||
|     "@tensorflow/tfjs-core" "3.20.0" | ||||
|     "@tensorflow/tfjs-data" "3.20.0" | ||||
|     "@tensorflow/tfjs-layers" "3.20.0" | ||||
|     argparse "^1.0.10" | ||||
|     chalk "^4.1.0" | ||||
|     core-js "3" | ||||
|  | @ -806,10 +811,10 @@ | |||
|   resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.2.tgz#331b7b9f8621c638284787c5559423822fdffc50" | ||||
|   integrity sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA== | ||||
| 
 | ||||
| "@types/node@18.7.2": | ||||
|   version "18.7.2" | ||||
|   resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.2.tgz#22306626110c459aedd2cdf131c749ec781e3b34" | ||||
|   integrity sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA== | ||||
| "@types/node@18.7.16": | ||||
|   version "18.7.16" | ||||
|   resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.16.tgz#0eb3cce1e37c79619943d2fd903919fc30850601" | ||||
|   integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg== | ||||
| 
 | ||||
| "@types/node@^14.11.8": | ||||
|   version "14.17.9" | ||||
|  | @ -845,10 +850,10 @@ | |||
|   resolved "https://registry.yarnpkg.com/@types/punycode/-/punycode-2.1.0.tgz#89e4f3d09b3f92e87a80505af19be7e0c31d4e83" | ||||
|   integrity sha512-PG5aLpW6PJOeV2fHRslP4IOMWn+G+Uq8CfnyJ+PDS8ndCbU+soO+fB3NKCKo0p/Jh2Y4aPaiQZsrOXFdzpcA6g== | ||||
| 
 | ||||
| "@types/qrcode@1.4.2": | ||||
|   version "1.4.2" | ||||
|   resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.4.2.tgz#7d7142d6fa9921f195db342ed08b539181546c74" | ||||
|   integrity sha512-7uNT9L4WQTNJejHTSTdaJhfBSCN73xtXaHFyBJ8TSwiLhe4PRuTue7Iph0s2nG9R/ifUaSnGhLUOZavlBEqDWQ== | ||||
| "@types/qrcode@1.5.0": | ||||
|   version "1.5.0" | ||||
|   resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.0.tgz#6a98fe9a9a7b2a9a3167b6dde17eff999eabe40b" | ||||
|   integrity sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA== | ||||
|   dependencies: | ||||
|     "@types/node" "*" | ||||
| 
 | ||||
|  | @ -995,14 +1000,14 @@ | |||
|   dependencies: | ||||
|     "@types/node" "*" | ||||
| 
 | ||||
| "@typescript-eslint/eslint-plugin@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec" | ||||
|   integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg== | ||||
| "@typescript-eslint/eslint-plugin@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" | ||||
|   integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== | ||||
|   dependencies: | ||||
|     "@typescript-eslint/scope-manager" "5.33.0" | ||||
|     "@typescript-eslint/type-utils" "5.33.0" | ||||
|     "@typescript-eslint/utils" "5.33.0" | ||||
|     "@typescript-eslint/scope-manager" "5.36.2" | ||||
|     "@typescript-eslint/type-utils" "5.36.2" | ||||
|     "@typescript-eslint/utils" "5.36.2" | ||||
|     debug "^4.3.4" | ||||
|     functional-red-black-tree "^1.0.1" | ||||
|     ignore "^5.2.0" | ||||
|  | @ -1010,69 +1015,70 @@ | |||
|     semver "^7.3.7" | ||||
|     tsutils "^3.21.0" | ||||
| 
 | ||||
| "@typescript-eslint/parser@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383" | ||||
|   integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w== | ||||
| "@typescript-eslint/parser@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" | ||||
|   integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== | ||||
|   dependencies: | ||||
|     "@typescript-eslint/scope-manager" "5.33.0" | ||||
|     "@typescript-eslint/types" "5.33.0" | ||||
|     "@typescript-eslint/typescript-estree" "5.33.0" | ||||
|     "@typescript-eslint/scope-manager" "5.36.2" | ||||
|     "@typescript-eslint/types" "5.36.2" | ||||
|     "@typescript-eslint/typescript-estree" "5.36.2" | ||||
|     debug "^4.3.4" | ||||
| 
 | ||||
| "@typescript-eslint/scope-manager@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d" | ||||
|   integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw== | ||||
| "@typescript-eslint/scope-manager@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" | ||||
|   integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== | ||||
|   dependencies: | ||||
|     "@typescript-eslint/types" "5.33.0" | ||||
|     "@typescript-eslint/visitor-keys" "5.33.0" | ||||
|     "@typescript-eslint/types" "5.36.2" | ||||
|     "@typescript-eslint/visitor-keys" "5.36.2" | ||||
| 
 | ||||
| "@typescript-eslint/type-utils@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338" | ||||
|   integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA== | ||||
| "@typescript-eslint/type-utils@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" | ||||
|   integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== | ||||
|   dependencies: | ||||
|     "@typescript-eslint/utils" "5.33.0" | ||||
|     "@typescript-eslint/typescript-estree" "5.36.2" | ||||
|     "@typescript-eslint/utils" "5.36.2" | ||||
|     debug "^4.3.4" | ||||
|     tsutils "^3.21.0" | ||||
| 
 | ||||
| "@typescript-eslint/types@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b" | ||||
|   integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw== | ||||
| "@typescript-eslint/types@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" | ||||
|   integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== | ||||
| 
 | ||||
| "@typescript-eslint/typescript-estree@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf" | ||||
|   integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ== | ||||
| "@typescript-eslint/typescript-estree@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" | ||||
|   integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== | ||||
|   dependencies: | ||||
|     "@typescript-eslint/types" "5.33.0" | ||||
|     "@typescript-eslint/visitor-keys" "5.33.0" | ||||
|     "@typescript-eslint/types" "5.36.2" | ||||
|     "@typescript-eslint/visitor-keys" "5.36.2" | ||||
|     debug "^4.3.4" | ||||
|     globby "^11.1.0" | ||||
|     is-glob "^4.0.3" | ||||
|     semver "^7.3.7" | ||||
|     tsutils "^3.21.0" | ||||
| 
 | ||||
| "@typescript-eslint/utils@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038" | ||||
|   integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw== | ||||
| "@typescript-eslint/utils@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" | ||||
|   integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== | ||||
|   dependencies: | ||||
|     "@types/json-schema" "^7.0.9" | ||||
|     "@typescript-eslint/scope-manager" "5.33.0" | ||||
|     "@typescript-eslint/types" "5.33.0" | ||||
|     "@typescript-eslint/typescript-estree" "5.33.0" | ||||
|     "@typescript-eslint/scope-manager" "5.36.2" | ||||
|     "@typescript-eslint/types" "5.36.2" | ||||
|     "@typescript-eslint/typescript-estree" "5.36.2" | ||||
|     eslint-scope "^5.1.1" | ||||
|     eslint-utils "^3.0.0" | ||||
| 
 | ||||
| "@typescript-eslint/visitor-keys@5.33.0": | ||||
|   version "5.33.0" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484" | ||||
|   integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw== | ||||
| "@typescript-eslint/visitor-keys@5.36.2": | ||||
|   version "5.36.2" | ||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" | ||||
|   integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== | ||||
|   dependencies: | ||||
|     "@typescript-eslint/types" "5.33.0" | ||||
|     "@typescript-eslint/types" "5.36.2" | ||||
|     eslint-visitor-keys "^3.3.0" | ||||
| 
 | ||||
| "@ungap/promise-all-settled@1.1.2": | ||||
|  | @ -1458,10 +1464,10 @@ available-typed-arrays@^1.0.5: | |||
|   resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" | ||||
|   integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== | ||||
| 
 | ||||
| aws-sdk@2.1194.0: | ||||
|   version "2.1194.0" | ||||
|   resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1194.0.tgz#6a820684fa3f58ea40caf90d302414a23df7c308" | ||||
|   integrity sha512-wbgib7r7sHPkZIhqSMduueKYqe+DrFyxsKnUKHj6hdNcRKqEeqzvKp4olWmFs/3z3qU8+g78kBXr9rujvko1ug== | ||||
| aws-sdk@2.1213.0: | ||||
|   version "2.1213.0" | ||||
|   resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1213.0.tgz#efdbe52c72e6879348650ff9a69ab55ef948b6f3" | ||||
|   integrity sha512-ZfrUfhlLjwvQ6QTbg8lR4+SRFHaivzZMmfpS+64YzafcKjwc7rklYqiyh4MPTSmdNZkErgaAykYpXPMuTiWBug== | ||||
|   dependencies: | ||||
|     buffer "4.9.2" | ||||
|     events "1.1.1" | ||||
|  | @ -1681,10 +1687,10 @@ bufferutil@^4.0.1: | |||
|   dependencies: | ||||
|     node-gyp-build "~3.7.0" | ||||
| 
 | ||||
| bull@4.8.5: | ||||
|   version "4.8.5" | ||||
|   resolved "https://registry.yarnpkg.com/bull/-/bull-4.8.5.tgz#eebafddc3249d6d5e8ced1c42b8bfa8efcc274aa" | ||||
|   integrity sha512-2Z630e4f6VsLJnWMAtfEHwIqJYmND4W3dcG48RIbXeWpvb4UnYtpe/zxEdslJu0PKrltB4IkFj5YtBsdeQRn8w== | ||||
| bull@4.9.0: | ||||
|   version "4.9.0" | ||||
|   resolved "https://registry.yarnpkg.com/bull/-/bull-4.9.0.tgz#522a955fa045141ce2c063ab24c2c78e4ee3782e" | ||||
|   integrity sha512-yiaSb41dywjIhJ3i1mczjQGDmM6pLIoM1Ea0Gcf5HKDxOoEzL5i9XEEKW7fbsj7u083UEOnQ4gSWfbWIUDO6JQ== | ||||
|   dependencies: | ||||
|     cron-parser "^4.2.1" | ||||
|     debuglog "^1.0.0" | ||||
|  | @ -2293,10 +2299,10 @@ data-urls@^3.0.2: | |||
|     whatwg-mimetype "^3.0.0" | ||||
|     whatwg-url "^11.0.0" | ||||
| 
 | ||||
| date-fns@2.29.1: | ||||
|   version "2.29.1" | ||||
|   resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.1.tgz#9667c2615525e552b5135a3116b95b1961456e60" | ||||
|   integrity sha512-dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw== | ||||
| date-fns@2.29.2: | ||||
|   version "2.29.2" | ||||
|   resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.2.tgz#0d4b3d0f3dff0f920820a070920f0d9662c51931" | ||||
|   integrity sha512-0VNbwmWJDS/G3ySwFSJA3ayhbURMTJLtwM2DTxf9CWondCnh6DTNlO9JgRSq6ibf4eD0lfMJNBxUdEAHHix+bA== | ||||
| 
 | ||||
| date-fns@^2.28.0: | ||||
|   version "2.28.0" | ||||
|  | @ -2732,6 +2738,11 @@ entities@^4.3.0: | |||
|   resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.0.tgz#62915f08d67353bb4eb67e3d62641a4059aec656" | ||||
|   integrity sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg== | ||||
| 
 | ||||
| entities@^4.4.0: | ||||
|   version "4.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" | ||||
|   integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== | ||||
| 
 | ||||
| env-paths@^2.2.0: | ||||
|   version "2.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" | ||||
|  | @ -2949,14 +2960,15 @@ eslint-visitor-keys@^3.3.0: | |||
|   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" | ||||
|   integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== | ||||
| 
 | ||||
| eslint@8.21.0: | ||||
|   version "8.21.0" | ||||
|   resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef" | ||||
|   integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA== | ||||
| eslint@8.23.0: | ||||
|   version "8.23.0" | ||||
|   resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" | ||||
|   integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== | ||||
|   dependencies: | ||||
|     "@eslint/eslintrc" "^1.3.0" | ||||
|     "@eslint/eslintrc" "^1.3.1" | ||||
|     "@humanwhocodes/config-array" "^0.10.4" | ||||
|     "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" | ||||
|     "@humanwhocodes/module-importer" "^1.0.1" | ||||
|     ajv "^6.10.0" | ||||
|     chalk "^4.0.0" | ||||
|     cross-spawn "^7.0.2" | ||||
|  | @ -2966,7 +2978,7 @@ eslint@8.21.0: | |||
|     eslint-scope "^7.1.1" | ||||
|     eslint-utils "^3.0.0" | ||||
|     eslint-visitor-keys "^3.3.0" | ||||
|     espree "^9.3.3" | ||||
|     espree "^9.4.0" | ||||
|     esquery "^1.4.0" | ||||
|     esutils "^2.0.2" | ||||
|     fast-deep-equal "^3.1.3" | ||||
|  | @ -2992,21 +3004,11 @@ eslint@8.21.0: | |||
|     strip-ansi "^6.0.1" | ||||
|     strip-json-comments "^3.1.0" | ||||
|     text-table "^0.2.0" | ||||
|     v8-compile-cache "^2.0.3" | ||||
| 
 | ||||
| espree@^9.3.2: | ||||
|   version "9.3.2" | ||||
|   resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" | ||||
|   integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== | ||||
|   dependencies: | ||||
|     acorn "^8.7.1" | ||||
|     acorn-jsx "^5.3.2" | ||||
|     eslint-visitor-keys "^3.3.0" | ||||
| 
 | ||||
| espree@^9.3.3: | ||||
|   version "9.3.3" | ||||
|   resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" | ||||
|   integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== | ||||
| espree@^9.4.0: | ||||
|   version "9.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" | ||||
|   integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== | ||||
|   dependencies: | ||||
|     acorn "^8.8.0" | ||||
|     acorn-jsx "^5.3.2" | ||||
|  | @ -4568,10 +4570,10 @@ jsprim@^1.2.2: | |||
|     json-schema "0.4.0" | ||||
|     verror "1.10.0" | ||||
| 
 | ||||
| jsrsasign@10.5.26: | ||||
|   version "10.5.26" | ||||
|   resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.5.26.tgz#bc36d4c4019c83f144066725ea0ca6ab306702fc" | ||||
|   integrity sha512-TjEu1yPdI+8whpe6CA/6XNb7U1sm9+PUItOUfSThOLvx7JCfYHIfuvZK2Egz2DWUKioafn98LPuk+geLGckxMg== | ||||
| jsrsasign@10.5.27: | ||||
|   version "10.5.27" | ||||
|   resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.5.27.tgz#481defb1206aa48cd740c3fce8ff546efb5bb45e" | ||||
|   integrity sha512-1F4LmDeJZHYwoVvB44jEo2uZL3XuwYNzXCDOu53Ui6vqofGQ/gCYDmaxfVZtN0TGd92UKXr/BONcfrPonUIcQQ== | ||||
| 
 | ||||
| jstransformer@1.0.0: | ||||
|   version "1.0.0" | ||||
|  | @ -5595,10 +5597,10 @@ npmlog@^6.0.0: | |||
|     gauge "^4.0.0" | ||||
|     set-blocking "^2.0.0" | ||||
| 
 | ||||
| nsfwjs@2.4.1: | ||||
|   version "2.4.1" | ||||
|   resolved "https://registry.yarnpkg.com/nsfwjs/-/nsfwjs-2.4.1.tgz#406dff6e379f4fc1c5fd4d16b7a64e4ae4b355c1" | ||||
|   integrity sha512-8XPUPVeIIfkSeWjHEytDMedZNISR0SCjv67JYbS75SIYcmz8Y7GZqNfLupltjcwsqV0e4bwdc4l4bEOno58QdA== | ||||
| nsfwjs@2.4.2: | ||||
|   version "2.4.2" | ||||
|   resolved "https://registry.yarnpkg.com/nsfwjs/-/nsfwjs-2.4.2.tgz#dd8656705f79f53d789245eaf317d6b6818a0032" | ||||
|   integrity sha512-i4Pp2yt59qPQgeZFyg3wXFBX52uSeu/hkDoqdZfe+sILRxNBUu0VDogj7Lmqak0GlrXviS/wLiVeIx40IDUu7A== | ||||
|   dependencies: | ||||
|     "@nsfw-filter/gif-frames" "1.0.2" | ||||
| 
 | ||||
|  | @ -5868,12 +5870,12 @@ parse5-htmlparser2-tree-adapter@^6.0.0: | |||
|   dependencies: | ||||
|     parse5 "^6.0.1" | ||||
| 
 | ||||
| parse5@7.0.0, parse5@^7.0.0: | ||||
|   version "7.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" | ||||
|   integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== | ||||
| parse5@7.1.1: | ||||
|   version "7.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746" | ||||
|   integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== | ||||
|   dependencies: | ||||
|     entities "^4.3.0" | ||||
|     entities "^4.4.0" | ||||
| 
 | ||||
| parse5@^5.1.1: | ||||
|   version "5.1.1" | ||||
|  | @ -5885,6 +5887,13 @@ parse5@^6.0.1: | |||
|   resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" | ||||
|   integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== | ||||
| 
 | ||||
| parse5@^7.0.0: | ||||
|   version "7.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" | ||||
|   integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== | ||||
|   dependencies: | ||||
|     entities "^4.3.0" | ||||
| 
 | ||||
| parseurl@^1.3.2: | ||||
|   version "1.3.3" | ||||
|   resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" | ||||
|  | @ -5955,10 +5964,10 @@ pg-int8@1.0.1: | |||
|   resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" | ||||
|   integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== | ||||
| 
 | ||||
| pg-pool@^3.5.1: | ||||
|   version "3.5.1" | ||||
|   resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.1.tgz#f499ce76f9bf5097488b3b83b19861f28e4ed905" | ||||
|   integrity sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ== | ||||
| pg-pool@^3.5.2: | ||||
|   version "3.5.2" | ||||
|   resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.2.tgz#ed1bed1fb8d79f1c6fd5fb1c99e990fbf9ddf178" | ||||
|   integrity sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w== | ||||
| 
 | ||||
| pg-protocol@^1.5.0: | ||||
|   version "1.5.0" | ||||
|  | @ -5976,15 +5985,15 @@ pg-types@^2.1.0: | |||
|     postgres-date "~1.0.4" | ||||
|     postgres-interval "^1.1.0" | ||||
| 
 | ||||
| pg@8.7.3: | ||||
|   version "8.7.3" | ||||
|   resolved "https://registry.yarnpkg.com/pg/-/pg-8.7.3.tgz#8a5bdd664ca4fda4db7997ec634c6e5455b27c44" | ||||
|   integrity sha512-HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw== | ||||
| pg@8.8.0: | ||||
|   version "8.8.0" | ||||
|   resolved "https://registry.yarnpkg.com/pg/-/pg-8.8.0.tgz#a77f41f9d9ede7009abfca54667c775a240da686" | ||||
|   integrity sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw== | ||||
|   dependencies: | ||||
|     buffer-writer "2.0.0" | ||||
|     packet-reader "1.0.0" | ||||
|     pg-connection-string "^2.5.0" | ||||
|     pg-pool "^3.5.1" | ||||
|     pg-pool "^3.5.2" | ||||
|     pg-protocol "^1.5.0" | ||||
|     pg-types "^2.1.0" | ||||
|     pgpass "1.x" | ||||
|  | @ -7246,10 +7255,10 @@ syslog-pro@1.0.0: | |||
|   dependencies: | ||||
|     moment "^2.22.2" | ||||
| 
 | ||||
| systeminformation@5.12.5: | ||||
|   version "5.12.5" | ||||
|   resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.12.5.tgz#ba223aca6d99453136986fb6a4c96518d13d27b5" | ||||
|   integrity sha512-lWhWMZTQzwHaB2aacQ9wbhSncgXo8bYv7M9K5Qrz9tJuvqPepiCvb5Uauq2xwH+JhbjPO9YJD2qLXQEXFAjwwA== | ||||
| systeminformation@5.12.6: | ||||
|   version "5.12.6" | ||||
|   resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.12.6.tgz#b75d7aaf9f5da32439fc633d2be9eb741691d200" | ||||
|   integrity sha512-FkCvT5BOuH1OE3+8lFM25oXIYJ0CM8kq4Wgvz2jyBTrsOIgha/6gdJXgbF4rv+g0j/5wJqQLDKan7kc/p7uIvw== | ||||
| 
 | ||||
| tapable@^2.2.0: | ||||
|   version "2.2.0" | ||||
|  | @ -7586,10 +7595,10 @@ typedarray@^0.0.6: | |||
|   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" | ||||
|   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= | ||||
| 
 | ||||
| typeorm@0.3.7: | ||||
|   version "0.3.7" | ||||
|   resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.7.tgz#5776ed5058f0acb75d64723b39ff458d21de64c1" | ||||
|   integrity sha512-MsPJeP6Zuwfe64c++l80+VRqpGEGxf0CkztIEnehQ+CMmQPSHjOnFbFxwBuZ2jiLqZTjLk2ZqQdVF0RmvxNF3Q== | ||||
| typeorm@0.3.9: | ||||
|   version "0.3.9" | ||||
|   resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.9.tgz#ad0f525d81c081fd11006f97030f47a55978ac81" | ||||
|   integrity sha512-xNcE44D4hn74n7pjuMog9hRgep+BiO3IBpjEaQZ8fb56zsDz7xHT1GAeWwmGuuU+4nDEELp2mIqgSCR+zxR7Jw== | ||||
|   dependencies: | ||||
|     "@sqltools/formatter" "^1.2.2" | ||||
|     app-root-path "^3.0.0" | ||||
|  | @ -7609,10 +7618,10 @@ typeorm@0.3.7: | |||
|     xml2js "^0.4.23" | ||||
|     yargs "^17.3.1" | ||||
| 
 | ||||
| typescript@4.7.4: | ||||
|   version "4.7.4" | ||||
|   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" | ||||
|   integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== | ||||
| typescript@4.8.3: | ||||
|   version "4.8.3" | ||||
|   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" | ||||
|   integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== | ||||
| 
 | ||||
| ulid@2.3.0: | ||||
|   version "2.3.0" | ||||
|  | @ -7743,26 +7752,26 @@ uuid@8.0.0: | |||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" | ||||
|   integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== | ||||
| 
 | ||||
| uuid@8.3.2, uuid@^8.3.0, uuid@^8.3.2: | ||||
|   version "8.3.2" | ||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" | ||||
|   integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== | ||||
| uuid@9.0.0: | ||||
|   version "9.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" | ||||
|   integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== | ||||
| 
 | ||||
| uuid@^3.3.2: | ||||
|   version "3.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" | ||||
|   integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== | ||||
| 
 | ||||
| uuid@^8.3.0, uuid@^8.3.2: | ||||
|   version "8.3.2" | ||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" | ||||
|   integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== | ||||
| 
 | ||||
| v8-compile-cache-lib@^3.0.1: | ||||
|   version "3.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" | ||||
|   integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== | ||||
| 
 | ||||
| v8-compile-cache@^2.0.3: | ||||
|   version "2.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" | ||||
|   integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== | ||||
| 
 | ||||
| vary@^1.1.2: | ||||
|   version "1.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" | ||||
|  |  | |||
|  | @ -15,8 +15,8 @@ | |||
| 		"@rollup/plugin-alias": "3.1.9", | ||||
| 		"@rollup/plugin-json": "4.1.0", | ||||
| 		"@syuilo/aiscript": "0.11.1", | ||||
| 		"@vitejs/plugin-vue": "3.0.3", | ||||
| 		"@vue/compiler-sfc": "3.2.37", | ||||
| 		"@vitejs/plugin-vue": "3.1.0", | ||||
| 		"@vue/compiler-sfc": "3.2.39", | ||||
| 		"autobind-decorator": "2.4.0", | ||||
| 		"autosize": "5.0.1", | ||||
| 		"blurhash": "1.1.5", | ||||
|  | @ -24,11 +24,11 @@ | |||
| 		"browser-image-resizer": "git+https://github.com/misskey-dev/browser-image-resizer#v2.2.1-misskey.2", | ||||
| 		"chart.js": "3.9.1", | ||||
| 		"chartjs-adapter-date-fns": "2.0.0", | ||||
| 		"chartjs-plugin-gradient": "0.5.0", | ||||
| 		"chartjs-plugin-gradient": "0.5.1", | ||||
| 		"chartjs-plugin-zoom": "1.2.1", | ||||
| 		"compare-versions": "4.1.3", | ||||
| 		"compare-versions": "5.0.1", | ||||
| 		"cropperjs": "2.0.0-beta", | ||||
| 		"date-fns": "2.29.1", | ||||
| 		"date-fns": "2.29.2", | ||||
| 		"escape-regexp": "0.0.1", | ||||
| 		"eventemitter3": "4.0.7", | ||||
| 		"idb-keyval": "6.2.0", | ||||
|  | @ -38,35 +38,35 @@ | |||
| 		"matter-js": "0.18.0", | ||||
| 		"mfm-js": "0.23.0", | ||||
| 		"misskey-js": "0.0.14", | ||||
| 		"photoswipe": "5.3.0", | ||||
| 		"prismjs": "1.28.0", | ||||
| 		"photoswipe": "5.3.2", | ||||
| 		"prismjs": "1.29.0", | ||||
| 		"punycode": "2.1.1", | ||||
| 		"querystring": "0.2.1", | ||||
| 		"rndstr": "1.0.0", | ||||
| 		"s-age": "1.1.2", | ||||
| 		"sass": "1.54.4", | ||||
| 		"sass": "1.54.9", | ||||
| 		"seedrandom": "3.0.5", | ||||
| 		"strict-event-emitter-types": "2.0.0", | ||||
| 		"stringz": "2.1.0", | ||||
| 		"syuilo-password-strength": "0.0.1", | ||||
| 		"textarea-caret": "3.1.0", | ||||
| 		"three": "0.143.0", | ||||
| 		"three": "0.144.0", | ||||
| 		"throttle-debounce": "5.0.0", | ||||
| 		"tinycolor2": "1.4.2", | ||||
| 		"tsc-alias": "1.7.0", | ||||
| 		"tsconfig-paths": "4.1.0", | ||||
| 		"twemoji-parser": "14.0.0", | ||||
| 		"typescript": "4.7.4", | ||||
| 		"uuid": "8.3.2", | ||||
| 		"typescript": "4.8.3", | ||||
| 		"uuid": "9.0.0", | ||||
| 		"vanilla-tilt": "1.7.2", | ||||
| 		"vite": "3.0.7", | ||||
| 		"vue": "3.2.37", | ||||
| 		"vite": "3.1.0", | ||||
| 		"vue": "3.2.39", | ||||
| 		"vue-prism-editor": "2.0.0-alpha.2", | ||||
| 		"vuedraggable": "4.0.1" | ||||
| 	}, | ||||
| 	"devDependencies": { | ||||
| 		"@types/escape-regexp": "0.0.1", | ||||
| 		"@types/glob": "7.2.0", | ||||
| 		"@types/glob": "8.0.0", | ||||
| 		"@types/gulp": "4.0.9", | ||||
| 		"@types/gulp-rename": "2.0.1", | ||||
| 		"@types/katex": "0.14.0", | ||||
|  | @ -76,14 +76,14 @@ | |||
| 		"@types/throttle-debounce": "5.0.0", | ||||
| 		"@types/tinycolor2": "1.4.3", | ||||
| 		"@types/uuid": "8.3.4", | ||||
| 		"@typescript-eslint/eslint-plugin": "5.33.0", | ||||
| 		"@typescript-eslint/parser": "5.33.0", | ||||
| 		"@typescript-eslint/eslint-plugin": "5.36.2", | ||||
| 		"@typescript-eslint/parser": "5.36.2", | ||||
| 		"cross-env": "7.0.3", | ||||
| 		"cypress": "10.4.0", | ||||
| 		"eslint": "8.21.0", | ||||
| 		"cypress": "10.7.0", | ||||
| 		"eslint": "8.23.0", | ||||
| 		"eslint-plugin-import": "2.26.0", | ||||
| 		"eslint-plugin-vue": "9.3.0", | ||||
| 		"rollup": "2.77.3", | ||||
| 		"eslint-plugin-vue": "9.4.0", | ||||
| 		"rollup": "2.79.0", | ||||
| 		"start-server-and-test": "1.14.0" | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -146,7 +146,7 @@ export async function openAccountMenu(opts: { | |||
| 	onChoose?: (account: misskey.entities.UserDetailed) => void; | ||||
| }, ev: MouseEvent) { | ||||
| 	function showSigninDialog() { | ||||
| 		popup(defineAsyncComponent(() => import('@/components/signin-dialog.vue')), {}, { | ||||
| 		popup(defineAsyncComponent(() => import('@/components/MkSigninDialog.vue')), {}, { | ||||
| 			done: res => { | ||||
| 				addAccount(res.id, res.i); | ||||
| 				success(); | ||||
|  | @ -155,7 +155,7 @@ export async function openAccountMenu(opts: { | |||
| 	} | ||||
| 
 | ||||
| 	function createAccount() { | ||||
| 		popup(defineAsyncComponent(() => import('@/components/signup-dialog.vue')), {}, { | ||||
| 		popup(defineAsyncComponent(() => import('@/components/MkSignupDialog.vue')), {}, { | ||||
| 			done: res => { | ||||
| 				addAccount(res.id, res.i); | ||||
| 				switchAccountWithToken(res.i); | ||||
|  |  | |||
|  | @ -36,9 +36,9 @@ | |||
| </template> | ||||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import MkSwitch from '@/components/form/switch.vue'; | ||||
| import MkKeyValue from '@/components/key-value.vue'; | ||||
| import MkKeyValue from '@/components/MkKeyValue.vue'; | ||||
| import { acct, userPage } from '@/filters/user'; | ||||
| import * as os from '@/os'; | ||||
| import { i18n } from '@/i18n'; | ||||
|  | @ -25,9 +25,9 @@ | |||
| <script setup lang="ts"> | ||||
| import { ref } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import XWindow from '@/components/MkWindow.vue'; | ||||
| import MkTextarea from '@/components/form/textarea.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { i18n } from '@/i18n'; | ||||
| 
 | ||||
|  | @ -26,6 +26,7 @@ | |||
| 		</text> | ||||
| 	</template> | ||||
| 
 | ||||
| 	<!-- | ||||
| 	<line | ||||
| 		:x1="5 - (Math.sin(sAngle) * (sHandLengthRatio * handsTailLength))" | ||||
| 		:y1="5 + (Math.cos(sAngle) * (sHandLengthRatio * handsTailLength))" | ||||
|  | @ -35,6 +36,20 @@ | |||
| 		:stroke-width="thickness / 2" | ||||
| 		stroke-linecap="round" | ||||
| 	/> | ||||
| 	--> | ||||
| 
 | ||||
| 	<line | ||||
| 		class="s" | ||||
| 		:class="{ animate: !disableSAnimate && sAnimation !== 'none', elastic: sAnimation === 'elastic', easeOut: sAnimation === 'easeOut' }" | ||||
| 		:x1="5 - (0 * (sHandLengthRatio * handsTailLength))" | ||||
| 		:y1="5 + (1 * (sHandLengthRatio * handsTailLength))" | ||||
| 		:x2="5 + (0 * ((sHandLengthRatio * 5) - handsPadding))" | ||||
| 		:y2="5 - (1 * ((sHandLengthRatio * 5) - handsPadding))" | ||||
| 		:stroke="sHandColor" | ||||
| 		:stroke-width="thickness / 2" | ||||
| 		:style="`transform: rotateZ(${sAngle}rad)`" | ||||
| 		stroke-linecap="round" | ||||
| 	/> | ||||
| 
 | ||||
| 	<line | ||||
| 		:x1="5 - (Math.sin(mAngle) * (mHandLengthRatio * handsTailLength))" | ||||
|  | @ -59,7 +74,7 @@ | |||
| </template> | ||||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { ref, computed, onMounted, onBeforeUnmount, shallowRef } from 'vue'; | ||||
| import { ref, computed, onMounted, onBeforeUnmount, shallowRef, nextTick } from 'vue'; | ||||
| import tinycolor from 'tinycolor2'; | ||||
| import { globalEvents } from '@/events.js'; | ||||
| 
 | ||||
|  | @ -84,6 +99,7 @@ const props = withDefaults(defineProps<{ | |||
| 	twentyfour?: boolean; | ||||
| 	graduations?: 'none' | 'dots' | 'numbers'; | ||||
| 	fadeGraduations?: boolean; | ||||
| 	sAnimation?: 'none' | 'elastic' | 'easeOut'; | ||||
| }>(), { | ||||
| 	numbers: false, | ||||
| 	thickness: 0.1, | ||||
|  | @ -91,6 +107,7 @@ const props = withDefaults(defineProps<{ | |||
| 	twentyfour: false, | ||||
| 	graduations: 'dots', | ||||
| 	fadeGraduations: true, | ||||
| 	sAnimation: 'elastic', | ||||
| }); | ||||
| 
 | ||||
| const graduationsMajor = computed(() => { | ||||
|  | @ -125,6 +142,8 @@ let s = $ref<number>(0); | |||
| let hAngle = $ref<number>(0); | ||||
| let mAngle = $ref<number>(0); | ||||
| let sAngle = $ref<number>(0); | ||||
| let disableSAnimate = $ref(false); | ||||
| let sOneRound = false; | ||||
| 
 | ||||
| function tick() { | ||||
| 	const now = new Date(); | ||||
|  | @ -134,8 +153,22 @@ function tick() { | |||
| 	h = now.getHours(); | ||||
| 	hAngle = Math.PI * (h % (props.twentyfour ? 24 : 12) + (m + s / 60) / 60) / (props.twentyfour ? 12 : 6); | ||||
| 	mAngle = Math.PI * (m + s / 60) / 30; | ||||
| 	if (sOneRound) { // 秒針が一周した際のアニメーションをよしなに処理する(これが無いと秒が59->0になったときに期待したアニメーションにならない) | ||||
| 		sAngle = Math.PI * 60 / 30; | ||||
| 		window.setTimeout(() => { | ||||
| 			disableSAnimate = true; | ||||
| 			window.setTimeout(() => { | ||||
| 				sAngle = 0; | ||||
| 				window.setTimeout(() => { | ||||
| 					disableSAnimate = false; | ||||
| 				}, 100); | ||||
| 			}, 100); | ||||
| 		}, 700); | ||||
| 	} else { | ||||
| 		sAngle = Math.PI * s / 30; | ||||
| 	} | ||||
| 	sOneRound = s === 59; | ||||
| } | ||||
| 
 | ||||
| tick(); | ||||
| 
 | ||||
|  | @ -175,5 +208,18 @@ onBeforeUnmount(() => { | |||
| <style lang="scss" scoped> | ||||
| .mbcofsoe { | ||||
| 	display: block; | ||||
| 
 | ||||
| 	> .s { | ||||
| 		will-change: transform; | ||||
| 		transform-origin: 50% 50%; | ||||
| 
 | ||||
| 		&.animate.elastic { | ||||
| 			transition: transform .2s cubic-bezier(.4,2.08,.55,.44); | ||||
| 		} | ||||
| 
 | ||||
| 		&.animate.easeOut { | ||||
| 			transition: transform .7s cubic-bezier(0,.7,.3,1); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| </style> | ||||
|  | @ -3,7 +3,7 @@ | |||
| 	v-if="!link" class="bghgjjyj _button" | ||||
| 	:class="{ inline, primary, gradate, danger, rounded, full }" | ||||
| 	:type="type" | ||||
| 	@click="$emit('click', $event)" | ||||
| 	@click="emit('click', $event)" | ||||
| 	@mousedown="onMousedown" | ||||
| > | ||||
| 	<div ref="ripples" class="ripples"></div> | ||||
|  | @ -24,80 +24,43 @@ | |||
| </MkA> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| <script lang="ts" setup> | ||||
| import { nextTick, onMounted } from 'vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
| 		type: { | ||||
| 			type: String, | ||||
| 			required: false, | ||||
| 		}, | ||||
| 		primary: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		gradate: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		rounded: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: true, | ||||
| 		}, | ||||
| 		inline: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		link: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		to: { | ||||
| 			type: String, | ||||
| 			required: false, | ||||
| 		}, | ||||
| 		autofocus: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		wait: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		danger: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		full: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false, | ||||
| 		}, | ||||
| 	}, | ||||
| 	emits: ['click'], | ||||
| 	mounted() { | ||||
| 		if (this.autofocus) { | ||||
| 			this.$nextTick(() => { | ||||
| 				this.$el.focus(); | ||||
| const props = defineProps<{ | ||||
| 	type?: 'button' | 'submit' | 'reset'; | ||||
| 	primary?: boolean; | ||||
| 	gradate?: boolean; | ||||
| 	rounded?: boolean; | ||||
| 	inline?: boolean; | ||||
| 	link?: boolean; | ||||
| 	to?: string; | ||||
| 	autofocus?: boolean; | ||||
| 	wait?: boolean; | ||||
| 	danger?: boolean; | ||||
| 	full?: boolean; | ||||
| }>(); | ||||
| 
 | ||||
| const emit = defineEmits<{ | ||||
| 	(ev: 'click', payload: MouseEvent): void; | ||||
| }>(); | ||||
| 
 | ||||
| let el = $ref<HTMLElement | null>(null); | ||||
| let ripples = $ref<HTMLElement | null>(null); | ||||
| 
 | ||||
| onMounted(() => { | ||||
| 	if (props.autofocus) { | ||||
| 		nextTick(() => { | ||||
| 			el!.focus(); | ||||
| 		}); | ||||
| 	} | ||||
| 	}, | ||||
| 	methods: { | ||||
| 		onMousedown(evt: MouseEvent) { | ||||
| 			function distance(p, q) { | ||||
| }); | ||||
| 
 | ||||
| function distance(p, q): number { | ||||
| 	return Math.hypot(p.x - q.x, p.y - q.y); | ||||
| } | ||||
| 
 | ||||
| 			function calcCircleScale(boxW, boxH, circleCenterX, circleCenterY) { | ||||
| function calcCircleScale(boxW, boxH, circleCenterX, circleCenterY): number { | ||||
| 	const origin = { x: circleCenterX, y: circleCenterY }; | ||||
| 	const dist1 = distance({ x: 0, y: 0 }, origin); | ||||
| 	const dist2 = distance({ x: boxW, y: 0 }, origin); | ||||
|  | @ -106,18 +69,20 @@ export default defineComponent({ | |||
| 	return Math.max(dist1, dist2, dist3, dist4) * 2; | ||||
| } | ||||
| 
 | ||||
| 			const rect = evt.target.getBoundingClientRect(); | ||||
| function onMousedown(evt: MouseEvent): void { | ||||
| 	const target = evt.target! as HTMLElement; | ||||
| 	const rect = target.getBoundingClientRect(); | ||||
| 
 | ||||
| 	const ripple = document.createElement('div'); | ||||
| 	ripple.style.top = (evt.clientY - rect.top - 1).toString() + 'px'; | ||||
| 	ripple.style.left = (evt.clientX - rect.left - 1).toString() + 'px'; | ||||
| 
 | ||||
| 			this.$refs.ripples.appendChild(ripple); | ||||
| 	ripples!.appendChild(ripple); | ||||
| 
 | ||||
| 	const circleCenterX = evt.clientX - rect.left; | ||||
| 	const circleCenterY = evt.clientY - rect.top; | ||||
| 
 | ||||
| 			const scale = calcCircleScale(evt.target.clientWidth, evt.target.clientHeight, circleCenterX, circleCenterY); | ||||
| 	const scale = calcCircleScale(target.clientWidth, target.clientHeight, circleCenterX, circleCenterY); | ||||
| 
 | ||||
| 	window.setTimeout(() => { | ||||
| 		ripple.style.transform = 'scale(' + (scale / 2) + ')'; | ||||
|  | @ -127,11 +92,9 @@ export default defineComponent({ | |||
| 		ripple.style.opacity = '0'; | ||||
| 	}, 1000); | ||||
| 	window.setTimeout(() => { | ||||
| 				if (this.$refs.ripples) this.$refs.ripples.removeChild(ripple); | ||||
| 		if (ripples) ripples.removeChild(ripple); | ||||
| 	}, 2000); | ||||
| 		}, | ||||
| 	}, | ||||
| }); | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <style lang="scss" scoped> | ||||
|  | @ -14,7 +14,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import MkTooltip from './ui/tooltip.vue'; | ||||
| import MkTooltip from './MkTooltip.vue'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
| 	showing: boolean; | ||||
|  | @ -11,5 +11,5 @@ defineProps<{ | |||
| 	inline?: boolean; | ||||
| }>(); | ||||
| 
 | ||||
| const XCode = defineAsyncComponent(() => import('./code-core.vue')); | ||||
| const XCode = defineAsyncComponent(() => import('@/components/MkCode.core.vue')); | ||||
| </script> | ||||
|  | @ -8,7 +8,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { onMounted, onBeforeUnmount } from 'vue'; | ||||
| import MkMenu from './menu.vue'; | ||||
| import MkMenu from './MkMenu.vue'; | ||||
| import { MenuItem } from './types/menu.vue'; | ||||
| import contains from '@/scripts/contains'; | ||||
| import * as os from '@/os'; | ||||
|  | @ -30,7 +30,7 @@ import { nextTick, onMounted } from 'vue'; | |||
| import * as misskey from 'misskey-js'; | ||||
| import Cropper from 'cropperjs'; | ||||
| import tinycolor from 'tinycolor2'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import XModalWindow from '@/components/MkModalWindow.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { $i } from '@/account'; | ||||
| import { defaultStore } from '@/store'; | ||||
|  | @ -1,6 +1,6 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent, h, PropType, TransitionGroup } from 'vue'; | ||||
| import MkAd from '@/components/global/ad.vue'; | ||||
| import MkAd from '@/components/global/MkAd.vue'; | ||||
| import { i18n } from '@/i18n'; | ||||
| import { defaultStore } from '@/store'; | ||||
| 
 | ||||
|  | @ -13,22 +13,22 @@ export default defineComponent({ | |||
| 		direction: { | ||||
| 			type: String, | ||||
| 			required: false, | ||||
| 			default: 'down' | ||||
| 			default: 'down', | ||||
| 		}, | ||||
| 		reversed: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		noGap: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false | ||||
| 			default: false, | ||||
| 		}, | ||||
| 		ad: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false | ||||
| 			default: false, | ||||
| 		}, | ||||
| 	}, | ||||
| 
 | ||||
|  | @ -38,7 +38,7 @@ export default defineComponent({ | |||
| 			const month = new Date(time).getMonth() + 1; | ||||
| 			return i18n.t('monthAndDay', { | ||||
| 				month: month.toString(), | ||||
| 				day: date.toString() | ||||
| 				day: date.toString(), | ||||
| 			}); | ||||
| 		} | ||||
| 
 | ||||
|  | @ -48,7 +48,7 @@ export default defineComponent({ | |||
| 			if (!slots || !slots.default) return; | ||||
| 
 | ||||
| 			const el = slots.default({ | ||||
| 				item: item | ||||
| 				item: item, | ||||
| 			})[0]; | ||||
| 			if (el.key == null && item.id) el.key = item.id; | ||||
| 
 | ||||
|  | @ -60,20 +60,20 @@ export default defineComponent({ | |||
| 					class: 'separator', | ||||
| 					key: item.id + ':separator', | ||||
| 				}, h('p', { | ||||
| 					class: 'date' | ||||
| 					class: 'date', | ||||
| 				}, [ | ||||
| 					h('span', [ | ||||
| 						h('i', { | ||||
| 							class: 'fas fa-angle-up icon', | ||||
| 						}), | ||||
| 						getDateText(item.createdAt) | ||||
| 						getDateText(item.createdAt), | ||||
| 					]), | ||||
| 					h('span', [ | ||||
| 						getDateText(props.items[i + 1].createdAt), | ||||
| 						h('i', { | ||||
| 							class: 'fas fa-angle-down icon', | ||||
| 						}) | ||||
| 					]) | ||||
| 						}), | ||||
| 					]), | ||||
| 				])); | ||||
| 
 | ||||
| 				return [el, separator]; | ||||
|  | @ -102,7 +102,7 @@ export default defineComponent({ | |||
| 				class: 'sqadhkmv' + (props.noGap ? ' noGap' : ''), | ||||
| 			}, | ||||
| 			{ default: renderChildren }); | ||||
| 	} | ||||
| 	}, | ||||
| }); | ||||
| </script> | ||||
| 
 | ||||
|  | @ -40,8 +40,8 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { onBeforeUnmount, onMounted, ref } from 'vue'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkModal from '@/components/MkModal.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import MkInput from '@/components/form/input.vue'; | ||||
| import MkSelect from '@/components/form/select.vue'; | ||||
| import { i18n } from '@/i18n'; | ||||
|  | @ -1,5 +1,6 @@ | |||
| <template> | ||||
| <div class="ncvczrfv" | ||||
| <div | ||||
| 	class="ncvczrfv" | ||||
| 	:class="{ isSelected }" | ||||
| 	draggable="true" | ||||
| 	:title="title" | ||||
|  | @ -34,7 +35,7 @@ | |||
| import { computed, defineAsyncComponent, ref } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import MkDriveFileThumbnail from './drive-file-thumbnail.vue'; | ||||
| import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue'; | ||||
| import bytes from '@/filters/bytes'; | ||||
| import * as os from '@/os'; | ||||
| import { i18n } from '@/i18n'; | ||||
|  | @ -63,31 +64,31 @@ function getMenu() { | |||
| 	return [{ | ||||
| 		text: i18n.ts.rename, | ||||
| 		icon: 'fas fa-i-cursor', | ||||
| 		action: rename | ||||
| 		action: rename, | ||||
| 	}, { | ||||
| 		text: props.file.isSensitive ? i18n.ts.unmarkAsSensitive : i18n.ts.markAsSensitive, | ||||
| 		icon: props.file.isSensitive ? 'fas fa-eye' : 'fas fa-eye-slash', | ||||
| 		action: toggleSensitive | ||||
| 		action: toggleSensitive, | ||||
| 	}, { | ||||
| 		text: i18n.ts.describeFile, | ||||
| 		icon: 'fas fa-i-cursor', | ||||
| 		action: describe | ||||
| 		action: describe, | ||||
| 	}, null, { | ||||
| 		text: i18n.ts.copyUrl, | ||||
| 		icon: 'fas fa-link', | ||||
| 		action: copyUrl | ||||
| 		action: copyUrl, | ||||
| 	}, { | ||||
| 		type: 'a', | ||||
| 		href: props.file.url, | ||||
| 		target: '_blank', | ||||
| 		text: i18n.ts.download, | ||||
| 		icon: 'fas fa-download', | ||||
| 		download: props.file.name | ||||
| 		download: props.file.name, | ||||
| 	}, null, { | ||||
| 		text: i18n.ts.delete, | ||||
| 		icon: 'fas fa-trash-alt', | ||||
| 		danger: true, | ||||
| 		action: deleteFile | ||||
| 		action: deleteFile, | ||||
| 	}]; | ||||
| } | ||||
| 
 | ||||
|  | @ -127,35 +128,35 @@ function rename() { | |||
| 		if (canceled) return; | ||||
| 		os.api('drive/files/update', { | ||||
| 			fileId: props.file.id, | ||||
| 			name: name | ||||
| 			name: name, | ||||
| 		}); | ||||
| 	}); | ||||
| } | ||||
| 
 | ||||
| function describe() { | ||||
| 	os.popup(defineAsyncComponent(() => import('@/components/media-caption.vue')), { | ||||
| 	os.popup(defineAsyncComponent(() => import('@/components/MkMediaCaption.vue')), { | ||||
| 		title: i18n.ts.describeFile, | ||||
| 		input: { | ||||
| 			placeholder: i18n.ts.inputNewDescription, | ||||
| 			default: props.file.comment != null ? props.file.comment : '', | ||||
| 		}, | ||||
| 		image: props.file | ||||
| 		image: props.file, | ||||
| 	}, { | ||||
| 		done: result => { | ||||
| 			if (!result || result.canceled) return; | ||||
| 			let comment = result.result; | ||||
| 			os.api('drive/files/update', { | ||||
| 				fileId: props.file.id, | ||||
| 				comment: comment.length === 0 ? null : comment | ||||
| 				comment: comment.length === 0 ? null : comment, | ||||
| 			}); | ||||
| 		} | ||||
| 		}, | ||||
| 	}, 'closed'); | ||||
| } | ||||
| 
 | ||||
| function toggleSensitive() { | ||||
| 	os.api('drive/files/update', { | ||||
| 		fileId: props.file.id, | ||||
| 		isSensitive: !props.file.isSensitive | ||||
| 		isSensitive: !props.file.isSensitive, | ||||
| 	}); | ||||
| } | ||||
| 
 | ||||
|  | @ -176,7 +177,7 @@ async function deleteFile() { | |||
| 
 | ||||
| 	if (canceled) return; | ||||
| 	os.api('drive/files/delete', { | ||||
| 		fileId: props.file.id | ||||
| 		fileId: props.file.id, | ||||
| 	}); | ||||
| } | ||||
| </script> | ||||
|  | @ -1,5 +1,6 @@ | |||
| <template> | ||||
| <div class="rghtznwe" | ||||
| <div | ||||
| 	class="rghtznwe" | ||||
| 	:class="{ draghover }" | ||||
| 	draggable="true" | ||||
| 	:title="title" | ||||
|  | @ -123,7 +124,7 @@ function onDrop(ev: DragEvent) { | |||
| 		emit('removeFile', file.id); | ||||
| 		os.api('drive/files/update', { | ||||
| 			fileId: file.id, | ||||
| 			folderId: props.folder.id | ||||
| 			folderId: props.folder.id, | ||||
| 		}); | ||||
| 	} | ||||
| 	//#endregion | ||||
|  | @ -139,7 +140,7 @@ function onDrop(ev: DragEvent) { | |||
| 		emit('removeFolder', folder.id); | ||||
| 		os.api('drive/folders/update', { | ||||
| 			folderId: folder.id, | ||||
| 			parentId: props.folder.id | ||||
| 			parentId: props.folder.id, | ||||
| 		}).then(() => { | ||||
| 			// noop | ||||
| 		}).catch(err => { | ||||
|  | @ -147,13 +148,13 @@ function onDrop(ev: DragEvent) { | |||
| 				case 'detected-circular-definition': | ||||
| 					os.alert({ | ||||
| 						title: i18n.ts.unableToProcess, | ||||
| 						text: i18n.ts.circularReferenceFolder | ||||
| 						text: i18n.ts.circularReferenceFolder, | ||||
| 					}); | ||||
| 					break; | ||||
| 				default: | ||||
| 					os.alert({ | ||||
| 						type: 'error', | ||||
| 						text: i18n.ts.somethingHappened | ||||
| 						text: i18n.ts.somethingHappened, | ||||
| 					}); | ||||
| 			} | ||||
| 		}); | ||||
|  | @ -186,19 +187,19 @@ function rename() { | |||
| 	os.inputText({ | ||||
| 		title: i18n.ts.renameFolder, | ||||
| 		placeholder: i18n.ts.inputNewFolderName, | ||||
| 		default: props.folder.name | ||||
| 		default: props.folder.name, | ||||
| 	}).then(({ canceled, result: name }) => { | ||||
| 		if (canceled) return; | ||||
| 		os.api('drive/folders/update', { | ||||
| 			folderId: props.folder.id, | ||||
| 			name: name | ||||
| 			name: name, | ||||
| 		}); | ||||
| 	}); | ||||
| } | ||||
| 
 | ||||
| function deleteFolder() { | ||||
| 	os.api('drive/folders/delete', { | ||||
| 		folderId: props.folder.id | ||||
| 		folderId: props.folder.id, | ||||
| 	}).then(() => { | ||||
| 		if (defaultStore.state.uploadFolder === props.folder.id) { | ||||
| 			defaultStore.set('uploadFolder', null); | ||||
|  | @ -209,13 +210,13 @@ function deleteFolder() { | |||
| 				os.alert({ | ||||
| 					type: 'error', | ||||
| 					title: i18n.ts.unableToDelete, | ||||
| 					text: i18n.ts.hasChildFilesOrFolders | ||||
| 					text: i18n.ts.hasChildFilesOrFolders, | ||||
| 				}); | ||||
| 				break; | ||||
| 			default: | ||||
| 				os.alert({ | ||||
| 					type: 'error', | ||||
| 					text: i18n.ts.unableToDelete | ||||
| 					text: i18n.ts.unableToDelete, | ||||
| 				}); | ||||
| 		} | ||||
| 	}); | ||||
|  | @ -230,11 +231,11 @@ function onContextmenu(ev: MouseEvent) { | |||
| 		text: i18n.ts.openInWindow, | ||||
| 		icon: 'fas fa-window-restore', | ||||
| 		action: () => { | ||||
| 			os.popup(defineAsyncComponent(() => import('./drive-window.vue')), { | ||||
| 				initialFolder: props.folder | ||||
| 			os.popup(defineAsyncComponent(() => import('@/components/MkDriveWindow.vue')), { | ||||
| 				initialFolder: props.folder, | ||||
| 			}, { | ||||
| 			}, 'closed'); | ||||
| 		} | ||||
| 		}, | ||||
| 	}, null, { | ||||
| 		text: i18n.ts.rename, | ||||
| 		icon: 'fas fa-i-cursor', | ||||
|  | @ -90,10 +90,10 @@ | |||
| <script lang="ts" setup> | ||||
| import { markRaw, nextTick, onActivated, onBeforeUnmount, onMounted, ref, watch } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import XNavFolder from './drive.nav-folder.vue'; | ||||
| import XFolder from './drive.folder.vue'; | ||||
| import XFile from './drive.file.vue'; | ||||
| import MkButton from './ui/button.vue'; | ||||
| import MkButton from './MkButton.vue'; | ||||
| import XNavFolder from '@/components/MkDrive.navFolder.vue'; | ||||
| import XFolder from '@/components/MkDrive.folder.vue'; | ||||
| import XFile from '@/components/MkDrive.file.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { stream } from '@/stream'; | ||||
| import { defaultStore } from '@/store'; | ||||
|  | @ -17,7 +17,7 @@ | |||
| <script lang="ts" setup> | ||||
| import { computed } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import ImgWithBlurhash from '@/components/img-with-blurhash.vue'; | ||||
| import ImgWithBlurhash from '@/components/MkImgWithBlurhash.vue'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
| 	file: Misskey.entities.DriveFile; | ||||
|  | @ -1,5 +1,6 @@ | |||
| <template> | ||||
| <XModalWindow ref="dialog" | ||||
| <XModalWindow | ||||
| 	ref="dialog" | ||||
| 	:width="800" | ||||
| 	:height="500" | ||||
| 	:with-ok-button="true" | ||||
|  | @ -20,8 +21,8 @@ | |||
| <script lang="ts" setup> | ||||
| import { ref } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import XDrive from './drive.vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import XDrive from '@/components/MkDrive.vue'; | ||||
| import XModalWindow from '@/components/MkModalWindow.vue'; | ||||
| import number from '@/filters/number'; | ||||
| import { i18n } from '@/i18n'; | ||||
| 
 | ||||
|  | @ -1,5 +1,6 @@ | |||
| <template> | ||||
| <XWindow ref="window" | ||||
| <XWindow | ||||
| 	ref="window" | ||||
| 	:initial-width="800" | ||||
| 	:initial-height="500" | ||||
| 	:can-resize="true" | ||||
|  | @ -15,8 +16,8 @@ | |||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import XDrive from './drive.vue'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import XDrive from '@/components/MkDrive.vue'; | ||||
| import XWindow from '@/components/MkWindow.vue'; | ||||
| import { i18n } from '@/i18n'; | ||||
| 
 | ||||
| defineProps<{ | ||||
|  | @ -80,10 +80,10 @@ | |||
| <script lang="ts" setup> | ||||
| import { ref, computed, watch, onMounted } from 'vue'; | ||||
| import * as Misskey from 'misskey-js'; | ||||
| import XSection from './emoji-picker.section.vue'; | ||||
| import XSection from '@/components/MkEmojiPicker.section.vue'; | ||||
| import { emojilist, UnicodeEmojiDef, unicodeEmojiCategories as categories } from '@/scripts/emojilist'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import Ripple from '@/components/ripple.vue'; | ||||
| import Ripple from '@/components/MkRipple.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { isTouchUsing } from '@/scripts/touch'; | ||||
| import { deviceKind } from '@/scripts/device-kind'; | ||||
|  | @ -27,8 +27,8 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { ref } from 'vue'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkEmojiPicker from '@/components/emoji-picker.vue'; | ||||
| import MkModal from '@/components/MkModal.vue'; | ||||
| import MkEmojiPicker from '@/components/MkEmojiPicker.vue'; | ||||
| import { defaultStore } from '@/store'; | ||||
| 
 | ||||
| withDefaults(defineProps<{ | ||||
|  | @ -13,8 +13,8 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import MkWindow from '@/components/ui/window.vue'; | ||||
| import MkEmojiPicker from '@/components/emoji-picker.vue'; | ||||
| import MkWindow from '@/components/MkWindow.vue'; | ||||
| import MkEmojiPicker from '@/components/MkEmojiPicker.vue'; | ||||
| 
 | ||||
| withDefaults(defineProps<{ | ||||
| 	src?: HTMLElement; | ||||
|  | @ -35,8 +35,8 @@ | |||
| import { computed } from 'vue'; | ||||
| import * as Acct from 'misskey-js/built/acct'; | ||||
| import MkSwitch from '@/components/ui/switch.vue'; | ||||
| import MkPagination from '@/components/ui/pagination.vue'; | ||||
| import MkDriveFileThumbnail from '@/components/drive-file-thumbnail.vue'; | ||||
| import MkPagination from '@/components/MkPagination.vue'; | ||||
| import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue'; | ||||
| import bytes from '@/filters/bytes'; | ||||
| import * as os from '@/os'; | ||||
| import { i18n } from '@/i18n'; | ||||
|  | @ -33,8 +33,8 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import XModalWindow from '@/components/MkModalWindow.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import MkInput from '@/components/form/input.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { instance } from '@/instance'; | ||||
|  | @ -61,9 +61,9 @@ import FormTextarea from './form/textarea.vue'; | |||
| import FormSwitch from './form/switch.vue'; | ||||
| import FormSelect from './form/select.vue'; | ||||
| import FormRange from './form/range.vue'; | ||||
| import MkButton from './ui/button.vue'; | ||||
| import MkButton from './MkButton.vue'; | ||||
| import FormRadios from './form/radios.vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import XModalWindow from '@/components/MkModalWindow.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  | @ -8,17 +8,17 @@ import * as os from '@/os'; | |||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
| 		XFormula: defineAsyncComponent(() => import('./formula-core.vue')) | ||||
| 		XFormula: defineAsyncComponent(() => import('@/components/MkFormulaCore.vue')), | ||||
| 	}, | ||||
| 	props: { | ||||
| 		formula: { | ||||
| 			type: String, | ||||
| 			required: true | ||||
| 			required: true, | ||||
| 		}, | ||||
| 		block: { | ||||
| 			type: Boolean, | ||||
| 			required: true | ||||
| 		} | ||||
| 	} | ||||
| 			required: true, | ||||
| 		}, | ||||
| 	}, | ||||
| }); | ||||
| </script> | ||||
|  | @ -14,26 +14,15 @@ | |||
| </MkA> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import { userName } from '@/filters/user'; | ||||
| import ImgWithBlurhash from '@/components/img-with-blurhash.vue'; | ||||
| import ImgWithBlurhash from '@/components/MkImgWithBlurhash.vue'; | ||||
| import * as os from '@/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
| 		ImgWithBlurhash | ||||
| 	}, | ||||
| 	props: { | ||||
| 		post: { | ||||
| 			type: Object, | ||||
| 			required: true | ||||
| 		}, | ||||
| 	}, | ||||
| 	methods: { | ||||
| 		userName | ||||
| 	} | ||||
| }); | ||||
| const props = defineProps<{ | ||||
| 	post: any; | ||||
| }>(); | ||||
| </script> | ||||
| 
 | ||||
| <style lang="scss" scoped> | ||||
|  | @ -17,7 +17,7 @@ import { } from 'vue'; | |||
| import * as misskey from 'misskey-js'; | ||||
| import bytes from '@/filters/bytes'; | ||||
| import number from '@/filters/number'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkModal from '@/components/MkModal.vue'; | ||||
| 
 | ||||
| const props = withDefaults(defineProps<{ | ||||
| 	image: misskey.entities.DriveFile; | ||||
|  | @ -6,23 +6,12 @@ | |||
| </div> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import * as os from '@/os'; | ||||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
| 		warn: { | ||||
| 			type: Boolean, | ||||
| 			required: false, | ||||
| 			default: false | ||||
| 		}, | ||||
| 	}, | ||||
| 	data() { | ||||
| 		return { | ||||
| 		}; | ||||
| 	} | ||||
| }); | ||||
| const props = defineProps<{ | ||||
| 	warn?: boolean; | ||||
| }>(); | ||||
| </script> | ||||
| 
 | ||||
| <style lang="scss" scoped> | ||||
|  | @ -11,7 +11,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import * as misskey from 'misskey-js'; | ||||
| import MkMiniChart from '@/components/mini-chart.vue'; | ||||
| import MkMiniChart from '@/components/MkMiniChart.vue'; | ||||
| import * as os from '@/os'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
|  | @ -68,7 +68,7 @@ import { | |||
| 	DoughnutController, | ||||
| } from 'chart.js'; | ||||
| import MkSelect from '@/components/form/select.vue'; | ||||
| import MkChart from '@/components/chart.vue'; | ||||
| import MkChart from '@/components/MkChart.vue'; | ||||
| import { useChartTooltip } from '@/scripts/use-chart-tooltip'; | ||||
| import * as os from '@/os'; | ||||
| import { i18n } from '@/i18n'; | ||||
|  | @ -21,7 +21,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkModal from '@/components/MkModal.vue'; | ||||
| import { navbarItemDef } from '@/navbar'; | ||||
| import { instanceName } from '@/config'; | ||||
| import { defaultStore } from '@/store'; | ||||
|  | @ -26,7 +26,7 @@ const target = self ? null : '_blank'; | |||
| const el = $ref(); | ||||
| 
 | ||||
| useTooltip($$(el), (showing) => { | ||||
| 	os.popup(defineAsyncComponent(() => import('@/components/url-preview-popup.vue')), { | ||||
| 	os.popup(defineAsyncComponent(() => import('@/components/MkUrlPreviewPopup.vue')), { | ||||
| 		showing, | ||||
| 		url: props.url, | ||||
| 		source: el, | ||||
|  | @ -30,8 +30,8 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { length } from 'stringz'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkModal from '@/components/MkModal.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import bytes from '@/filters/bytes'; | ||||
| import number from '@/filters/number'; | ||||
| 
 | ||||
|  | @ -24,7 +24,7 @@ | |||
| import { watch } from 'vue'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import ImgWithBlurhash from '@/components/img-with-blurhash.vue'; | ||||
| import ImgWithBlurhash from '@/components/MkImgWithBlurhash.vue'; | ||||
| import { defaultStore } from '@/store'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
|  | @ -18,9 +18,9 @@ import * as misskey from 'misskey-js'; | |||
| import PhotoSwipeLightbox from 'photoswipe/lightbox'; | ||||
| import PhotoSwipe from 'photoswipe'; | ||||
| import 'photoswipe/style.css'; | ||||
| import XBanner from './media-banner.vue'; | ||||
| import XImage from './media-image.vue'; | ||||
| import XVideo from './media-video.vue'; | ||||
| import XBanner from '@/components/MkMediaBanner.vue'; | ||||
| import XImage from '@/components/MkMediaImage.vue'; | ||||
| import XVideo from '@/components/MkMediaVideo.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { FILE_TYPE_BROWSERSAFE } from '@/const'; | ||||
| import { defaultStore } from '@/store'; | ||||
|  | @ -7,7 +7,7 @@ | |||
| <script lang="ts" setup> | ||||
| import { on } from 'events'; | ||||
| import { nextTick, onBeforeUnmount, onMounted, onUnmounted, ref, watch } from 'vue'; | ||||
| import MkMenu from './menu.vue'; | ||||
| import MkMenu from './MkMenu.vue'; | ||||
| import { MenuItem } from '@/types/menu'; | ||||
| import * as os from '@/os'; | ||||
| 
 | ||||
|  | @ -63,7 +63,7 @@ import { MenuItem, InnerMenuItem, MenuPending, MenuAction } from '@/types/menu'; | |||
| import * as os from '@/os'; | ||||
| import { i18n } from '@/i18n'; | ||||
| 
 | ||||
| const XChild = defineAsyncComponent(() => import('./menu.child.vue')); | ||||
| const XChild = defineAsyncComponent(() => import('./MkMenu.child.vue')); | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
| 	items: MenuItem[]; | ||||
|  | @ -22,7 +22,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { ComputedRef, provide } from 'vue'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkModal from '@/components/MkModal.vue'; | ||||
| import { popout as _popout } from '@/scripts/popout'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import { url } from '@/config'; | ||||
|  | @ -18,7 +18,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { onMounted, onUnmounted } from 'vue'; | ||||
| import MkModal from './modal.vue'; | ||||
| import MkModal from './MkModal.vue'; | ||||
| 
 | ||||
| const props = withDefaults(defineProps<{ | ||||
| 	withOkButton: boolean; | ||||
|  | @ -106,17 +106,17 @@ | |||
| import { computed, inject, onMounted, onUnmounted, reactive, ref, Ref } from 'vue'; | ||||
| import * as mfm from 'mfm-js'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import MkNoteSub from './MkNoteSub.vue'; | ||||
| import XNoteHeader from './note-header.vue'; | ||||
| import XNoteSimple from './note-simple.vue'; | ||||
| import XReactionsViewer from './reactions-viewer.vue'; | ||||
| import XMediaList from './media-list.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import XPoll from './poll.vue'; | ||||
| import XRenoteButton from './renote-button.vue'; | ||||
| import MkUrlPreview from '@/components/url-preview.vue'; | ||||
| import MkInstanceTicker from '@/components/instance-ticker.vue'; | ||||
| import MkVisibility from '@/components/visibility.vue'; | ||||
| import MkNoteSub from '@/components/MkNoteSub.vue'; | ||||
| import XNoteHeader from '@/components/MkNoteHeader.vue'; | ||||
| import XNoteSimple from '@/components/MkNoteSimple.vue'; | ||||
| import XReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||
| import XMediaList from '@/components/MkMediaList.vue'; | ||||
| import XCwButton from '@/components/MkCwButton.vue'; | ||||
| import XPoll from '@/components/MkPoll.vue'; | ||||
| import XRenoteButton from '@/components/MkRenoteButton.vue'; | ||||
| import MkUrlPreview from '@/components/MkUrlPreview.vue'; | ||||
| import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | ||||
| import MkVisibility from '@/components/MkVisibility.vue'; | ||||
| import { pleaseLogin } from '@/scripts/please-login'; | ||||
| import { focusPrev, focusNext } from '@/scripts/focus'; | ||||
| import { checkWordMute } from '@/scripts/check-word-mute'; | ||||
|  | @ -117,16 +117,16 @@ | |||
| import { computed, inject, onMounted, onUnmounted, reactive, ref } from 'vue'; | ||||
| import * as mfm from 'mfm-js'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import MkNoteSub from './MkNoteSub.vue'; | ||||
| import XNoteSimple from './note-simple.vue'; | ||||
| import XReactionsViewer from './reactions-viewer.vue'; | ||||
| import XMediaList from './media-list.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import XPoll from './poll.vue'; | ||||
| import XRenoteButton from './renote-button.vue'; | ||||
| import MkUrlPreview from '@/components/url-preview.vue'; | ||||
| import MkInstanceTicker from '@/components/instance-ticker.vue'; | ||||
| import MkVisibility from '@/components/visibility.vue'; | ||||
| import MkNoteSub from '@/components/MkNoteSub.vue'; | ||||
| import XNoteSimple from '@/components/MkNoteSimple.vue'; | ||||
| import XReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||
| import XMediaList from '@/components/MkMediaList.vue'; | ||||
| import XCwButton from '@/components/MkCwButton.vue'; | ||||
| import XPoll from '@/components/MkPoll.vue'; | ||||
| import XRenoteButton from '@/components/MkRenoteButton.vue'; | ||||
| import MkUrlPreview from '@/components/MkUrlPreview.vue'; | ||||
| import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | ||||
| import MkVisibility from '@/components/MkVisibility.vue'; | ||||
| import { pleaseLogin } from '@/scripts/please-login'; | ||||
| import { checkWordMute } from '@/scripts/check-word-mute'; | ||||
| import { userPage } from '@/filters/user'; | ||||
|  | @ -17,7 +17,7 @@ | |||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import MkVisibility from '@/components/visibility.vue'; | ||||
| import MkVisibility from '@/components/MkVisibility.vue'; | ||||
| import { notePage } from '@/filters/note'; | ||||
| import { userPage } from '@/filters/user'; | ||||
| 
 | ||||
|  | @ -9,7 +9,7 @@ | |||
| 				<XCwButton v-model="showContent" :note="note"/> | ||||
| 			</p> | ||||
| 			<div v-show="note.cw == null || showContent" class="content"> | ||||
| 				<MkNoteSubNoteContent class="text" :note="note"/> | ||||
| 				<MkSubNoteContent class="text" :note="note"/> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
|  | @ -19,9 +19,9 @@ | |||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import XNoteHeader from './note-header.vue'; | ||||
| import MkNoteSubNoteContent from './sub-note-content.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import XNoteHeader from '@/components/MkNoteHeader.vue'; | ||||
| import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | ||||
| import XCwButton from '@/components/MkCwButton.vue'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
| 	note: misskey.entities.Note; | ||||
|  | @ -10,7 +10,7 @@ | |||
| 					<XCwButton v-model="showContent" :note="note"/> | ||||
| 				</p> | ||||
| 				<div v-show="note.cw == null || showContent" class="content"> | ||||
| 					<MkNoteSubNoteContent class="text" :note="note"/> | ||||
| 					<MkSubNoteContent class="text" :note="note"/> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | @ -27,9 +27,9 @@ | |||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import XNoteHeader from './note-header.vue'; | ||||
| import MkNoteSubNoteContent from './sub-note-content.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import XNoteHeader from '@/components/MkNoteHeader.vue'; | ||||
| import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | ||||
| import XCwButton from '@/components/MkCwButton.vue'; | ||||
| import { notePage } from '@/filters/note'; | ||||
| import * as os from '@/os'; | ||||
| import { i18n } from '@/i18n'; | ||||
|  |  | |||
|  | @ -19,9 +19,9 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { ref } from 'vue'; | ||||
| import XNote from '@/components/note.vue'; | ||||
| import XList from '@/components/date-separated-list.vue'; | ||||
| import MkPagination, { Paging } from '@/components/ui/pagination.vue'; | ||||
| import XNote from '@/components/MkNote.vue'; | ||||
| import XList from '@/components/MkDateSeparatedList.vue'; | ||||
| import MkPagination, { Paging } from '@/components/MkPagination.vue'; | ||||
| import { i18n } from '@/i18n'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
|  | @ -75,9 +75,9 @@ | |||
| <script lang="ts" setup> | ||||
| import { ref, onMounted, onUnmounted, watch } from 'vue'; | ||||
| import * as misskey from 'misskey-js'; | ||||
| import XReactionIcon from './reaction-icon.vue'; | ||||
| import MkFollowButton from './follow-button.vue'; | ||||
| import XReactionTooltip from './reaction-tooltip.vue'; | ||||
| import XReactionIcon from '@/components/MkReactionIcon.vue'; | ||||
| import MkFollowButton from '@/components/MkFollowButton.vue'; | ||||
| import XReactionTooltip from '@/components/MkReactionTooltip.vue'; | ||||
| import { getNoteSummary } from '@/scripts/get-note-summary'; | ||||
| import { notePage } from '@/filters/note'; | ||||
| import { userPage } from '@/filters/user'; | ||||
|  | @ -31,9 +31,9 @@ | |||
| import { } from 'vue'; | ||||
| import { notificationTypes } from 'misskey-js'; | ||||
| import MkSwitch from './form/switch.vue'; | ||||
| import MkInfo from './ui/info.vue'; | ||||
| import MkButton from './ui/button.vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import MkInfo from './MkInfo.vue'; | ||||
| import MkButton from './MkButton.vue'; | ||||
| import XModalWindow from '@/components/MkModalWindow.vue'; | ||||
| import { i18n } from '@/i18n'; | ||||
| 
 | ||||
| const emit = defineEmits<{ | ||||
|  | @ -8,7 +8,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { onMounted } from 'vue'; | ||||
| import XNotification from './notification.vue'; | ||||
| import XNotification from '@/components/MkNotification.vue'; | ||||
| import * as os from '@/os'; | ||||
| 
 | ||||
| defineProps<{ | ||||
|  | @ -19,10 +19,10 @@ | |||
| <script lang="ts" setup> | ||||
| import { defineComponent, markRaw, onUnmounted, onMounted, computed, ref } from 'vue'; | ||||
| import { notificationTypes } from 'misskey-js'; | ||||
| import MkPagination, { Paging } from '@/components/ui/pagination.vue'; | ||||
| import XNotification from '@/components/notification.vue'; | ||||
| import XList from '@/components/date-separated-list.vue'; | ||||
| import XNote from '@/components/note.vue'; | ||||
| import MkPagination, { Paging } from '@/components/MkPagination.vue'; | ||||
| import XNotification from '@/components/MkNotification.vue'; | ||||
| import XList from '@/components/MkDateSeparatedList.vue'; | ||||
| import XNote from '@/components/MkNote.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { stream } from '@/stream'; | ||||
| import { $i } from '@/account'; | ||||
|  | @ -6,7 +6,7 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { } from 'vue'; | ||||
| import XValue from './object-view.value.vue'; | ||||
| import XValue from './MkObjectView.value.vue'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
| 	value: Record<string, unknown>; | ||||
|  | @ -25,8 +25,8 @@ | |||
| 
 | ||||
| <script lang="ts" setup> | ||||
| import { ComputedRef, inject, provide } from 'vue'; | ||||
| import RouterView from './global/router-view.vue'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import RouterView from '@/components/global/RouterView.vue'; | ||||
| import XWindow from '@/components/MkWindow.vue'; | ||||
| import { popout as _popout } from '@/scripts/popout'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import { url } from '@/config'; | ||||
|  | @ -36,7 +36,7 @@ import { computed, ComputedRef, isRef, markRaw, onActivated, onDeactivated, Ref, | |||
| import * as misskey from 'misskey-js'; | ||||
| import * as os from '@/os'; | ||||
| import { onScrollTop, isTopVisible, getScrollPosition, getScrollContainer } from '@/scripts/scroll'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import { i18n } from '@/i18n'; | ||||
| 
 | ||||
| const SECOND_FETCH_LIMIT = 30; | ||||
|  | @ -52,7 +52,7 @@ import { ref, watch } from 'vue'; | |||
| import MkInput from './form/input.vue'; | ||||
| import MkSelect from './form/select.vue'; | ||||
| import MkSwitch from './form/switch.vue'; | ||||
| import MkButton from './ui/button.vue'; | ||||
| import MkButton from './MkButton.vue'; | ||||
| import { formatDateTimeString } from '@/scripts/format-time-string'; | ||||
| import { addTime } from '@/scripts/time'; | ||||
| import { i18n } from '@/i18n'; | ||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue