diff --git a/bbb-learning-dashboard/src/App.js b/bbb-learning-dashboard/src/App.js
index 52fe909a5c..4d3e54e52a 100644
--- a/bbb-learning-dashboard/src/App.js
+++ b/bbb-learning-dashboard/src/App.js
@@ -27,14 +27,27 @@ class App extends React.Component {
const urlSearchParams = new URLSearchParams(window.location.search);
const params = Object.fromEntries(urlSearchParams.entries());
if (typeof params.meeting === 'undefined') return;
- if (typeof params.report === 'undefined') return;
- fetch(`${params.meeting}/${params.report}/activity_report.json`)
- .then((response) => response.json())
- .then((json) => {
- this.setState({ activitiesJson: json });
- document.title = `Learning Dashboard - ${json.name}`;
+ let learningDashboardAccessToken = '';
+ if (typeof params.report !== 'undefined') {
+ learningDashboardAccessToken = params.report;
+ } else {
+ const cookieName = `learningDashboardAccessToken-${params.meeting}`;
+ const cDecoded = decodeURIComponent(document.cookie);
+ const cArr = cDecoded.split('; ');
+ cArr.forEach((val) => {
+ if (val.indexOf(`${cookieName}=`) === 0) learningDashboardAccessToken = val.substring((`${cookieName}=`).length);
});
+ }
+
+ if (learningDashboardAccessToken !== '') {
+ fetch(`${params.meeting}/${learningDashboardAccessToken}/activity_report.json`)
+ .then((response) => response.json())
+ .then((json) => {
+ this.setState({ activitiesJson: json });
+ document.title = `Learning Dashboard - ${json.name}`;
+ });
+ }
}
render() {
@@ -159,8 +172,13 @@ class App extends React.Component {
{ this.setState({ tab: 'overview' }); }}>
activitiesJson.endedOn > 0 || u.leftOn === 0).length}
cardClass="border-pink-500"
iconClass="bg-pink-50 text-pink-500"
onClick={() => {
diff --git a/bigbluebutton-html5/imports/ui/components/learning-dashboard/service.js b/bigbluebutton-html5/imports/ui/components/learning-dashboard/service.js
index 51acab0be7..635e39d5cd 100644
--- a/bigbluebutton-html5/imports/ui/components/learning-dashboard/service.js
+++ b/bigbluebutton-html5/imports/ui/components/learning-dashboard/service.js
@@ -29,7 +29,10 @@ const getLearningDashboardAccessToken = () => ((
) || {}).password || {}).learningDashboardAccessToken || null;
const openLearningDashboardUrl = (lang) => {
- window.open(`/learning-dashboard/?meeting=${Auth.meetingID}&report=${getLearningDashboardAccessToken()}&lang=${lang}`, '_blank');
+ const cookieExpiresDate = new Date();
+ cookieExpiresDate.setTime(cookieExpiresDate.getTime() + 3600000);
+ document.cookie = `learningDashboardAccessToken-${Auth.meetingID}=${getLearningDashboardAccessToken()}; expires=${cookieExpiresDate.toGMTString()}; path=/`;
+ window.open(`/learning-dashboard/?meeting=${Auth.meetingID}&lang=${lang}`, '_blank');
};
export default {
diff --git a/bigbluebutton-html5/public/locales/en.json b/bigbluebutton-html5/public/locales/en.json
index dca9fd3b68..8af2705717 100755
--- a/bigbluebutton-html5/public/locales/en.json
+++ b/bigbluebutton-html5/public/locales/en.json
@@ -892,7 +892,8 @@
"app.learningDashboard.dashboardTitle": "Learning Dashboard",
"app.learningDashboard.indicators.meetingStatusEnded": "Ended",
"app.learningDashboard.indicators.meetingStatusActive": "Active",
- "app.learningDashboard.indicators.participants": "Participants",
+ "app.learningDashboard.indicators.participantsOnline": "Active Participants",
+ "app.learningDashboard.indicators.participantsTotal": "Total Number Of Participants",
"app.learningDashboard.indicators.polls": "Polls",
"app.learningDashboard.indicators.raiseHand": "Raise Hand",
"app.learningDashboard.indicators.activityScore": "Activity Score",