diff --git a/app/assets/locales/en.json b/app/assets/locales/en.json
index 8fc8bcd0e1..547eaa4619 100644
--- a/app/assets/locales/en.json
+++ b/app/assets/locales/en.json
@@ -185,14 +185,13 @@
"protected": "Protected",
"public": "Public",
"public_protected": "Public/Protected",
- "formats_help": "Shows the available playback types (for example, Presentation or Video). Clicking a format opens the BigBlueButton recording in a new tab.",
+ "formats_help": "Displays the available playback formats. Selecting a format opens the BigBlueButton Recording in a new tab",
"visibility_help": {
- "title": "Recording visibility options",
- "public_protected": "Public/Protected - The recording is available on the Public Recordings page that can be reached from the Room Join page. The link can only be viewed from within Greenlight",
- "public": "Public - The recording is available on the Public Recordings page that can be reached from the Room Join page. The link can be shared with anyone",
- "protected": "Protected - The recording must be viewed from within Greenlight",
- "published": "Published - The recording is accessible to anyone with the link",
- "unpublished": "Unpublished - The recording is not accessible to anyone"
+ "public_protected": "The recording is available on the Public Recordings page, accessible from the Room Join page. It can also be shared with others using a one-time access link",
+ "public": "The recording is available on the Public Recordings page, accessible from the Room Join page, and its link can be shared with anyone",
+ "protected": "The recording is accessible only to the room owner and can be shared with others using a one-time access link",
+ "published": "The recording is accessible to anyone who has the link",
+ "unpublished": "The recording is not accessible to anyone"
},
"length_in_minutes": "{{recording.length}} min.",
"processing_recording": "Processing recording, this may take several minutes...",
diff --git a/app/assets/stylesheets/recordings.scss b/app/assets/stylesheets/recordings.scss
index fa239153bb..ab3b27ef65 100644
--- a/app/assets/stylesheets/recordings.scss
+++ b/app/assets/stylesheets/recordings.scss
@@ -132,4 +132,23 @@
svg:hover {
color: var(--brand-color) !important;
}
-}
\ No newline at end of file
+}
+
+.simple-select {
+ .recording-info {
+ display: inline-flex;
+ align-items: center;
+ }
+
+ .dropdown-toggle .recording-info {
+ visibility: hidden;
+ pointer-events: none;
+ min-width: 1.25rem;
+ justify-content: center;
+ }
+
+ .dropdown-menu .recording-info {
+ visibility: visible;
+ pointer-events: auto;
+ }
+}
diff --git a/app/javascript/components/recordings/RecordingRow.jsx b/app/javascript/components/recordings/RecordingRow.jsx
index 77d7271d23..ebbc1201d7 100644
--- a/app/javascript/components/recordings/RecordingRow.jsx
+++ b/app/javascript/components/recordings/RecordingRow.jsx
@@ -15,7 +15,7 @@
// with Greenlight; if not, see .
import {
- VideoCameraIcon, TrashIcon, PencilSquareIcon, ClipboardDocumentIcon,
+ VideoCameraIcon, TrashIcon, PencilSquareIcon, ClipboardDocumentIcon, QuestionMarkCircleIcon,
} from '@heroicons/react/24/outline';
import React, { useState } from 'react';
import PropTypes from 'prop-types';
@@ -24,6 +24,7 @@ import {
} from 'react-bootstrap';
import { useTranslation } from 'react-i18next';
import OverlayTrigger from 'react-bootstrap/OverlayTrigger';
+import Popover from 'react-bootstrap/Popover';
import { useAuth } from '../../contexts/auth/AuthProvider';
import Spinner from '../shared_components/utilities/Spinner';
import UpdateRecordingForm from './forms/UpdateRecordingForm';
@@ -55,6 +56,22 @@ export default function RecordingRow({
(a, b) => (a.recording_type.toLowerCase() > b.recording_type.toLowerCase() ? 1 : -1),
);
+ const visibilityHelpText = {
+ 'Public/Protected': t('recording.visibility_help.public_protected'),
+ Public: t('recording.visibility_help.public'),
+ Protected: t('recording.visibility_help.protected'),
+ Published: t('recording.visibility_help.published'),
+ Unpublished: t('recording.visibility_help.unpublished'),
+ };
+
+ const visibilityPopover = (visibilityKey) => (
+
+
+