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/screenshots | ||||||
| cypress/videos | cypress/videos | ||||||
| 
 | 
 | ||||||
|  | # Coverage | ||||||
|  | coverage | ||||||
|  | 
 | ||||||
| # config | # config | ||||||
| /.config/* | /.config/* | ||||||
| !/.config/example.yml | !/.config/example.yml | ||||||
|  |  | ||||||
|  | @ -9,10 +9,17 @@ | ||||||
| You should also include the user name that made the change. | You should also include the user name that made the change. | ||||||
| --> | --> | ||||||
| 
 | 
 | ||||||
| ## 12.x.x (unreleased) | ## 12.119.0 (2022/09/10) | ||||||
| 
 | 
 | ||||||
| ### Improvements | ### Improvements | ||||||
| - Client: Add following badge to user preview popup @nvisser | - 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) | ## 12.118.1 (2022/08/08) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										19
									
								
								ROADMAP.md
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								ROADMAP.md
									
										
									
									
									
								
							|  | @ -6,15 +6,20 @@ Also, the later tasks are more indefinite and are subject to change as developme | ||||||
| This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development. | This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development. | ||||||
| 
 | 
 | ||||||
| - Make the number of type errors zero (backend) | - Make the number of type errors zero (backend) | ||||||
|   - Probably need to switch some libraries to others that make it difficult to reduce type errors | 	- Probably need to switch some libraries to others that make it difficult to reduce type errors | ||||||
|     - e.g. koa to fastify https://github.com/misskey-dev/misskey/issues/7537 | 		- e.g. koa to fastify https://github.com/misskey-dev/misskey/issues/7537 | ||||||
| - Improve CI | - Improve CI | ||||||
|   - Fix tests | 	- Fix tests | ||||||
|     - mocha, jest, etc. do not support the combination of `TypeScript + ESM + Path alias`, and the tests currently do not work. | 		- mocha, jest, etc. do not support the combination of `TypeScript + ESM + Path alias`, and the tests currently do not work. | ||||||
|   - Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986 | 	- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986 | ||||||
|   - Add more tests | 	- Add more tests | ||||||
|     - May need to implement a mechanism that allows for DI | 		- 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 | - Improve documentation | ||||||
|  | - Refactoring | ||||||
|  | 	- Extract the logic of each endpoint definition into a service and just call it | ||||||
| 
 | 
 | ||||||
| ## (2) Improve functionality | ## (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. | 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" | instanceUsers: "Uživatelé této instance" | ||||||
| changePassword: "Změnit heslo" | changePassword: "Změnit heslo" | ||||||
| security: "Zabezpečení" | security: "Zabezpečení" | ||||||
|  | retypedNotMatch: "Zadané údaje se neshodují." | ||||||
| currentPassword: "Současné heslo" | currentPassword: "Současné heslo" | ||||||
| newPassword: "Nové heslo" | newPassword: "Nové heslo" | ||||||
| newPasswordRetype: "Nové heslo (znovu)" | newPasswordRetype: "Nové heslo (znovu)" | ||||||
|  | @ -268,6 +269,7 @@ addFile: "Přidat soubor" | ||||||
| emptyFolder: "Tato složka je prázdná" | emptyFolder: "Tato složka je prázdná" | ||||||
| unableToDelete: "Nelze smazat" | unableToDelete: "Nelze smazat" | ||||||
| inputNewFileName: "Zadejte nový název" | inputNewFileName: "Zadejte nový název" | ||||||
|  | inputNewFolderName: "Zadejte název nové složky" | ||||||
| copyUrl: "Kopírovat URL" | copyUrl: "Kopírovat URL" | ||||||
| rename: "Přejmenovat" | rename: "Přejmenovat" | ||||||
| avatar: "Avatar" | avatar: "Avatar" | ||||||
|  | @ -310,9 +312,11 @@ pinnedUsers: "Připnutí uživatelé" | ||||||
| pinnedNotes: "Připnutá poznámka" | pinnedNotes: "Připnutá poznámka" | ||||||
| hcaptcha: "hCaptcha" | hcaptcha: "hCaptcha" | ||||||
| enableHcaptcha: "Aktivovat hCaptchu" | enableHcaptcha: "Aktivovat hCaptchu" | ||||||
|  | hcaptchaSiteKey: "Klíč stránky" | ||||||
| hcaptchaSecretKey: "Tajný Klíč (Secret Key)" | hcaptchaSecretKey: "Tajný Klíč (Secret Key)" | ||||||
| recaptcha: "reCAPTCHA" | recaptcha: "reCAPTCHA" | ||||||
| enableRecaptcha: "Zapnout ReCAPTCHu" | enableRecaptcha: "Zapnout ReCAPTCHu" | ||||||
|  | recaptchaSiteKey: "Klíč stránky" | ||||||
| recaptchaSecretKey: "Tajný Klíč (Secret Key)" | recaptchaSecretKey: "Tajný Klíč (Secret Key)" | ||||||
| antennas: "Antény" | antennas: "Antény" | ||||||
| manageAntennas: "Spravovat Antény" | manageAntennas: "Spravovat Antény" | ||||||
|  | @ -321,6 +325,10 @@ antennaSource: "Zdroj Antény" | ||||||
| enableServiceworker: "Povolit ServiceWorker" | enableServiceworker: "Povolit ServiceWorker" | ||||||
| caseSensitive: "Rozlišuje malá a velká písmena" | caseSensitive: "Rozlišuje malá a velká písmena" | ||||||
| connectedTo: "Následující účty jsou připojeny" | 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" | popularTags: "Populární tagy" | ||||||
| userList: "Seznamy" | userList: "Seznamy" | ||||||
| about: "Informace" | about: "Informace" | ||||||
|  | @ -365,10 +373,14 @@ next: "Další" | ||||||
| retype: "Zadejte znovu" | retype: "Zadejte znovu" | ||||||
| noteOf: "{user} poznámky" | noteOf: "{user} poznámky" | ||||||
| inviteToGroup: "Pozvat do skupiny" | 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" | newMessageExists: "Máte novou zprávu" | ||||||
| onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor" | onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor" | ||||||
| signinRequired: "Přihlašte se, prosím" | signinRequired: "Přihlašte se, prosím" | ||||||
| invitations: "Pozvat" | invitations: "Pozvat" | ||||||
|  | invitationCode: "Kód pozvánky" | ||||||
| checking: "Ověřuji" | checking: "Ověřuji" | ||||||
| available: "K dispozici" | available: "K dispozici" | ||||||
| unavailable: "Není k dispozici" | unavailable: "Není k dispozici" | ||||||
|  | @ -382,6 +394,7 @@ passwordMatched: "Hesla se schodují" | ||||||
| passwordNotMatched: "Hesla se neschodují" | passwordNotMatched: "Hesla se neschodují" | ||||||
| signinWith: "Přihlásit se s {x}" | signinWith: "Přihlásit se s {x}" | ||||||
| signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo." | 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" | or: "Nebo" | ||||||
| language: "Jazyk" | language: "Jazyk" | ||||||
| uiLanguage: "Jazyk uživatelského rozhraní" | uiLanguage: "Jazyk uživatelského rozhraní" | ||||||
|  | @ -411,9 +424,20 @@ accountSettings: "Nastavení účtu" | ||||||
| promotion: "Propagace" | promotion: "Propagace" | ||||||
| promote: "Propagovat" | promote: "Propagovat" | ||||||
| numberOfDays: "Počet dní" | 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" | deleteAll: "Smazat vše" | ||||||
| showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou" | 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" | masterVolume: "Celková hlasitost" | ||||||
|  | details: "Detaily" | ||||||
| chooseEmoji: "Vybrat emotikon" | chooseEmoji: "Vybrat emotikon" | ||||||
| unableToProcess: "Operace nebyla dokončena." | unableToProcess: "Operace nebyla dokončena." | ||||||
| recentUsed: "Naposledy použité" | recentUsed: "Naposledy použité" | ||||||
|  | @ -434,13 +458,20 @@ deleteAllFiles: "Smazat všechny soubory" | ||||||
| deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?" | deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?" | ||||||
| userSuspended: "Tomuto uživateli byl pozastaven účet." | userSuspended: "Tomuto uživateli byl pozastaven účet." | ||||||
| menu: "Menu" | menu: "Menu" | ||||||
|  | divider: "Dělící čára" | ||||||
| addItem: "Přidat položku" | addItem: "Přidat položku" | ||||||
|  | relays: "Relay" | ||||||
|  | addRelay: "Přidat Relay" | ||||||
| inboxUrl: "Inbox URL" | inboxUrl: "Inbox URL" | ||||||
| deletedNote: "Odstraněné příspěvky" | deletedNote: "Odstraněné příspěvky" | ||||||
| invisibleNote: "Skryté příspěvky" | invisibleNote: "Skryté příspěvky" | ||||||
| description: "Popis" | description: "Popis" | ||||||
| author: "Autor" | author: "Autor" | ||||||
| manage: "Administrace" | manage: "Administrace" | ||||||
|  | width: "Šířka" | ||||||
|  | height: "Výška" | ||||||
|  | large: "Velké" | ||||||
|  | medium: "Střední" | ||||||
| small: "Malé" | small: "Malé" | ||||||
| generateAccessToken: "Vygenerovat přístupový token" | generateAccessToken: "Vygenerovat přístupový token" | ||||||
| permission: "Oprávnění" | permission: "Oprávnění" | ||||||
|  | @ -458,11 +489,16 @@ smtpPort: "Port" | ||||||
| smtpUser: "Uživatelské jméno" | smtpUser: "Uživatelské jméno" | ||||||
| smtpPass: "Heslo" | smtpPass: "Heslo" | ||||||
| smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS" | smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS" | ||||||
|  | testEmail: "Otestovat doručení emailů" | ||||||
| makeActive: "Aktivovat" | makeActive: "Aktivovat" | ||||||
| display: "Zobrazit" | display: "Zobrazit" | ||||||
| copy: "Kopírovat" | copy: "Kopírovat" | ||||||
|  | metrics: "Metriky" | ||||||
|  | overview: "Shrnutí" | ||||||
| logs: "Logy" | logs: "Logy" | ||||||
|  | delayed: "Prodleva" | ||||||
| database: "Databáze" | database: "Databáze" | ||||||
|  | channel: "Kanály" | ||||||
| create: "Vytvořit" | create: "Vytvořit" | ||||||
| notificationSetting: "Nastavení oznámení" | notificationSetting: "Nastavení oznámení" | ||||||
| useGlobalSetting: "Použít globální nastavení" | useGlobalSetting: "Použít globální nastavení" | ||||||
|  | @ -470,79 +506,415 @@ other: "Ostatní" | ||||||
| fileIdOrUrl: "ID nebo URL souboru" | fileIdOrUrl: "ID nebo URL souboru" | ||||||
| behavior: "Chování" | behavior: "Chování" | ||||||
| sample: "Ukázka" | 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ěť" | 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" | 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é" | user: "Uživatelé" | ||||||
| administration: "Administrace" | 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í" | 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(ů)" | 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: | _email: | ||||||
|   _follow: |   _follow: | ||||||
|     title: "Máte nového následovníka" |     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: | _mfm: | ||||||
|   mention: "Zmínění" |   mention: "Zmínění" | ||||||
|  |   hashtag: "Hashtag" | ||||||
|  |   link: "Odkaz" | ||||||
|  |   bold: "Tučně" | ||||||
|   quote: "Citovat" |   quote: "Citovat" | ||||||
|   emoji: "Vlastní emoji" |   emoji: "Vlastní emoji" | ||||||
|   search: "Vyhledávání" |   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: | _theme: | ||||||
|  |   install: "Nainstalovat vzhled" | ||||||
|  |   manage: "Správa vzhledů" | ||||||
|  |   code: "Kód vzhledu" | ||||||
|   description: "Popis" |   description: "Popis" | ||||||
|  |   installedThemes: "Nainstalované vzhledy" | ||||||
|  |   constant: "Konstanta" | ||||||
|  |   defaultValue: "Výchozí hodnota" | ||||||
|  |   color: "Barva" | ||||||
|  |   key: "Klíč" | ||||||
|  |   func: "Funkce " | ||||||
|   keys: |   keys: | ||||||
|  |     shadow: "Stín" | ||||||
|  |     header: "Nadpis" | ||||||
|  |     link: "Odkaz" | ||||||
|  |     hashtag: "Hashtag" | ||||||
|     mention: "Zmínění" |     mention: "Zmínění" | ||||||
|     renote: "Přeposlat" |     renote: "Přeposlat" | ||||||
|  |     divider: "Dělící čára" | ||||||
| _sfx: | _sfx: | ||||||
|   note: "Poznámky" |   note: "Poznámky" | ||||||
|   notification: "Oznámení" |   notification: "Oznámení" | ||||||
|   chat: "Zprávy" |   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: | _widgets: | ||||||
|   notifications: "Oznámení" |   notifications: "Oznámení" | ||||||
|   timeline: "Časová osa" |   timeline: "Časová osa" | ||||||
|  |   calendar: "Kalendář" | ||||||
|  |   trends: "Trendy" | ||||||
|  |   clock: "Hodiny" | ||||||
|  |   rss: "RSS čtečka" | ||||||
|   activity: "Aktivita" |   activity: "Aktivita" | ||||||
|  |   photos: "Fotky" | ||||||
|  |   digitalClock: "Digitální hodiny" | ||||||
|   federation: "Federace" |   federation: "Federace" | ||||||
|  |   slideshow: "Prezentace" | ||||||
|  |   button: "Tlačítko" | ||||||
|  |   onlineUsers: "Online uživatelé" | ||||||
|   jobQueue: "Fronta úloh" |   jobQueue: "Fronta úloh" | ||||||
|  |   aiscript: "AiScript conzole" | ||||||
|  |   aichan: "Ai" | ||||||
| _cw: | _cw: | ||||||
|  |   hide: "Skrýt" | ||||||
|   show: "Zobrazit více" |   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: | _visibility: | ||||||
|   home: "Domů" |   home: "Domů" | ||||||
|   followers: "Sledující" |   followers: "Sledující" | ||||||
|  | _postForm: | ||||||
|  |   _placeholders: | ||||||
|  |     f: "Čekám, až něco napíšete..." | ||||||
| _profile: | _profile: | ||||||
|   name: "Jméno" |   name: "Jméno" | ||||||
|   username: "Uživatelské 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: | _exportOrImport: | ||||||
|  |   allNotes: "Všechny poznámky" | ||||||
|   followingList: "Sledovaní" |   followingList: "Sledovaní" | ||||||
|   muteList: "Ztlumit" |   muteList: "Ztlumit" | ||||||
|   blockingList: "Zablokovat" |   blockingList: "Zablokovat" | ||||||
|   userLists: "Seznamy" |   userLists: "Seznamy" | ||||||
| _charts: | _charts: | ||||||
|   federation: "Federace" |   federation: "Federace" | ||||||
|  |   apRequest: "Požadavek" | ||||||
|  |   usersTotal: "Celkem uživatelů" | ||||||
|  |   activeUsers: "Aktivní uživatelé" | ||||||
|  |   notesTotal: "Celkový počet poznámek" | ||||||
| _timelines: | _timelines: | ||||||
|   home: "Domů" |   home: "Domů" | ||||||
|  |   global: "Globální" | ||||||
| _pages: | _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: |   blocks: | ||||||
|  |     text: "Text" | ||||||
|  |     textarea: "Textové pole" | ||||||
|  |     section: "Sekce" | ||||||
|     image: "Obrázky" |     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: |   script: | ||||||
|     categories: |     categories: | ||||||
|       list: "Seznamy" |       list: "Seznamy" | ||||||
|     blocks: |     blocks: | ||||||
|  |       text: "Text" | ||||||
|  |       _strLen: | ||||||
|  |         arg1: "Text" | ||||||
|  |       _strPick: | ||||||
|  |         arg1: "Text" | ||||||
|  |       _strReplace: | ||||||
|  |         arg1: "Text" | ||||||
|  |       _strReverse: | ||||||
|  |         arg1: "Text" | ||||||
|       _join: |       _join: | ||||||
|         arg1: "Seznamy" |         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: |       _randomPick: | ||||||
|         arg1: "Seznamy" |         arg1: "Seznamy" | ||||||
|  |       _dailyRandom: | ||||||
|  |         arg1: "Pravděpodobnost" | ||||||
|  |       _dailyRannum: | ||||||
|  |         arg1: "Minimální hodnota" | ||||||
|  |         arg2: "Maximální hodnota" | ||||||
|       _dailyRandomPick: |       _dailyRandomPick: | ||||||
|         arg1: "Seznamy" |         arg1: "Seznamy" | ||||||
|  |       _seedRandom: | ||||||
|  |         arg2: "Pravděpodobnost" | ||||||
|  |       _seedRannum: | ||||||
|  |         arg2: "Minimální hodnota" | ||||||
|  |         arg3: "Maximální hodnota" | ||||||
|       _seedRandomPick: |       _seedRandomPick: | ||||||
|         arg2: "Seznamy" |         arg2: "Seznamy" | ||||||
|       _pick: |       _pick: | ||||||
|         arg1: "Seznamy" |         arg1: "Seznamy" | ||||||
|       _listLen: |       _listLen: | ||||||
|         arg1: "Seznamy" |         arg1: "Seznamy" | ||||||
|  |       number: "Číselná hodnota" | ||||||
|  |       _stringToNumber: | ||||||
|  |         arg1: "Text" | ||||||
|  |       _numberToString: | ||||||
|  |         arg1: "Číselná hodnota" | ||||||
|  |       _splitStrByLine: | ||||||
|  |         arg1: "Text" | ||||||
|     types: |     types: | ||||||
|  |       string: "Text" | ||||||
|  |       number: "Číselná hodnota" | ||||||
|       array: "Seznamy" |       array: "Seznamy" | ||||||
| _notification: | _notification: | ||||||
|   youWereFollowed: "Máte nového následovníka" |   youWereFollowed: "Máte nového následovníka" | ||||||
|   youWereInvitedToGroup: "Pozvat do skupiny" |   youWereInvitedToGroup: "Pozvat do skupiny" | ||||||
|   _types: |   _types: | ||||||
|  |     all: "Vše" | ||||||
|     follow: "Sledovaní" |     follow: "Sledovaní" | ||||||
|     mention: "Zmínění" |     mention: "Zmínění" | ||||||
|  |     reply: "Odpovědi" | ||||||
|     renote: "Přeposlat" |     renote: "Přeposlat" | ||||||
|     quote: "Citovat" |     quote: "Citovat" | ||||||
|     reaction: "Reakce" |     reaction: "Reakce" | ||||||
|  |  | ||||||
|  | @ -562,6 +562,7 @@ author: "작성자" | ||||||
| leaveConfirm: "저장하지 않은 변경사항이 있습니다. 취소하시겠습니까?" | leaveConfirm: "저장하지 않은 변경사항이 있습니다. 취소하시겠습니까?" | ||||||
| manage: "관리" | manage: "관리" | ||||||
| plugins: "플러그인" | plugins: "플러그인" | ||||||
|  | preferencesBackups: "환경설정 백업" | ||||||
| deck: "덱" | deck: "덱" | ||||||
| undeck: "덱 해제" | undeck: "덱 해제" | ||||||
| useBlurEffectForModal: "모달에 흐림 효과 사용" | useBlurEffectForModal: "모달에 흐림 효과 사용" | ||||||
|  | @ -612,7 +613,7 @@ create: "생성" | ||||||
| notificationSetting: "알림 설정" | notificationSetting: "알림 설정" | ||||||
| notificationSettingDesc: "표시할 알림의 종류를 선택해 주세요." | notificationSettingDesc: "표시할 알림의 종류를 선택해 주세요." | ||||||
| useGlobalSetting: "글로벌 설정을 사용하기" | useGlobalSetting: "글로벌 설정을 사용하기" | ||||||
| useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용되니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다." | useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용됩니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다." | ||||||
| other: "기타" | other: "기타" | ||||||
| regenerateLoginToken: "로그인 토큰을 재생성" | regenerateLoginToken: "로그인 토큰을 재생성" | ||||||
| regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다." | regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다." | ||||||
|  | @ -941,6 +942,24 @@ _plugin: | ||||||
|   install: "플러그인 설치" |   install: "플러그인 설치" | ||||||
|   installWarn: "신뢰할 수 없는 플러그인은 설치하지 않는 것이 좋습니다." |   installWarn: "신뢰할 수 없는 플러그인은 설치하지 않는 것이 좋습니다." | ||||||
|   manage: "플러그인 관리" |   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: | _registry: | ||||||
|   scope: "범위" |   scope: "범위" | ||||||
|   key: "키" |   key: "키" | ||||||
|  | @ -1258,6 +1277,7 @@ _widgets: | ||||||
|   activity: "활동" |   activity: "활동" | ||||||
|   photos: "사진" |   photos: "사진" | ||||||
|   digitalClock: "디지털 시계" |   digitalClock: "디지털 시계" | ||||||
|  |   unixClock: "UNIX 시계" | ||||||
|   federation: "연합" |   federation: "연합" | ||||||
|   instanceCloud: "인스턴스 구름" |   instanceCloud: "인스턴스 구름" | ||||||
|   postForm: "글 입력란" |   postForm: "글 입력란" | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| --- | --- | ||||||
| _lang_: "język polski" | _lang_: "Polski" | ||||||
| headlineMisskey: "Sieć połączona wpisami" | 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🚀!" | 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}" | monthAndDay: "{month}-{day}" | ||||||
|  | @ -88,7 +88,7 @@ enterListName: "Nazwa listy" | ||||||
| privacy: "Prywatność" | privacy: "Prywatność" | ||||||
| makeFollowManuallyApprove: "Prośby o możliwość obserwacji wymagają zatwierdzenia" | makeFollowManuallyApprove: "Prośby o możliwość obserwacji wymagają zatwierdzenia" | ||||||
| defaultNoteVisibility: "Domyślna widoczność" | defaultNoteVisibility: "Domyślna widoczność" | ||||||
| follow: "Obserwowani" | follow: "Obserwuj" | ||||||
| followRequest: "Poproś o możliwość obserwacji" | followRequest: "Poproś o możliwość obserwacji" | ||||||
| followRequests: "Prośby o możliwość obserwacji" | followRequests: "Prośby o możliwość obserwacji" | ||||||
| unfollow: "Przestań obserwować" | unfollow: "Przestań obserwować" | ||||||
|  | @ -127,7 +127,7 @@ unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?" | ||||||
| selectList: "Wybierz listę" | selectList: "Wybierz listę" | ||||||
| selectAntenna: "Wybierz Antennę" | selectAntenna: "Wybierz Antennę" | ||||||
| selectWidget: "Wybierz widżet" | selectWidget: "Wybierz widżet" | ||||||
| editWidgets: "Edytuj widżet" | editWidgets: "Edytuj widżety" | ||||||
| editWidgetsExit: "Gotowe" | editWidgetsExit: "Gotowe" | ||||||
| customEmojis: "Niestandardowe emoji" | customEmojis: "Niestandardowe emoji" | ||||||
| emoji: "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." | 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" | flagAsCat: "To konto jest kotem" | ||||||
| flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot." | 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" | autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz" | ||||||
| addAccount: "Dodaj konto" | addAccount: "Dodaj konto" | ||||||
| loginFailed: "Nie udało się zalogować" | loginFailed: "Nie udało się zalogować" | ||||||
|  | @ -201,6 +202,7 @@ done: "Gotowe" | ||||||
| processing: "Przetwarzanie" | processing: "Przetwarzanie" | ||||||
| preview: "Podgląd" | preview: "Podgląd" | ||||||
| default: "Domyślne" | default: "Domyślne" | ||||||
|  | defaultValueIs: "Domyślne: {value}" | ||||||
| noCustomEmojis: "Brak emoji" | noCustomEmojis: "Brak emoji" | ||||||
| noJobs: "Brak zadań" | noJobs: "Brak zadań" | ||||||
| federating: "Federowanie" | federating: "Federowanie" | ||||||
|  | @ -235,6 +237,7 @@ resetAreYouSure: "Czy na pewno chcesz zresetować?" | ||||||
| saved: "Zapisano" | saved: "Zapisano" | ||||||
| messaging: "Wiadomości" | messaging: "Wiadomości" | ||||||
| upload: "Wyślij" | upload: "Wyślij" | ||||||
|  | keepOriginalUploading: "Zachowaj oryginalny obraz" | ||||||
| fromDrive: "Z dysku" | fromDrive: "Z dysku" | ||||||
| fromUrl: "Z adresu URL" | fromUrl: "Z adresu URL" | ||||||
| uploadFromUrl: "Wyślij z adresu URL" | uploadFromUrl: "Wyślij z adresu URL" | ||||||
|  | @ -377,6 +380,7 @@ administrator: "Admin" | ||||||
| token: "Token" | token: "Token" | ||||||
| twoStepAuthentication: "Uwierzytelnianie dwuskładnikowe" | twoStepAuthentication: "Uwierzytelnianie dwuskładnikowe" | ||||||
| moderator: "Moderator" | moderator: "Moderator" | ||||||
|  | moderation: "Moderacja" | ||||||
| nUsersMentioned: "{n} wspomnianych użytkowników" | nUsersMentioned: "{n} wspomnianych użytkowników" | ||||||
| securityKey: "Klucz bezpieczeństwa" | securityKey: "Klucz bezpieczeństwa" | ||||||
| securityKeyName: "Nazwa klucza" | securityKeyName: "Nazwa klucza" | ||||||
|  | @ -444,11 +448,13 @@ uiLanguage: "Język wyświetlania UI" | ||||||
| groupInvited: "Zaproszony(-a) do grupy" | groupInvited: "Zaproszony(-a) do grupy" | ||||||
| aboutX: "O {x}" | aboutX: "O {x}" | ||||||
| useOsNativeEmojis: "Używaj natywnych Emoji systemu" | useOsNativeEmojis: "Używaj natywnych Emoji systemu" | ||||||
|  | disableDrawer: "Nie używaj menu w stylu szuflady" | ||||||
| youHaveNoGroups: "Nie masz żadnych grup" | youHaveNoGroups: "Nie masz żadnych grup" | ||||||
| joinOrCreateGroup: "Uzyskaj zaproszenie do dołączenia do grupy lub utwórz własną grupę." | joinOrCreateGroup: "Uzyskaj zaproszenie do dołączenia do grupy lub utwórz własną grupę." | ||||||
| noHistory: "Brak historii" | noHistory: "Brak historii" | ||||||
| signinHistory: "Historia logowania" | signinHistory: "Historia logowania" | ||||||
| disableAnimatedMfm: "Wyłącz MFM z animacją" | disableAnimatedMfm: "Wyłącz MFM z animacją" | ||||||
|  | doing: "Przetwarzanie..." | ||||||
| category: "Kategoria" | category: "Kategoria" | ||||||
| tags: "Tagi" | tags: "Tagi" | ||||||
| docSource: "Źródło tego dokumentu" | 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." | removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj to, jeżeli instancja już nie istnieje." | ||||||
| userSuspended: "To konto zostało zawieszone." | userSuspended: "To konto zostało zawieszone." | ||||||
| userSilenced: "Ten użytkownik został wyciszony." | 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" | divider: "Rozdzielacz" | ||||||
| addItem: "Dodaj element" | addItem: "Dodaj element" | ||||||
| relays: "Przekaźniki" | relays: "Przekaźniki" | ||||||
|  | @ -541,7 +550,7 @@ disablePlayer: "Zamknij odtwarzacz wideo" | ||||||
| expandTweet: "Rozwiń tweet" | expandTweet: "Rozwiń tweet" | ||||||
| themeEditor: "Edytor motywu" | themeEditor: "Edytor motywu" | ||||||
| description: "Opis" | description: "Opis" | ||||||
| describeFile: "dodaj podpis" | describeFile: "Dodaj podpis" | ||||||
| enterFileDescription: "Wprowadź napis" | enterFileDescription: "Wprowadź napis" | ||||||
| author: "Autor" | author: "Autor" | ||||||
| leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?" | 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" | smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS" | ||||||
| testEmail: "Przetestuj dostarczanie wiadomości e-mail" | testEmail: "Przetestuj dostarczanie wiadomości e-mail" | ||||||
| wordMute: "Wyciszenie słowa" | wordMute: "Wyciszenie słowa" | ||||||
|  | instanceMute: "Wyciszone instancje" | ||||||
| userSaysSomething: "{name} powiedział(-a) coś" | userSaysSomething: "{name} powiedział(-a) coś" | ||||||
| makeActive: "Aktywuj" | makeActive: "Aktywuj" | ||||||
| display: "Wyświetlanie" | 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." | abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy." | ||||||
| reporteeOrigin: "Pochodzenie zgłoszonego" | reporteeOrigin: "Pochodzenie zgłoszonego" | ||||||
| reporterOrigin: "Pochodzenie zgłaszającego" | reporterOrigin: "Pochodzenie zgłaszającego" | ||||||
|  | forwardReport: "Przekaż zgłoszenie do innej instancji" | ||||||
| send: "Wyślij" | send: "Wyślij" | ||||||
| abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane" | abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane" | ||||||
| openInNewTab: "Otwórz w nowej karcie" | openInNewTab: "Otwórz w nowej karcie" | ||||||
|  | @ -619,8 +630,12 @@ random: "Losowe" | ||||||
| system: "System" | system: "System" | ||||||
| switchUi: "Przełącz interfejs użytkownika" | switchUi: "Przełącz interfejs użytkownika" | ||||||
| desktop: "Pulpit" | desktop: "Pulpit" | ||||||
|  | clip: "Klip" | ||||||
| createNew: "Utwórz nowy" | createNew: "Utwórz nowy" | ||||||
| optional: "Nieobowiązkowe" | 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" | public: "Publiczny" | ||||||
| i18nInfo: "Misskey jest tłumaczone na wiele języków przez wolontariuszy. Możesz pomóc na {link}." | i18nInfo: "Misskey jest tłumaczone na wiele języków przez wolontariuszy. Możesz pomóc na {link}." | ||||||
| manageAccessTokens: "Zarządzaj tokenami dostępu" | manageAccessTokens: "Zarządzaj tokenami dostępu" | ||||||
|  | @ -654,6 +669,7 @@ pageLikesCount: "Liczba otrzymanych polubień stron" | ||||||
| pageLikedCount: "Liczba polubionych stron" | pageLikedCount: "Liczba polubionych stron" | ||||||
| contact: "Kontakt" | contact: "Kontakt" | ||||||
| useSystemFont: "Używaj domyślnej czcionki systemu" | useSystemFont: "Używaj domyślnej czcionki systemu" | ||||||
|  | clips: "Klipy" | ||||||
| experimentalFeatures: "Eksperymentalne funkcje" | experimentalFeatures: "Eksperymentalne funkcje" | ||||||
| developer: "Programista" | developer: "Programista" | ||||||
| makeExplorable: "Pokazuj konto na stronie „Eksploruj”" | makeExplorable: "Pokazuj konto na stronie „Eksploruj”" | ||||||
|  | @ -725,6 +741,7 @@ notRecommended: "Nie zalecane" | ||||||
| botProtection: "Zabezpieczenie przed botami" | botProtection: "Zabezpieczenie przed botami" | ||||||
| instanceBlocking: "Zablokowane instancje" | instanceBlocking: "Zablokowane instancje" | ||||||
| selectAccount: "Wybierz konto" | selectAccount: "Wybierz konto" | ||||||
|  | switchAccount: "Przełącz konto" | ||||||
| enabled: "Właczono" | enabled: "Właczono" | ||||||
| disabled: "Wyłączono" | disabled: "Wyłączono" | ||||||
| quickAction: "Szybkie działania" | quickAction: "Szybkie działania" | ||||||
|  | @ -756,22 +773,103 @@ global: "Globalna" | ||||||
| squareAvatars: "Wyświetlaj kwadratowe awatary" | squareAvatars: "Wyświetlaj kwadratowe awatary" | ||||||
| sent: "Wyślij" | sent: "Wyślij" | ||||||
| received: "Otrzymane" | received: "Otrzymane" | ||||||
|  | searchResult: "Wyniki wyszukiwania" | ||||||
| hashtags: "Hashtag" | 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" | 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" | 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" | searchByGoogle: "Szukaj" | ||||||
| indefinitely: "Nigdy" | indefinitely: "Nigdy" | ||||||
| file: "Pliki" | file: "Pliki" | ||||||
|  | logoutConfirm: "Czy na pewno chcesz się wylogować?" | ||||||
|  | lastActiveDate: "Ostatnio użyte w" | ||||||
|  | statusbar: "Pasek stanu" | ||||||
|  | pleaseSelect: "Wybierz opcję" | ||||||
| reverse: "Odwróć" | reverse: "Odwróć" | ||||||
| colored: "Kolorowe" | colored: "Kolorowe" | ||||||
| label: "Etykieta" | 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" | 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: | _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: | _ad: | ||||||
|   back: "Wróć" |   back: "Wróć" | ||||||
|   reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej" |   reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej" | ||||||
| _forgotPassword: | _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." |   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." |   contactAdmin: "Jeżeli Twoja instancja nie obsługuje adresów e-mail, skontaktuj się zamiast tego z administratorem, aby zresetować hasło." | ||||||
| _gallery: | _gallery: | ||||||
|  | @ -788,6 +886,23 @@ _plugin: | ||||||
|   install: "Zainstaluj wtyczki" |   install: "Zainstaluj wtyczki" | ||||||
|   installWarn: "Nie instaluj niezaufanych wtyczek." |   installWarn: "Nie instaluj niezaufanych wtyczek." | ||||||
|   manage: "Zarządzanie wtyczkami" |   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: | _registry: | ||||||
|   scope: "Zakres" |   scope: "Zakres" | ||||||
|   key: "Klucz" |   key: "Klucz" | ||||||
|  | @ -822,10 +937,13 @@ _mfm: | ||||||
|   bold: "Pogrubienie" |   bold: "Pogrubienie" | ||||||
|   boldDescription: "Wyróżnia litery pogrubiając je." |   boldDescription: "Wyróżnia litery pogrubiając je." | ||||||
|   small: "Małe" |   small: "Małe" | ||||||
|  |   smallDescription: "Wyświetla treść jako małą i cienką." | ||||||
|   center: "Wyśrodkowanie" |   center: "Wyśrodkowanie" | ||||||
|   centerDescription: "Wyśrodkowuje zawartość." |   centerDescription: "Wyśrodkowuje zawartość." | ||||||
|  |   inlineCode: "Kod (w wierszu)" | ||||||
|   blockCode: "Kod (blok)" |   blockCode: "Kod (blok)" | ||||||
|   blockCodeDescription: "Wyświetla kod z podświetlaną składnią składający się z wielu linii." |   blockCodeDescription: "Wyświetla kod z podświetlaną składnią składający się z wielu linii." | ||||||
|  |   blockMath: "Matematyka (Blok)" | ||||||
|   quote: "Cytuj" |   quote: "Cytuj" | ||||||
|   quoteDescription: "Wyświetla treść jako cytat." |   quoteDescription: "Wyświetla treść jako cytat." | ||||||
|   emoji: "Niestandardowe emoji" |   emoji: "Niestandardowe emoji" | ||||||
|  | @ -834,6 +952,20 @@ _mfm: | ||||||
|   searchDescription: "Wyświetla pole wyszukiwania z wcześniej wpisanym tekstem." |   searchDescription: "Wyświetla pole wyszukiwania z wcześniej wpisanym tekstem." | ||||||
|   flip: "Odwróć" |   flip: "Odwróć" | ||||||
|   flipDescription: "Przerzuca treść poziomo lub pionowo." |   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" |   x2: "Duże" | ||||||
|   x2Description: "Czyni treść większą." |   x2Description: "Czyni treść większą." | ||||||
|   x3: "Bardzo duże" |   x3: "Bardzo duże" | ||||||
|  | @ -841,9 +973,17 @@ _mfm: | ||||||
|   x4: "Ogromne" |   x4: "Ogromne" | ||||||
|   x4Description: "Czyni treść jeszcze większą niż jeszcze większa." |   x4Description: "Czyni treść jeszcze większą niż jeszcze większa." | ||||||
|   blur: "Rozmycie" |   blur: "Rozmycie" | ||||||
|  |   blurDescription: "Rozmywa treść. Zostanie wyraźnie wyświetlona po najechaniu." | ||||||
|   font: "Czcionka" |   font: "Czcionka" | ||||||
|   fontDescription: "Wybiera czcionkę do wyświetlania treści." |   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óć" |   rotate: "Obróć" | ||||||
|  |   rotateDescription: "Obraca zawartość o określony kąt." | ||||||
|  |   plain: "Zwyczajny" | ||||||
|  |   plainDescription: "Wyłącza efekty wszystkich MFM zawartych w tym efekcie MFM." | ||||||
| _instanceTicker: | _instanceTicker: | ||||||
|   none: "Nigdy nie pokazuj" |   none: "Nigdy nie pokazuj" | ||||||
|   remote: "Pokaż dla zdalnych użytkowników" |   remote: "Pokaż dla zdalnych użytkowników" | ||||||
|  | @ -863,6 +1003,7 @@ _channel: | ||||||
|   usersCount: "{n} uczestnicy" |   usersCount: "{n} uczestnicy" | ||||||
|   notesCount: "{n} wpisy" |   notesCount: "{n} wpisy" | ||||||
| _menuDisplay: | _menuDisplay: | ||||||
|  |   top: "Góra" | ||||||
|   hide: "Ukryj" |   hide: "Ukryj" | ||||||
| _wordMute: | _wordMute: | ||||||
|   muteWords: "Słowo do wyciszenia" |   muteWords: "Słowo do wyciszenia" | ||||||
|  | @ -870,6 +1011,9 @@ _wordMute: | ||||||
|   soft: "Łagodny" |   soft: "Łagodny" | ||||||
|   hard: "Twardy" |   hard: "Twardy" | ||||||
|   mutedNotes: "Wyciszone wpisy" |   mutedNotes: "Wyciszone wpisy" | ||||||
|  | _instanceMute: | ||||||
|  |   title: "Ukrywa wpisy z wymienionych instancji." | ||||||
|  |   heading: "Lista instancji do wyciszenia" | ||||||
| _theme: | _theme: | ||||||
|   explore: "Przeglądaj motywy" |   explore: "Przeglądaj motywy" | ||||||
|   install: "Zainstaluj motyw" |   install: "Zainstaluj motyw" | ||||||
|  | @ -950,6 +1094,7 @@ _sfx: | ||||||
|   notification: "Powiadomienia" |   notification: "Powiadomienia" | ||||||
|   chat: "Wiadomości" |   chat: "Wiadomości" | ||||||
|   chatBg: "Rozmowy (tło)" |   chatBg: "Rozmowy (tło)" | ||||||
|  |   antenna: "Anteny" | ||||||
|   channel: "Powiadomienia kanału" |   channel: "Powiadomienia kanału" | ||||||
| _ago: | _ago: | ||||||
|   future: "W przyszłości" |   future: "W przyszłości" | ||||||
|  | @ -969,12 +1114,30 @@ _time: | ||||||
| _tutorial: | _tutorial: | ||||||
|   title: "Jak korzystać z Misskey" |   title: "Jak korzystać z Misskey" | ||||||
|   step1_1: "Witaj!" |   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." |   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_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_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_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: | _2fa: | ||||||
|  |   alreadyRegistered: "Zarejestrowałeś już urządzenie do uwierzytelniania dwuskładnikowego." | ||||||
|   registerDevice: "Zarejestruj nowe urządzenie" |   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." |   step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu." | ||||||
|   step2: "Następnie, zeskanuje kod QR z ekranu." |   step2: "Następnie, zeskanuje kod QR z ekranu." | ||||||
|   step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację." |   step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację." | ||||||
|  | @ -990,6 +1153,7 @@ _permissions: | ||||||
|   "write:favorites": "Edycja Twojej listy ulubionych." |   "write:favorites": "Edycja Twojej listy ulubionych." | ||||||
|   "read:following": "Wyświetlanie informacji o obserwowanych" |   "read:following": "Wyświetlanie informacji o obserwowanych" | ||||||
|   "write:following": "Obserwowanie lub cofanie obserwacji innych kont" |   "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ś)" |   "read:mutes": "Wyświetlanie listy osób, które wyciszyłeś(-aś)" | ||||||
|   "write:mutes": "Edycja listy osób, które wyciszyłeś(-aś)" |   "write:mutes": "Edycja listy osób, które wyciszyłeś(-aś)" | ||||||
|   "read:notifications": "Wyświetlanie powiadomień" |   "read:notifications": "Wyświetlanie powiadomień" | ||||||
|  | @ -1003,6 +1167,10 @@ _permissions: | ||||||
|   "write:page-likes": "Edycja polubień na stronach" |   "write:page-likes": "Edycja polubień na stronach" | ||||||
|   "read:user-groups": "Wyświetlanie grup użytkownika" |   "read:user-groups": "Wyświetlanie grup użytkownika" | ||||||
|   "write:user-groups": "Edycja lub usuwanie 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: | _auth: | ||||||
|   shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?" |   shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?" | ||||||
|   permissionAsk: "Ta aplikacja wymaga następujących uprawnień:" |   permissionAsk: "Ta aplikacja wymaga następujących uprawnień:" | ||||||
|  | @ -1021,12 +1189,21 @@ _widgets: | ||||||
|   calendar: "Kalendarz" |   calendar: "Kalendarz" | ||||||
|   trends: "Na czasie" |   trends: "Na czasie" | ||||||
|   clock: "Zegar" |   clock: "Zegar" | ||||||
|  |   rss: "Czytnik RSS" | ||||||
|   activity: "Aktywność" |   activity: "Aktywność" | ||||||
|   photos: "Zdjęcia" |   photos: "Zdjęcia" | ||||||
|  |   digitalClock: "Zegar cyfrowy" | ||||||
|  |   unixClock: "Zegar UNIX" | ||||||
|   federation: "Federacja" |   federation: "Federacja" | ||||||
|   postForm: "Utwórz wpis" |   instanceCloud: "Chmura instancji" | ||||||
|  |   postForm: "Formularz tworzenia wpisu" | ||||||
|  |   slideshow: "Pokaz slajdów" | ||||||
|   button: "Przycisk" |   button: "Przycisk" | ||||||
|  |   onlineUsers: "Użytkownicy online" | ||||||
|   jobQueue: "Kolejka zadań" |   jobQueue: "Kolejka zadań" | ||||||
|  |   serverMetric: "Metryka serwera" | ||||||
|  |   aiscript: "Konsola AiScript" | ||||||
|  |   aichan: "Ai" | ||||||
| _cw: | _cw: | ||||||
|   hide: "Ukryj" |   hide: "Ukryj" | ||||||
|   show: "Załaduj więcej" |   show: "Załaduj więcej" | ||||||
|  | @ -1393,9 +1570,11 @@ _notification: | ||||||
|   youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji" |   youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji" | ||||||
|   yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta" |   yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta" | ||||||
|   youWereInvitedToGroup: "Zaproszony(-a) do grupy" |   youWereInvitedToGroup: "Zaproszony(-a) do grupy" | ||||||
|  |   pollEnded: "Wyniki ankiety stały się dostępne" | ||||||
|  |   emptyPushNotificationMessage: "Powiadomienia push zostały zaktualizowane" | ||||||
|   _types: |   _types: | ||||||
|     all: "Wszystkie" |     all: "Wszystkie" | ||||||
|     follow: "Obserwowani" |     follow: "Nowi obserwujący" | ||||||
|     mention: "Wspomnij" |     mention: "Wspomnij" | ||||||
|     reply: "Odpowiedzi" |     reply: "Odpowiedzi" | ||||||
|     renote: "Udostępnij" |     renote: "Udostępnij" | ||||||
|  | @ -1407,12 +1586,14 @@ _notification: | ||||||
|     groupInvited: "Zaproszono do grup" |     groupInvited: "Zaproszono do grup" | ||||||
|     app: "Powiadomienia z aplikacji" |     app: "Powiadomienia z aplikacji" | ||||||
|   _actions: |   _actions: | ||||||
|  |     followBack: "zaobserwował cię z powrotem" | ||||||
|     reply: "Odpowiedz" |     reply: "Odpowiedz" | ||||||
|     renote: "Udostępnij" |     renote: "Udostępnij" | ||||||
| _deck: | _deck: | ||||||
|   alwaysShowMainColumn: "Zawsze pokazuj główną kolumnę" |   alwaysShowMainColumn: "Zawsze pokazuj główną kolumnę" | ||||||
|   columnAlign: "Wyrównaj kolumny" |   columnAlign: "Wyrównaj kolumny" | ||||||
|   addColumn: "Dodaj kolumnę" |   addColumn: "Dodaj kolumnę" | ||||||
|  |   configureColumn: "Ustawienia kolumny" | ||||||
|   swapLeft: "Przesuń w lewo" |   swapLeft: "Przesuń w lewo" | ||||||
|   swapRight: "Przesuń w prawo" |   swapRight: "Przesuń w prawo" | ||||||
|   swapUp: "Zamień z powyższym" |   swapUp: "Zamień z powyższym" | ||||||
|  | @ -1420,6 +1601,9 @@ _deck: | ||||||
|   stackLeft: "Przypnij do lewej" |   stackLeft: "Przypnij do lewej" | ||||||
|   popRight: "Odepnij w prawo" |   popRight: "Odepnij w prawo" | ||||||
|   profile: "Profil" |   profile: "Profil" | ||||||
|  |   newProfile: "Nowy profil" | ||||||
|  |   deleteProfile: "Usuń profil" | ||||||
|  |   widgetsIntroduction: "Wybierz \"Edytuj widżety\" w menu kolumny i dodaj widżet." | ||||||
|   _columns: |   _columns: | ||||||
|     main: "Główna" |     main: "Główna" | ||||||
|     widgets: "Widżety" |     widgets: "Widżety" | ||||||
|  |  | ||||||
|  | @ -562,6 +562,7 @@ author: "Автор" | ||||||
| leaveConfirm: "Вы не сохранили изменения. Хотите выйти и потерять их?" | leaveConfirm: "Вы не сохранили изменения. Хотите выйти и потерять их?" | ||||||
| manage: "Управление" | manage: "Управление" | ||||||
| plugins: "Расширения" | plugins: "Расширения" | ||||||
|  | preferencesBackups: "Резервная копия" | ||||||
| deck: "Пульт" | deck: "Пульт" | ||||||
| undeck: "Покинуть пульт" | undeck: "Покинуть пульт" | ||||||
| useBlurEffectForModal: "Размывка под формой поверх всего" | useBlurEffectForModal: "Размывка под формой поверх всего" | ||||||
|  |  | ||||||
|  | @ -562,6 +562,7 @@ author: "ผู้เขียน" | ||||||
| leaveConfirm: "คุณมีการเปลี่ยนแปลงที่ไม่ได้บันทึกนะ นายต้องการทิ้งการเปลี่ยนแปลงเหล่านั้นหรอ?" | leaveConfirm: "คุณมีการเปลี่ยนแปลงที่ไม่ได้บันทึกนะ นายต้องการทิ้งการเปลี่ยนแปลงเหล่านั้นหรอ?" | ||||||
| manage: "การจัดการ" | manage: "การจัดการ" | ||||||
| plugins: "ปลั๊กอิน" | plugins: "ปลั๊กอิน" | ||||||
|  | preferencesBackups: "ตั้งค่าการสำรองข้อมูล" | ||||||
| deck: "เด็ค" | deck: "เด็ค" | ||||||
| undeck: "ออกจากเด็ค" | undeck: "ออกจากเด็ค" | ||||||
| useBlurEffectForModal: "ใช้เอฟเฟกต์เบลอสำหรับโมดอล" | useBlurEffectForModal: "ใช้เอฟเฟกต์เบลอสำหรับโมดอล" | ||||||
|  | @ -598,7 +599,7 @@ wordMute: "ปิดเสียงคำ" | ||||||
| regexpError: "ข้อผิดพลาดของนิพจน์ทั่วไป" | regexpError: "ข้อผิดพลาดของนิพจน์ทั่วไป" | ||||||
| regexpErrorDescription: "เกิดข้อผิดพลาดในนิพจน์ทั่วไปในบรรทัดที่ {line} ของการปิดเสียงคำ {tab} ของคุณ:" | regexpErrorDescription: "เกิดข้อผิดพลาดในนิพจน์ทั่วไปในบรรทัดที่ {line} ของการปิดเสียงคำ {tab} ของคุณ:" | ||||||
| instanceMute: "ปิดเสียง อินสแตนซ์" | instanceMute: "ปิดเสียง อินสแตนซ์" | ||||||
| userSaysSomething: "{ชื่อ} พูดอะไรบางอย่าง" | userSaysSomething: "{name} พูดอะไรบางอย่าง" | ||||||
| makeActive: "เปิดใช้งาน" | makeActive: "เปิดใช้งาน" | ||||||
| display: "แสดงผล" | display: "แสดงผล" | ||||||
| copy: "คัดลอก" | copy: "คัดลอก" | ||||||
|  | @ -913,13 +914,89 @@ _ffVisibility: | ||||||
| _signup: | _signup: | ||||||
|   almostThere: "เกือบจะมี" |   almostThere: "เกือบจะมี" | ||||||
|   emailAddressInfo: "โปรดกรอกอีเมลของคุณ มันจะไม่เปิดเผยต่อสาธารณะ" |   emailAddressInfo: "โปรดกรอกอีเมลของคุณ มันจะไม่เปิดเผยต่อสาธารณะ" | ||||||
|  |   emailSent: "เราได้ส่งอีเมลยืนยันไปยังที่อยู่อีเมลของคุณแล้วนะ ({email}) โปรดคลิกลิงก์ที่รวมไว้เพื่อสร้างบัญชีให้เสร็จสิ้น" | ||||||
|  | _accountDelete: | ||||||
|  |   accountDelete: "ลบบัญชีผู้ใช้" | ||||||
|  |   mayTakeTime: "เนื่องจากการลบบัญชีนี้จะเป็นกระบวนการที่ต้องใช้ทรัพยากรมาก จึงอาจจะต้องใช้เวลาสักครู่ถึงจะเสร็จสมบูรณ์ ทั้งนี้ขึ้นอยู่กับจำนวนเนื้อหาที่คุณสร้างและจำนวนไฟล์ที่คุณอัปโหลดนะ" | ||||||
|  |   sendEmail: "เมื่อการลบบัญชีนี้เสร็จสิ้น เราอาจจะส่งอีเมลไปยังที่อยู่อีเมลของคุณที่เคยลงทะเบียนไว้กับบัญชีนี้นะ" | ||||||
|  |   requestAccountDelete: "ร้องขอให้ลบบัญชี" | ||||||
|  |   started: "การลบได้เริ่มต้นขึ้น" | ||||||
|  |   inProgress: "ปัจจุบันกำลังดำเนินการลบอยู่" | ||||||
| _ad: | _ad: | ||||||
|   back: "ย้อนกลับ" |   back: "ย้อนกลับ" | ||||||
|  |   reduceFrequencyOfThisAd: "แสดงโฆษณานี้ให้น้อยลง" | ||||||
|  | _forgotPassword: | ||||||
|  |   enterEmail: "ป้อนที่อยู่อีเมลที่คุณเคยใช้ในการลงทะเบียนไว้ ลิงก์ที่คุณสามารถรีเซ็ตรหัสผ่านได้นั้นจะถูกส่งไปนะ" | ||||||
|  |   ifNoEmail: "ถ้าหากคุณไม่ได้ใช้อีเมลระหว่างการลงทะเบียน กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์แทนนะ" | ||||||
|  |   contactAdmin: "อินสแตนซ์นี้ไม่รองรับการใช้งานที่อยู่อีเมลนี้ กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์เพื่อรีเซ็ตรหัสผ่านของคุณแทน" | ||||||
|  | _gallery: | ||||||
|  |   my: "แกลลอรี่ของฉัน" | ||||||
|  |   liked: "โพสต์ที่ถูกใจ" | ||||||
|  |   like: "ชื่นชอบ" | ||||||
|  |   unlike: "ลบไลค์" | ||||||
| _email: | _email: | ||||||
|   _follow: |   _follow: | ||||||
|     title: "ได้ติดตามคุณ" |     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: | _mfm: | ||||||
|  |   cheatSheet: "โค้ด MFM Cheat Sheet" | ||||||
|  |   intro: "MFM เป็นภาษามาร์กอัปพิเศษเฉพาะของ Misskey ที่สามารถใช้ได้ในหลายที่ คุณยังสามารถดูรายการไวยากรณ์ MFM ที่มีอยู่ทั้งหมดได้ที่นี่นะ" | ||||||
|  |   dummy: "Misskey ขยายโลกของ Fediverse" | ||||||
|   mention: "กล่าวถึง" |   mention: "กล่าวถึง" | ||||||
|  |   mentionDescription: "คุณสามารถระบุผู้ใช้โดยใช้ At-Symbol และชื่อผู้ใช้ได้นะ" | ||||||
|  |   hashtag: "แฮชแท็ก" | ||||||
|  |   hashtagDescription: "คุณสามารถระบุชื่อแฮชแท็กได้โดยใช้เครื่องหมายตัวเลขและข้อความได้นะ" | ||||||
|  |   url: "URL" | ||||||
|  |   urlDescription: "สามารถแสดง URL ได้นะ" | ||||||
|  |   link: "ลิงก์" | ||||||
|  |   linkDescription: "เจาะจงเฉพาะ ส่วนของข้อความที่สามารถแสดงเป็น URL ได้" | ||||||
|  |   bold: "ตัวหนา" | ||||||
|  |   boldDescription: "ไฮไลท์ตัวอักษรโดยทำให้หนาขึ้น" | ||||||
|  |   small: "ขนาดเล็ก" | ||||||
|  |   smallDescription: "แสดงผลเนื้อหาขนาดเล็กและบาง" | ||||||
|  |   center: "เซ็นเตอร์" | ||||||
|   centerDescription: "แสดงผลเนื้อหาเป็นศูนย์กลาง" |   centerDescription: "แสดงผลเนื้อหาเป็นศูนย์กลาง" | ||||||
|   inlineCode: "โค้ด (อินไลน์)" |   inlineCode: "โค้ด (อินไลน์)" | ||||||
|   inlineCodeDescription: "แสดงผลการเน้นไวยากรณ์แบบอินไลน์สำหรับโค้ด (โปรแกรม)" |   inlineCodeDescription: "แสดงผลการเน้นไวยากรณ์แบบอินไลน์สำหรับโค้ด (โปรแกรม)" | ||||||
|  | @ -936,9 +1013,117 @@ _mfm: | ||||||
|   search: "ค้นหา" |   search: "ค้นหา" | ||||||
|   searchDescription: "แสดงผลกล่องค้นหาพร้อมกับข้อความที่ป้อนไว้ล่วงหน้า" |   searchDescription: "แสดงผลกล่องค้นหาพร้อมกับข้อความที่ป้อนไว้ล่วงหน้า" | ||||||
|   flip: "พลิก" |   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: | _theme: | ||||||
|  |   explore: "สำรวจธีม" | ||||||
|  |   install: "ติดตั้งธีม" | ||||||
|  |   manage: "จัดการธีม" | ||||||
|  |   code: "โค้ดธีม" | ||||||
|   description: "รายละเอียด" |   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: |   keys: | ||||||
|  |     accent: "เน้น" | ||||||
|  |     bg: "ภาพพื้นหลัง" | ||||||
|  |     fg: "ข้อความ" | ||||||
|  |     focus: "โฟกัส" | ||||||
|  |     indicator: "ตัวบ่งชี้" | ||||||
|  |     panel: "แผงควบคุม" | ||||||
|  |     shadow: "เงา" | ||||||
|  |     header: "ส่วนหัว" | ||||||
|  |     navBg: "พื้นหลังแถบด้านข้าง" | ||||||
|  |     navFg: "ข้อความแถบด้านข้าง" | ||||||
|     mention: "กล่าวถึง" |     mention: "กล่าวถึง" | ||||||
|     renote: "รีโน้ต" |     renote: "รีโน้ต" | ||||||
|     divider: "ตัวแบ่ง" |     divider: "ตัวแบ่ง" | ||||||
|  |  | ||||||
|  | @ -141,7 +141,7 @@ cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远 | ||||||
| flagAsBot: "这是一个机器人账号" | flagAsBot: "这是一个机器人账号" | ||||||
| flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。" | flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。" | ||||||
| flagAsCat: "将这个账户设定为一只猫" | flagAsCat: "将这个账户设定为一只猫" | ||||||
| flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。" | flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。" | ||||||
| flagShowTimelineReplies: "在时间线上显示帖子的回复" | flagShowTimelineReplies: "在时间线上显示帖子的回复" | ||||||
| flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。" | flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。" | ||||||
| autoAcceptFollowed: "自动允许关注者的关注" | autoAcceptFollowed: "自动允许关注者的关注" | ||||||
|  | @ -252,7 +252,7 @@ messageRead: "已读" | ||||||
| noMoreHistory: "没有更多的历史记录" | noMoreHistory: "没有更多的历史记录" | ||||||
| startMessaging: "添加聊天" | startMessaging: "添加聊天" | ||||||
| nUsersRead: "{n}人已读" | nUsersRead: "{n}人已读" | ||||||
| agreeTo: "{0}勾选则表示已阅读并同意" | agreeTo: "勾选则表示已阅读并同意{0}" | ||||||
| tos: "服务条款" | tos: "服务条款" | ||||||
| start: "开始" | start: "开始" | ||||||
| home: "首页" | home: "首页" | ||||||
|  | @ -668,7 +668,7 @@ yes: "是" | ||||||
| no: "否" | no: "否" | ||||||
| driveFilesCount: "网盘的文件数" | driveFilesCount: "网盘的文件数" | ||||||
| driveUsage: "网盘的空间用量" | driveUsage: "网盘的空间用量" | ||||||
| noCrawle: "要求搜索引擎不索引该站点" | noCrawle: "要求搜索引擎不索引该用户" | ||||||
| noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。" | noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。" | ||||||
| lockedAccountInfo: "即使通过了关注请求,只要您不将帖子可见范围设置成“关注者”,任何人都可以看到您的帖子。" | lockedAccountInfo: "即使通过了关注请求,只要您不将帖子可见范围设置成“关注者”,任何人都可以看到您的帖子。" | ||||||
| alwaysMarkSensitive: "默认将媒体文件标记为敏感内容" | alwaysMarkSensitive: "默认将媒体文件标记为敏感内容" | ||||||
|  | @ -747,7 +747,7 @@ userInfo: "用户信息" | ||||||
| unknown: "未知" | unknown: "未知" | ||||||
| onlineStatus: "在线状态" | onlineStatus: "在线状态" | ||||||
| hideOnlineStatus: "隐藏在线状态" | hideOnlineStatus: "隐藏在线状态" | ||||||
| hideOnlineStatusDescription: "隐藏在线状态后,可能会降低例如搜索等功能的便利性。" | hideOnlineStatusDescription: "隐藏在线状态后,可能会降低搜索等功能的便利性。" | ||||||
| online: "在线" | online: "在线" | ||||||
| active: "活动" | active: "活动" | ||||||
| offline: "离线" | offline: "离线" | ||||||
|  |  | ||||||
|  | @ -883,8 +883,8 @@ sensitiveMediaDetection: "敏感性媒體的檢測" | ||||||
| localOnly: "僅限本地" | localOnly: "僅限本地" | ||||||
| remoteOnly: "僅限遠端" | remoteOnly: "僅限遠端" | ||||||
| failedToUpload: "上傳失敗" | failedToUpload: "上傳失敗" | ||||||
| cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上船。" | cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上傳。" | ||||||
| cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上船>" | cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上傳。" | ||||||
| beta: "Beta" | beta: "Beta" | ||||||
| enableAutoSensitive: "自動NSFW判定" | enableAutoSensitive: "自動NSFW判定" | ||||||
| enableAutoSensitiveDescription: "如果可用,請利用機器學習在媒體上自動設置 NSFW 旗標。 即使關閉此功能,依實例而定也可能會自動設置。" | enableAutoSensitiveDescription: "如果可用,請利用機器學習在媒體上自動設置 NSFW 旗標。 即使關閉此功能,依實例而定也可能會自動設置。" | ||||||
|  | @ -917,7 +917,7 @@ _signup: | ||||||
|   emailSent: "已將確認郵件發送至您輸入的電子郵件地址 ({email})。請開啟電子郵件中的連結以完成帳戶創建。" |   emailSent: "已將確認郵件發送至您輸入的電子郵件地址 ({email})。請開啟電子郵件中的連結以完成帳戶創建。" | ||||||
| _accountDelete: | _accountDelete: | ||||||
|   accountDelete: "刪除帳戶" |   accountDelete: "刪除帳戶" | ||||||
|   mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶產生的內容數量上船的檔案數量較多的話,就需要花费一段時間才能完成。" |   mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶產生的內容數量上傳的檔案數量較多的話,就需要花费一段時間才能完成。" | ||||||
|   sendEmail: "帳戶删除完成後,將向註冊地電子郵件地址發送通知。" |   sendEmail: "帳戶删除完成後,將向註冊地電子郵件地址發送通知。" | ||||||
|   requestAccountDelete: "刪除帳戶請求" |   requestAccountDelete: "刪除帳戶請求" | ||||||
|   started: "已開始刪除作業。" |   started: "已開始刪除作業。" | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| { | { | ||||||
| 	"name": "misskey", | 	"name": "misskey", | ||||||
| 	"version": "12.118.1", | 	"version": "12.119.0", | ||||||
| 	"codename": "indigo", | 	"codename": "indigo", | ||||||
| 	"repository": { | 	"repository": { | ||||||
| 		"type": "git", | 		"type": "git", | ||||||
|  | @ -41,10 +41,10 @@ | ||||||
| 	"devDependencies": { | 	"devDependencies": { | ||||||
| 		"@types/gulp": "4.0.9", | 		"@types/gulp": "4.0.9", | ||||||
| 		"@types/gulp-rename": "2.0.1", | 		"@types/gulp-rename": "2.0.1", | ||||||
| 		"@typescript-eslint/parser": "5.33.0", | 		"@typescript-eslint/parser": "5.36.2", | ||||||
| 		"cross-env": "7.0.3", | 		"cross-env": "7.0.3", | ||||||
| 		"cypress": "10.4.0", | 		"cypress": "10.7.0", | ||||||
| 		"start-server-and-test": "1.14.0", | 		"start-server-and-test": "1.14.0", | ||||||
| 		"typescript": "4.7.4" | 		"typescript": "4.8.3" | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
| 		"lodash": "^4.17.21" | 		"lodash": "^4.17.21" | ||||||
| 	}, | 	}, | ||||||
| 	"optionalDependencies": { | 	"optionalDependencies": { | ||||||
| 		"@tensorflow/tfjs-node": "3.19.0" | 		"@tensorflow/tfjs-node": "3.20.0" | ||||||
| 	}, | 	}, | ||||||
| 	"dependencies": { | 	"dependencies": { | ||||||
| 		"@bull-board/koa": "4.2.2", | 		"@bull-board/koa": "4.2.2", | ||||||
|  | @ -30,10 +30,10 @@ | ||||||
| 		"archiver": "5.3.1", | 		"archiver": "5.3.1", | ||||||
| 		"autobind-decorator": "2.4.0", | 		"autobind-decorator": "2.4.0", | ||||||
| 		"autwh": "0.1.0", | 		"autwh": "0.1.0", | ||||||
| 		"aws-sdk": "2.1194.0", | 		"aws-sdk": "2.1213.0", | ||||||
| 		"bcryptjs": "2.4.3", | 		"bcryptjs": "2.4.3", | ||||||
| 		"blurhash": "1.1.5", | 		"blurhash": "1.1.5", | ||||||
| 		"bull": "4.8.5", | 		"bull": "4.9.0", | ||||||
| 		"cacheable-lookup": "6.1.0", | 		"cacheable-lookup": "6.1.0", | ||||||
| 		"cbor": "8.1.0", | 		"cbor": "8.1.0", | ||||||
| 		"chalk": "5.0.1", | 		"chalk": "5.0.1", | ||||||
|  | @ -42,7 +42,7 @@ | ||||||
| 		"cli-highlight": "2.1.11", | 		"cli-highlight": "2.1.11", | ||||||
| 		"color-convert": "2.0.1", | 		"color-convert": "2.0.1", | ||||||
| 		"content-disposition": "0.5.4", | 		"content-disposition": "0.5.4", | ||||||
| 		"date-fns": "2.29.1", | 		"date-fns": "2.29.2", | ||||||
| 		"deep-email-validator": "0.1.21", | 		"deep-email-validator": "0.1.21", | ||||||
| 		"escape-regexp": "0.0.1", | 		"escape-regexp": "0.0.1", | ||||||
| 		"feed": "4.2.2", | 		"feed": "4.2.2", | ||||||
|  | @ -58,7 +58,7 @@ | ||||||
| 		"json5": "2.2.1", | 		"json5": "2.2.1", | ||||||
| 		"json5-loader": "4.0.1", | 		"json5-loader": "4.0.1", | ||||||
| 		"jsonld": "6.0.0", | 		"jsonld": "6.0.0", | ||||||
| 		"jsrsasign": "10.5.26", | 		"jsrsasign": "10.5.27", | ||||||
| 		"koa": "2.13.4", | 		"koa": "2.13.4", | ||||||
| 		"koa-bodyparser": "4.3.0", | 		"koa-bodyparser": "4.3.0", | ||||||
| 		"koa-favicon": "2.1.0", | 		"koa-favicon": "2.1.0", | ||||||
|  | @ -77,10 +77,10 @@ | ||||||
| 		"nested-property": "4.0.0", | 		"nested-property": "4.0.0", | ||||||
| 		"node-fetch": "3.2.10", | 		"node-fetch": "3.2.10", | ||||||
| 		"nodemailer": "6.7.8", | 		"nodemailer": "6.7.8", | ||||||
| 		"nsfwjs": "2.4.1", | 		"nsfwjs": "2.4.2", | ||||||
| 		"os-utils": "0.0.14", | 		"os-utils": "0.0.14", | ||||||
| 		"parse5": "7.0.0", | 		"parse5": "7.1.1", | ||||||
| 		"pg": "8.7.3", | 		"pg": "8.8.0", | ||||||
| 		"private-ip": "2.3.4", | 		"private-ip": "2.3.4", | ||||||
| 		"probe-image-size": "7.2.3", | 		"probe-image-size": "7.2.3", | ||||||
| 		"promise-limit": "2.7.0", | 		"promise-limit": "2.7.0", | ||||||
|  | @ -105,7 +105,7 @@ | ||||||
| 		"stringz": "2.1.0", | 		"stringz": "2.1.0", | ||||||
| 		"summaly": "2.7.0", | 		"summaly": "2.7.0", | ||||||
| 		"syslog-pro": "1.0.0", | 		"syslog-pro": "1.0.0", | ||||||
| 		"systeminformation": "5.12.5", | 		"systeminformation": "5.12.6", | ||||||
| 		"tinycolor2": "1.4.2", | 		"tinycolor2": "1.4.2", | ||||||
| 		"tmp": "0.2.1", | 		"tmp": "0.2.1", | ||||||
| 		"ts-loader": "9.3.1", | 		"ts-loader": "9.3.1", | ||||||
|  | @ -113,17 +113,17 @@ | ||||||
| 		"tsc-alias": "1.7.0", | 		"tsc-alias": "1.7.0", | ||||||
| 		"tsconfig-paths": "4.1.0", | 		"tsconfig-paths": "4.1.0", | ||||||
| 		"twemoji-parser": "14.0.0", | 		"twemoji-parser": "14.0.0", | ||||||
| 		"typeorm": "0.3.7", | 		"typeorm": "0.3.9", | ||||||
| 		"ulid": "2.3.0", | 		"ulid": "2.3.0", | ||||||
| 		"unzipper": "0.10.11", | 		"unzipper": "0.10.11", | ||||||
| 		"uuid": "8.3.2", | 		"uuid": "9.0.0", | ||||||
| 		"web-push": "3.5.0", | 		"web-push": "3.5.0", | ||||||
| 		"websocket": "1.0.34", | 		"websocket": "1.0.34", | ||||||
| 		"ws": "8.8.1", | 		"ws": "8.8.1", | ||||||
| 		"xev": "3.0.2" | 		"xev": "3.0.2" | ||||||
| 	}, | 	}, | ||||||
| 	"devDependencies": { | 	"devDependencies": { | ||||||
| 		"@redocly/openapi-core": "1.0.0-beta.106", | 		"@redocly/openapi-core": "1.0.0-beta.108", | ||||||
| 		"@types/bcryptjs": "2.4.2", | 		"@types/bcryptjs": "2.4.2", | ||||||
| 		"@types/bull": "3.15.9", | 		"@types/bull": "3.15.9", | ||||||
| 		"@types/cbor": "6.0.0", | 		"@types/cbor": "6.0.0", | ||||||
|  | @ -145,13 +145,13 @@ | ||||||
| 		"@types/koa__multer": "2.0.4", | 		"@types/koa__multer": "2.0.4", | ||||||
| 		"@types/koa__router": "8.0.11", | 		"@types/koa__router": "8.0.11", | ||||||
| 		"@types/mocha": "9.1.1", | 		"@types/mocha": "9.1.1", | ||||||
| 		"@types/node": "18.7.2", | 		"@types/node": "18.7.16", | ||||||
| 		"@types/node-fetch": "3.0.3", | 		"@types/node-fetch": "3.0.3", | ||||||
| 		"@types/nodemailer": "6.4.5", | 		"@types/nodemailer": "6.4.5", | ||||||
| 		"@types/oauth": "0.9.1", | 		"@types/oauth": "0.9.1", | ||||||
| 		"@types/pug": "2.0.6", | 		"@types/pug": "2.0.6", | ||||||
| 		"@types/punycode": "2.1.0", | 		"@types/punycode": "2.1.0", | ||||||
| 		"@types/qrcode": "1.4.2", | 		"@types/qrcode": "1.5.0", | ||||||
| 		"@types/random-seed": "0.3.3", | 		"@types/random-seed": "0.3.3", | ||||||
| 		"@types/ratelimiter": "3.4.3", | 		"@types/ratelimiter": "3.4.3", | ||||||
| 		"@types/redis": "4.0.11", | 		"@types/redis": "4.0.11", | ||||||
|  | @ -167,12 +167,12 @@ | ||||||
| 		"@types/web-push": "3.3.2", | 		"@types/web-push": "3.3.2", | ||||||
| 		"@types/websocket": "1.0.5", | 		"@types/websocket": "1.0.5", | ||||||
| 		"@types/ws": "8.5.3", | 		"@types/ws": "8.5.3", | ||||||
| 		"@typescript-eslint/eslint-plugin": "5.33.0", | 		"@typescript-eslint/eslint-plugin": "5.36.2", | ||||||
| 		"@typescript-eslint/parser": "5.33.0", | 		"@typescript-eslint/parser": "5.36.2", | ||||||
| 		"cross-env": "7.0.3", | 		"cross-env": "7.0.3", | ||||||
| 		"eslint": "8.21.0", | 		"eslint": "8.23.0", | ||||||
| 		"eslint-plugin-import": "2.26.0", | 		"eslint-plugin-import": "2.26.0", | ||||||
| 		"execa": "6.1.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 { publishMainStream } from '@/services/stream.js'; | ||||||
| import { pushNotification } from '@/services/push-notification.js'; | import { pushNotification } from '@/services/push-notification.js'; | ||||||
| import { User } from '@/models/entities/user.js'; | import { User } from '@/models/entities/user.js'; | ||||||
| import { Notification } from '@/models/entities/notification.js'; | import { Notification } from '@/models/entities/notification.js'; | ||||||
| import { Notifications, Users } from '@/models/index.js'; | import { Notifications, Users } from '@/models/index.js'; | ||||||
| import { In } from 'typeorm'; |  | ||||||
| 
 | 
 | ||||||
| export async function readNotification( | export async function readNotification( | ||||||
| 	userId: User['id'], | 	userId: User['id'], | ||||||
| 	notificationIds: Notification['id'][] | 	notificationIds: Notification['id'][], | ||||||
| ) { | ) { | ||||||
| 	if (notificationIds.length === 0) return; | 	if (notificationIds.length === 0) return; | ||||||
| 
 | 
 | ||||||
| 	// Update documents
 | 	// Update documents
 | ||||||
| 	const result = await Notifications.update({ | 	const result = await Notifications.update({ | ||||||
|  | 		notifieeId: userId, | ||||||
| 		id: In(notificationIds), | 		id: In(notificationIds), | ||||||
| 		isRead: false, | 		isRead: false, | ||||||
| 	}, { | 	}, { | ||||||
|  | @ -27,7 +28,7 @@ export async function readNotification( | ||||||
| 
 | 
 | ||||||
| export async function readNotificationByQuery( | export async function readNotificationByQuery( | ||||||
| 	userId: User['id'], | 	userId: User['id'], | ||||||
| 	query: Record<string, any> | 	query: Record<string, any>, | ||||||
| ) { | ) { | ||||||
| 	const notificationIds = await Notifications.findBy({ | 	const notificationIds = await Notifications.findBy({ | ||||||
| 		...query, | 		...query, | ||||||
|  |  | ||||||
|  | @ -92,6 +92,10 @@ | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 	const colorSchema = localStorage.getItem('colorSchema'); | ||||||
|  | 	if (colorSchema) { | ||||||
|  | 		document.documentElement.style.setProperty('color-schema', colorSchema); | ||||||
|  | 	} | ||||||
| 	//#endregion
 | 	//#endregion
 | ||||||
| 
 | 
 | ||||||
| 	const fontSize = localStorage.getItem('fontSize'); | 	const fontSize = localStorage.getItem('fontSize'); | ||||||
|  |  | ||||||
|  | @ -91,14 +91,14 @@ | ||||||
|     pump "^3.0.0" |     pump "^3.0.0" | ||||||
|     secure-json-parse "^2.1.0" |     secure-json-parse "^2.1.0" | ||||||
| 
 | 
 | ||||||
| "@eslint/eslintrc@^1.3.0": | "@eslint/eslintrc@^1.3.1": | ||||||
|   version "1.3.0" |   version "1.3.1" | ||||||
|   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" |   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" | ||||||
|   integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== |   integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== | ||||||
|   dependencies: |   dependencies: | ||||||
|     ajv "^6.12.4" |     ajv "^6.12.4" | ||||||
|     debug "^4.3.2" |     debug "^4.3.2" | ||||||
|     espree "^9.3.2" |     espree "^9.4.0" | ||||||
|     globals "^13.15.0" |     globals "^13.15.0" | ||||||
|     ignore "^5.2.0" |     ignore "^5.2.0" | ||||||
|     import-fresh "^3.2.1" |     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" |   resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" | ||||||
|   integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== |   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": | "@humanwhocodes/object-schema@^1.2.1": | ||||||
|   version "1.2.1" |   version "1.2.1" | ||||||
|   resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" |   resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" | ||||||
|  | @ -282,22 +287,22 @@ | ||||||
|     jsprim "^1.2.2" |     jsprim "^1.2.2" | ||||||
|     sshpk "^1.14.1" |     sshpk "^1.14.1" | ||||||
| 
 | 
 | ||||||
| "@redocly/ajv@^8.6.4": | "@redocly/ajv@^8.6.5": | ||||||
|   version "8.6.4" |   version "8.6.5" | ||||||
|   resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.6.4.tgz#94053e7a9d4146d1a4feacd3813892873f229a85" |   resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.6.5.tgz#b6e737248b791905b3f600fb329779a807f0f774" | ||||||
|   integrity sha512-y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw== |   integrity sha512-3P2TY/u4c6OBqkP+1cTH1iGAEv0O34PV3vV2Wnos/nNHu62OTrtC4zcaxttG0pHtPtn42StrhGq7SsiFgP4Bfw== | ||||||
|   dependencies: |   dependencies: | ||||||
|     fast-deep-equal "^3.1.1" |     fast-deep-equal "^3.1.1" | ||||||
|     json-schema-traverse "^1.0.0" |     json-schema-traverse "^1.0.0" | ||||||
|     require-from-string "^2.0.2" |     require-from-string "^2.0.2" | ||||||
|     uri-js "^4.2.2" |     uri-js "^4.2.2" | ||||||
| 
 | 
 | ||||||
| "@redocly/openapi-core@1.0.0-beta.106": | "@redocly/openapi-core@1.0.0-beta.108": | ||||||
|   version "1.0.0-beta.106" |   version "1.0.0-beta.108" | ||||||
|   resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.106.tgz#5df810aee2ed64ecadf3d5100d8fbdf0d74c2924" |   resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.0.0-beta.108.tgz#fbf1b4e31c148f8816d2d63aa37b7831e305ec0f" | ||||||
|   integrity sha512-ZHeczZ6iJrHL7K1v4s+NRFUOHsfZ1ZrB+bcS42CP4bhL/Y17PkOMWA+6Ubk0NVT4Ihdt5cLLWGfjVABD/bEM2A== |   integrity sha512-4Lq7KB+XiBvVzpaY/M0a8qog/Zr8kGrvJbRW2z7Sk2Zpc/m+8LTuZbRh15eMoneVc13M9qbHFIRh3PG18g3Tng== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@redocly/ajv" "^8.6.4" |     "@redocly/ajv" "^8.6.5" | ||||||
|     "@types/node" "^14.11.8" |     "@types/node" "^14.11.8" | ||||||
|     colorette "^1.2.0" |     colorette "^1.2.0" | ||||||
|     js-levenshtein "^1.1.6" |     js-levenshtein "^1.1.6" | ||||||
|  | @ -362,35 +367,35 @@ | ||||||
|   dependencies: |   dependencies: | ||||||
|     defer-to-connect "^2.0.1" |     defer-to-connect "^2.0.1" | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs-backend-cpu@3.19.0": | "@tensorflow/tfjs-backend-cpu@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.19.0.tgz#c7524ccdfded81df0c5cb53185b14e5222ac51e5" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.20.0.tgz#338ec5cfc7c713355839fd85ddf90b5b59b6099a" | ||||||
|   integrity sha512-02f+WkiL9gc9G7P8PwfsvuXREcAUdM/3uAL6fTle3xKEj7KOxX+E/mc3jxPY5UzjAsgHVBZrPJ2xi6AG16WPkQ== |   integrity sha512-gf075YaBLwSAAiUwa0D4GvYyUBhbJ1BVSivUNQmUfGKvIr2lIhF0qstBr033YTc3lhkbFSHEEPAHh/EfpqyjXQ== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/seedrandom" "^2.4.28" |     "@types/seedrandom" "^2.4.28" | ||||||
|     seedrandom "^3.0.5" |     seedrandom "^3.0.5" | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs-backend-webgl@3.19.0": | "@tensorflow/tfjs-backend-webgl@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.19.0.tgz#64b8a14df35ee7d27859c7d141c527cefc6d9484" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.20.0.tgz#1ea6dff51a62cda64bd80ff9e7861a6010924f5a" | ||||||
|   integrity sha512-2HTkAE21t3WQTt8P6iK80ni03AzC8UNZmbIB7/pBDYBbhDwZwe/C5fXrJWnP9m6u4hvCdMAJ3o+OP3NeaEL1pw== |   integrity sha512-SucbyQ08re3HvRgVfarRtKFIjNM4JvIAzcXmw4vaE/HrCtPEePkGO1VrmfQoN470EdUmGiwgqAjoyBvM2VOlVg== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@tensorflow/tfjs-backend-cpu" "3.19.0" |     "@tensorflow/tfjs-backend-cpu" "3.20.0" | ||||||
|     "@types/offscreencanvas" "~2019.3.0" |     "@types/offscreencanvas" "~2019.3.0" | ||||||
|     "@types/seedrandom" "^2.4.28" |     "@types/seedrandom" "^2.4.28" | ||||||
|     "@types/webgl-ext" "0.0.30" |     "@types/webgl-ext" "0.0.30" | ||||||
|     "@types/webgl2" "0.0.6" |     "@types/webgl2" "0.0.6" | ||||||
|     seedrandom "^3.0.5" |     seedrandom "^3.0.5" | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs-converter@3.19.0": | "@tensorflow/tfjs-converter@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-converter/-/tfjs-converter-3.19.0.tgz#701db7255ef45578811a191478db5a09bcca6dda" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-converter/-/tfjs-converter-3.20.0.tgz#5d3d2b388775997585204bc867ecdf1e52789a38" | ||||||
|   integrity sha512-B69HQq9/orsM8pGJPjNp1cV+hIcc90mxcRIsQSYGovTUNEcftmz2Sh+mqXDWysKUk0gRfx5CX6eJk6NaE55Xow== |   integrity sha512-8EIYqtQwvSYw9GFNW2OFU8Qnl/FQF/kKAsQJoORYaZ419WJo+FIZWbAWDtCpJSAgkgoHH1jYWgV9H313cVmqxg== | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs-core@3.19.0": | "@tensorflow/tfjs-core@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-core/-/tfjs-core-3.19.0.tgz#981c50bb38a6441a4375cfc8806784e7490f01bc" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-core/-/tfjs-core-3.20.0.tgz#b6f89ae6490099e2c0c992faa59c96f563f9eba2" | ||||||
|   integrity sha512-znJ+TOJ3NdNL5yjw8M7dn2jO96sokiH1wfFuD7gglCkbZ4SXlFpFj2xelNdRHHmeYanMhJzqeyOW9whUnNcBqw== |   integrity sha512-L16JyVA4a8jFJXFgB9/oYZxcGq/GfLypt5dMVTyedznARZZ9SiY/UMMbo3IKl9ZylG1dOVVTpjzV3EvBYfeJXw== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/long" "^4.0.1" |     "@types/long" "^4.0.1" | ||||||
|     "@types/offscreencanvas" "~2019.3.0" |     "@types/offscreencanvas" "~2019.3.0" | ||||||
|  | @ -401,27 +406,27 @@ | ||||||
|     node-fetch "~2.6.1" |     node-fetch "~2.6.1" | ||||||
|     seedrandom "^3.0.5" |     seedrandom "^3.0.5" | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs-data@3.19.0": | "@tensorflow/tfjs-data@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-data/-/tfjs-data-3.19.0.tgz#31de23cbea6cc594d60bd2216ab39faa8b2219cb" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-data/-/tfjs-data-3.20.0.tgz#8e267ea9f01066e0276be3226cb21b7d38711144" | ||||||
|   integrity sha512-rkZv+YZowZwnm4RaedkV44WDrjokRHld9Py/0Fb7IvMyUh37lY0WsAsV94kJ+QuLc6iVNcDLaV29K+dUz57bRA== |   integrity sha512-DiD3M/K/RYyTpOsrTL0ZUsdLgoczbSEx1+cQgCtlO3wUFoMxGYMxRTFeqp4hnJalY9MDptEqZ2gXAO1BMd2IXA== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/node-fetch" "^2.1.2" |     "@types/node-fetch" "^2.1.2" | ||||||
|     node-fetch "~2.6.1" |     node-fetch "~2.6.1" | ||||||
|     string_decoder "^1.3.0" |     string_decoder "^1.3.0" | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs-layers@3.19.0": | "@tensorflow/tfjs-layers@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-layers/-/tfjs-layers-3.19.0.tgz#b624c25a2bdec09ea1c71db6547eb0952707fb35" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-layers/-/tfjs-layers-3.20.0.tgz#53aac3e719c9aa06cdff894e564704555e73a069" | ||||||
|   integrity sha512-+sVWjWWyTuT3sImrtNLtMv8/4FS30GAYpTgyJKhCQ3+GSvHUXulxJfncD0QqOg9fTbhtuF1TRAkzDU8v64791g== |   integrity sha512-CbeDFX7XgWVsjsqp9HisbhO+a+soLt9tMNNBD/F+Rmw+YDJ5+X64iRpsMj3OWK8yKp895waoeads56UhG+Pxlw== | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs-node@3.19.0": | "@tensorflow/tfjs-node@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-node/-/tfjs-node-3.19.0.tgz#b7e58ff8bbea48881554d9178361726a83e56f92" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs-node/-/tfjs-node-3.20.0.tgz#df401f99a6e7690d64f35136910d541cd337ba0f" | ||||||
|   integrity sha512-6l8+56J66zf5k+WS8zTA1SbXno+iV7LgchwKPa62fsPRwjdzNIm1QondJbQYbFOILYx6bsgJs7nOoxStOlygAw== |   integrity sha512-lhMaqydtFNQ89kiET2nNMsV/rhOVa/Xh+hUHpxJP5e6KpVBzACmcJD8MjxM122G2EBntbf/vOQUAfnbX9AI9PA== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@mapbox/node-pre-gyp" "1.0.9" |     "@mapbox/node-pre-gyp" "1.0.9" | ||||||
|     "@tensorflow/tfjs" "3.19.0" |     "@tensorflow/tfjs" "3.20.0" | ||||||
|     adm-zip "^0.5.2" |     adm-zip "^0.5.2" | ||||||
|     google-protobuf "^3.9.2" |     google-protobuf "^3.9.2" | ||||||
|     https-proxy-agent "^2.2.1" |     https-proxy-agent "^2.2.1" | ||||||
|  | @ -429,17 +434,17 @@ | ||||||
|     rimraf "^2.6.2" |     rimraf "^2.6.2" | ||||||
|     tar "^4.4.6" |     tar "^4.4.6" | ||||||
| 
 | 
 | ||||||
| "@tensorflow/tfjs@3.19.0": | "@tensorflow/tfjs@3.20.0": | ||||||
|   version "3.19.0" |   version "3.20.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs/-/tfjs-3.19.0.tgz#a08c35e6101bdbc0bf9a58f468270eee15f77bb0" |   resolved "https://registry.yarnpkg.com/@tensorflow/tfjs/-/tfjs-3.20.0.tgz#4a525be52c72deb9964fe2e5a0abaae04b95d862" | ||||||
|   integrity sha512-fZF3HOON8jgKhFk06WIScIXf7j/gkl6cLbU1brFWutBhHlPSzxSWvdJR/TivCK7p+yMBunoyK50TjiwOrcoclA== |   integrity sha512-Vx6MBFgZs+o413a/tM9nLdo4LM5U8Rh3d1fB8ioPL4j8dsqoqfCeee/215J3zzWPHIiSqv3pcD7bkK3fDA27GQ== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@tensorflow/tfjs-backend-cpu" "3.19.0" |     "@tensorflow/tfjs-backend-cpu" "3.20.0" | ||||||
|     "@tensorflow/tfjs-backend-webgl" "3.19.0" |     "@tensorflow/tfjs-backend-webgl" "3.20.0" | ||||||
|     "@tensorflow/tfjs-converter" "3.19.0" |     "@tensorflow/tfjs-converter" "3.20.0" | ||||||
|     "@tensorflow/tfjs-core" "3.19.0" |     "@tensorflow/tfjs-core" "3.20.0" | ||||||
|     "@tensorflow/tfjs-data" "3.19.0" |     "@tensorflow/tfjs-data" "3.20.0" | ||||||
|     "@tensorflow/tfjs-layers" "3.19.0" |     "@tensorflow/tfjs-layers" "3.20.0" | ||||||
|     argparse "^1.0.10" |     argparse "^1.0.10" | ||||||
|     chalk "^4.1.0" |     chalk "^4.1.0" | ||||||
|     core-js "3" |     core-js "3" | ||||||
|  | @ -806,10 +811,10 @@ | ||||||
|   resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.2.tgz#331b7b9f8621c638284787c5559423822fdffc50" |   resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.2.tgz#331b7b9f8621c638284787c5559423822fdffc50" | ||||||
|   integrity sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA== |   integrity sha512-LSw8TZt12ZudbpHc6EkIyDM3nHVWKYrAvGy6EAJfNfjusbwnThqjqxUKKRwuV3iWYeW/LYMzNgaq3MaLffQ2xA== | ||||||
| 
 | 
 | ||||||
| "@types/node@18.7.2": | "@types/node@18.7.16": | ||||||
|   version "18.7.2" |   version "18.7.16" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.2.tgz#22306626110c459aedd2cdf131c749ec781e3b34" |   resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.16.tgz#0eb3cce1e37c79619943d2fd903919fc30850601" | ||||||
|   integrity sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA== |   integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg== | ||||||
| 
 | 
 | ||||||
| "@types/node@^14.11.8": | "@types/node@^14.11.8": | ||||||
|   version "14.17.9" |   version "14.17.9" | ||||||
|  | @ -845,10 +850,10 @@ | ||||||
|   resolved "https://registry.yarnpkg.com/@types/punycode/-/punycode-2.1.0.tgz#89e4f3d09b3f92e87a80505af19be7e0c31d4e83" |   resolved "https://registry.yarnpkg.com/@types/punycode/-/punycode-2.1.0.tgz#89e4f3d09b3f92e87a80505af19be7e0c31d4e83" | ||||||
|   integrity sha512-PG5aLpW6PJOeV2fHRslP4IOMWn+G+Uq8CfnyJ+PDS8ndCbU+soO+fB3NKCKo0p/Jh2Y4aPaiQZsrOXFdzpcA6g== |   integrity sha512-PG5aLpW6PJOeV2fHRslP4IOMWn+G+Uq8CfnyJ+PDS8ndCbU+soO+fB3NKCKo0p/Jh2Y4aPaiQZsrOXFdzpcA6g== | ||||||
| 
 | 
 | ||||||
| "@types/qrcode@1.4.2": | "@types/qrcode@1.5.0": | ||||||
|   version "1.4.2" |   version "1.5.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.4.2.tgz#7d7142d6fa9921f195db342ed08b539181546c74" |   resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.0.tgz#6a98fe9a9a7b2a9a3167b6dde17eff999eabe40b" | ||||||
|   integrity sha512-7uNT9L4WQTNJejHTSTdaJhfBSCN73xtXaHFyBJ8TSwiLhe4PRuTue7Iph0s2nG9R/ifUaSnGhLUOZavlBEqDWQ== |   integrity sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/node" "*" |     "@types/node" "*" | ||||||
| 
 | 
 | ||||||
|  | @ -995,14 +1000,14 @@ | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/node" "*" |     "@types/node" "*" | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/eslint-plugin@5.33.0": | "@typescript-eslint/eslint-plugin@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" | ||||||
|   integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg== |   integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@typescript-eslint/scope-manager" "5.33.0" |     "@typescript-eslint/scope-manager" "5.36.2" | ||||||
|     "@typescript-eslint/type-utils" "5.33.0" |     "@typescript-eslint/type-utils" "5.36.2" | ||||||
|     "@typescript-eslint/utils" "5.33.0" |     "@typescript-eslint/utils" "5.36.2" | ||||||
|     debug "^4.3.4" |     debug "^4.3.4" | ||||||
|     functional-red-black-tree "^1.0.1" |     functional-red-black-tree "^1.0.1" | ||||||
|     ignore "^5.2.0" |     ignore "^5.2.0" | ||||||
|  | @ -1010,69 +1015,70 @@ | ||||||
|     semver "^7.3.7" |     semver "^7.3.7" | ||||||
|     tsutils "^3.21.0" |     tsutils "^3.21.0" | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/parser@5.33.0": | "@typescript-eslint/parser@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" | ||||||
|   integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w== |   integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@typescript-eslint/scope-manager" "5.33.0" |     "@typescript-eslint/scope-manager" "5.36.2" | ||||||
|     "@typescript-eslint/types" "5.33.0" |     "@typescript-eslint/types" "5.36.2" | ||||||
|     "@typescript-eslint/typescript-estree" "5.33.0" |     "@typescript-eslint/typescript-estree" "5.36.2" | ||||||
|     debug "^4.3.4" |     debug "^4.3.4" | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/scope-manager@5.33.0": | "@typescript-eslint/scope-manager@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" | ||||||
|   integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw== |   integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@typescript-eslint/types" "5.33.0" |     "@typescript-eslint/types" "5.36.2" | ||||||
|     "@typescript-eslint/visitor-keys" "5.33.0" |     "@typescript-eslint/visitor-keys" "5.36.2" | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/type-utils@5.33.0": | "@typescript-eslint/type-utils@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" | ||||||
|   integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA== |   integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@typescript-eslint/utils" "5.33.0" |     "@typescript-eslint/typescript-estree" "5.36.2" | ||||||
|  |     "@typescript-eslint/utils" "5.36.2" | ||||||
|     debug "^4.3.4" |     debug "^4.3.4" | ||||||
|     tsutils "^3.21.0" |     tsutils "^3.21.0" | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/types@5.33.0": | "@typescript-eslint/types@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" | ||||||
|   integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw== |   integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/typescript-estree@5.33.0": | "@typescript-eslint/typescript-estree@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" | ||||||
|   integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ== |   integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@typescript-eslint/types" "5.33.0" |     "@typescript-eslint/types" "5.36.2" | ||||||
|     "@typescript-eslint/visitor-keys" "5.33.0" |     "@typescript-eslint/visitor-keys" "5.36.2" | ||||||
|     debug "^4.3.4" |     debug "^4.3.4" | ||||||
|     globby "^11.1.0" |     globby "^11.1.0" | ||||||
|     is-glob "^4.0.3" |     is-glob "^4.0.3" | ||||||
|     semver "^7.3.7" |     semver "^7.3.7" | ||||||
|     tsutils "^3.21.0" |     tsutils "^3.21.0" | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/utils@5.33.0": | "@typescript-eslint/utils@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" | ||||||
|   integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw== |   integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/json-schema" "^7.0.9" |     "@types/json-schema" "^7.0.9" | ||||||
|     "@typescript-eslint/scope-manager" "5.33.0" |     "@typescript-eslint/scope-manager" "5.36.2" | ||||||
|     "@typescript-eslint/types" "5.33.0" |     "@typescript-eslint/types" "5.36.2" | ||||||
|     "@typescript-eslint/typescript-estree" "5.33.0" |     "@typescript-eslint/typescript-estree" "5.36.2" | ||||||
|     eslint-scope "^5.1.1" |     eslint-scope "^5.1.1" | ||||||
|     eslint-utils "^3.0.0" |     eslint-utils "^3.0.0" | ||||||
| 
 | 
 | ||||||
| "@typescript-eslint/visitor-keys@5.33.0": | "@typescript-eslint/visitor-keys@5.36.2": | ||||||
|   version "5.33.0" |   version "5.36.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484" |   resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" | ||||||
|   integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw== |   integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@typescript-eslint/types" "5.33.0" |     "@typescript-eslint/types" "5.36.2" | ||||||
|     eslint-visitor-keys "^3.3.0" |     eslint-visitor-keys "^3.3.0" | ||||||
| 
 | 
 | ||||||
| "@ungap/promise-all-settled@1.1.2": | "@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" |   resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" | ||||||
|   integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== |   integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== | ||||||
| 
 | 
 | ||||||
| aws-sdk@2.1194.0: | aws-sdk@2.1213.0: | ||||||
|   version "2.1194.0" |   version "2.1213.0" | ||||||
|   resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1194.0.tgz#6a820684fa3f58ea40caf90d302414a23df7c308" |   resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1213.0.tgz#efdbe52c72e6879348650ff9a69ab55ef948b6f3" | ||||||
|   integrity sha512-wbgib7r7sHPkZIhqSMduueKYqe+DrFyxsKnUKHj6hdNcRKqEeqzvKp4olWmFs/3z3qU8+g78kBXr9rujvko1ug== |   integrity sha512-ZfrUfhlLjwvQ6QTbg8lR4+SRFHaivzZMmfpS+64YzafcKjwc7rklYqiyh4MPTSmdNZkErgaAykYpXPMuTiWBug== | ||||||
|   dependencies: |   dependencies: | ||||||
|     buffer "4.9.2" |     buffer "4.9.2" | ||||||
|     events "1.1.1" |     events "1.1.1" | ||||||
|  | @ -1681,10 +1687,10 @@ bufferutil@^4.0.1: | ||||||
|   dependencies: |   dependencies: | ||||||
|     node-gyp-build "~3.7.0" |     node-gyp-build "~3.7.0" | ||||||
| 
 | 
 | ||||||
| bull@4.8.5: | bull@4.9.0: | ||||||
|   version "4.8.5" |   version "4.9.0" | ||||||
|   resolved "https://registry.yarnpkg.com/bull/-/bull-4.8.5.tgz#eebafddc3249d6d5e8ced1c42b8bfa8efcc274aa" |   resolved "https://registry.yarnpkg.com/bull/-/bull-4.9.0.tgz#522a955fa045141ce2c063ab24c2c78e4ee3782e" | ||||||
|   integrity sha512-2Z630e4f6VsLJnWMAtfEHwIqJYmND4W3dcG48RIbXeWpvb4UnYtpe/zxEdslJu0PKrltB4IkFj5YtBsdeQRn8w== |   integrity sha512-yiaSb41dywjIhJ3i1mczjQGDmM6pLIoM1Ea0Gcf5HKDxOoEzL5i9XEEKW7fbsj7u083UEOnQ4gSWfbWIUDO6JQ== | ||||||
|   dependencies: |   dependencies: | ||||||
|     cron-parser "^4.2.1" |     cron-parser "^4.2.1" | ||||||
|     debuglog "^1.0.0" |     debuglog "^1.0.0" | ||||||
|  | @ -2293,10 +2299,10 @@ data-urls@^3.0.2: | ||||||
|     whatwg-mimetype "^3.0.0" |     whatwg-mimetype "^3.0.0" | ||||||
|     whatwg-url "^11.0.0" |     whatwg-url "^11.0.0" | ||||||
| 
 | 
 | ||||||
| date-fns@2.29.1: | date-fns@2.29.2: | ||||||
|   version "2.29.1" |   version "2.29.2" | ||||||
|   resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.1.tgz#9667c2615525e552b5135a3116b95b1961456e60" |   resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.2.tgz#0d4b3d0f3dff0f920820a070920f0d9662c51931" | ||||||
|   integrity sha512-dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw== |   integrity sha512-0VNbwmWJDS/G3ySwFSJA3ayhbURMTJLtwM2DTxf9CWondCnh6DTNlO9JgRSq6ibf4eD0lfMJNBxUdEAHHix+bA== | ||||||
| 
 | 
 | ||||||
| date-fns@^2.28.0: | date-fns@^2.28.0: | ||||||
|   version "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" |   resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.0.tgz#62915f08d67353bb4eb67e3d62641a4059aec656" | ||||||
|   integrity sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg== |   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: | env-paths@^2.2.0: | ||||||
|   version "2.2.0" |   version "2.2.0" | ||||||
|   resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" |   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" |   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" | ||||||
|   integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== |   integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== | ||||||
| 
 | 
 | ||||||
| eslint@8.21.0: | eslint@8.23.0: | ||||||
|   version "8.21.0" |   version "8.23.0" | ||||||
|   resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef" |   resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" | ||||||
|   integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA== |   integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@eslint/eslintrc" "^1.3.0" |     "@eslint/eslintrc" "^1.3.1" | ||||||
|     "@humanwhocodes/config-array" "^0.10.4" |     "@humanwhocodes/config-array" "^0.10.4" | ||||||
|     "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" |     "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" | ||||||
|  |     "@humanwhocodes/module-importer" "^1.0.1" | ||||||
|     ajv "^6.10.0" |     ajv "^6.10.0" | ||||||
|     chalk "^4.0.0" |     chalk "^4.0.0" | ||||||
|     cross-spawn "^7.0.2" |     cross-spawn "^7.0.2" | ||||||
|  | @ -2966,7 +2978,7 @@ eslint@8.21.0: | ||||||
|     eslint-scope "^7.1.1" |     eslint-scope "^7.1.1" | ||||||
|     eslint-utils "^3.0.0" |     eslint-utils "^3.0.0" | ||||||
|     eslint-visitor-keys "^3.3.0" |     eslint-visitor-keys "^3.3.0" | ||||||
|     espree "^9.3.3" |     espree "^9.4.0" | ||||||
|     esquery "^1.4.0" |     esquery "^1.4.0" | ||||||
|     esutils "^2.0.2" |     esutils "^2.0.2" | ||||||
|     fast-deep-equal "^3.1.3" |     fast-deep-equal "^3.1.3" | ||||||
|  | @ -2992,21 +3004,11 @@ eslint@8.21.0: | ||||||
|     strip-ansi "^6.0.1" |     strip-ansi "^6.0.1" | ||||||
|     strip-json-comments "^3.1.0" |     strip-json-comments "^3.1.0" | ||||||
|     text-table "^0.2.0" |     text-table "^0.2.0" | ||||||
|     v8-compile-cache "^2.0.3" |  | ||||||
| 
 | 
 | ||||||
| espree@^9.3.2: | espree@^9.4.0: | ||||||
|   version "9.3.2" |   version "9.4.0" | ||||||
|   resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" |   resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" | ||||||
|   integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== |   integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== | ||||||
|   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== |  | ||||||
|   dependencies: |   dependencies: | ||||||
|     acorn "^8.8.0" |     acorn "^8.8.0" | ||||||
|     acorn-jsx "^5.3.2" |     acorn-jsx "^5.3.2" | ||||||
|  | @ -4568,10 +4570,10 @@ jsprim@^1.2.2: | ||||||
|     json-schema "0.4.0" |     json-schema "0.4.0" | ||||||
|     verror "1.10.0" |     verror "1.10.0" | ||||||
| 
 | 
 | ||||||
| jsrsasign@10.5.26: | jsrsasign@10.5.27: | ||||||
|   version "10.5.26" |   version "10.5.27" | ||||||
|   resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.5.26.tgz#bc36d4c4019c83f144066725ea0ca6ab306702fc" |   resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.5.27.tgz#481defb1206aa48cd740c3fce8ff546efb5bb45e" | ||||||
|   integrity sha512-TjEu1yPdI+8whpe6CA/6XNb7U1sm9+PUItOUfSThOLvx7JCfYHIfuvZK2Egz2DWUKioafn98LPuk+geLGckxMg== |   integrity sha512-1F4LmDeJZHYwoVvB44jEo2uZL3XuwYNzXCDOu53Ui6vqofGQ/gCYDmaxfVZtN0TGd92UKXr/BONcfrPonUIcQQ== | ||||||
| 
 | 
 | ||||||
| jstransformer@1.0.0: | jstransformer@1.0.0: | ||||||
|   version "1.0.0" |   version "1.0.0" | ||||||
|  | @ -5595,10 +5597,10 @@ npmlog@^6.0.0: | ||||||
|     gauge "^4.0.0" |     gauge "^4.0.0" | ||||||
|     set-blocking "^2.0.0" |     set-blocking "^2.0.0" | ||||||
| 
 | 
 | ||||||
| nsfwjs@2.4.1: | nsfwjs@2.4.2: | ||||||
|   version "2.4.1" |   version "2.4.2" | ||||||
|   resolved "https://registry.yarnpkg.com/nsfwjs/-/nsfwjs-2.4.1.tgz#406dff6e379f4fc1c5fd4d16b7a64e4ae4b355c1" |   resolved "https://registry.yarnpkg.com/nsfwjs/-/nsfwjs-2.4.2.tgz#dd8656705f79f53d789245eaf317d6b6818a0032" | ||||||
|   integrity sha512-8XPUPVeIIfkSeWjHEytDMedZNISR0SCjv67JYbS75SIYcmz8Y7GZqNfLupltjcwsqV0e4bwdc4l4bEOno58QdA== |   integrity sha512-i4Pp2yt59qPQgeZFyg3wXFBX52uSeu/hkDoqdZfe+sILRxNBUu0VDogj7Lmqak0GlrXviS/wLiVeIx40IDUu7A== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@nsfw-filter/gif-frames" "1.0.2" |     "@nsfw-filter/gif-frames" "1.0.2" | ||||||
| 
 | 
 | ||||||
|  | @ -5868,12 +5870,12 @@ parse5-htmlparser2-tree-adapter@^6.0.0: | ||||||
|   dependencies: |   dependencies: | ||||||
|     parse5 "^6.0.1" |     parse5 "^6.0.1" | ||||||
| 
 | 
 | ||||||
| parse5@7.0.0, parse5@^7.0.0: | parse5@7.1.1: | ||||||
|   version "7.0.0" |   version "7.1.1" | ||||||
|   resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" |   resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746" | ||||||
|   integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== |   integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== | ||||||
|   dependencies: |   dependencies: | ||||||
|     entities "^4.3.0" |     entities "^4.4.0" | ||||||
| 
 | 
 | ||||||
| parse5@^5.1.1: | parse5@^5.1.1: | ||||||
|   version "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" |   resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" | ||||||
|   integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== |   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: | parseurl@^1.3.2: | ||||||
|   version "1.3.3" |   version "1.3.3" | ||||||
|   resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" |   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" |   resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" | ||||||
|   integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== |   integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== | ||||||
| 
 | 
 | ||||||
| pg-pool@^3.5.1: | pg-pool@^3.5.2: | ||||||
|   version "3.5.1" |   version "3.5.2" | ||||||
|   resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.1.tgz#f499ce76f9bf5097488b3b83b19861f28e4ed905" |   resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.2.tgz#ed1bed1fb8d79f1c6fd5fb1c99e990fbf9ddf178" | ||||||
|   integrity sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ== |   integrity sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w== | ||||||
| 
 | 
 | ||||||
| pg-protocol@^1.5.0: | pg-protocol@^1.5.0: | ||||||
|   version "1.5.0" |   version "1.5.0" | ||||||
|  | @ -5976,15 +5985,15 @@ pg-types@^2.1.0: | ||||||
|     postgres-date "~1.0.4" |     postgres-date "~1.0.4" | ||||||
|     postgres-interval "^1.1.0" |     postgres-interval "^1.1.0" | ||||||
| 
 | 
 | ||||||
| pg@8.7.3: | pg@8.8.0: | ||||||
|   version "8.7.3" |   version "8.8.0" | ||||||
|   resolved "https://registry.yarnpkg.com/pg/-/pg-8.7.3.tgz#8a5bdd664ca4fda4db7997ec634c6e5455b27c44" |   resolved "https://registry.yarnpkg.com/pg/-/pg-8.8.0.tgz#a77f41f9d9ede7009abfca54667c775a240da686" | ||||||
|   integrity sha512-HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw== |   integrity sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw== | ||||||
|   dependencies: |   dependencies: | ||||||
|     buffer-writer "2.0.0" |     buffer-writer "2.0.0" | ||||||
|     packet-reader "1.0.0" |     packet-reader "1.0.0" | ||||||
|     pg-connection-string "^2.5.0" |     pg-connection-string "^2.5.0" | ||||||
|     pg-pool "^3.5.1" |     pg-pool "^3.5.2" | ||||||
|     pg-protocol "^1.5.0" |     pg-protocol "^1.5.0" | ||||||
|     pg-types "^2.1.0" |     pg-types "^2.1.0" | ||||||
|     pgpass "1.x" |     pgpass "1.x" | ||||||
|  | @ -7246,10 +7255,10 @@ syslog-pro@1.0.0: | ||||||
|   dependencies: |   dependencies: | ||||||
|     moment "^2.22.2" |     moment "^2.22.2" | ||||||
| 
 | 
 | ||||||
| systeminformation@5.12.5: | systeminformation@5.12.6: | ||||||
|   version "5.12.5" |   version "5.12.6" | ||||||
|   resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.12.5.tgz#ba223aca6d99453136986fb6a4c96518d13d27b5" |   resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.12.6.tgz#b75d7aaf9f5da32439fc633d2be9eb741691d200" | ||||||
|   integrity sha512-lWhWMZTQzwHaB2aacQ9wbhSncgXo8bYv7M9K5Qrz9tJuvqPepiCvb5Uauq2xwH+JhbjPO9YJD2qLXQEXFAjwwA== |   integrity sha512-FkCvT5BOuH1OE3+8lFM25oXIYJ0CM8kq4Wgvz2jyBTrsOIgha/6gdJXgbF4rv+g0j/5wJqQLDKan7kc/p7uIvw== | ||||||
| 
 | 
 | ||||||
| tapable@^2.2.0: | tapable@^2.2.0: | ||||||
|   version "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" |   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" | ||||||
|   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= |   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= | ||||||
| 
 | 
 | ||||||
| typeorm@0.3.7: | typeorm@0.3.9: | ||||||
|   version "0.3.7" |   version "0.3.9" | ||||||
|   resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.7.tgz#5776ed5058f0acb75d64723b39ff458d21de64c1" |   resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.9.tgz#ad0f525d81c081fd11006f97030f47a55978ac81" | ||||||
|   integrity sha512-MsPJeP6Zuwfe64c++l80+VRqpGEGxf0CkztIEnehQ+CMmQPSHjOnFbFxwBuZ2jiLqZTjLk2ZqQdVF0RmvxNF3Q== |   integrity sha512-xNcE44D4hn74n7pjuMog9hRgep+BiO3IBpjEaQZ8fb56zsDz7xHT1GAeWwmGuuU+4nDEELp2mIqgSCR+zxR7Jw== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@sqltools/formatter" "^1.2.2" |     "@sqltools/formatter" "^1.2.2" | ||||||
|     app-root-path "^3.0.0" |     app-root-path "^3.0.0" | ||||||
|  | @ -7609,10 +7618,10 @@ typeorm@0.3.7: | ||||||
|     xml2js "^0.4.23" |     xml2js "^0.4.23" | ||||||
|     yargs "^17.3.1" |     yargs "^17.3.1" | ||||||
| 
 | 
 | ||||||
| typescript@4.7.4: | typescript@4.8.3: | ||||||
|   version "4.7.4" |   version "4.8.3" | ||||||
|   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" |   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" | ||||||
|   integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== |   integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== | ||||||
| 
 | 
 | ||||||
| ulid@2.3.0: | ulid@2.3.0: | ||||||
|   version "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" |   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" | ||||||
|   integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== |   integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== | ||||||
| 
 | 
 | ||||||
| uuid@8.3.2, uuid@^8.3.0, uuid@^8.3.2: | uuid@9.0.0: | ||||||
|   version "8.3.2" |   version "9.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" |   resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" | ||||||
|   integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== |   integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== | ||||||
| 
 | 
 | ||||||
| uuid@^3.3.2: | uuid@^3.3.2: | ||||||
|   version "3.4.0" |   version "3.4.0" | ||||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" |   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" | ||||||
|   integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== |   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: | v8-compile-cache-lib@^3.0.1: | ||||||
|   version "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" |   resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" | ||||||
|   integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== |   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: | vary@^1.1.2: | ||||||
|   version "1.1.2" |   version "1.1.2" | ||||||
|   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" |   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" | ||||||
|  |  | ||||||
|  | @ -15,8 +15,8 @@ | ||||||
| 		"@rollup/plugin-alias": "3.1.9", | 		"@rollup/plugin-alias": "3.1.9", | ||||||
| 		"@rollup/plugin-json": "4.1.0", | 		"@rollup/plugin-json": "4.1.0", | ||||||
| 		"@syuilo/aiscript": "0.11.1", | 		"@syuilo/aiscript": "0.11.1", | ||||||
| 		"@vitejs/plugin-vue": "3.0.3", | 		"@vitejs/plugin-vue": "3.1.0", | ||||||
| 		"@vue/compiler-sfc": "3.2.37", | 		"@vue/compiler-sfc": "3.2.39", | ||||||
| 		"autobind-decorator": "2.4.0", | 		"autobind-decorator": "2.4.0", | ||||||
| 		"autosize": "5.0.1", | 		"autosize": "5.0.1", | ||||||
| 		"blurhash": "1.1.5", | 		"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", | 		"browser-image-resizer": "git+https://github.com/misskey-dev/browser-image-resizer#v2.2.1-misskey.2", | ||||||
| 		"chart.js": "3.9.1", | 		"chart.js": "3.9.1", | ||||||
| 		"chartjs-adapter-date-fns": "2.0.0", | 		"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", | 		"chartjs-plugin-zoom": "1.2.1", | ||||||
| 		"compare-versions": "4.1.3", | 		"compare-versions": "5.0.1", | ||||||
| 		"cropperjs": "2.0.0-beta", | 		"cropperjs": "2.0.0-beta", | ||||||
| 		"date-fns": "2.29.1", | 		"date-fns": "2.29.2", | ||||||
| 		"escape-regexp": "0.0.1", | 		"escape-regexp": "0.0.1", | ||||||
| 		"eventemitter3": "4.0.7", | 		"eventemitter3": "4.0.7", | ||||||
| 		"idb-keyval": "6.2.0", | 		"idb-keyval": "6.2.0", | ||||||
|  | @ -38,35 +38,35 @@ | ||||||
| 		"matter-js": "0.18.0", | 		"matter-js": "0.18.0", | ||||||
| 		"mfm-js": "0.23.0", | 		"mfm-js": "0.23.0", | ||||||
| 		"misskey-js": "0.0.14", | 		"misskey-js": "0.0.14", | ||||||
| 		"photoswipe": "5.3.0", | 		"photoswipe": "5.3.2", | ||||||
| 		"prismjs": "1.28.0", | 		"prismjs": "1.29.0", | ||||||
| 		"punycode": "2.1.1", | 		"punycode": "2.1.1", | ||||||
| 		"querystring": "0.2.1", | 		"querystring": "0.2.1", | ||||||
| 		"rndstr": "1.0.0", | 		"rndstr": "1.0.0", | ||||||
| 		"s-age": "1.1.2", | 		"s-age": "1.1.2", | ||||||
| 		"sass": "1.54.4", | 		"sass": "1.54.9", | ||||||
| 		"seedrandom": "3.0.5", | 		"seedrandom": "3.0.5", | ||||||
| 		"strict-event-emitter-types": "2.0.0", | 		"strict-event-emitter-types": "2.0.0", | ||||||
| 		"stringz": "2.1.0", | 		"stringz": "2.1.0", | ||||||
| 		"syuilo-password-strength": "0.0.1", | 		"syuilo-password-strength": "0.0.1", | ||||||
| 		"textarea-caret": "3.1.0", | 		"textarea-caret": "3.1.0", | ||||||
| 		"three": "0.143.0", | 		"three": "0.144.0", | ||||||
| 		"throttle-debounce": "5.0.0", | 		"throttle-debounce": "5.0.0", | ||||||
| 		"tinycolor2": "1.4.2", | 		"tinycolor2": "1.4.2", | ||||||
| 		"tsc-alias": "1.7.0", | 		"tsc-alias": "1.7.0", | ||||||
| 		"tsconfig-paths": "4.1.0", | 		"tsconfig-paths": "4.1.0", | ||||||
| 		"twemoji-parser": "14.0.0", | 		"twemoji-parser": "14.0.0", | ||||||
| 		"typescript": "4.7.4", | 		"typescript": "4.8.3", | ||||||
| 		"uuid": "8.3.2", | 		"uuid": "9.0.0", | ||||||
| 		"vanilla-tilt": "1.7.2", | 		"vanilla-tilt": "1.7.2", | ||||||
| 		"vite": "3.0.7", | 		"vite": "3.1.0", | ||||||
| 		"vue": "3.2.37", | 		"vue": "3.2.39", | ||||||
| 		"vue-prism-editor": "2.0.0-alpha.2", | 		"vue-prism-editor": "2.0.0-alpha.2", | ||||||
| 		"vuedraggable": "4.0.1" | 		"vuedraggable": "4.0.1" | ||||||
| 	}, | 	}, | ||||||
| 	"devDependencies": { | 	"devDependencies": { | ||||||
| 		"@types/escape-regexp": "0.0.1", | 		"@types/escape-regexp": "0.0.1", | ||||||
| 		"@types/glob": "7.2.0", | 		"@types/glob": "8.0.0", | ||||||
| 		"@types/gulp": "4.0.9", | 		"@types/gulp": "4.0.9", | ||||||
| 		"@types/gulp-rename": "2.0.1", | 		"@types/gulp-rename": "2.0.1", | ||||||
| 		"@types/katex": "0.14.0", | 		"@types/katex": "0.14.0", | ||||||
|  | @ -76,14 +76,14 @@ | ||||||
| 		"@types/throttle-debounce": "5.0.0", | 		"@types/throttle-debounce": "5.0.0", | ||||||
| 		"@types/tinycolor2": "1.4.3", | 		"@types/tinycolor2": "1.4.3", | ||||||
| 		"@types/uuid": "8.3.4", | 		"@types/uuid": "8.3.4", | ||||||
| 		"@typescript-eslint/eslint-plugin": "5.33.0", | 		"@typescript-eslint/eslint-plugin": "5.36.2", | ||||||
| 		"@typescript-eslint/parser": "5.33.0", | 		"@typescript-eslint/parser": "5.36.2", | ||||||
| 		"cross-env": "7.0.3", | 		"cross-env": "7.0.3", | ||||||
| 		"cypress": "10.4.0", | 		"cypress": "10.7.0", | ||||||
| 		"eslint": "8.21.0", | 		"eslint": "8.23.0", | ||||||
| 		"eslint-plugin-import": "2.26.0", | 		"eslint-plugin-import": "2.26.0", | ||||||
| 		"eslint-plugin-vue": "9.3.0", | 		"eslint-plugin-vue": "9.4.0", | ||||||
| 		"rollup": "2.77.3", | 		"rollup": "2.79.0", | ||||||
| 		"start-server-and-test": "1.14.0" | 		"start-server-and-test": "1.14.0" | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -146,7 +146,7 @@ export async function openAccountMenu(opts: { | ||||||
| 	onChoose?: (account: misskey.entities.UserDetailed) => void; | 	onChoose?: (account: misskey.entities.UserDetailed) => void; | ||||||
| }, ev: MouseEvent) { | }, ev: MouseEvent) { | ||||||
| 	function showSigninDialog() { | 	function showSigninDialog() { | ||||||
| 		popup(defineAsyncComponent(() => import('@/components/signin-dialog.vue')), {}, { | 		popup(defineAsyncComponent(() => import('@/components/MkSigninDialog.vue')), {}, { | ||||||
| 			done: res => { | 			done: res => { | ||||||
| 				addAccount(res.id, res.i); | 				addAccount(res.id, res.i); | ||||||
| 				success(); | 				success(); | ||||||
|  | @ -155,7 +155,7 @@ export async function openAccountMenu(opts: { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	function createAccount() { | 	function createAccount() { | ||||||
| 		popup(defineAsyncComponent(() => import('@/components/signup-dialog.vue')), {}, { | 		popup(defineAsyncComponent(() => import('@/components/MkSignupDialog.vue')), {}, { | ||||||
| 			done: res => { | 			done: res => { | ||||||
| 				addAccount(res.id, res.i); | 				addAccount(res.id, res.i); | ||||||
| 				switchAccountWithToken(res.i); | 				switchAccountWithToken(res.i); | ||||||
|  |  | ||||||
|  | @ -36,9 +36,9 @@ | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <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 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 { acct, userPage } from '@/filters/user'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
|  | @ -25,9 +25,9 @@ | ||||||
| <script setup lang="ts"> | <script setup lang="ts"> | ||||||
| import { ref } from 'vue'; | import { ref } from 'vue'; | ||||||
| import * as Misskey from 'misskey-js'; | 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 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 * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
|  | @ -26,6 +26,7 @@ | ||||||
| 		</text> | 		</text> | ||||||
| 	</template> | 	</template> | ||||||
| 
 | 
 | ||||||
|  | 	<!-- | ||||||
| 	<line | 	<line | ||||||
| 		:x1="5 - (Math.sin(sAngle) * (sHandLengthRatio * handsTailLength))" | 		:x1="5 - (Math.sin(sAngle) * (sHandLengthRatio * handsTailLength))" | ||||||
| 		:y1="5 + (Math.cos(sAngle) * (sHandLengthRatio * handsTailLength))" | 		:y1="5 + (Math.cos(sAngle) * (sHandLengthRatio * handsTailLength))" | ||||||
|  | @ -35,6 +36,20 @@ | ||||||
| 		:stroke-width="thickness / 2" | 		:stroke-width="thickness / 2" | ||||||
| 		stroke-linecap="round" | 		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 | 	<line | ||||||
| 		:x1="5 - (Math.sin(mAngle) * (mHandLengthRatio * handsTailLength))" | 		:x1="5 - (Math.sin(mAngle) * (mHandLengthRatio * handsTailLength))" | ||||||
|  | @ -59,7 +74,7 @@ | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <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 tinycolor from 'tinycolor2'; | ||||||
| import { globalEvents } from '@/events.js'; | import { globalEvents } from '@/events.js'; | ||||||
| 
 | 
 | ||||||
|  | @ -84,6 +99,7 @@ const props = withDefaults(defineProps<{ | ||||||
| 	twentyfour?: boolean; | 	twentyfour?: boolean; | ||||||
| 	graduations?: 'none' | 'dots' | 'numbers'; | 	graduations?: 'none' | 'dots' | 'numbers'; | ||||||
| 	fadeGraduations?: boolean; | 	fadeGraduations?: boolean; | ||||||
|  | 	sAnimation?: 'none' | 'elastic' | 'easeOut'; | ||||||
| }>(), { | }>(), { | ||||||
| 	numbers: false, | 	numbers: false, | ||||||
| 	thickness: 0.1, | 	thickness: 0.1, | ||||||
|  | @ -91,6 +107,7 @@ const props = withDefaults(defineProps<{ | ||||||
| 	twentyfour: false, | 	twentyfour: false, | ||||||
| 	graduations: 'dots', | 	graduations: 'dots', | ||||||
| 	fadeGraduations: true, | 	fadeGraduations: true, | ||||||
|  | 	sAnimation: 'elastic', | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| const graduationsMajor = computed(() => { | const graduationsMajor = computed(() => { | ||||||
|  | @ -125,6 +142,8 @@ let s = $ref<number>(0); | ||||||
| let hAngle = $ref<number>(0); | let hAngle = $ref<number>(0); | ||||||
| let mAngle = $ref<number>(0); | let mAngle = $ref<number>(0); | ||||||
| let sAngle = $ref<number>(0); | let sAngle = $ref<number>(0); | ||||||
|  | let disableSAnimate = $ref(false); | ||||||
|  | let sOneRound = false; | ||||||
| 
 | 
 | ||||||
| function tick() { | function tick() { | ||||||
| 	const now = new Date(); | 	const now = new Date(); | ||||||
|  | @ -134,7 +153,21 @@ function tick() { | ||||||
| 	h = now.getHours(); | 	h = now.getHours(); | ||||||
| 	hAngle = Math.PI * (h % (props.twentyfour ? 24 : 12) + (m + s / 60) / 60) / (props.twentyfour ? 12 : 6); | 	hAngle = Math.PI * (h % (props.twentyfour ? 24 : 12) + (m + s / 60) / 60) / (props.twentyfour ? 12 : 6); | ||||||
| 	mAngle = Math.PI * (m + s / 60) / 30; | 	mAngle = Math.PI * (m + s / 60) / 30; | ||||||
| 	sAngle = Math.PI * s / 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(); | tick(); | ||||||
|  | @ -175,5 +208,18 @@ onBeforeUnmount(() => { | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .mbcofsoe { | .mbcofsoe { | ||||||
| 	display: block; | 	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> | </style> | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
| 	v-if="!link" class="bghgjjyj _button" | 	v-if="!link" class="bghgjjyj _button" | ||||||
| 	:class="{ inline, primary, gradate, danger, rounded, full }" | 	:class="{ inline, primary, gradate, danger, rounded, full }" | ||||||
| 	:type="type" | 	:type="type" | ||||||
| 	@click="$emit('click', $event)" | 	@click="emit('click', $event)" | ||||||
| 	@mousedown="onMousedown" | 	@mousedown="onMousedown" | ||||||
| > | > | ||||||
| 	<div ref="ripples" class="ripples"></div> | 	<div ref="ripples" class="ripples"></div> | ||||||
|  | @ -24,114 +24,77 @@ | ||||||
| </MkA> | </MkA> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts" setup> | ||||||
| import { defineComponent } from 'vue'; | import { nextTick, onMounted } from 'vue'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | const props = defineProps<{ | ||||||
| 	props: { | 	type?: 'button' | 'submit' | 'reset'; | ||||||
| 		type: { | 	primary?: boolean; | ||||||
| 			type: String, | 	gradate?: boolean; | ||||||
| 			required: false, | 	rounded?: boolean; | ||||||
| 		}, | 	inline?: boolean; | ||||||
| 		primary: { | 	link?: boolean; | ||||||
| 			type: Boolean, | 	to?: string; | ||||||
| 			required: false, | 	autofocus?: boolean; | ||||||
| 			default: false, | 	wait?: boolean; | ||||||
| 		}, | 	danger?: boolean; | ||||||
| 		gradate: { | 	full?: boolean; | ||||||
| 			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(); |  | ||||||
| 			}); |  | ||||||
| 		} |  | ||||||
| 	}, |  | ||||||
| 	methods: { |  | ||||||
| 		onMousedown(evt: MouseEvent) { |  | ||||||
| 			function distance(p, q) { |  | ||||||
| 				return Math.hypot(p.x - q.x, p.y - q.y); |  | ||||||
| 			} |  | ||||||
| 
 | 
 | ||||||
| 			function calcCircleScale(boxW, boxH, circleCenterX, circleCenterY) { | const emit = defineEmits<{ | ||||||
| 				const origin = { x: circleCenterX, y: circleCenterY }; | 	(ev: 'click', payload: MouseEvent): void; | ||||||
| 				const dist1 = distance({ x: 0, y: 0 }, origin); | }>(); | ||||||
| 				const dist2 = distance({ x: boxW, y: 0 }, origin); |  | ||||||
| 				const dist3 = distance({ x: 0, y: boxH }, origin); |  | ||||||
| 				const dist4 = distance({ x: boxW, y: boxH }, origin); |  | ||||||
| 				return Math.max(dist1, dist2, dist3, dist4) * 2; |  | ||||||
| 			} |  | ||||||
| 
 | 
 | ||||||
| 			const rect = evt.target.getBoundingClientRect(); | let el = $ref<HTMLElement | null>(null); | ||||||
|  | let ripples = $ref<HTMLElement | null>(null); | ||||||
| 
 | 
 | ||||||
| 			const ripple = document.createElement('div'); | onMounted(() => { | ||||||
| 			ripple.style.top = (evt.clientY - rect.top - 1).toString() + 'px'; | 	if (props.autofocus) { | ||||||
| 			ripple.style.left = (evt.clientX - rect.left - 1).toString() + 'px'; | 		nextTick(() => { | ||||||
| 
 | 			el!.focus(); | ||||||
| 			this.$refs.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); |  | ||||||
| 
 |  | ||||||
| 			window.setTimeout(() => { |  | ||||||
| 				ripple.style.transform = 'scale(' + (scale / 2) + ')'; |  | ||||||
| 			}, 1); |  | ||||||
| 			window.setTimeout(() => { |  | ||||||
| 				ripple.style.transition = 'all 1s ease'; |  | ||||||
| 				ripple.style.opacity = '0'; |  | ||||||
| 			}, 1000); |  | ||||||
| 			window.setTimeout(() => { |  | ||||||
| 				if (this.$refs.ripples) this.$refs.ripples.removeChild(ripple); |  | ||||||
| 			}, 2000); |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| }); | }); | ||||||
|  | 
 | ||||||
|  | function distance(p, q): number { | ||||||
|  | 	return Math.hypot(p.x - q.x, p.y - q.y); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 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); | ||||||
|  | 	const dist3 = distance({ x: 0, y: boxH }, origin); | ||||||
|  | 	const dist4 = distance({ x: boxW, y: boxH }, origin); | ||||||
|  | 	return Math.max(dist1, dist2, dist3, dist4) * 2; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 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'; | ||||||
|  | 
 | ||||||
|  | 	ripples!.appendChild(ripple); | ||||||
|  | 
 | ||||||
|  | 	const circleCenterX = evt.clientX - rect.left; | ||||||
|  | 	const circleCenterY = evt.clientY - rect.top; | ||||||
|  | 
 | ||||||
|  | 	const scale = calcCircleScale(target.clientWidth, target.clientHeight, circleCenterX, circleCenterY); | ||||||
|  | 
 | ||||||
|  | 	window.setTimeout(() => { | ||||||
|  | 		ripple.style.transform = 'scale(' + (scale / 2) + ')'; | ||||||
|  | 	}, 1); | ||||||
|  | 	window.setTimeout(() => { | ||||||
|  | 		ripple.style.transition = 'all 1s ease'; | ||||||
|  | 		ripple.style.opacity = '0'; | ||||||
|  | 	}, 1000); | ||||||
|  | 	window.setTimeout(() => { | ||||||
|  | 		if (ripples) ripples.removeChild(ripple); | ||||||
|  | 	}, 2000); | ||||||
|  | } | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
|  | @ -14,7 +14,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import MkTooltip from './ui/tooltip.vue'; | import MkTooltip from './MkTooltip.vue'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
| 	showing: boolean; | 	showing: boolean; | ||||||
|  | @ -11,5 +11,5 @@ defineProps<{ | ||||||
| 	inline?: boolean; | 	inline?: boolean; | ||||||
| }>(); | }>(); | ||||||
| 
 | 
 | ||||||
| const XCode = defineAsyncComponent(() => import('./code-core.vue')); | const XCode = defineAsyncComponent(() => import('@/components/MkCode.core.vue')); | ||||||
| </script> | </script> | ||||||
|  | @ -8,7 +8,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { onMounted, onBeforeUnmount } from 'vue'; | import { onMounted, onBeforeUnmount } from 'vue'; | ||||||
| import MkMenu from './menu.vue'; | import MkMenu from './MkMenu.vue'; | ||||||
| import { MenuItem } from './types/menu.vue'; | import { MenuItem } from './types/menu.vue'; | ||||||
| import contains from '@/scripts/contains'; | import contains from '@/scripts/contains'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
|  | @ -30,7 +30,7 @@ import { nextTick, onMounted } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import Cropper from 'cropperjs'; | import Cropper from 'cropperjs'; | ||||||
| import tinycolor from 'tinycolor2'; | import tinycolor from 'tinycolor2'; | ||||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | import XModalWindow from '@/components/MkModalWindow.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { $i } from '@/account'; | import { $i } from '@/account'; | ||||||
| import { defaultStore } from '@/store'; | import { defaultStore } from '@/store'; | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent, h, PropType, TransitionGroup } from 'vue'; | 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 { i18n } from '@/i18n'; | ||||||
| import { defaultStore } from '@/store'; | import { defaultStore } from '@/store'; | ||||||
| 
 | 
 | ||||||
|  | @ -13,22 +13,22 @@ export default defineComponent({ | ||||||
| 		direction: { | 		direction: { | ||||||
| 			type: String, | 			type: String, | ||||||
| 			required: false, | 			required: false, | ||||||
| 			default: 'down' | 			default: 'down', | ||||||
| 		}, | 		}, | ||||||
| 		reversed: { | 		reversed: { | ||||||
| 			type: Boolean, | 			type: Boolean, | ||||||
| 			required: false, | 			required: false, | ||||||
| 			default: false | 			default: false, | ||||||
| 		}, | 		}, | ||||||
| 		noGap: { | 		noGap: { | ||||||
| 			type: Boolean, | 			type: Boolean, | ||||||
| 			required: false, | 			required: false, | ||||||
| 			default: false | 			default: false, | ||||||
| 		}, | 		}, | ||||||
| 		ad: { | 		ad: { | ||||||
| 			type: Boolean, | 			type: Boolean, | ||||||
| 			required: false, | 			required: false, | ||||||
| 			default: false | 			default: false, | ||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | @ -38,7 +38,7 @@ export default defineComponent({ | ||||||
| 			const month = new Date(time).getMonth() + 1; | 			const month = new Date(time).getMonth() + 1; | ||||||
| 			return i18n.t('monthAndDay', { | 			return i18n.t('monthAndDay', { | ||||||
| 				month: month.toString(), | 				month: month.toString(), | ||||||
| 				day: date.toString() | 				day: date.toString(), | ||||||
| 			}); | 			}); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -48,7 +48,7 @@ export default defineComponent({ | ||||||
| 			if (!slots || !slots.default) return; | 			if (!slots || !slots.default) return; | ||||||
| 
 | 
 | ||||||
| 			const el = slots.default({ | 			const el = slots.default({ | ||||||
| 				item: item | 				item: item, | ||||||
| 			})[0]; | 			})[0]; | ||||||
| 			if (el.key == null && item.id) el.key = item.id; | 			if (el.key == null && item.id) el.key = item.id; | ||||||
| 
 | 
 | ||||||
|  | @ -60,20 +60,20 @@ export default defineComponent({ | ||||||
| 					class: 'separator', | 					class: 'separator', | ||||||
| 					key: item.id + ':separator', | 					key: item.id + ':separator', | ||||||
| 				}, h('p', { | 				}, h('p', { | ||||||
| 					class: 'date' | 					class: 'date', | ||||||
| 				}, [ | 				}, [ | ||||||
| 					h('span', [ | 					h('span', [ | ||||||
| 						h('i', { | 						h('i', { | ||||||
| 							class: 'fas fa-angle-up icon', | 							class: 'fas fa-angle-up icon', | ||||||
| 						}), | 						}), | ||||||
| 						getDateText(item.createdAt) | 						getDateText(item.createdAt), | ||||||
| 					]), | 					]), | ||||||
| 					h('span', [ | 					h('span', [ | ||||||
| 						getDateText(props.items[i + 1].createdAt), | 						getDateText(props.items[i + 1].createdAt), | ||||||
| 						h('i', { | 						h('i', { | ||||||
| 							class: 'fas fa-angle-down icon', | 							class: 'fas fa-angle-down icon', | ||||||
| 						}) | 						}), | ||||||
| 					]) | 					]), | ||||||
| 				])); | 				])); | ||||||
| 
 | 
 | ||||||
| 				return [el, separator]; | 				return [el, separator]; | ||||||
|  | @ -93,16 +93,16 @@ export default defineComponent({ | ||||||
| 		return () => h( | 		return () => h( | ||||||
| 			defaultStore.state.animation ? TransitionGroup : 'div', | 			defaultStore.state.animation ? TransitionGroup : 'div', | ||||||
| 			defaultStore.state.animation ? { | 			defaultStore.state.animation ? { | ||||||
| 					class: 'sqadhkmv' + (props.noGap ? ' noGap' : ''), | 				class: 'sqadhkmv' + (props.noGap ? ' noGap' : ''), | ||||||
| 					name: 'list', | 				name: 'list', | ||||||
| 					tag: 'div', | 				tag: 'div', | ||||||
| 					'data-direction': props.direction, | 				'data-direction': props.direction, | ||||||
| 					'data-reversed': props.reversed ? 'true' : 'false', | 				'data-reversed': props.reversed ? 'true' : 'false', | ||||||
| 				} : { | 			} : { | ||||||
| 					class: 'sqadhkmv' + (props.noGap ? ' noGap' : ''), | 				class: 'sqadhkmv' + (props.noGap ? ' noGap' : ''), | ||||||
| 				}, | 			}, | ||||||
| 			{ default: renderChildren }); | 			{ default: renderChildren }); | ||||||
| 	} | 	}, | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
|  | @ -40,8 +40,8 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { onBeforeUnmount, onMounted, ref } from 'vue'; | import { onBeforeUnmount, onMounted, ref } from 'vue'; | ||||||
| import MkModal from '@/components/ui/modal.vue'; | import MkModal from '@/components/MkModal.vue'; | ||||||
| import MkButton from '@/components/ui/button.vue'; | import MkButton from '@/components/MkButton.vue'; | ||||||
| import MkInput from '@/components/form/input.vue'; | import MkInput from '@/components/form/input.vue'; | ||||||
| import MkSelect from '@/components/form/select.vue'; | import MkSelect from '@/components/form/select.vue'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| <template> | <template> | ||||||
| <div class="ncvczrfv" | <div | ||||||
|  | 	class="ncvczrfv" | ||||||
| 	:class="{ isSelected }" | 	:class="{ isSelected }" | ||||||
| 	draggable="true" | 	draggable="true" | ||||||
| 	:title="title" | 	:title="title" | ||||||
|  | @ -34,7 +35,7 @@ | ||||||
| import { computed, defineAsyncComponent, ref } from 'vue'; | import { computed, defineAsyncComponent, ref } from 'vue'; | ||||||
| import * as Misskey from 'misskey-js'; | import * as Misskey from 'misskey-js'; | ||||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | 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 bytes from '@/filters/bytes'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
|  | @ -63,31 +64,31 @@ function getMenu() { | ||||||
| 	return [{ | 	return [{ | ||||||
| 		text: i18n.ts.rename, | 		text: i18n.ts.rename, | ||||||
| 		icon: 'fas fa-i-cursor', | 		icon: 'fas fa-i-cursor', | ||||||
| 		action: rename | 		action: rename, | ||||||
| 	}, { | 	}, { | ||||||
| 		text: props.file.isSensitive ? i18n.ts.unmarkAsSensitive : i18n.ts.markAsSensitive, | 		text: props.file.isSensitive ? i18n.ts.unmarkAsSensitive : i18n.ts.markAsSensitive, | ||||||
| 		icon: props.file.isSensitive ? 'fas fa-eye' : 'fas fa-eye-slash', | 		icon: props.file.isSensitive ? 'fas fa-eye' : 'fas fa-eye-slash', | ||||||
| 		action: toggleSensitive | 		action: toggleSensitive, | ||||||
| 	}, { | 	}, { | ||||||
| 		text: i18n.ts.describeFile, | 		text: i18n.ts.describeFile, | ||||||
| 		icon: 'fas fa-i-cursor', | 		icon: 'fas fa-i-cursor', | ||||||
| 		action: describe | 		action: describe, | ||||||
| 	}, null, { | 	}, null, { | ||||||
| 		text: i18n.ts.copyUrl, | 		text: i18n.ts.copyUrl, | ||||||
| 		icon: 'fas fa-link', | 		icon: 'fas fa-link', | ||||||
| 		action: copyUrl | 		action: copyUrl, | ||||||
| 	}, { | 	}, { | ||||||
| 		type: 'a', | 		type: 'a', | ||||||
| 		href: props.file.url, | 		href: props.file.url, | ||||||
| 		target: '_blank', | 		target: '_blank', | ||||||
| 		text: i18n.ts.download, | 		text: i18n.ts.download, | ||||||
| 		icon: 'fas fa-download', | 		icon: 'fas fa-download', | ||||||
| 		download: props.file.name | 		download: props.file.name, | ||||||
| 	}, null, { | 	}, null, { | ||||||
| 		text: i18n.ts.delete, | 		text: i18n.ts.delete, | ||||||
| 		icon: 'fas fa-trash-alt', | 		icon: 'fas fa-trash-alt', | ||||||
| 		danger: true, | 		danger: true, | ||||||
| 		action: deleteFile | 		action: deleteFile, | ||||||
| 	}]; | 	}]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -127,35 +128,35 @@ function rename() { | ||||||
| 		if (canceled) return; | 		if (canceled) return; | ||||||
| 		os.api('drive/files/update', { | 		os.api('drive/files/update', { | ||||||
| 			fileId: props.file.id, | 			fileId: props.file.id, | ||||||
| 			name: name | 			name: name, | ||||||
| 		}); | 		}); | ||||||
| 	}); | 	}); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function describe() { | function describe() { | ||||||
| 	os.popup(defineAsyncComponent(() => import('@/components/media-caption.vue')), { | 	os.popup(defineAsyncComponent(() => import('@/components/MkMediaCaption.vue')), { | ||||||
| 		title: i18n.ts.describeFile, | 		title: i18n.ts.describeFile, | ||||||
| 		input: { | 		input: { | ||||||
| 			placeholder: i18n.ts.inputNewDescription, | 			placeholder: i18n.ts.inputNewDescription, | ||||||
| 			default: props.file.comment != null ? props.file.comment : '', | 			default: props.file.comment != null ? props.file.comment : '', | ||||||
| 		}, | 		}, | ||||||
| 		image: props.file | 		image: props.file, | ||||||
| 	}, { | 	}, { | ||||||
| 		done: result => { | 		done: result => { | ||||||
| 			if (!result || result.canceled) return; | 			if (!result || result.canceled) return; | ||||||
| 			let comment = result.result; | 			let comment = result.result; | ||||||
| 			os.api('drive/files/update', { | 			os.api('drive/files/update', { | ||||||
| 				fileId: props.file.id, | 				fileId: props.file.id, | ||||||
| 				comment: comment.length === 0 ? null : comment | 				comment: comment.length === 0 ? null : comment, | ||||||
| 			}); | 			}); | ||||||
| 		} | 		}, | ||||||
| 	}, 'closed'); | 	}, 'closed'); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function toggleSensitive() { | function toggleSensitive() { | ||||||
| 	os.api('drive/files/update', { | 	os.api('drive/files/update', { | ||||||
| 		fileId: props.file.id, | 		fileId: props.file.id, | ||||||
| 		isSensitive: !props.file.isSensitive | 		isSensitive: !props.file.isSensitive, | ||||||
| 	}); | 	}); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -176,7 +177,7 @@ async function deleteFile() { | ||||||
| 
 | 
 | ||||||
| 	if (canceled) return; | 	if (canceled) return; | ||||||
| 	os.api('drive/files/delete', { | 	os.api('drive/files/delete', { | ||||||
| 		fileId: props.file.id | 		fileId: props.file.id, | ||||||
| 	}); | 	}); | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| <template> | <template> | ||||||
| <div class="rghtznwe" | <div | ||||||
|  | 	class="rghtznwe" | ||||||
| 	:class="{ draghover }" | 	:class="{ draghover }" | ||||||
| 	draggable="true" | 	draggable="true" | ||||||
| 	:title="title" | 	:title="title" | ||||||
|  | @ -123,7 +124,7 @@ function onDrop(ev: DragEvent) { | ||||||
| 		emit('removeFile', file.id); | 		emit('removeFile', file.id); | ||||||
| 		os.api('drive/files/update', { | 		os.api('drive/files/update', { | ||||||
| 			fileId: file.id, | 			fileId: file.id, | ||||||
| 			folderId: props.folder.id | 			folderId: props.folder.id, | ||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
| 	//#endregion | 	//#endregion | ||||||
|  | @ -139,7 +140,7 @@ function onDrop(ev: DragEvent) { | ||||||
| 		emit('removeFolder', folder.id); | 		emit('removeFolder', folder.id); | ||||||
| 		os.api('drive/folders/update', { | 		os.api('drive/folders/update', { | ||||||
| 			folderId: folder.id, | 			folderId: folder.id, | ||||||
| 			parentId: props.folder.id | 			parentId: props.folder.id, | ||||||
| 		}).then(() => { | 		}).then(() => { | ||||||
| 			// noop | 			// noop | ||||||
| 		}).catch(err => { | 		}).catch(err => { | ||||||
|  | @ -147,13 +148,13 @@ function onDrop(ev: DragEvent) { | ||||||
| 				case 'detected-circular-definition': | 				case 'detected-circular-definition': | ||||||
| 					os.alert({ | 					os.alert({ | ||||||
| 						title: i18n.ts.unableToProcess, | 						title: i18n.ts.unableToProcess, | ||||||
| 						text: i18n.ts.circularReferenceFolder | 						text: i18n.ts.circularReferenceFolder, | ||||||
| 					}); | 					}); | ||||||
| 					break; | 					break; | ||||||
| 				default: | 				default: | ||||||
| 					os.alert({ | 					os.alert({ | ||||||
| 						type: 'error', | 						type: 'error', | ||||||
| 						text: i18n.ts.somethingHappened | 						text: i18n.ts.somethingHappened, | ||||||
| 					}); | 					}); | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
|  | @ -186,19 +187,19 @@ function rename() { | ||||||
| 	os.inputText({ | 	os.inputText({ | ||||||
| 		title: i18n.ts.renameFolder, | 		title: i18n.ts.renameFolder, | ||||||
| 		placeholder: i18n.ts.inputNewFolderName, | 		placeholder: i18n.ts.inputNewFolderName, | ||||||
| 		default: props.folder.name | 		default: props.folder.name, | ||||||
| 	}).then(({ canceled, result: name }) => { | 	}).then(({ canceled, result: name }) => { | ||||||
| 		if (canceled) return; | 		if (canceled) return; | ||||||
| 		os.api('drive/folders/update', { | 		os.api('drive/folders/update', { | ||||||
| 			folderId: props.folder.id, | 			folderId: props.folder.id, | ||||||
| 			name: name | 			name: name, | ||||||
| 		}); | 		}); | ||||||
| 	}); | 	}); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function deleteFolder() { | function deleteFolder() { | ||||||
| 	os.api('drive/folders/delete', { | 	os.api('drive/folders/delete', { | ||||||
| 		folderId: props.folder.id | 		folderId: props.folder.id, | ||||||
| 	}).then(() => { | 	}).then(() => { | ||||||
| 		if (defaultStore.state.uploadFolder === props.folder.id) { | 		if (defaultStore.state.uploadFolder === props.folder.id) { | ||||||
| 			defaultStore.set('uploadFolder', null); | 			defaultStore.set('uploadFolder', null); | ||||||
|  | @ -209,13 +210,13 @@ function deleteFolder() { | ||||||
| 				os.alert({ | 				os.alert({ | ||||||
| 					type: 'error', | 					type: 'error', | ||||||
| 					title: i18n.ts.unableToDelete, | 					title: i18n.ts.unableToDelete, | ||||||
| 					text: i18n.ts.hasChildFilesOrFolders | 					text: i18n.ts.hasChildFilesOrFolders, | ||||||
| 				}); | 				}); | ||||||
| 				break; | 				break; | ||||||
| 			default: | 			default: | ||||||
| 				os.alert({ | 				os.alert({ | ||||||
| 					type: 'error', | 					type: 'error', | ||||||
| 					text: i18n.ts.unableToDelete | 					text: i18n.ts.unableToDelete, | ||||||
| 				}); | 				}); | ||||||
| 		} | 		} | ||||||
| 	}); | 	}); | ||||||
|  | @ -230,11 +231,11 @@ function onContextmenu(ev: MouseEvent) { | ||||||
| 		text: i18n.ts.openInWindow, | 		text: i18n.ts.openInWindow, | ||||||
| 		icon: 'fas fa-window-restore', | 		icon: 'fas fa-window-restore', | ||||||
| 		action: () => { | 		action: () => { | ||||||
| 			os.popup(defineAsyncComponent(() => import('./drive-window.vue')), { | 			os.popup(defineAsyncComponent(() => import('@/components/MkDriveWindow.vue')), { | ||||||
| 				initialFolder: props.folder | 				initialFolder: props.folder, | ||||||
| 			}, { | 			}, { | ||||||
| 			}, 'closed'); | 			}, 'closed'); | ||||||
| 		} | 		}, | ||||||
| 	}, null, { | 	}, null, { | ||||||
| 		text: i18n.ts.rename, | 		text: i18n.ts.rename, | ||||||
| 		icon: 'fas fa-i-cursor', | 		icon: 'fas fa-i-cursor', | ||||||
|  | @ -90,10 +90,10 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { markRaw, nextTick, onActivated, onBeforeUnmount, onMounted, ref, watch } from 'vue'; | import { markRaw, nextTick, onActivated, onBeforeUnmount, onMounted, ref, watch } from 'vue'; | ||||||
| import * as Misskey from 'misskey-js'; | import * as Misskey from 'misskey-js'; | ||||||
| import XNavFolder from './drive.nav-folder.vue'; | import MkButton from './MkButton.vue'; | ||||||
| import XFolder from './drive.folder.vue'; | import XNavFolder from '@/components/MkDrive.navFolder.vue'; | ||||||
| import XFile from './drive.file.vue'; | import XFolder from '@/components/MkDrive.folder.vue'; | ||||||
| import MkButton from './ui/button.vue'; | import XFile from '@/components/MkDrive.file.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { stream } from '@/stream'; | import { stream } from '@/stream'; | ||||||
| import { defaultStore } from '@/store'; | import { defaultStore } from '@/store'; | ||||||
|  | @ -17,7 +17,7 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { computed } from 'vue'; | import { computed } from 'vue'; | ||||||
| import * as Misskey from 'misskey-js'; | import * as Misskey from 'misskey-js'; | ||||||
| import ImgWithBlurhash from '@/components/img-with-blurhash.vue'; | import ImgWithBlurhash from '@/components/MkImgWithBlurhash.vue'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
| 	file: Misskey.entities.DriveFile; | 	file: Misskey.entities.DriveFile; | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| <template> | <template> | ||||||
| <XModalWindow ref="dialog" | <XModalWindow | ||||||
|  | 	ref="dialog" | ||||||
| 	:width="800" | 	:width="800" | ||||||
| 	:height="500" | 	:height="500" | ||||||
| 	:with-ok-button="true" | 	:with-ok-button="true" | ||||||
|  | @ -20,8 +21,8 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { ref } from 'vue'; | import { ref } from 'vue'; | ||||||
| import * as Misskey from 'misskey-js'; | import * as Misskey from 'misskey-js'; | ||||||
| import XDrive from './drive.vue'; | import XDrive from '@/components/MkDrive.vue'; | ||||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | import XModalWindow from '@/components/MkModalWindow.vue'; | ||||||
| import number from '@/filters/number'; | import number from '@/filters/number'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| <template> | <template> | ||||||
| <XWindow ref="window" | <XWindow | ||||||
|  | 	ref="window" | ||||||
| 	:initial-width="800" | 	:initial-width="800" | ||||||
| 	:initial-height="500" | 	:initial-height="500" | ||||||
| 	:can-resize="true" | 	:can-resize="true" | ||||||
|  | @ -15,8 +16,8 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import * as Misskey from 'misskey-js'; | import * as Misskey from 'misskey-js'; | ||||||
| import XDrive from './drive.vue'; | import XDrive from '@/components/MkDrive.vue'; | ||||||
| import XWindow from '@/components/ui/window.vue'; | import XWindow from '@/components/MkWindow.vue'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
| defineProps<{ | defineProps<{ | ||||||
|  | @ -80,10 +80,10 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { ref, computed, watch, onMounted } from 'vue'; | import { ref, computed, watch, onMounted } from 'vue'; | ||||||
| import * as Misskey from 'misskey-js'; | 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 { emojilist, UnicodeEmojiDef, unicodeEmojiCategories as categories } from '@/scripts/emojilist'; | ||||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | 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 * as os from '@/os'; | ||||||
| import { isTouchUsing } from '@/scripts/touch'; | import { isTouchUsing } from '@/scripts/touch'; | ||||||
| import { deviceKind } from '@/scripts/device-kind'; | import { deviceKind } from '@/scripts/device-kind'; | ||||||
|  | @ -27,8 +27,8 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { ref } from 'vue'; | import { ref } from 'vue'; | ||||||
| import MkModal from '@/components/ui/modal.vue'; | import MkModal from '@/components/MkModal.vue'; | ||||||
| import MkEmojiPicker from '@/components/emoji-picker.vue'; | import MkEmojiPicker from '@/components/MkEmojiPicker.vue'; | ||||||
| import { defaultStore } from '@/store'; | import { defaultStore } from '@/store'; | ||||||
| 
 | 
 | ||||||
| withDefaults(defineProps<{ | withDefaults(defineProps<{ | ||||||
|  | @ -13,8 +13,8 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import MkWindow from '@/components/ui/window.vue'; | import MkWindow from '@/components/MkWindow.vue'; | ||||||
| import MkEmojiPicker from '@/components/emoji-picker.vue'; | import MkEmojiPicker from '@/components/MkEmojiPicker.vue'; | ||||||
| 
 | 
 | ||||||
| withDefaults(defineProps<{ | withDefaults(defineProps<{ | ||||||
| 	src?: HTMLElement; | 	src?: HTMLElement; | ||||||
|  | @ -35,8 +35,8 @@ | ||||||
| import { computed } from 'vue'; | import { computed } from 'vue'; | ||||||
| import * as Acct from 'misskey-js/built/acct'; | import * as Acct from 'misskey-js/built/acct'; | ||||||
| import MkSwitch from '@/components/ui/switch.vue'; | import MkSwitch from '@/components/ui/switch.vue'; | ||||||
| import MkPagination from '@/components/ui/pagination.vue'; | import MkPagination from '@/components/MkPagination.vue'; | ||||||
| import MkDriveFileThumbnail from '@/components/drive-file-thumbnail.vue'; | import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue'; | ||||||
| import bytes from '@/filters/bytes'; | import bytes from '@/filters/bytes'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
|  | @ -33,8 +33,8 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | import XModalWindow from '@/components/MkModalWindow.vue'; | ||||||
| import MkButton from '@/components/ui/button.vue'; | import MkButton from '@/components/MkButton.vue'; | ||||||
| import MkInput from '@/components/form/input.vue'; | import MkInput from '@/components/form/input.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { instance } from '@/instance'; | import { instance } from '@/instance'; | ||||||
|  | @ -61,9 +61,9 @@ import FormTextarea from './form/textarea.vue'; | ||||||
| import FormSwitch from './form/switch.vue'; | import FormSwitch from './form/switch.vue'; | ||||||
| import FormSelect from './form/select.vue'; | import FormSelect from './form/select.vue'; | ||||||
| import FormRange from './form/range.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 FormRadios from './form/radios.vue'; | ||||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | import XModalWindow from '@/components/MkModalWindow.vue'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <template> | <template> | ||||||
| <XFormula :formula="formula" :block="block" /> | <XFormula :formula="formula" :block="block"/> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
|  | @ -8,17 +8,17 @@ import * as os from '@/os'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
| 		XFormula: defineAsyncComponent(() => import('./formula-core.vue')) | 		XFormula: defineAsyncComponent(() => import('@/components/MkFormulaCore.vue')), | ||||||
| 	}, | 	}, | ||||||
| 	props: { | 	props: { | ||||||
| 		formula: { | 		formula: { | ||||||
| 			type: String, | 			type: String, | ||||||
| 			required: true | 			required: true, | ||||||
| 		}, | 		}, | ||||||
| 		block: { | 		block: { | ||||||
| 			type: Boolean, | 			type: Boolean, | ||||||
| 			required: true | 			required: true, | ||||||
| 		} | 		}, | ||||||
| 	} | 	}, | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
|  | @ -14,26 +14,15 @@ | ||||||
| </MkA> | </MkA> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts" setup> | ||||||
| import { defineComponent } from 'vue'; | import { } from 'vue'; | ||||||
| import { userName } from '@/filters/user'; | import { userName } from '@/filters/user'; | ||||||
| import ImgWithBlurhash from '@/components/img-with-blurhash.vue'; | import ImgWithBlurhash from '@/components/MkImgWithBlurhash.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | const props = defineProps<{ | ||||||
| 	components: { | 	post: any; | ||||||
| 		ImgWithBlurhash | }>(); | ||||||
| 	}, |  | ||||||
| 	props: { |  | ||||||
| 		post: { |  | ||||||
| 			type: Object, |  | ||||||
| 			required: true |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| 	methods: { |  | ||||||
| 		userName |  | ||||||
| 	} |  | ||||||
| }); |  | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
|  | @ -17,7 +17,7 @@ import { } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import bytes from '@/filters/bytes'; | import bytes from '@/filters/bytes'; | ||||||
| import number from '@/filters/number'; | import number from '@/filters/number'; | ||||||
| import MkModal from '@/components/ui/modal.vue'; | import MkModal from '@/components/MkModal.vue'; | ||||||
| 
 | 
 | ||||||
| const props = withDefaults(defineProps<{ | const props = withDefaults(defineProps<{ | ||||||
| 	image: misskey.entities.DriveFile; | 	image: misskey.entities.DriveFile; | ||||||
|  | @ -6,23 +6,12 @@ | ||||||
| </div> | </div> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts" setup> | ||||||
| import { defineComponent } from 'vue'; | import { } from 'vue'; | ||||||
| import * as os from '@/os'; |  | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | const props = defineProps<{ | ||||||
| 	props: { | 	warn?: boolean; | ||||||
| 		warn: { | }>(); | ||||||
| 			type: Boolean, |  | ||||||
| 			required: false, |  | ||||||
| 			default: false |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| 	data() { |  | ||||||
| 		return { |  | ||||||
| 		}; |  | ||||||
| 	} |  | ||||||
| }); |  | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
|  | @ -11,7 +11,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import MkMiniChart from '@/components/mini-chart.vue'; | import MkMiniChart from '@/components/MkMiniChart.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
|  | @ -68,7 +68,7 @@ import { | ||||||
| 	DoughnutController, | 	DoughnutController, | ||||||
| } from 'chart.js'; | } from 'chart.js'; | ||||||
| import MkSelect from '@/components/form/select.vue'; | 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 { useChartTooltip } from '@/scripts/use-chart-tooltip'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
|  | @ -21,7 +21,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import MkModal from '@/components/ui/modal.vue'; | import MkModal from '@/components/MkModal.vue'; | ||||||
| import { navbarItemDef } from '@/navbar'; | import { navbarItemDef } from '@/navbar'; | ||||||
| import { instanceName } from '@/config'; | import { instanceName } from '@/config'; | ||||||
| import { defaultStore } from '@/store'; | import { defaultStore } from '@/store'; | ||||||
|  | @ -26,7 +26,7 @@ const target = self ? null : '_blank'; | ||||||
| const el = $ref(); | const el = $ref(); | ||||||
| 
 | 
 | ||||||
| useTooltip($$(el), (showing) => { | useTooltip($$(el), (showing) => { | ||||||
| 	os.popup(defineAsyncComponent(() => import('@/components/url-preview-popup.vue')), { | 	os.popup(defineAsyncComponent(() => import('@/components/MkUrlPreviewPopup.vue')), { | ||||||
| 		showing, | 		showing, | ||||||
| 		url: props.url, | 		url: props.url, | ||||||
| 		source: el, | 		source: el, | ||||||
|  | @ -30,8 +30,8 @@ | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent } from 'vue'; | import { defineComponent } from 'vue'; | ||||||
| import { length } from 'stringz'; | import { length } from 'stringz'; | ||||||
| import MkModal from '@/components/ui/modal.vue'; | import MkModal from '@/components/MkModal.vue'; | ||||||
| import MkButton from '@/components/ui/button.vue'; | import MkButton from '@/components/MkButton.vue'; | ||||||
| import bytes from '@/filters/bytes'; | import bytes from '@/filters/bytes'; | ||||||
| import number from '@/filters/number'; | import number from '@/filters/number'; | ||||||
| 
 | 
 | ||||||
|  | @ -24,7 +24,7 @@ | ||||||
| import { watch } from 'vue'; | import { watch } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | 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'; | import { defaultStore } from '@/store'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
|  | @ -18,9 +18,9 @@ import * as misskey from 'misskey-js'; | ||||||
| import PhotoSwipeLightbox from 'photoswipe/lightbox'; | import PhotoSwipeLightbox from 'photoswipe/lightbox'; | ||||||
| import PhotoSwipe from 'photoswipe'; | import PhotoSwipe from 'photoswipe'; | ||||||
| import 'photoswipe/style.css'; | import 'photoswipe/style.css'; | ||||||
| import XBanner from './media-banner.vue'; | import XBanner from '@/components/MkMediaBanner.vue'; | ||||||
| import XImage from './media-image.vue'; | import XImage from '@/components/MkMediaImage.vue'; | ||||||
| import XVideo from './media-video.vue'; | import XVideo from '@/components/MkMediaVideo.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { FILE_TYPE_BROWSERSAFE } from '@/const'; | import { FILE_TYPE_BROWSERSAFE } from '@/const'; | ||||||
| import { defaultStore } from '@/store'; | import { defaultStore } from '@/store'; | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { on } from 'events'; | import { on } from 'events'; | ||||||
| import { nextTick, onBeforeUnmount, onMounted, onUnmounted, ref, watch } from 'vue'; | 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 { MenuItem } from '@/types/menu'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| 
 | 
 | ||||||
|  | @ -63,7 +63,7 @@ import { MenuItem, InnerMenuItem, MenuPending, MenuAction } from '@/types/menu'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
| const XChild = defineAsyncComponent(() => import('./menu.child.vue')); | const XChild = defineAsyncComponent(() => import('./MkMenu.child.vue')); | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
| 	items: MenuItem[]; | 	items: MenuItem[]; | ||||||
|  | @ -22,7 +22,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { ComputedRef, provide } from 'vue'; | 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 { popout as _popout } from '@/scripts/popout'; | ||||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||||
| import { url } from '@/config'; | import { url } from '@/config'; | ||||||
|  | @ -18,7 +18,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { onMounted, onUnmounted } from 'vue'; | import { onMounted, onUnmounted } from 'vue'; | ||||||
| import MkModal from './modal.vue'; | import MkModal from './MkModal.vue'; | ||||||
| 
 | 
 | ||||||
| const props = withDefaults(defineProps<{ | const props = withDefaults(defineProps<{ | ||||||
| 	withOkButton: boolean; | 	withOkButton: boolean; | ||||||
|  | @ -106,17 +106,17 @@ | ||||||
| import { computed, inject, onMounted, onUnmounted, reactive, ref, Ref } from 'vue'; | import { computed, inject, onMounted, onUnmounted, reactive, ref, Ref } from 'vue'; | ||||||
| import * as mfm from 'mfm-js'; | import * as mfm from 'mfm-js'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import MkNoteSub from './MkNoteSub.vue'; | import MkNoteSub from '@/components/MkNoteSub.vue'; | ||||||
| import XNoteHeader from './note-header.vue'; | import XNoteHeader from '@/components/MkNoteHeader.vue'; | ||||||
| import XNoteSimple from './note-simple.vue'; | import XNoteSimple from '@/components/MkNoteSimple.vue'; | ||||||
| import XReactionsViewer from './reactions-viewer.vue'; | import XReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||||
| import XMediaList from './media-list.vue'; | import XMediaList from '@/components/MkMediaList.vue'; | ||||||
| import XCwButton from './cw-button.vue'; | import XCwButton from '@/components/MkCwButton.vue'; | ||||||
| import XPoll from './poll.vue'; | import XPoll from '@/components/MkPoll.vue'; | ||||||
| import XRenoteButton from './renote-button.vue'; | import XRenoteButton from '@/components/MkRenoteButton.vue'; | ||||||
| import MkUrlPreview from '@/components/url-preview.vue'; | import MkUrlPreview from '@/components/MkUrlPreview.vue'; | ||||||
| import MkInstanceTicker from '@/components/instance-ticker.vue'; | import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | ||||||
| import MkVisibility from '@/components/visibility.vue'; | import MkVisibility from '@/components/MkVisibility.vue'; | ||||||
| import { pleaseLogin } from '@/scripts/please-login'; | import { pleaseLogin } from '@/scripts/please-login'; | ||||||
| import { focusPrev, focusNext } from '@/scripts/focus'; | import { focusPrev, focusNext } from '@/scripts/focus'; | ||||||
| import { checkWordMute } from '@/scripts/check-word-mute'; | import { checkWordMute } from '@/scripts/check-word-mute'; | ||||||
|  | @ -117,16 +117,16 @@ | ||||||
| import { computed, inject, onMounted, onUnmounted, reactive, ref } from 'vue'; | import { computed, inject, onMounted, onUnmounted, reactive, ref } from 'vue'; | ||||||
| import * as mfm from 'mfm-js'; | import * as mfm from 'mfm-js'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import MkNoteSub from './MkNoteSub.vue'; | import MkNoteSub from '@/components/MkNoteSub.vue'; | ||||||
| import XNoteSimple from './note-simple.vue'; | import XNoteSimple from '@/components/MkNoteSimple.vue'; | ||||||
| import XReactionsViewer from './reactions-viewer.vue'; | import XReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||||
| import XMediaList from './media-list.vue'; | import XMediaList from '@/components/MkMediaList.vue'; | ||||||
| import XCwButton from './cw-button.vue'; | import XCwButton from '@/components/MkCwButton.vue'; | ||||||
| import XPoll from './poll.vue'; | import XPoll from '@/components/MkPoll.vue'; | ||||||
| import XRenoteButton from './renote-button.vue'; | import XRenoteButton from '@/components/MkRenoteButton.vue'; | ||||||
| import MkUrlPreview from '@/components/url-preview.vue'; | import MkUrlPreview from '@/components/MkUrlPreview.vue'; | ||||||
| import MkInstanceTicker from '@/components/instance-ticker.vue'; | import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | ||||||
| import MkVisibility from '@/components/visibility.vue'; | import MkVisibility from '@/components/MkVisibility.vue'; | ||||||
| import { pleaseLogin } from '@/scripts/please-login'; | import { pleaseLogin } from '@/scripts/please-login'; | ||||||
| import { checkWordMute } from '@/scripts/check-word-mute'; | import { checkWordMute } from '@/scripts/check-word-mute'; | ||||||
| import { userPage } from '@/filters/user'; | import { userPage } from '@/filters/user'; | ||||||
|  | @ -17,7 +17,7 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import MkVisibility from '@/components/visibility.vue'; | import MkVisibility from '@/components/MkVisibility.vue'; | ||||||
| import { notePage } from '@/filters/note'; | import { notePage } from '@/filters/note'; | ||||||
| import { userPage } from '@/filters/user'; | import { userPage } from '@/filters/user'; | ||||||
| 
 | 
 | ||||||
|  | @ -9,7 +9,7 @@ | ||||||
| 				<XCwButton v-model="showContent" :note="note"/> | 				<XCwButton v-model="showContent" :note="note"/> | ||||||
| 			</p> | 			</p> | ||||||
| 			<div v-show="note.cw == null || showContent" class="content"> | 			<div v-show="note.cw == null || showContent" class="content"> | ||||||
| 				<MkNoteSubNoteContent class="text" :note="note"/> | 				<MkSubNoteContent class="text" :note="note"/> | ||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
|  | @ -19,9 +19,9 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import XNoteHeader from './note-header.vue'; | import XNoteHeader from '@/components/MkNoteHeader.vue'; | ||||||
| import MkNoteSubNoteContent from './sub-note-content.vue'; | import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | ||||||
| import XCwButton from './cw-button.vue'; | import XCwButton from '@/components/MkCwButton.vue'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
| 	note: misskey.entities.Note; | 	note: misskey.entities.Note; | ||||||
|  | @ -10,7 +10,7 @@ | ||||||
| 					<XCwButton v-model="showContent" :note="note"/> | 					<XCwButton v-model="showContent" :note="note"/> | ||||||
| 				</p> | 				</p> | ||||||
| 				<div v-show="note.cw == null || showContent" class="content"> | 				<div v-show="note.cw == null || showContent" class="content"> | ||||||
| 					<MkNoteSubNoteContent class="text" :note="note"/> | 					<MkSubNoteContent class="text" :note="note"/> | ||||||
| 				</div> | 				</div> | ||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -27,9 +27,9 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import XNoteHeader from './note-header.vue'; | import XNoteHeader from '@/components/MkNoteHeader.vue'; | ||||||
| import MkNoteSubNoteContent from './sub-note-content.vue'; | import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | ||||||
| import XCwButton from './cw-button.vue'; | import XCwButton from '@/components/MkCwButton.vue'; | ||||||
| import { notePage } from '@/filters/note'; | import { notePage } from '@/filters/note'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
|  |  | ||||||
|  | @ -19,9 +19,9 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { ref } from 'vue'; | import { ref } from 'vue'; | ||||||
| import XNote from '@/components/note.vue'; | import XNote from '@/components/MkNote.vue'; | ||||||
| import XList from '@/components/date-separated-list.vue'; | import XList from '@/components/MkDateSeparatedList.vue'; | ||||||
| import MkPagination, { Paging } from '@/components/ui/pagination.vue'; | import MkPagination, { Paging } from '@/components/MkPagination.vue'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
|  | @ -75,9 +75,9 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { ref, onMounted, onUnmounted, watch } from 'vue'; | import { ref, onMounted, onUnmounted, watch } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import XReactionIcon from './reaction-icon.vue'; | import XReactionIcon from '@/components/MkReactionIcon.vue'; | ||||||
| import MkFollowButton from './follow-button.vue'; | import MkFollowButton from '@/components/MkFollowButton.vue'; | ||||||
| import XReactionTooltip from './reaction-tooltip.vue'; | import XReactionTooltip from '@/components/MkReactionTooltip.vue'; | ||||||
| import { getNoteSummary } from '@/scripts/get-note-summary'; | import { getNoteSummary } from '@/scripts/get-note-summary'; | ||||||
| import { notePage } from '@/filters/note'; | import { notePage } from '@/filters/note'; | ||||||
| import { userPage } from '@/filters/user'; | import { userPage } from '@/filters/user'; | ||||||
|  | @ -31,9 +31,9 @@ | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import { notificationTypes } from 'misskey-js'; | import { notificationTypes } from 'misskey-js'; | ||||||
| import MkSwitch from './form/switch.vue'; | import MkSwitch from './form/switch.vue'; | ||||||
| import MkInfo from './ui/info.vue'; | import MkInfo from './MkInfo.vue'; | ||||||
| import MkButton from './ui/button.vue'; | import MkButton from './MkButton.vue'; | ||||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | import XModalWindow from '@/components/MkModalWindow.vue'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
| const emit = defineEmits<{ | const emit = defineEmits<{ | ||||||
|  | @ -8,7 +8,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { onMounted } from 'vue'; | import { onMounted } from 'vue'; | ||||||
| import XNotification from './notification.vue'; | import XNotification from '@/components/MkNotification.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| 
 | 
 | ||||||
| defineProps<{ | defineProps<{ | ||||||
|  | @ -19,10 +19,10 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { defineComponent, markRaw, onUnmounted, onMounted, computed, ref } from 'vue'; | import { defineComponent, markRaw, onUnmounted, onMounted, computed, ref } from 'vue'; | ||||||
| import { notificationTypes } from 'misskey-js'; | import { notificationTypes } from 'misskey-js'; | ||||||
| import MkPagination, { Paging } from '@/components/ui/pagination.vue'; | import MkPagination, { Paging } from '@/components/MkPagination.vue'; | ||||||
| import XNotification from '@/components/notification.vue'; | import XNotification from '@/components/MkNotification.vue'; | ||||||
| import XList from '@/components/date-separated-list.vue'; | import XList from '@/components/MkDateSeparatedList.vue'; | ||||||
| import XNote from '@/components/note.vue'; | import XNote from '@/components/MkNote.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { stream } from '@/stream'; | import { stream } from '@/stream'; | ||||||
| import { $i } from '@/account'; | import { $i } from '@/account'; | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import XValue from './object-view.value.vue'; | import XValue from './MkObjectView.value.vue'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
| 	value: Record<string, unknown>; | 	value: Record<string, unknown>; | ||||||
|  | @ -25,8 +25,8 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { ComputedRef, inject, provide } from 'vue'; | import { ComputedRef, inject, provide } from 'vue'; | ||||||
| import RouterView from './global/router-view.vue'; | import RouterView from '@/components/global/RouterView.vue'; | ||||||
| import XWindow from '@/components/ui/window.vue'; | import XWindow from '@/components/MkWindow.vue'; | ||||||
| import { popout as _popout } from '@/scripts/popout'; | import { popout as _popout } from '@/scripts/popout'; | ||||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||||
| import { url } from '@/config'; | import { url } from '@/config'; | ||||||
|  | @ -36,7 +36,7 @@ import { computed, ComputedRef, isRef, markRaw, onActivated, onDeactivated, Ref, | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { onScrollTop, isTopVisible, getScrollPosition, getScrollContainer } from '@/scripts/scroll'; | 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'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
| const SECOND_FETCH_LIMIT = 30; | const SECOND_FETCH_LIMIT = 30; | ||||||
|  | @ -52,7 +52,7 @@ import { ref, watch } from 'vue'; | ||||||
| import MkInput from './form/input.vue'; | import MkInput from './form/input.vue'; | ||||||
| import MkSelect from './form/select.vue'; | import MkSelect from './form/select.vue'; | ||||||
| import MkSwitch from './form/switch.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 { formatDateTimeString } from '@/scripts/format-time-string'; | ||||||
| import { addTime } from '@/scripts/time'; | import { addTime } from '@/scripts/time'; | ||||||
| import { i18n } from '@/i18n'; | 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