+
@@ -110,6 +165,7 @@
window.TYPEGROUP = "@g.us";
window.TYPEUSER = "@s.whatsapp.net";
window.TYPENEWSLETTER = "@newsletter";
+ window.TYPESTATUS = "status@broadcast";
window.showErrorInfo = (message) => {
$('body').toast({
position: 'bottom right',
@@ -149,6 +205,7 @@
import SendLocation from "./components/SendLocation.js";
import SendAudio from "./components/SendAudio.js";
import SendPoll from "./components/SendPoll.js";
+ import SendPresence from "./components/SendPresence.js";
import MessageDelete from "./components/MessageDelete.js";
import MessageUpdate from "./components/MessageUpdate.js";
import MessageReact from "./components/MessageReact.js";
@@ -158,6 +215,7 @@
import GroupJoinWithLink from "./components/GroupJoinWithLink.js";
import GroupAddParticipants from "./components/GroupManageParticipants.js";
import AccountAvatar from "./components/AccountAvatar.js";
+ import AccountChangeAvatar from "./components/AccountChangeAvatar.js";
import AccountUserInfo from "./components/AccountUserInfo.js";
import AccountUserCheck from "./components/AccountUserCheck.js";
import AccountPrivacy from "./components/AccountPrivacy.js";
@@ -196,11 +254,11 @@
Vue.createApp({
components: {
AppLogin, AppLoginWithCode, AppLogout, AppReconnect,
- SendMessage, SendImage, SendFile, SendVideo, SendContact, SendLocation, SendAudio, SendPoll,
+ SendMessage, SendImage, SendFile, SendVideo, SendContact, SendLocation, SendAudio, SendPoll, SendPresence,
MessageDelete, MessageUpdate, MessageReact, MessageRevoke,
GroupList, GroupCreate, GroupJoinWithLink, GroupAddParticipants,
NewsletterList,
- AccountAvatar, AccountUserInfo, AccountUserCheck, AccountPrivacy
+ AccountAvatar, AccountUserInfo, AccountUserCheck, AccountPrivacy, AccountChangeAvatar
},
delimiters: ['[[', ']]'],
data() {
@@ -215,6 +273,9 @@
}
},
mounted() {
+ // Initialize app container as hidden
+ document.getElementById('app').style.display = 'none';
+
if (window["WebSocket"]) {
this.app_ws = new WebSocket(constructWebSocketURL());
@@ -222,13 +283,24 @@
this.app_ws.send(JSON.stringify({
"code": "FETCH_DEVICES",
"message": "List device"
- }))
+ }));
+
+ // Show app container and hide splash screen with a slight delay
+ setTimeout(() => {
+ document.getElementById('app').style.display = 'block';
+ document.getElementById('splash-screen').classList.add('fade-out');
+ }, 1000);
};
this.app_ws.onerror = (error) => {
console.error('WebSocket error:', error);
showErrorInfo('Connection error occurred. Please refresh the page.');
- };
+ // Hide splash screen and show error state
+ setTimeout(() => {
+ document.getElementById('app').style.display = 'block';
+ document.getElementById('splash-screen').classList.add('fade-out');
+ }, 1000);
+ };
this.app_ws.onmessage = (evt) => {
const message = JSON.parse(evt.data)
@@ -249,6 +321,8 @@
};
} else {
console.error('Your browser does not support WebSockets');
+ // Hide splash screen if WebSocket is not supported
+ document.getElementById('splash-screen').classList.add('fade-out');
}
},
}).mount('#app')