From 15f2649777cdb99a2330d5a598325c5e13d64e58 Mon Sep 17 00:00:00 2001 From: Nurfog Date: Tue, 3 Mar 2026 12:42:37 -0300 Subject: [PATCH] refactor: update UI components and pages with a refreshed visual design and improved styling. --- .../app/courses/[id]/announcements/page.tsx | 123 ++-- .../src/app/courses/[id]/calendar/page.tsx | 54 +- .../src/app/courses/[id]/files/page.tsx | 66 +- .../src/app/courses/[id]/grades/page.tsx | 180 ++--- .../src/app/courses/[id]/grading/page.tsx | 82 ++- .../courses/[id]/lessons/[lessonId]/page.tsx | 681 ++++++++++-------- web/studio/src/app/courses/[id]/page.tsx | 114 +-- .../app/courses/[id]/peer-reviews/page.tsx | 123 ++-- .../src/app/courses/[id]/rubrics/page.tsx | 4 +- .../src/app/courses/[id]/sessions/page.tsx | 108 +-- .../src/app/courses/[id]/students/page.tsx | 113 +-- web/studio/src/app/courses/[id]/team/page.tsx | 72 +- .../src/components/Rubrics/RubricEditor.tsx | 105 +-- .../src/components/Rubrics/RubricList.tsx | 50 +- .../components/blocks/AudioResponseBlock.tsx | 111 +-- .../components/blocks/DescriptionBlock.tsx | 191 ++--- .../src/components/blocks/DocumentBlock.tsx | 67 +- .../blocks/FillInTheBlanksBlock.tsx | 45 +- .../src/components/blocks/HotspotBlock.tsx | 157 ++-- .../src/components/blocks/MatchingBlock.tsx | 80 +- .../src/components/blocks/MediaBlock.tsx | 174 ++--- .../src/components/blocks/MemoryBlock.tsx | 99 +-- .../src/components/blocks/OrderingBlock.tsx | 94 +-- .../src/components/blocks/PeerReviewBlock.tsx | 75 +- .../src/components/blocks/QuizBlock.tsx | 181 +++-- .../components/blocks/ShortAnswerBlock.tsx | 59 +- .../components/blocks/VideoMarkerBlock.tsx | 213 +++--- 27 files changed, 1864 insertions(+), 1557 deletions(-) diff --git a/web/studio/src/app/courses/[id]/announcements/page.tsx b/web/studio/src/app/courses/[id]/announcements/page.tsx index c10cf91..b96e959 100644 --- a/web/studio/src/app/courses/[id]/announcements/page.tsx +++ b/web/studio/src/app/courses/[id]/announcements/page.tsx @@ -75,15 +75,15 @@ export default function AnnouncementsPage() { Comunicados del Curso {/* Search Bar */} -
+
- + setSearchTerm(e.target.value)} - className="w-full bg-slate-100 dark:bg-black/20 border border-slate-200 dark:border-white/10 rounded-xl py-2 pl-10 pr-4 text-sm focus:outline-none focus:border-orange-500/50 transition-all text-slate-900 dark:text-white placeholder-slate-400 dark:placeholder-gray-500" + className="w-full bg-slate-50 dark:bg-black/20 border border-slate-200 dark:border-white/10 rounded-2xl py-3.5 pl-11 pr-4 text-sm focus:outline-none focus:ring-2 focus:ring-orange-500/50 transition-all text-slate-900 dark:text-white placeholder-slate-400 dark:placeholder-gray-500 font-bold shadow-inner" />
@@ -95,12 +95,12 @@ export default function AnnouncementsPage() {

Loading announcements...

) : filteredAnnouncements.length > 0 ? ( -
+
{filteredAnnouncements.map((a) => ( -
-
-
-
+
+
+
+
{a.author_avatar ? ( {a.author_name} ) : ( @@ -108,8 +108,8 @@ export default function AnnouncementsPage() { )}
-

{a.author_name}

-
+

{a.author_name}

+
{formatDistanceToNow(new Date(a.created_at), { addSuffix: true, locale: es })} {a.cohort_ids && a.cohort_ids.length > 0 && ( <> @@ -133,12 +133,12 @@ export default function AnnouncementsPage() {
-

{a.title}

-

{a.content}

+

{a.title}

+

{a.content}

{/* Display Target Cohort Names if segmented */} {a.cohort_ids && a.cohort_ids.length > 0 && ( -
+
{a.cohort_ids.map(cid => { const cohort = cohorts.find(c => c.id === cid); return ( @@ -153,10 +153,12 @@ export default function AnnouncementsPage() { ))}
) : ( -
- -

No announcements found

-

Start by creating a new announcement for your students.

+
+
+ +
+

No announcements yet

+

Start communicating with your student body today.

)}
@@ -212,53 +214,55 @@ function NewAnnouncementModal({ courseId, cohorts, onClose, onSuccess }: { cours }; return ( -
-
-
-

- - Create New Announcement -

-
-
-
- + +
+ setTitle(e.target.value)} - className="w-full bg-slate-50 dark:bg-white/5 border border-slate-200 dark:border-white/10 rounded-xl px-4 py-3 focus:outline-none focus:border-orange-500/50 text-slate-900 dark:text-white placeholder-slate-400 dark:placeholder-gray-500" - placeholder="Announcement title" + className="w-full bg-slate-50 dark:bg-black/20 border border-slate-200 dark:border-white/10 rounded-2xl px-5 py-4 focus:outline-none focus:ring-2 focus:ring-orange-500/50 text-slate-900 dark:text-white placeholder-slate-400 dark:placeholder-gray-500 font-bold shadow-inner" + placeholder="What's this announcement about?" />
-
- +
+