@@ -100,6 +154,7 @@
@@ -109,6 +164,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',
@@ -148,6 +204,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";
@@ -157,6 +214,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 AccountPrivacy from "./components/AccountPrivacy.js";
import NewsletterList from "./components/NewsletterList.js";
@@ -194,11 +252,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, AccountPrivacy
+ AccountAvatar, AccountUserInfo, AccountPrivacy, AccountChangeAvatar
},
delimiters: ['[[', ']]'],
data() {
@@ -213,6 +271,9 @@
}
},
mounted() {
+ // Initialize app container as hidden
+ document.getElementById('app').style.display = 'none';
+
if (window["WebSocket"]) {
this.app_ws = new WebSocket(constructWebSocketURL());
@@ -220,13 +281,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)
@@ -247,6 +319,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')