diff --git a/README.md b/README.md index cd728795..bdef856a 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,12 @@ To install a theme place `custom.css` into your `%AppData%\VRCX` folder then pre - `vrcx://user/usr_id` open VRCX user dialog. - `vrcx://avatar/avtr_id` open VRCX avatar dialog. - `vrcx://world/wrld_id` open VRCX world dialog. -- `vrcx://world/wrld_id:12345` or `vrcx://world/https://vrch.at/shortUrl` open VRCX world dialog with instance. +- `vrcx://world/wrld_id:12345` open VRCX world dialog with instance. +- `vrcx://world/https://vrch.at/0gmbxjpj` open VRCX world dialog with unlocked instance. +- `vrcx://import/avatar/avtr_id,avtr_id...` open VRCX avatar favorites import dialog. +- `vrcx://import/world/wrld_id,wrld_id...` open VRCX world favorites import dialog. +- `vrcx://import/friend/usr_id,usr_id...` open VRCX friend favorites import dialog. +- `vrcx://addavatardb/https://website/vrcx_search.php` open VRCX remote avatar database provider dialog. ## Keyboard shortcuts diff --git a/html/src/app.js b/html/src/app.js index 4f04cada..b566dd22 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -200,7 +200,8 @@ speechSynthesis.getVoices(); observerOptions: { rootMargin: '0px', threshold: 0.1 - } + }, + attempt: 3 }); Vue.use(DataTables); @@ -19910,6 +19911,21 @@ speechSynthesis.getVoices(); case 'addavatardb': this.addAvatarProvider(input.replace('addavatardb/', '')); break; + case 'import': + var type = args[1]; + if (!type) break; + var data = input.replace(`import/${type}/`, ''); + if (type === 'avatar') { + this.showAvatarImportDialog(); + this.worldImportDialog.input = data; + } else if (type === 'world') { + this.showWorldImportDialog(); + this.worldImportDialog.input = data; + } else if (type === 'friend') { + this.showFriendImportDialog(); + this.friendImportDialog.input = data; + } + break; } };