[mirotalksfu] - make widget fully configurable via config.js and .env

هذا الالتزام موجود في:
Miroslav Pejic
2025-08-08 01:34:20 +02:00
الأصل 72fbecc8d0
التزام 1d88a19c03
10 ملفات معدلة مع 105 إضافات و9 حذوفات

عرض الملف

@@ -64,7 +64,7 @@ dev dependencies: {
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.9.24
* @version 1.9.25
*
*/

عرض الملف

@@ -988,6 +988,41 @@ module.exports = {
*/
htmlInjection: process.env.BRAND_HTML_INJECTION !== 'false',
/**
* Widget Configuration
* --------------------
* Controls the appearance and behavior of the support widget.
* Supports dynamic configuration via environment variables.
*/
widget: {
enabled: process.env.BRAND_WIDGET_ENABLED === 'true',
domain: process.env.WIDGET_DOMAIN || null, // sfu.mirotalk.com
theme: process.env.BRAND_WIDGET_THEME || 'dark',
widgetState: process.env.BRAND_WIDGET_STATE || 'minimized',
widgetType: process.env.BRAND_WIDGET_TYPE || 'support',
supportWidget: {
position: process.env.BRAND_WIDGET_SUPPORT_POSITION || 'top-right',
expertImages: process.env.BRAND_WIDGET_SUPPORT_EXPERT_IMAGES
? process.env.BRAND_WIDGET_SUPPORT_EXPERT_IMAGES.split(splitChar)
.map((url) => url.trim())
.filter(Boolean)
: [
'https://photo.cloudron.pocketsolution.net/uploads/original/95/7d/a5f7f7a2c89a5fee7affda5f013c.jpeg',
],
checkOnlineStatus: process.env.BRAND_WIDGET_SUPPORT_CHECK_ONLINE_STATUS === 'true',
isOnline: process.env.BRAND_WIDGET_SUPPORT_IS_ONLINE !== 'false',
customMessages: {
heading: process.env.BRAND_WIDGET_SUPPORT_HEADING || 'Need Help?',
subheading:
process.env.BRAND_WIDGET_SUPPORT_SUBHEADING || 'Get instant support from our expert team!',
connectText: process.env.BRAND_WIDGET_SUPPORT_CONNECT_TEXT || 'connect in < 5 seconds',
onlineText: process.env.BRAND_WIDGET_SUPPORT_ONLINE_TEXT || 'We are online',
offlineText: process.env.BRAND_WIDGET_SUPPORT_OFFLINE_TEXT || 'We are offline',
poweredBy: process.env.BRAND_WIDGET_SUPPORT_POWERED_BY || 'Powered by MiroTalk SFU',
},
},
},
app: {
language: process.env.UI_LANGUAGE || 'en',
name: process.env.APP_NAME || 'MiroTalk SFU',