Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.86 KB | None | 0 0
  1.  
  2. <mdb-card class="vendor-card">
  3. <mdb-card-body >
  4.  
  5. <div class="row">
  6. <div class="col-8 pl-3 pr-0 py-0">
  7.  
  8. <div class="row ">
  9. <div class="col-12">
  10. <h6>
  11. <mdb-badge color="{{vendorColor}}" (click)="data.requestVendorWindow(data.ctbSocket, 'ctb')" style="cursor: pointer;">{{vendorName}}</mdb-badge>
  12.  
  13. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'offline'" color="black">OFFLINE</mdb-badge>
  14. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'public'" color="green">PUBLIC</mdb-badge>
  15. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'private'" color="grey">PRIVATE</mdb-badge>
  16. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'away'" (click)="data.returnAway(this.data.ctbSocket, 'ctb')" mdbTooltip="Click to Return" color="orange" style="cursor: pointer;">AWAY</mdb-badge>
  17.  
  18. <mdb-badge *ngIf="ctbHook.vendor.viewers !== -1" color="purple">{{ctbHook.vendor.viewers}} Viewers</mdb-badge>
  19. <mdb-badge *ngIf="ctbHook.vendor.rank " color="purple">Rank {{ctbHook.vendor.rank}}</mdb-badge>
  20.  
  21. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'private'" color="grey">{{ctbHook.pvGrpShow.showProfite}} Tk Profite</mdb-badge>
  22. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'private'" color="grey">{{ctbHook.pvGrpShow.currentTime}} Time</mdb-badge>
  23.  
  24.  
  25. <!--<mdb-badge>room status: off/public/private/away + buttons for PV/GRP control(NAVBAR?) </mdb-badge>-->
  26. </h6>
  27. </div>
  28. </div>
  29.  
  30. <ul class="list-group chatbox" #scrollMe1 [scrollTop]="scrollMe1.scrollHeight" [style.font-size.%]="global._scaleFactor">
  31.  
  32. <li *ngFor="let item of global.ctbChatBoxItems; let i = index" [style.background-color]="item.itemContent.bgColor" class="list-group-item px-2 py-0" style="cursor: pointer;">
  33. <!-- menu -->
  34. <div class="btn-group btn-group-sm" mdbDropdown>
  35. <!-- <span mdbDropdownToggle>
  36. <mdb-icon fas icon="caret-down"></mdb-icon>
  37. </span> -->
  38. <span mdbDropdownToggle *ngIf="item.itemType === 'room-msg'" (dblclick)="setActivePmConversation(-1, item.itemContent.username); pmtext.focus()" (click)="requestUserMenu(item.itemContent.username)">
  39. <span style="font-weight: 900" [style.color]="item.itemContent.userColor">{{item.itemContent.username}}</span>:
  40.  
  41. <span *ngFor="let p of item.itemContent.msg">
  42. <span *ngIf="p.type==='text'" style="font-weight: 100; font-style: normal;">
  43. {{p.content}}
  44. </span>
  45. <span *ngIf="p.type==='emoji-ctb'" mdbTooltip="{{p.label}}">
  46. <img src="{{p.src}}">
  47. </span>
  48. </span>
  49. </span>
  50.  
  51. <span *ngIf="item.itemType === 'system-msg'" [style.background-color]="item.itemContent.bgColor">
  52. <span style="font-weight: 700" [style.color]="'black'">{{item.itemContent.username}}</span>: <span [style.color]="'black'">{{item.itemContent.msg}}</span>
  53. </span>
  54.  
  55. <span style="font-weight: 300" style="font-size: 90%;" mdbDropdownToggle *ngIf="item.itemType === 'tip-msg'" (dblclick)="setActivePmConversation(-1, item.itemContent.username); pmtext.focus()" (click)="requestUserMenu(item.itemContent.username)">
  56. <strong>
  57. <span style="background-color: white" [style.color]="item.itemContent.userColor">{{item.itemContent.username}}</span> &nbsp;
  58. <span [style.color]="item.foregroundColor">tipped <span style="background-color: white">{{item.itemContent.amount}} </span> <i class="tip-intensity nav-item" [style.color]="item.itemContent.bgColor === '#f0ff00' || item.itemContent.bgColor === '#F0FF00' ? 'black' : 'white'">[{{item.itemContent.intensity}}]</i> {{item.itemContent.msg ? '--- ' + item.itemContent.msg : ''}}&nbsp;</span>
  59. </strong>
  60. </span>
  61.  
  62. <!-- <span *ngIf="latestUserInfo">
  63. conf: {{latestUserInfo.username}}/{{item.itemContent.username}}
  64. </span> -->
  65.  
  66. <div *ngIf="latestUserInfo " class="dropdown-menu dropdown-primary dropdown-menu-right">
  67. <span><mdb-badge color="blue">{{latestUserInfo.username}}</mdb-badge></span>
  68. <span class="dropdown-item" style="font-size: 70%;" *ngFor="let a of latestUserInfo.menu; let i = index" (click)="doUserMenuAction(item.itemContent.username, a, i)">{{a}}</span>
  69. </div>
  70. </div>
  71. </li>
  72. </ul>
  73.  
  74. <!--<hr>-->
  75.  
  76. <!--<mdb-card class="pb-0">-->
  77. <!--<mdb-card-body >-->
  78. <div class="row px-1 mt-3 ">
  79.  
  80. <div class="col-8">
  81. <div class="form-group row">
  82. <div class="col-12">
  83. <input #publicmsg mdbInput type="text" class="form-control form-control-sm" (keydown)="sendRoomByKeyboard($event, publicmsg.value)" (dblclick)="requireHandsDown()">
  84. </div>
  85. </div>
  86. </div>
  87. <div class="col-2">
  88. <div class="btn-group btn-group-sm" role="group" aria-label="Basic example">
  89. <button mdbBtn type="button" color="blue" class="waves-light" mdbWavesEffect (click)="sendPublicMsg('publicmsg.value')">
  90. <mdb-icon fas icon="paper-plane"></mdb-icon>
  91. </button>
  92.  
  93. <button mdbBtn type="button" color="blue" class="waves-light" mdbWavesEffect>
  94. <mdb-icon fas icon="envelope-open-text"></mdb-icon>
  95. </button>
  96. </div>
  97. </div>
  98. <div class="col-2">
  99. <div dropdown class="btn-group btn-group-sm nav-item dropdown" role="group" aria-label="Basic example">
  100.  
  101. <button dropdownToggle [disabled]="ctbHook.session.status === 'offline'"
  102. mdbBtn type="button" color="grey" class=""
  103. mdbWavesEffect [mdbTooltip]="'Change Status ' + vendorName">
  104. <mdb-icon fas icon="bars"></mdb-icon>
  105. </button>
  106.  
  107. <!-- <li dropdown class="nav-item dropdown "style="cursor: pointer;">
  108. <a dropdownToggle style="color: purple" class="nav-link waves-light icon-btn" mdbTooltip="Change Show Status">
  109. <mdb-icon fas icon="bars ml-1"></mdb-icon>
  110. </a> -->
  111.  
  112. <div *dropdownMenu class="dropdown-menu dropdown-menu-right dropdown dropdown-primary" role="menu">
  113. <a class="dropdown-item" (click)="data.requireChangeSceneState(data.ctbSocket, 'ctb', 'public')">Public</a>
  114. <a class="dropdown-item" (click)="data.requireChangeSceneState(data.ctbSocket, 'ctb', 'away')">Away</a>
  115. <a class="dropdown-item" (click)="data.requireChangeSceneState(data.ctbSocket, 'ctb', 'thanks')">Thanks</a>
  116. <a class="dropdown-item" (click)="data.requireChangeSceneState(data.ctbSocket, 'ctb', 'away')">Be right Back</a>
  117. </div>
  118. <!-- </li> -->
  119.  
  120. <button *ngIf="getVideoMode()==='OBS' && ctbHook.session.status === 'offline'" [disabled]="ctbHook.session.status !== 'offline'"
  121. mdbBtn type="button" color="secondary" class="waves-light"
  122. (click)="startSession()" mdbWavesEffect [mdbTooltip]="'Start ' + vendorName">
  123. <mdb-icon fas icon="video"></mdb-icon>
  124. </button>
  125.  
  126. <button *ngIf="getVideoMode()==='OBS'" [disabled]="ctbHook.session.status === 'offline'"
  127. mdbBtn type="button" color="danger" class="waves-light" (click)="stopSession()" mdbWavesEffect [mdbTooltip]="'Stop ' + vendorName">
  128. <mdb-icon fas icon="video-slash"></mdb-icon>
  129. </button>
  130.  
  131. <!-- <button *ngIf="ctbHook.video.mode === 'rtmp' && ctbVideo.rtmp.obs1.streamingState === false || ctbHook.video.mode === 'rtmp' && ctbVideo.rtmp.obs2.streamingState === false" mdbBtn type="button" color="secondary" class="waves-light"
  132. (click)="startSession()" mdbWavesEffect mdbTooltip="Start Stream">
  133. <mdb-icon fas icon="video"></mdb-icon>
  134. </button>
  135.  
  136. <button *ngIf="ctbHook.video.mode === 'rtmp' && ctbVideo.rtmp.obs1.streamingState === true || ctbHook.video.mode === 'rtmp' && ctbVideo.rtmp.obs2.streamingState === true"
  137. mdbBtn type="button" color="danger" class="waves-light" (click)="stopSession()" mdbWavesEffect mdbTooltip="Stop Stream" >
  138. <mdb-icon fas icon="video-slash"></mdb-icon>
  139. </button> -->
  140.  
  141.  
  142.  
  143. <!--// todo + connected-->
  144. <!--<button *ngIf="ctbHook.video.status === 'away' && ctbHook.video.status !== 'offline' || ctbHook.video.status2 === 'away' && ctbHook.video.streamingState2 === true "-->
  145. <button *ngIf="ctbHook.video.mode === 'obs' && ctbHook.session.status === 'away'"
  146. mdbBtn type="button" color="success" class="waves-light" (click)="returnSession()"
  147. mdbWavesEffect [mdbTooltip]="'Return ' + vendorName">
  148. <mdb-icon fas icon="play"></mdb-icon>
  149. </button>
  150. <!--<button *ngIf="ctbHook.video.status === 'public' && ctbHook.video.status !== 'offline' || ctbHook.video.status2 === 'public' && ctbHook.video.streamingState2 === true"-->
  151. <button *ngIf="ctbHook.video.mode === 'obs' && ctbHook.session.status === 'public'"
  152. mdbBtn type="button" color="warning" class="waves-light"(click)="pauseSession()"
  153. mdbWavesEffect [mdbTooltip]="'Pause ' + vendorName">
  154. <i class="fas fa-pause"></i>
  155. </button>
  156.  
  157.  
  158.  
  159.  
  160. </div>
  161. </div>
  162.  
  163. </div>
  164. <!--</mdb-card-body>-->
  165. <!--</mdb-card>-->
  166.  
  167. </div>
  168.  
  169.  
  170. <div class="col-4 px-1 py-1">
  171.  
  172. <!--[buttonClass]="'md-tabs tabs-grey tabs-3 mb-2 mx-0 '" [contentClass]="'card px-1 py-1'" (getActiveTab)="onTabChange($event)"-->
  173. <mdb-tabset #maintab [buttonClass]="'md-tabs tabs-grey tabs-3 mx-0 '" [contentClass]="'card px-1 mt-1 mb-0 pb-0'" (getActiveTab)="onTabChange($event)">
  174.  
  175.  
  176. <mdb-tab heading="<i class='fas fa-plug'></i>">
  177. <div class="row pl-0">
  178. <div class="col-12">
  179. <!--<div class="connection-list" >-->
  180.  
  181. <ul class="list-group connection-list" style="overflow-y: auto; " #scrollMe [scrollTop]="scrollMe.scrollHeight">
  182.  
  183. <li class="list-group-item pl-2 pr-4 py-1" >
  184. <!-- || ctbHook.controller === false -->
  185. <!--<div class="container">-->
  186. <div class="col-md-12">
  187. <div class="row">
  188.  
  189. <div class="col-md-4">
  190. <div class="row">
  191. <label class="mt-1">BOT</label>
  192.  
  193. </div>
  194. </div>
  195.  
  196. <div class="col-6">
  197. <div class="row" >
  198. <div class="btn-group btn-group-sm mt-1" mdbDropdown >
  199.  
  200. <button mdbDropdownToggle
  201. class="xlabel-sm dropdown-toggle btn" style="text-transform: none; font-size: 70%"
  202. [style.color]="ctbHook.controller === true ? '#8dff02eb' : 'white'">
  203. {{ navBar._BOT_SERVER_ADR[memory.ctbSrvIndex] }}
  204. </button>
  205.  
  206. <div class="dropdown-menu dropdown-primary dropdown-menu-left" role="menu">
  207. <a class="dropdown-item" style="text-transform: none; font-size: 70%" *ngFor="let bot of navBar._BOT_SERVER_ADR; let i = index" (click)="memory.ctbSrvIndex = i">{{bot}}</a>
  208. </div>
  209. </div>
  210. <!-- <span *ngIf="ctbHook.controller===true">
  211. con to: {{memory.botServers[memory._currentBotServerIndex].label}}
  212. </span> -->
  213. </div>
  214. </div>
  215. <!-- <div class="col-md-6">
  216. <div class="row">
  217. <div class="xstatus" [style.color]="ctbHook.controller.connected === true ? '#8dff02eb' : 'white'">
  218. {{memory.botServers[0].label}}
  219. </div>
  220. </div>
  221. </div> -->
  222.  
  223. <div class="col-md-2">
  224. <div class="row">
  225. <div class="btn-group btn-group-sm mt-0 pt-0 mr-0" role="group" aria-label="Basic example">
  226.  
  227. <button *ngIf="ctbHook.controller === false" (click)="connectToServer(navBar._BOT_SERVER_ADR[memory.ctbSrvIndex])"
  228. mdbBtn type="button" color="secondary" class="waves-light" mdbWavesEffect
  229. style="text-transform: none; font-size: 70%"
  230. >
  231. <mdb-icon fas icon="plug"></mdb-icon>
  232. </button>
  233.  
  234. <!-- <button *ngIf="ctbHook.controller === true" (click)="disconnectBot('ctb')" -->
  235. <!-- <button *ngIf="(ctbHook.botHasClients === true && ctbHook.controller===true) || ctbHook.controller===true" (click)="disconnectBot('ctb')" -->
  236. <button *ngIf="ctbHook.controller === true" (click)="disconnectBot('ctb')"
  237. mdbBtn type="button" color="red" class="waves-light" mdbWavesEffect
  238. style="text-transform: none; font-size: 70%"
  239. >
  240. <mdb-icon fas icon="plug"></mdb-icon>
  241. </button>
  242. <!--
  243. <div *ngIf="ctbHook.controller === false" class="btn-group btn-group-sm" mdbDropdown>
  244. <button mdbBtn type="button" color="secondary" class="waves-light" mdbWavesEffect mdbDropdownToggle>
  245. <mdb-icon fas icon="caret-down"></mdb-icon>
  246. </button>
  247.  
  248. </div> -->
  249.  
  250. </div>
  251. </div>
  252. </div>
  253.  
  254. </div>
  255.  
  256. <!--</div>-->
  257.  
  258. </div>
  259. </li>
  260.  
  261. <!--*ngIf="mfcMemory.ctbHook.controller === 'connected'"-->
  262. <li class="list-group-item pl-2 pr-4 py-1" >
  263. <!--<div class="container">-->
  264. <div class="col-md-12">
  265. <div class="row">
  266.  
  267. <div class="col-md-4 ">
  268. <div class="row mb-1">
  269. <label class="mt-1">VIDEO</label>
  270. </div>
  271. </div>
  272. <div class="col-md-6">
  273. <div class="row">
  274. <div class="" >
  275. <!--{{ctbHook.video.mode }}-->
  276. <div class="btn-group btn-group-sm" mdbDropdown>
  277.  
  278. <button mdbDropdownToggle [disabled]="ctbHook.video.connected === true"
  279. class="xlabel-sm dropdown-toggle btn"
  280. style="text-transform: none; font-size: 70%"
  281. >
  282. <!-- [style.color]="ctbVideo.rtmp.obs1.connected === true ? '#8dff02eb' : 'white'" -->
  283.  
  284. <!-- <i mdbTooltip="Chose Video Mode" style="cursor:pointer" class="fas fa-caret-down ml-2" [style.color]="'white'"></i> -->
  285. {{ctbHook.video.mode }}
  286.  
  287. </button>
  288.  
  289. <div class="dropdown-menu dropdown-primary dropdown-menu-left" role="menu">
  290. <a class="dropdown-item" style="text-transform: none; font-size: 70%" (click)="ctbHook.video.mode = 'RTMP'">RTMP</a>
  291. <a class="dropdown-item" style="text-transform: none; font-size: 70%" (click)="ctbHook.video.mode = 'OBS'">OBS</a>
  292. </div>
  293. </div>
  294. </div>
  295. </div>
  296.  
  297. </div>
  298. <div class="col-md-2 ">
  299. <div class="row">
  300. <div class="btn-group btn-group-sm mt-1 mr-0" role="group" aria-label="Basic example">
  301.  
  302. <button *ngIf="ctbHook.video.connected === false" mdbBtn type="button" (click)="requireConnectVideo()"
  303. color="secondary" class="waves-light" mdbWavesEffect
  304. style="text-transform: none; font-size: 40%;"
  305. >
  306. <mdb-icon fas icon="plug"></mdb-icon>
  307. </button>
  308.  
  309. <button *ngIf="ctbHook.video.connected === true" mdbBtn type="button" (click)="requireDisconnectVideo()"
  310. color="red" class="waves-light" mdbWavesEffect
  311. style="text-transform: none; font-size: 60%;"
  312. >
  313. <mdb-icon fas icon="plug "></mdb-icon>
  314. </button>
  315.  
  316. </div>
  317. </div>
  318.  
  319. </div>
  320.  
  321. </div>
  322.  
  323. <!--todo VIDEO TYPE-->
  324.  
  325. <div class="row mt-1 mb-2">
  326. <div class="col-4">
  327. <div class="row">
  328. <span class="xlabel-sm">SOURCE</span>
  329. </div>
  330. </div>
  331.  
  332. <div class="col-6">
  333. <div class="row" >
  334. <div class="btn-group btn-group-sm" mdbDropdown >
  335. <!-- <button mdbDropdownToggle *ngIf="ctbHook.video.mode === 'rtmp' || ctbHook.video.mode === 'RTMP'"
  336. class="xlabel-sm dropdown-toggle btn" style="text-transform: none; font-size: 70%"
  337. [style.color]="ctbVideo.rtmp.obs1.connected === true ? '#8dff02eb' : 'darkgrey'">
  338. {{ctbHook.controller.connected === true ? memory.obsServers[activeAccountIndex].label : memory.obsServers[memory.ctbObsIndex].label}}
  339. </button> -->
  340. <button mdbDropdownToggle *ngIf="ctbHook.video.mode === 'obs' || ctbHook.video.mode === 'OBS'"
  341. class="xlabel-sm dropdown-toggle btn" style="text-transform: none; font-size: 70%"
  342. [style.color]="ctbHook.video.connected === true ? '#8dff02eb' : 'darkgrey'">
  343. {{ctbHook.video.connected === true ? memory.obsServers[memory.ctbObsIndex].label : memory.obsServers[memory.ctbObsIndex].label}}
  344. </button>
  345.  
  346. <div class="dropdown-menu dropdown-primary dropdown-menu-left" role="menu">
  347. <a class="dropdown-item" style="text-transform: none; font-size: 70%" *ngFor="let obs of memory.obsServers; let i = index" (click)="memory.ctbObsIndex = i">{{obs.label}}</a>
  348. </div>
  349. </div>
  350. </div>
  351. </div>
  352.  
  353. <div class="col-md-2 mb-3">
  354. <div class="row">
  355. <!-- <div class="btn-group btn-group-sm mt-0 pt-0 mr-0" role="group" aria-label="Basic example">
  356. <div class="btn-group btn-group-sm" mdbDropdown>
  357.  
  358. <button *ngIf="ctbHook.video.connected === false" mdbBtn type="button" color="secondary" class="waves-light" mdbWavesEffect mdbDropdownToggle >
  359. <mdb-icon fas icon="caret-down"></mdb-icon>
  360. </button>
  361.  
  362. <div class="dropdown-menu dropdown-primary dropdown-menu-right">
  363. <a class="dropdown-item" *ngFor="let server of memory.obsServers; let i = index;" (click)="memory.ctbObsIndex = i">{{server.label}}</a>
  364. </div>
  365. </div>
  366.  
  367.  
  368.  
  369.  
  370. </div> -->
  371. </div>
  372.  
  373. </div>
  374. </div>
  375.  
  376.  
  377. <div class="row mb-2" *ngIf="ctbHook.video.connected === true">
  378. <div class="col-4">
  379. <div class="row">
  380. <span class="xlabel-sm">PROFILE</span>
  381. </div>
  382. </div>
  383.  
  384. <div class="col-8">
  385. <div class="row">
  386.  
  387. <!-- <span *ngIf="ctbHook.video.mode ==='rtmp' || ctbHook.video.mode === 'RTMP'"
  388. class="xlabel-sm" style="cursor: pointer;" (click)="showObsProfileMenu()"
  389. [style.color]="ctbVideo.rtmp.obs1.profile && ctbVideo.rtmp.obs1.connected === true ? 'white' : ''" mdbTooltip="Click to Change">
  390. {{ctbVideo.rtmp.obs1.profile}}
  391. </span> -->
  392.  
  393. <!-- <span
  394. class="xlabel-sm" style="cursor: pointer;" (click)="showObsProfileMenu()"
  395. [style.color]=" ctbHook.video.profile && ctbHook.video.connected === true ? 'white' : 'darkgrey'" mdbTooltip="Click to Change">
  396. {{ ctbHook.video.profile}}
  397. </span> -->
  398.  
  399. <div class="btn-group btn-group-sm" mdbDropdown >
  400. <!-- <button mdbDropdownToggle *ngIf="ctbHook.video.mode === 'rtmp' || ctbHook.video.mode === 'RTMP'"
  401. class=" dropdown-toggle btn"
  402. [style.color]="ctbVideo.rtmp.obs1.connected === true ? '#8dff02eb' : 'darkgrey'">
  403. {{ctbHook.video.connected === true ? ctbHook.video.profile : ''}}
  404. </button> -->
  405.  
  406. <span mdbDropdownToggle *ngIf="getVideoMode() === 'OBS'"
  407. class=" dropdown-toggle btn" style="text-transform: none; font-size: 70%" [disabled]="ctbHook.video.connected===true"
  408. [style.color]="ctbHook.video.connected === true ? '#8dff02eb' : 'darkgrey'">
  409. {{ctbHook.video.connected === true ? ctbHook.video.profile : ''}}
  410. </span>
  411.  
  412. <div class="dropdown-menu dropdown-primary dropdown-menu-left" role="menu">
  413. <a class="dropdown-item"
  414. style="text-transform: none; font-size: 70%"
  415.  
  416. *ngFor="let profile of ctbHook.video.profiles; let i = index" (click)="obsProfileChange(profile); ">{{profile}}</a>
  417. </div>
  418. </div>
  419.  
  420.  
  421.  
  422. </div>
  423. </div>
  424.  
  425. <!--<div class="col-2">-->
  426.  
  427. <!--</div>-->
  428. </div>
  429.  
  430. <!--profile-->
  431.  
  432.  
  433. <div class="row mb-1" *ngIf="ctbHook.video.connected === true">
  434. <div class="col-4">
  435. <div class="row">
  436. <span class="xlabel-sm">STATE</span>
  437. </div>
  438. </div>
  439.  
  440. <div class="col-6">
  441. <div class="row" *ngIf="ctbHook.video.mode==='obs'">
  442.  
  443. <span class="xlabel-sm" *ngIf="ctbHook.video.status === 'public'" [style.color]="'#8dff02eb'">
  444. PUBLIC
  445. </span>
  446.  
  447. <span class="xlabel-sm" *ngIf="ctbHook.video.status === 'away'" [style.color]="'orange'">
  448. AWAY
  449. </span>
  450.  
  451. <!--to be implemented-->
  452. <span class="xlabel-sm" *ngIf="ctbHook.video.status === 'thanks'" [style.color]="'blue'">
  453. THANKS
  454. </span>
  455.  
  456. <span class="xlabel-sm" *ngIf="ctbHook.video.status === 'offline'" [style.color]="'darkgrey'">
  457. INACTIVE
  458. </span>
  459.  
  460. <span class="xlabel-sm" *ngIf="ctbHook.video.status === ''" [style.color]="'black'">
  461. IDLE
  462. </span>
  463. </div>
  464.  
  465.  
  466. </div>
  467.  
  468. <div class="col-2">
  469.  
  470. </div>
  471. </div>
  472.  
  473.  
  474.  
  475.  
  476. </div>
  477. <!--</div>-->
  478. </li>
  479.  
  480. <!-- rtmp part -->
  481.  
  482. <!--*ngIf="mfcMemory.ctbHook.controller === 'connected'"-->
  483. <li class="list-group-item pl-2 pr-4 py-1" >
  484. <!--<div class="container">-->
  485. <div class="col-md-12">
  486. <div class="row mb-2">
  487.  
  488. <div class="col-md-4">
  489. <div class="row">
  490. <label class="mt-1">{{vendorName}}</label>
  491.  
  492. </div>
  493. </div>
  494.  
  495. <div class="col-md-6">
  496. <div class="row ">
  497. <!--streamstates: off, pub, pv, away-->
  498.  
  499. <!--token balance-->
  500.  
  501. <!--<div class="spinner-grow" role="status">-->
  502. <!--<span class="sr-only">Loading...</span>-->
  503. <!--</div>-->
  504.  
  505. <!--act acc: {{activeAccountIndex}}-->
  506.  
  507. <div class="xstatus" >
  508. <div class="btn-group btn-group-sm" mdbDropdown >
  509. <button mdbDropdownToggle class="xlabel-sm dropdown-toggle btn" style="text-transform: none; font-size: 80%" [disabled]="ctbHook.loggedIn === true" [style.color]="ctbHook.loggedIn === true ? '#8dff02eb' : 'white'">
  510. <!-- {{ctbData.serverIps[ctbHook.activeAccountIndex] ? ctbData.serverIps[ctbHook.activeAccountIndex].username : memory.botServers[activeAccountIndex]}} -->
  511. <!-- ({{activeAccount.vendor}}) -->
  512. <span *ngIf="ctbHook.loggedIn===false">
  513. {{ _activeAccount}}
  514. </span>
  515.  
  516. <span *ngIf="ctbHook.loggedIn===true">
  517. {{ctbHook.activeAccount ? ctbHook.activeAccount.username : 0}}
  518. </span>
  519. </button>
  520.  
  521. <div class="dropdown-menu dropdown-primary dropdown-menu-left" role="menu">
  522. <a class="dropdown-item" style="text-transform: none; font-size: 70%" *ngFor="let acc of filteredAccounts(); let i = index"
  523. (click)="activeAccount = acc; _activeAccount = acc.username">{{acc.username}} ({{acc.vendor}})</a>
  524. </div>
  525. </div>
  526. </div>
  527.  
  528. <!-- <div class="xstatus" [style.color]="ctbHook.loggedIn === true ? '#8dff02eb' : 'darkgrey'">
  529. {{ctbData.serverIps[ctbHook.activeAccountIndex] ? ctbData.serverIps[ctbHook.activeAccountIndex].username : ctbData.serverIps[activeAccountIndex]}}
  530.  
  531. <div class="btn-group btn-group-sm" mdbDropdown *ngIf="ctbHook.loggedIn === false">
  532. <span mdbDropdownToggle class="xlabel-sm" style="cursor: pointer;" [style.color]="'white'" (click)="showObsProfileMenu()" >
  533. <i mdbTooltip="Chose OBS Server" style="cursor:pointer" class="fas fa-caret-down ml-2" [style.color]="'white'"></i>
  534. </span>
  535.  
  536. <div class="dropdown-menu dropdown-primary dropdown-menu-left" >
  537. <a class="dropdown-item" *ngFor="let account of ctbData.serverIps; let i = index;" (click)="activeAccountIndex = i; ctbHook.activeAccountIndex = i">{{account.username}}</a>
  538. </div>
  539. </div>
  540. </div> -->
  541.  
  542. </div>
  543.  
  544. </div>
  545.  
  546. <div class="col-md-2">
  547. <div class="row">
  548. <div class="btn-group btn-group-sm mt-1 mr-0" role="group" aria-label="Basic example">
  549.  
  550. <button *ngIf="ctbHook.loggedIn === false" mdbWavesEffect mdbBtn type="button"
  551. color="secondary" class="waves-light" (click)="requireLogin()" mdbTooltip="Login"
  552. style="text-transform: none; font-size: 60%;"
  553. >
  554. <mdb-icon fas icon="plug"></mdb-icon>
  555. </button>
  556.  
  557.  
  558. <button *ngIf="ctbHook.loggedIn === true" (click)="requireLogout()" mdbBtn mdbTooltip="Logout"
  559. type="button" color="red" class="waves-light" mdbWavesEffect
  560. style="text-transform: none; font-size: 70%;"
  561. >
  562. <mdb-icon fas icon="plug"></mdb-icon>
  563. </button>
  564.  
  565. </div>
  566. </div>
  567.  
  568. </div>
  569.  
  570. </div>
  571.  
  572. <div class="row mb-2">
  573. <div class="col-4">
  574. <div class="row">
  575. <span class="xlabel-sm" >BC STATUS</span>
  576. </div>
  577. </div>
  578.  
  579. <div class="col-6">
  580. <div class="row">
  581. <!--<span class="xlabel-sm" mdbTooltip="off, pub, private, group, away, thanks?">[ctb window st]</span>-->
  582. <!--<mdb-badge color="black" style="cursor: default;" mdbTooltip="off, pub, private, group, away, thanks?">OFFLINE</mdb-badge>-->
  583. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'public'" success="true" style="cursor: default;">
  584. PUBLIC
  585. </mdb-badge>
  586. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'private'" color="secondary" style="cursor: default;">
  587. PRIVATE
  588. </mdb-badge>
  589. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'away'" mdbTooltip="Click to Return" warning="true" style="cursor: pointer;">
  590. AWAY
  591. </mdb-badge>
  592. <mdb-badge *ngIf="ctbHook.vendor.broadcastStatus === 'offline'" color="red" style="cursor: default;">
  593. OFFLINE
  594. </mdb-badge>
  595. </div>
  596. </div>
  597.  
  598. <div class="col-2">
  599.  
  600. </div>
  601. </div>
  602.  
  603. <div class="row mb-1">
  604. <div class="col-4">
  605. <div class="row">
  606. <span class="xlabel-sm">TOKENS</span>
  607. </div>
  608. </div>
  609.  
  610. <div class="col-6">
  611. <div class="row">
  612. <span class="xlabel-sm">{{ctbHook.vendor.tokenBalance}}</span>
  613.  
  614. </div>
  615. </div>
  616.  
  617. <div class="col-2">
  618.  
  619. </div>
  620. </div>
  621.  
  622. <div class="row mb-1">
  623. <div class="col-4">
  624. <div class="row">
  625. <span class="xlabel-sm">RANK</span>
  626. </div>
  627. </div>
  628.  
  629. <div class="col-6">
  630. <div class="row">
  631. <span class="xlabel-sm">{{ctbHook.vendor.rank}}</span>
  632.  
  633. </div>
  634. </div>
  635.  
  636. <div class="col-2">
  637.  
  638. </div>
  639. </div>
  640.  
  641. <div class="row mb-1" *ngIf="ctbHook.loggedIn===true">
  642. <div class="col-4">
  643. <div class="row">
  644. <span class="xlabel-sm py-1">APP</span>
  645. </div>
  646. </div>
  647. <div class="col-3">
  648. <div class="row">
  649. <!-- <input #amount style="font-size: 80%;" value="1" mdbInput type="number" class="form-control form-control-sm mx-1"> -->
  650. <mdb-badge *ngIf="ctbHook.vendor.app.running === false" color="orange">NONE</mdb-badge>
  651. <mdb-badge *ngIf="ctbHook.vendor.app.running === true" color="green">{{ctbHook.vendor.app.name}}</mdb-badge>
  652.  
  653. </div>
  654. </div>
  655.  
  656. <div class="col-5">
  657. <!-- <div class="row">
  658. <input #msg style="font-size: 80%;" placeholder="tip message" mdbInput type="text" class="form-control form-control-sm mx-1">
  659.  
  660. </div>
  661. </div> -->
  662. </div>
  663.  
  664. </div>
  665.  
  666. <div class="row mb-1" *ngIf="ctbHook.loggedIn===true">
  667. <div class="col-4">
  668. <div class="row">
  669. <span class="xlabel-sm mt-1">APP</span>
  670. </div>
  671. </div>
  672.  
  673. <div class="col-6">
  674. <div class="row" *ngIf="ctbHook.loggedIn===true">
  675.  
  676. <div class="xstatus" >
  677. <div class="btn-group btn-group-sm" mdbDropdown >
  678. <button mdbDropdownToggle class="xlabel-sm dropdown-toggle btn" style="text-transform: none; font-size: 70%" >
  679. <span>
  680. {{ _ctbAppOptions[_ctbSelectedAppIndex]}}
  681. </span>
  682.  
  683. </button>
  684.  
  685. <div class="dropdown-menu dropdown-primary dropdown-menu-left" role="menu">
  686. <a class="dropdown-item" style="text-transform: none; font-size: 70%" *ngFor="let app of _ctbAppOptions; let i = index"
  687. (click)="_ctbSelectedAppIndex = i">{{app}}</a>
  688. </div>
  689. </div>
  690. </div>
  691.  
  692. </div>
  693. </div>
  694.  
  695. <div class="col-2">
  696. <div class="row">
  697. <div class="btn-group btn-group-sm mt-1 mr-0" role="group" aria-label="Basic example">
  698.  
  699. <button mdbWavesEffect mdbBtn type="button"
  700. color="secondary" class="waves-light" (click)="data.requireStartAppBot(data.ctbSocket, 'ctb', _ctbAppOptions[_ctbSelectedAppIndex])" mdbTooltip="Start App"
  701. style="text-transform: none; font-size: 60%;"
  702. >
  703. <mdb-icon fas icon="play"></mdb-icon>
  704. </button>
  705.  
  706. </div>
  707. </div>
  708. </div>
  709. </div>
  710.  
  711.  
  712. <div class="row mb-1" *ngIf="ctbHook.vendor.broadcastStatus === 'private'">
  713. <div class="col-4">
  714. <div class="row">
  715. <span class="xlabel-sm">PV TIME</span>
  716. </div>
  717. </div>
  718.  
  719. <div class="col-8">
  720. <div class="row">
  721. <span class="xlabel-sm" [style.color]="'white'">{{ctbHook.pvGrpShow.currentTime}} </span>
  722.  
  723. </div>
  724. </div>
  725.  
  726. </div>
  727.  
  728. <!-- *ngIf="ctbHook.vendor.broadcastStatus === 'private'" -->
  729. <div class="row mb-1" *ngIf="ctbHook.vendor.broadcastStatus === 'private'">
  730. <div class="col-4">
  731. <div class="row">
  732. <span class="xlabel-sm">PV PROFITE</span>
  733. </div>
  734. </div>
  735.  
  736. <div class="col-8">
  737. <div class="row">
  738. <span class="xlabel-sm" [style.color]="'white'">{{ctbHook.pvGrpShow.showProfite}} Tk ({{ctbHook.pvGrpShow.showProfite / 20}} USD) [{{(roundNumber((ctbHook.pvGrpShow.showProfite / 20) / 60))}} Tk/min]</span>
  739.  
  740. </div>
  741. </div>
  742.  
  743.  
  744. </div>
  745.  
  746. <!-- *ngIf="ctbHook.vendor.broadcastStatus === 'private'" -->
  747. <div class="row mb-1" *ngIf="ctbHook.vendor.broadcastStatus === 'private'">
  748. <div class="col-4">
  749. <div class="row">
  750. <span class="xlabel-sm">PV INTERVAL</span>
  751. </div>
  752. </div>
  753.  
  754. <div class="col-8">
  755. <div class="row">
  756. <span class="xlabel-sm" [style.color]="'black'">{{ctbHook.pvGrpShow.scrapeInterval}}</span>
  757.  
  758. </div>
  759. </div>
  760.  
  761.  
  762. </div>
  763. <!--</div>-->
  764.  
  765. </div>
  766.  
  767. <!--</div>-->
  768. </li>
  769.  
  770.  
  771. <!--*ngIf="mfcMemory.ctbHook.browser === 'active' && mfcMemory.ctbHook"-->
  772.  
  773.  
  774.  
  775.  
  776. </ul>
  777.  
  778. <!--</div>-->
  779. </div>
  780. </div>
  781. </mdb-tab>
  782.  
  783.  
  784.  
  785.  
  786. <mdb-tab heading="<i class='fas fa-envelope'></i>">
  787. <div class="row ">
  788. <div class="col-md-12 ">
  789.  
  790. <ul *ngIf="pmConversations" class="list-group pm-conv-list" style="overflow-y: auto; " #scrollMe [scrollTop]="scrollMe.scrollHeight">
  791. <li *ngFor="let pmListItem of pmConversations; let i = index" class="list-group-item px-1 py-0">
  792. <!--[ngClass]="{'list-item-active': conv.username === activePmConversation.username}">-->
  793.  
  794. <!--cid {{conv.id}} - {{conv.username}}-->
  795. <!--todo # conv.id NOT .convID WIRED-->
  796.  
  797. <div class="row">
  798. <div class="col-9">
  799. <div class="nav-link icon-btn" (click)="setActivePmConversation(pmConversations[i].id, pmConversations[i].username)" (contextmenu)="showConversationsListMenu()">
  800. <span style="font-weight: 700; cursor: pointer" [style.color]="pmListItem.userColor">{{pmListItem.username}}</span>
  801. <span *ngIf="pmListItem.unreadCtr > 0" class="badge badge-info ml-2 ">{{pmListItem.unreadCtr}}</span>
  802. </div>
  803. <!-- <div class="form form-inline">
  804. <span style="font-weight: 100; font-size: 60%" [style.color]="'darkgrey'">ID: {{pmListItem.id}}</span>
  805. </div> -->
  806. </div>
  807.  
  808. <div class="col-3">
  809. <a class="nav-link icon-btn" (click)="deletePmConversation(pmConversations[i].id)" >
  810. <i class="fas fa-eye-slash" mdbTooltip='Hide'></i>
  811. </a>
  812. </div>
  813. </div>
  814.  
  815.  
  816.  
  817. </li>
  818. </ul>
  819.  
  820. </div>
  821. </div>
  822.  
  823. </mdb-tab>
  824.  
  825.  
  826. <mdb-tab #pm heading="<i class='fas fa-comment-alt'></i>">
  827. <div class="row">
  828. <div class="col-12">
  829.  
  830. <span mdbTooltip="Return to Conversations" class="pl-0" style="cursor: pointer;"><mdb-badge color="#616161" class=""><i class='fas fa-arrow-left'></i></mdb-badge></span>
  831. <span class="pl-0"><mdb-badge color="grey" class="">@{{activePmConversation ? activePmConversation.username : ''}}</mdb-badge></span>
  832.  
  833. <ul class="list-group pm-conversation" #scrollMe [scrollTop]="scrollMe.scrollHeight" [style.font-size.%]="global._scaleFactor">
  834.  
  835. <div *ngIf="activePmConversation.convID >= 0">
  836. <li *ngFor="let item of activePmConversation.msgs" class="list-group-item px-1 py-0" >
  837.  
  838. <span *ngIf="activePmConversation.convID > -1 " style="font-weight: 900; cursor: default" [style.color]="item.itemContent.userColor">
  839. {{ item.itemContent.username }}:
  840.  
  841. <span *ngFor="let p of item.itemContent.msg">
  842. <span *ngIf="p.type==='text'" style="font-weight: 100; font-style: normal; color: black">
  843. {{p.content}}
  844. </span>
  845. <span *ngIf="p.type==='emoji-ctb'" mdbTooltip="{{p.label}}">
  846. <img src="{{p.src}}">
  847. </span>
  848. </span>
  849.  
  850. <!-- <span style="font-weight: 100; color: black; font-style: normal;" >
  851. {{': ' + item.itemContent.msg}}
  852. </span> -->
  853. </span>
  854.  
  855. </li>
  856. </div>
  857.  
  858. </ul>
  859. </div>
  860. </div>
  861.  
  862. <div class="row ">
  863. <div class="col-10">
  864. <div class="form-group row pl-1">
  865. <div class="col-12">
  866. <input #pmtext mdbInput type="text" class="form-control form-control-sm" (keydown)="sendPmByKeyboard($event, pmtext.value)">
  867. </div>
  868. </div>
  869. </div>
  870. <div class="col-2">
  871. <div class="row">
  872. <div class="btn-group btn-group-sm" role="group" aria-label="Basic example">
  873. <button mdbBtn type="button" color="secondary" class="waves-light" mdbWavesEffect (click)="sendPrivateMsg( pmtext.value, activePmConversation.username ? activePmConversation.username : getPmTarget())">
  874. <mdb-icon fas icon="paper-plane"></mdb-icon>
  875. </button>
  876.  
  877. </div>
  878. </div>
  879.  
  880.  
  881. </div>
  882. </div>
  883.  
  884. </mdb-tab>
  885.  
  886. <mdb-tab heading="<i class='fas fa-cog'></i>">
  887. <div class="row">
  888. <div class="col-12">
  889.  
  890. <!--<div class=" pmuserlist scrollbar-primary">-->
  891.  
  892. <ul class="list-group ">
  893.  
  894. <li class="list-group-item default-list pl-0">
  895. <div class="container">
  896. <div class="col-md-12">
  897. <div class="row">
  898. <mdb-checkbox >Greys can Talk</mdb-checkbox>
  899. </div>
  900. </div>
  901. </div>
  902. </li>
  903.  
  904.  
  905.  
  906. </ul>
  907.  
  908. </div>
  909. </div>
  910. </mdb-tab>
  911.  
  912. <mdb-tab heading="<i class='fas fa-robot'></i>" style="overflow-x: hidden; overflow-y: auto; max-height: 300px;">
  913.  
  914. <app-tipbot-ui></app-tipbot-ui>
  915.  
  916. </mdb-tab>
  917.  
  918. </mdb-tabset>
  919.  
  920.  
  921. </div>
  922. </div>
  923. </mdb-card-body>
  924. </mdb-card>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement