x x x
Only portrait mode is currently supported - please rotate your device.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

HTML
<style>
#rw_theme_header, #rw_theme_header{ display: none! important;}
/* HIDING INTERCOM */ 
#intercom-frame{ display: none! important;}
div#intercom-container {
    display: none !important;
}
.intercom-lightweight-app {
    display: none;
}
/* HIDING ACCESSIBILITY */
body .acsb-trigger.acsb-ready {
    display: none !important;
}
/* ZOOM STYLING. */
.chat-container .chat-participant-header {
    visibility: hidden;
}
#wc-container-right div.list-group .chat-participant-header {
    visibility: visible !important;
}
#wc-footer .pop-menu:hover {
    background: #3ddeed !important;
}
ul.popmenu.audioAllowMenu.dropdown-menu {
    background: #000000;
}

.popmenu > li.selected > a:before {
    left: 4px;
    top: 4px;
}

.popmenu .dropdown-header {
    color: white;
    font-size: 13px;
    font-weight: bolder;
}
button.s-resize.ax-outline-offset-1[aria-label="Fit to Window"] {
    display: none;
}
.chat-control.clearfix {
    display: flex;
    align-items: center;
}

.chat-control button#receiverListDropDownOpen {
    background: #000000 !important;
    color: white;
    height: 100%;
    border: none;
}

.chat-control .pull-right {
    margin-left: auto;
}

.chat-control button#dropdown-no-caret {
    background: #000000 !important;
    height: 25px !important;
    border: none;
    padding: 2px 10px !important;
}
footer#wc-footer {
    background: #000000;
    color: white;
    font-size: 14px;
    height: 60px;
}

button.meeting-info-icon__icon-wrap.ax-outline-blue {
    display: none;
}

i.e2e-encryption-indicator__encrypt-indicator.e2e-encryption-indicator__encrypt-indicator--2 {
    display: none;
}

.more-button {
    display: none;
}
.security-option-menu.dropup.btn-group button.btn, .security-option-menu.dropup.btn-group button.btn span {
    background: #000000;
    background-color: #000000;
    color: white;
    border: none;
    padding: 0px;
}

.security-option-menu.dropup.btn-group button.btn span {
    margin-bottom: 0px;
    margin: auto;
}

#wc-footer > div, #wc-footer span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.security-option-menu.dropup.btn-group {
    display: flex;
}

i.security-option-menu__button-icon {
    height: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
}

.footer-button__button-label {
    max-width: 135px;
}
.security-option-menu.dropup.btn-group {
    display: flex;
    width: 100px;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: none;
}

.security-option-menu.dropup.btn-group button.btn, .security-option-menu.dropup.btn-group button.btn span {
    background: #000000;
    background-color: #000000;
    color: white;
    border: none;
    padding: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* margin-top: 1px; */
}

.security-option-menu.dropup.btn-group button.btn {
    height: 88%;
}

#zmmtg-root .btn-default {
    background: #000000;
    color: white;
    height: 100%;
}

#zmmtg-root .btn-default span, #zmmtg-root .btn-default div {
    color: white;
    font-size: 14px;
}

button#moreButton {}

span.more-button__more-icon {
    margin-right: 0px;
    margin: auto;
}

button.join-audio.ax-outline {
    background: var(--sidebar--bb-fill) !important;
}

#wc-footer span {
    color: white;
}

.meeting-app #wc-footer .left-tool-item a {
    color: white;
}

.meeting-app .meeting-client-inner footer#wc-footer button:hover {
    background: #3ddeed;
    background-color: #3ddeed;
}

button[aria-label="close the manage participants list pane"], button[aria-label="close the participants list pane"] {
    background: #3ddeed !important;
}

button[aria-label="close the chat pane"] {
    background: #3ddeed !important;
}

.footer-button__button:focus{
    background: #3ddeed !important;
}


#wc-footer .open .dropdown-toggle.btn-default[aria-expanded="true"] {
    background: #3ddeed !important;
    height: 100%;
    border-radius: 0px;
}

#zmmtg-root 
 button#dropdown-no-caret {
    background: transparent;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 9px;
}
button#videoMenu {
    display: none;
}

button#audioMenu {
    padding: 0px;
    border: none;
}

/* hide secutiry */
.security-option-menu.dropup.btn-group {
    display: none;
}

/* END ZOOM STYLING */
</style>

	 <link type="text/css" rel="stylesheet" href="https://source.zoom.us/1.7.10/css/bootstrap.css" />
    <link type="text/css" rel="stylesheet" href="https://source.zoom.us/1.7.10/css/react-select.css" />
    <!-- import ZoomMtg dependencies -->
    <script src="https://source.zoom.us/1.7.10/lib/vendor/react.min.js"> </script>
    <script src="https://source.zoom.us/1.7.10/lib/vendor/react-dom.min.js"> </script>
    <script src="https://source.zoom.us/1.7.10/lib/vendor/redux.min.js"> </script>
    <script src="https://source.zoom.us/1.7.10/lib/vendor/redux-thunk.min.js"> </script>
    <script src="https://source.zoom.us/1.7.10/lib/vendor/jquery.min.js"> </script>
    <script src="https://source.zoom.us/1.7.10/lib/vendor/lodash.min.js"> </script>

    <!-- import ZoomMtg -->
    <script src="https://source.zoom.us/zoom-meeting-1.7.10.min.js"> </script>
    <style>
form#meeting_form {
    display: flex;
    flex-direction: column;
    width: 90%;
    margin: auto;
    height: 100%;
    justify-content: center;
}

input#display_name {
    width: auto;
    border: none;
    margin-left: 8px;
    font-size: 26px;
}

.join-input-container {
    display: flex;
    align-items: center;
    font-family: var(--main-font-family);
    justify-content: center;
    margin: 10px;
    margin-bottom: 20px;
}

.join-input-container p {
    margin-bottom: 0px;
    font-size: 26px;
	text-align: center;
}

input#display_name:focus, input#display_name:active, input#display_name:focus-within {
    outline: none;
    border: none;
}
input:focus, input:active, input:focus-within {
    outline: none;
    border: none;
}

button#join_meeting {
    width: 150px;
    font-size: 22px;
    padding: 10px 0px;
    margin: 0px auto;
    background: var(--primary-color);
    border-radius: 5px;
    color: white;
}

@media only screen and (max-device-width: 480px) and (min-device-width: 320px) {

	#postiontoggle {
		display: none !important;
	}

}

    </style>

<div id="zoom_join_container" class="zoom_join_container" style="
    position: fixed;
    z-index: 9999;
    top: 50%;
    left: 50%;
    width: 450px;
    height: 200px;
    background: white;
    border-radius: 16px;    margin-top: -100px;
    margin-left: -225px;
"><form class="" id="meeting_form"> <div class="join-input-container"><p>Join as</p><input type="text" name="display_name" id="display_name" value="" maxlength="100" placeholder="Enter your name here..." class="" required=""></div>
                    
                    <button type="submit" class="" id="join_meeting">Enter Now</button>
                </form></div>
<script>
    ZoomMtg.setZoomJSLib('https://dmogdx0jrul3u.cloudfront.net/1.7.10/lib', '/av'); 
	ZoomMtg.preLoadWasm();
    ZoomMtg.prepareJssdk();

    var API_KEY = 'MvgPLz4FTmNLKB4vn6ZmdyuhSx2ybr9RHnCuilADqL2cQAeBMDrRqBBTnQ';

	
	// Set the name and company of user who is joining
		if(window.location.href.includes("mc=true")){
			$("#display_name").hide();
			$("#meeting_form p").text("Joining With Meeting Controls");
			document.getElementById('display_name').value = "Meeting Controls User";
		}else if(AJS.params.currentUserFullname){
			$("#display_name").hide();
			var zoom_enter_name = "";
			 jQuery.ajax({
				url: "/rest/scriptrunner/latest/custom/self",
				type: "get",
				dataType: 'json',
				contentType: 'application/json',
				async: false,
				success: function (data) {
					zoom_enter_name = data.fullname;
					$("#meeting_form p").text("Joining as " + zoom_enter_name);
					document.getElementById('display_name').value = zoom_enter_name;
				}, 
				error: function (err) {
					zoom_enter_name = AJS.params.currentUserFullname;
					$("#meeting_form p").text("Joining as " + AJS.params.userDisplayName);
					document.getElementById('display_name').value = zoom_enter_name;
				}
                
			}); 
	}

	// Get user groups
	var isZoomAdmin = false; 
	var isJudge = false; 
	var isPitcher = false; 
	var isAudience = false; 
	var isSpeaker = false;
	var hasMeetingControls = false;
	if(AJS.params.remoteUser){
		// get user's groups 
    	jQuery.ajax({
      		url: "/rest/api/user/memberof?username=" + AJS.params.remoteUser,
      		type: "get",
      		dataType: 'json',
      		async: false,
      		success: function (data) {
        		var res = data.results;
        		for (var i = 0; i < res.length; i++) {
			        var groupName = res[i].name;
          			if (groupName === 'gsvlabs-admins' || groupName === 'confluence-administrators') {
            			isZoomAdmin = true;
          			}
          			if (groupName === 'judge-users') {
            			isJudge = true;
          			}
          			if (groupName === 'pitch-users') {
            			isPitcher = true;
          			}
          			if (groupName === 'speaker-users') {
            			isSpeaker = true;
          			} 
          			if (groupName === 'meetingcontrols-users') {
            			hasMeetingControls = true;
          			}
				}
			}
		});
	}





    document.getElementById('meeting_form').addEventListener('submit', function(e){
      e.preventDefault();

      var meetingNumber = getQueryVariableFromUrl("mid");
      var passWord = getQueryVariableFromUrl("pwd");
      var isMeetingControls = getQueryVariableFromUrl("mc") === "notfound" ? false : true;
	  var screenShareProp = false;
	  var disableJoinAudioProp = false; 
	  var isSupportAVProp = true; 
	  var audioPanelAlwaysOpenProp = false;
	  var showMeetingHeaderProp = false;
	  var curr_url = window.location.href;
	  var emoji_user = "";
	  var enableEmoji = true;


      var signature = ""; 
      var scriptrunnerurl = "";
      var meetConfig = {
          apiKey: API_KEY,
          meetingNumber,
          userName: document.getElementById('display_name').value,
          passWord,
          leaveUrl: curr_url
      };

	  if (isMeetingControls && hasMeetingControls){
        scriptrunnerurl = "/rest/scriptrunner/latest/custom/signaturemc?meetingNumber=" + meetConfig.meetingNumber;
		screenShareProp = true;
		disableJoinAudioProp = false;
		isSupportAVProp = true; 
		audioPanelAlwaysOpenProp = true;
      } else if (isZoomAdmin){
        scriptrunnerurl = "/rest/scriptrunner/latest/custom/adminsignature?meetingNumber=" + meetConfig.meetingNumber;
		screenShareProp = true;
		disableJoinAudioProp = false;
		isSupportAVProp = true; 
		audioPanelAlwaysOpenProp = true;
		emoji_user = "⭐";
      } else if (isJudge){
		console.log("joining as judge");
        scriptrunnerurl = "/rest/scriptrunner/latest/custom/judgesignature?meetingNumber=" + meetConfig.meetingNumber;
		disableJoinAudioProp = false;
		isSupportAVProp = true;
		audioPanelAlwaysOpenProp = true;
		emoji_user = "⚖";
	  } else if (isPitcher){
        scriptrunnerurl = "/rest/scriptrunner/latest/custom/pitchsignature?meetingNumber=" + meetConfig.meetingNumber;
		screenShareProp = true;
		disableJoinAudioProp = false;
		isSupportAVProp = true;
		audioPanelAlwaysOpenProp = true;
		emoji_user = "🚀";
	  } else if (isSpeaker){
        scriptrunnerurl = "/rest/scriptrunner/latest/custom/speakersignature?meetingNumber=" + meetConfig.meetingNumber;
		disableJoinAudioProp = false;
		isSupportAVProp = true;
		audioPanelAlwaysOpenProp = true;
		emoji_user = "🎤";
	  }	else {
		isAudience = true;
        scriptrunnerurl = "/rest/scriptrunner/latest/custom/signature?meetingNumber=" + meetConfig.meetingNumber;
      }

	  	if(enableEmoji){
      		meetConfig.userName = emoji_user + " " + meetConfig.userName;
		}
	  // hide leave meeting button for everybody but admin 
	  if(!isZoomAdmin){
		$("head").append(`<style>button.footer__leave-btn.ax-outline { visibility: hidden;}
button.footer-button__button.ax-outline[aria-label="Record"] {
    display: none;
}</style>`);
	  }
	  if(isAudience){
		console.log("is audience, hiding video");
		$("head").append(`<style>button.join-audio.ax-outline[aria-label="start sending my video"] {visibility: hidden;}
button.join-audio.ax-outline {
    visibility: hidden !important;
}
button#audioMenu {
    display: none;
}

button.button-margin-right.ax-outline-blue.btn.btn-xs.btn-primary {
    display: none;
}
.participants-footer .bottom .bottom-btn-container {
    display: none;
}button.join-audio.ax-outline[aria-label="join audio"] {
    visibility: visible !important;
}
</style>`);
	  }

if(isJudge){

		$("head").append(`<style>button[aria-label="Stop Recording"] {
    display: none;
}

button.zm-btn.recording-indication__stop-btn.zm-btn--button.zm-btn__outline--blue.zm-btn-icon {
    display: none;
}
</style>`);
}

      jQuery.ajax({
          url: scriptrunnerurl,
          type: "get",
          dataType: 'json',
          contentType: 'application/json',
          async: false,
          success: function (data) {
            console.log("Returning", data);
            signature = data.signature;
			var currUserEmail = AJS.params.remoteUser ? AJS.params.remoteUser : "";
			if(isMeetingControls && hasMeetingControls){ currUserEmail = ""; meetConfig.userName = "Meeting Controls"; }
			$('#zoom_join_container').hide();
            ZoomMtg.init({
                leaveUrl: curr_url,
				videoHeader: true,
				screenShare: screenShareProp,
				disableJoinAudio: disableJoinAudioProp,
				isSupportAV: isSupportAVProp,
				audioPanelAlwaysOpen: audioPanelAlwaysOpenProp,
				showMeetingHeader: showMeetingHeaderProp, 
				disableInvite: true,
                success: function () {
                    ZoomMtg.join(
                        {
                            meetingNumber: meetConfig.meetingNumber,
                            userName: meetConfig.userName,
                            signature: signature,
                            apiKey: meetConfig.apiKey,
							userEmail: currUserEmail,
                            passWord: meetConfig.passWord,
                            success: function(res){
                                $('#zoom_join_container').hide();
                                console.log('join meeting success');
                            },
                            error: function(res) {
                                console.log(res);
                            }
                        }
                    );
                },
                error: function(res) {
                    console.log(res);
                }
            });
          }, 
          error: function (err){
            console.log(err);
          },
          complete: function(){
          }
      }); 

    });

</script>

...