feat(dashboard): add view course site actions and publish flow (#690)

Add View course site and Publish course options to org course context menus.
Replace the course header View as student button with View Course Site and
a companion overflow menu that includes View as student plus list actions.
Show a publish prompt modal for unpublished courses and support #publish
deep links in course settings.
This commit is contained in:
Rotimi Best
2026-06-25 22:39:30 +01:00
committed by GitHub
parent 6d594b4296
commit 1305e2e454
17 changed files with 449 additions and 164 deletions
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Se som studerende"
"view_as_student": "Se som studerende",
"view_course_site": "Se kursusside"
},
"view_course_site": {
"unpublished_title": "Udgiv dit kursus",
"unpublished_description": "Du bør udgive dette kursus, før du kan se sitet",
"cancel": "Annuller",
"publish_course": "Udgiv kursus"
},
"sidebar": {
"back_to_course": "Tilbage til kurset",
@@ -2420,6 +2427,8 @@
"delete": "Slet",
"open": "Åbn",
"open_public_course": "Åbn offentligt kursus",
"view_course_site": "Se kursusside",
"publish_course": "Udgiv kursus",
"copy_course_url": "Kopiér kursus-URL"
},
"due_date": "Forfalder",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Als Student anzeigen"
"view_as_student": "Als Student anzeigen",
"view_course_site": "Kursseite anzeigen"
},
"view_course_site": {
"unpublished_title": "Kurs veröffentlichen",
"unpublished_description": "Sie sollten diesen Kurs veröffentlichen, bevor Sie die Seite ansehen können",
"cancel": "Abbrechen",
"publish_course": "Kurs veröffentlichen"
},
"sidebar": {
"back_to_course": "Zurück zum Kurs",
@@ -2420,6 +2427,8 @@
"delete": "Löschen",
"open": "Offen",
"open_public_course": "Öffentlichen Kurs öffnen",
"view_course_site": "Kursseite anzeigen",
"publish_course": "Kurs veröffentlichen",
"copy_course_url": "Kurs-URL kopieren"
},
"due_date": "Fällig",
@@ -1970,6 +1970,8 @@
"invite": "Invite",
"delete": "Delete",
"open_public_course": "Open public course",
"view_course_site": "View course site",
"publish_course": "Publish course",
"copy_course_url": "Copy course URL"
},
"error_message": "An error occurred.",
@@ -2147,7 +2149,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "View as student"
"view_as_student": "View as student",
"view_course_site": "View Course Site"
},
"view_course_site": {
"unpublished_title": "Publish your course",
"unpublished_description": "You should publish this course before you can see the site",
"cancel": "Cancel",
"publish_course": "Publish Course"
},
"view_as_student": {
"title": "This will redirect you to the Student LMS.",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Ver como estudiante"
"view_as_student": "Ver como estudiante",
"view_course_site": "Ver sitio del curso"
},
"view_course_site": {
"unpublished_title": "Publica tu curso",
"unpublished_description": "Debes publicar este curso antes de poder ver el sitio",
"cancel": "Cancelar",
"publish_course": "Publicar curso"
},
"sidebar": {
"back_to_course": "volver al curso",
@@ -2420,6 +2427,8 @@
"delete": "Eliminar",
"open": "Abierto",
"open_public_course": "Abrir curso público",
"view_course_site": "Ver sitio del curso",
"publish_course": "Publicar curso",
"copy_course_url": "Copiar URL del curso"
},
"due_date": "debido",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Afficher en tant qu'étudiant"
"view_as_student": "Afficher en tant qu'étudiant",
"view_course_site": "Voir le site du cours"
},
"view_course_site": {
"unpublished_title": "Publiez votre cours",
"unpublished_description": "Vous devez publier ce cours avant de pouvoir voir le site",
"cancel": "Annuler",
"publish_course": "Publier le cours"
},
"sidebar": {
"back_to_course": "Retour au cours",
@@ -2420,6 +2427,8 @@
"delete": "Supprimer",
"open": "Ouvert",
"open_public_course": "Ouvrir le cours public",
"view_course_site": "Voir le site du cours",
"publish_course": "Publier le cours",
"copy_course_url": "Copier l’URL du cours"
},
"due_date": "Due",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "विद्यार्थी के रूप में देखें"
"view_as_student": "विद्यार्थी के रूप में देखें",
"view_course_site": "कोर्स साइट देखें"
},
"view_course_site": {
"unpublished_title": "अपना कोर्स प्रकाशित करें",
"unpublished_description": "साइट देखने से पहले आपको इस कोर्स को प्रकाशित करना चाहिए",
"cancel": "रद्द करें",
"publish_course": "कोर्स प्रकाशित करें"
},
"sidebar": {
"back_to_course": "पाठ्यक्रम पर वापस जाएँ",
@@ -2420,6 +2427,8 @@
"delete": "हटाएँ",
"open": "खुला",
"open_public_course": "सार्वजनिक कोर्स खोलें",
"view_course_site": "कोर्स साइट देखें",
"publish_course": "कोर्स प्रकाशित करें",
"copy_course_url": "कोर्स URL कॉपी करें"
},
"due_date": "देय",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Wyświetl jako student"
"view_as_student": "Wyświetl jako student",
"view_course_site": "Zobacz stronę kursu"
},
"view_course_site": {
"unpublished_title": "Opublikuj swój kurs",
"unpublished_description": "Powinieneś opublikować ten kurs, zanim zobaczysz stronę",
"cancel": "Anuluj",
"publish_course": "Opublikuj kurs"
},
"sidebar": {
"back_to_course": "Powrót na kurs",
@@ -2420,6 +2427,8 @@
"delete": "Usuń",
"open": "Otwórz",
"open_public_course": "Otwórz publiczny kurs",
"view_course_site": "Zobacz stronę kursu",
"publish_course": "Opublikuj kurs",
"copy_course_url": "Kopiuj adres URL kursu"
},
"due_date": "Termin",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Ver como aluno"
"view_as_student": "Ver como aluno",
"view_course_site": "Ver site do curso"
},
"view_course_site": {
"unpublished_title": "Publique seu curso",
"unpublished_description": "Você deve publicar este curso antes de poder ver o site",
"cancel": "Cancelar",
"publish_course": "Publicar curso"
},
"sidebar": {
"back_to_course": "De volta ao curso",
@@ -2420,6 +2427,8 @@
"delete": "Excluir",
"open": "Abrir",
"open_public_course": "Abrir curso público",
"view_course_site": "Ver site do curso",
"publish_course": "Publicar curso",
"copy_course_url": "Copiar URL do curso"
},
"due_date": "Devido",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Посмотреть как студент"
"view_as_student": "Посмотреть как студент",
"view_course_site": "Посмотреть сайт курса"
},
"view_course_site": {
"unpublished_title": "Опубликуйте курс",
"unpublished_description": "Перед просмотром сайта необходимо опубликовать этот курс",
"cancel": "Отмена",
"publish_course": "Опубликовать курс"
},
"sidebar": {
"back_to_course": "Вернуться к курсу",
@@ -2420,6 +2427,8 @@
"delete": "Удалить",
"open": "Открыть",
"open_public_course": "Открыть публичный курс",
"view_course_site": "Посмотреть сайт курса",
"publish_course": "Опубликовать курс",
"copy_course_url": "Копировать URL курса"
},
"due_date": "Срок погашения",
@@ -2234,7 +2234,14 @@
"header": {
"preview": "Preview course",
"preview_missing_slug": "Generate and save a course slug before previewing.",
"view_as_student": "Xem với tư cách sinh viên"
"view_as_student": "Xem với tư cách sinh viên",
"view_course_site": "Xem trang khóa học"
},
"view_course_site": {
"unpublished_title": "Xuất bản khóa học của bạn",
"unpublished_description": "Bạn nên xuất bản khóa học này trước khi có thể xem trang web",
"cancel": "Hủy",
"publish_course": "Xuất bản khóa học"
},
"sidebar": {
"back_to_course": "Quay lại khóa học",
@@ -2420,6 +2427,8 @@
"delete": "Xóa",
"open": "Mở",
"open_public_course": "Mở khóa học công khai",
"view_course_site": "Xem trang khóa học",
"publish_course": "Xuất bản khóa học",
"copy_course_url": "Sao chép URL khóa học"
},
"due_date": "Đến hạn",