Skip to content

List assigned mentors for the team leader#703

Open
dhinesh-kumar-m wants to merge 2 commits intomainfrom
team-lead-mentors-list
Open

List assigned mentors for the team leader#703
dhinesh-kumar-m wants to merge 2 commits intomainfrom
team-lead-mentors-list

Conversation

@dhinesh-kumar-m
Copy link
Contributor

@dhinesh-kumar-m dhinesh-kumar-m commented Jan 7, 2026

No description provided.

@gemini-code-assist
Copy link

Summary of Changes

Hello @dhinesh-kumar-m, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the developer experience by introducing standardized templates for Git operations and begins the development of a new 'Team Lead Assigned Mentors' section. It also delivers a detailed and interactive interface for mentors to manage and track daily test performance and student follow-ups, improving oversight and engagement.

Highlights

  • Developer Workflow Standardization: Introduced new cursor command templates for creating consistent Git commits and well-structured Pull Requests, aiming to streamline developer workflows and improve code quality.
  • Team Lead Mentors Page: Added the initial page structure for a 'Team Lead Assigned Mentors' view, laying the groundwork for future mentor management features.
  • Mentor Daily Tests UI: Implemented a comprehensive UI for mentors to view daily test details, including attempted and not-attempted student lists, follow-up tracking, and filtering capabilities.
  • Theme Management: Added client-side JavaScript to base.html to manage light/dark theme preferences based on local storage and system settings.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link

github-actions bot commented Jan 7, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://testpress.github.io/design/pr-preview/pr-703/

Built to branch gh-pages at 2026-03-13 09:41 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This PR introduces helpful cursor command templates and lays the groundwork for new mentor and team lead pages. The changes are extensive, adding several new HTML templates and JSON data files for prototyping. My review focuses on improving code correctness, consistency, and maintainability. Key findings include inconsistent date formats in JSON data, several instances of duplicated HTML id attributes within loops which will break functionality, and some copy-paste errors in templates. Addressing these issues will improve the robustness and clarity of the new features.

Comment on lines +89 to +197
<div class="hs-dropdown [--auto-close:inside] [--placement:right] inline-block align-middle">
<svg id="student-details-{{not_attempted_student.id}}"
class="hs-dropdown-toggle cursor-pointer shrink-0 size-4 text-stone-500 dark:text-neutral-400"
aria-expanded="false" aria-label="Student Details" xmlns="http://www.w3.org/2000/svg" width="24"
height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="10"></circle>
<path d="M12 16v-4"></path>
<path d="M12 8h.01"></path>
</svg>
<div
class="hs-dropdown-menu transition-[opacity,margin] duration hs-dropdown-open:opacity-100 opacity-0 hidden z-10"
role="Student Details" aria-labelledby="student-details-{{not_attempted_student.id}}">
<div
class="p-4 bg-white border border-stone-200 rounded-xl shadow-xs dark:bg-neutral-900 dark:border-neutral-800">
<!-- List -->
<div class="grid grid-cols-2 gap-x-3">
<div
class="py-1 relative overflow-hidden text-sm text-stone-500 text-end sm:text-start after:hidden sm:after:block after:absolute after:top-1/2 after:w-full after:mx-3 after:border-t after:border-dashed after:border-stone-200 dark:text-neutral-500 dark:border-neutral-700 dark:after:border-neutral-700">
<span class="relative z-1 pe-2 bg-white dark:bg-neutral-900">Enrollment ID</span>
</div>
<div class="py-1 text-sm text-stone-800 dark:text-neutral-200">
<span id="hs-pro-shmaccl">{{ not_attempted_student.enrollment_id }}</span>

<button type="button"
class="js-clipboard [--is-toggle-tooltip:false] hs-tooltip size-4 sm:size-6 shrink-0 inline-flex justify-center items-center gap-x-2 rounded-md text-stone-800 sm:hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden sm:focus:bg-stone-100 dark:text-neutral-200 sm:dark:hover:bg-neutral-700"
data-clipboard-target="#hs-pro-shmaccl" data-clipboard-action="copy"
data-clipboard-success-text="Code copied">
<svg class="js-clipboard-default shrink-0 size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg class="js-clipboard-success hidden size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"></polyline>
</svg>
<span
class="hs-tooltip-content hs-dropdown-open:opacity-100 hs-dropdown-open:visible opacity-0 transition-opacity hidden invisible z-10 py-1 px-2 bg-stone-900 text-xs font-medium text-white rounded-md shadow-2xs dark:bg-neutral-700"
role="tooltip">
<span class="js-clipboard-success-text">Copy Enrollment ID</span>
</span>
</button>
</div>

<div
class="py-1 relative overflow-hidden text-sm text-stone-500 text-end sm:text-start after:hidden sm:after:block after:absolute after:top-1/2 after:w-full after:mx-3 after:border-t after:border-dashed after:border-stone-200 dark:text-neutral-500 dark:border-neutral-700 dark:after:border-neutral-700">
<span class="relative z-1 pe-2 bg-white dark:bg-neutral-900">Phone Number</span>
</div>
<div class="py-1 text-sm text-stone-800 dark:text-neutral-200">
<span id="hs-pro-shmaccl-2">{{ not_attempted_student.phone_number }}</span>
<button type="button"
class="js-clipboard [--is-toggle-tooltip:false] hs-tooltip size-4 sm:size-6 shrink-0 inline-flex justify-center items-center gap-x-2 rounded-md text-stone-800 sm:hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden sm:focus:bg-stone-100 dark:text-neutral-200 sm:dark:hover:bg-neutral-700"
data-clipboard-target="#hs-pro-shmaccl-2" data-clipboard-action="copy"
data-clipboard-success-text="Code copied">
<svg class="js-clipboard-default shrink-0 size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg class="js-clipboard-success hidden size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"></polyline>
</svg>
<span
class="hs-tooltip-content hs-dropdown-open:opacity-100 hs-dropdown-open:visible opacity-0 transition-opacity hidden invisible z-10 py-1 px-2 bg-stone-900 text-xs font-medium text-white rounded-md shadow-2xs dark:bg-neutral-700"
role="tooltip">
<span class="js-clipboard-success-text">Copy Phone Number</span>
</span>
</button>
</div>

<div
class="py-1 relative overflow-hidden text-sm text-stone-500 text-end sm:text-start after:hidden sm:after:block after:absolute after:top-1/2 after:w-full after:mx-3 after:border-t after:border-dashed after:border-stone-200 dark:text-neutral-500 dark:border-neutral-700 dark:after:border-neutral-700">
<span class="relative z-1 pe-2 bg-white dark:bg-neutral-900">Email</span>
</div>
<div class="py-1 text-sm text-stone-800 dark:text-neutral-200">
<span id="hs-pro-shmaccl-3">{{ not_attempted_student.email }}</span>
<button type="button"
class="js-clipboard [--is-toggle-tooltip:false] hs-tooltip size-4 sm:size-6 shrink-0 inline-flex justify-center items-center gap-x-2 rounded-md text-stone-800 sm:hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden sm:focus:bg-stone-100 dark:text-neutral-200 sm:dark:hover:bg-neutral-700"
data-clipboard-target="#hs-pro-shmaccl-3" data-clipboard-action="copy"
data-clipboard-success-text="Code copied">
<svg class="js-clipboard-default shrink-0 size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg class="js-clipboard-success hidden size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"></polyline>
</svg>
<span
class="hs-tooltip-content hs-dropdown-open:opacity-100 hs-dropdown-open:visible opacity-0 transition-opacity hidden invisible z-10 py-1 px-2 bg-stone-900 text-xs font-medium text-white rounded-md shadow-2xs dark:bg-neutral-700"
role="tooltip">
<span class="js-clipboard-success-text">Copy link</span>
</span>
</button>
</div>
</div>
<!-- End List -->
</div>
</div>
</div>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The id attributes for elements inside the student details popover (e.g., hs-pro-shmaccl) are duplicated for each student in the loop. This will cause the clipboard copy functionality to fail for all but the first student in the list.

To resolve this, ensure each id is unique by appending the student's ID, like so:

<span id="hs-pro-shmaccl-{{ not_attempted_student.id }}">{{ not_attempted_student.enrollment_id }}</span>
...
<button ... data-clipboard-target="#hs-pro-shmaccl-{{ not_attempted_student.id }}">

This needs to be applied to all IDs and data-clipboard-target attributes within the loop.

Comment on lines +179 to +287
<div class="hs-dropdown [--auto-close:inside] [--placement:right] inline-block align-middle">
<svg id="student-details-{{attempted_student.id}}"
class="hs-dropdown-toggle cursor-pointer shrink-0 size-4 text-stone-500 dark:text-neutral-400"
aria-expanded="false" aria-label="Student Details" xmlns="http://www.w3.org/2000/svg" width="24"
height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="10"></circle>
<path d="M12 16v-4"></path>
<path d="M12 8h.01"></path>
</svg>
<div
class="hs-dropdown-menu transition-[opacity,margin] duration hs-dropdown-open:opacity-100 opacity-0 hidden z-10"
role="Student Details" aria-labelledby="student-details-{{attempted_student.id}}">
<div
class="p-4 bg-white border border-stone-200 rounded-xl shadow-xs dark:bg-neutral-900 dark:border-neutral-800">
<!-- List -->
<div class="grid grid-cols-2 gap-x-3">
<div
class="py-1 relative overflow-hidden text-sm text-stone-500 text-end sm:text-start after:hidden sm:after:block after:absolute after:top-1/2 after:w-full after:mx-3 after:border-t after:border-dashed after:border-stone-200 dark:text-neutral-500 dark:border-neutral-700 dark:after:border-neutral-700">
<span class="relative z-1 pe-2 bg-white dark:bg-neutral-900">Enrollment ID</span>
</div>
<div class="py-1 text-sm text-stone-800 dark:text-neutral-200">
<span id="hs-pro-shmaccl">{{ attempted_student.enrollment_id }}</span>

<button type="button"
class="js-clipboard [--is-toggle-tooltip:false] hs-tooltip size-4 sm:size-6 shrink-0 inline-flex justify-center items-center gap-x-2 rounded-md text-stone-800 sm:hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden sm:focus:bg-stone-100 dark:text-neutral-200 sm:dark:hover:bg-neutral-700"
data-clipboard-target="#hs-pro-shmaccl" data-clipboard-action="copy"
data-clipboard-success-text="Code copied">
<svg class="js-clipboard-default shrink-0 size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg class="js-clipboard-success hidden size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"></polyline>
</svg>
<span
class="hs-tooltip-content hs-dropdown-open:opacity-100 hs-dropdown-open:visible opacity-0 transition-opacity hidden invisible z-10 py-1 px-2 bg-stone-900 text-xs font-medium text-white rounded-md shadow-2xs dark:bg-neutral-700"
role="tooltip">
<span class="js-clipboard-success-text">Copy Enrollment ID</span>
</span>
</button>
</div>

<div
class="py-1 relative overflow-hidden text-sm text-stone-500 text-end sm:text-start after:hidden sm:after:block after:absolute after:top-1/2 after:w-full after:mx-3 after:border-t after:border-dashed after:border-stone-200 dark:text-neutral-500 dark:border-neutral-700 dark:after:border-neutral-700">
<span class="relative z-1 pe-2 bg-white dark:bg-neutral-900">Phone Number</span>
</div>
<div class="py-1 text-sm text-stone-800 dark:text-neutral-200">
<span id="hs-pro-shmaccl-2">{{ attempted_student.phone_number }}</span>
<button type="button"
class="js-clipboard [--is-toggle-tooltip:false] hs-tooltip size-4 sm:size-6 shrink-0 inline-flex justify-center items-center gap-x-2 rounded-md text-stone-800 sm:hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden sm:focus:bg-stone-100 dark:text-neutral-200 sm:dark:hover:bg-neutral-700"
data-clipboard-target="#hs-pro-shmaccl-2" data-clipboard-action="copy"
data-clipboard-success-text="Code copied">
<svg class="js-clipboard-default shrink-0 size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg class="js-clipboard-success hidden size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"></polyline>
</svg>
<span
class="hs-tooltip-content hs-dropdown-open:opacity-100 hs-dropdown-open:visible opacity-0 transition-opacity hidden invisible z-10 py-1 px-2 bg-stone-900 text-xs font-medium text-white rounded-md shadow-2xs dark:bg-neutral-700"
role="tooltip">
<span class="js-clipboard-success-text">Copy Phone Number</span>
</span>
</button>
</div>

<div
class="py-1 relative overflow-hidden text-sm text-stone-500 text-end sm:text-start after:hidden sm:after:block after:absolute after:top-1/2 after:w-full after:mx-3 after:border-t after:border-dashed after:border-stone-200 dark:text-neutral-500 dark:border-neutral-700 dark:after:border-neutral-700">
<span class="relative z-1 pe-2 bg-white dark:bg-neutral-900">Email</span>
</div>
<div class="py-1 text-sm text-stone-800 dark:text-neutral-200">
<span id="hs-pro-shmaccl-3">{{ attempted_student.email }}</span>
<button type="button"
class="js-clipboard [--is-toggle-tooltip:false] hs-tooltip size-4 sm:size-6 shrink-0 inline-flex justify-center items-center gap-x-2 rounded-md text-stone-800 sm:hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden sm:focus:bg-stone-100 dark:text-neutral-200 sm:dark:hover:bg-neutral-700"
data-clipboard-target="#hs-pro-shmaccl-3" data-clipboard-action="copy"
data-clipboard-success-text="Code copied">
<svg class="js-clipboard-default shrink-0 size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="14" height="14" x="8" y="8" rx="2" ry="2" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg class="js-clipboard-success hidden size-3.5" xmlns="http://www.w3.org/2000/svg"
width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"></polyline>
</svg>
<span
class="hs-tooltip-content hs-dropdown-open:opacity-100 hs-dropdown-open:visible opacity-0 transition-opacity hidden invisible z-10 py-1 px-2 bg-stone-900 text-xs font-medium text-white rounded-md shadow-2xs dark:bg-neutral-700"
role="tooltip">
<span class="js-clipboard-success-text">Copy link</span>
</span>
</button>
</div>
</div>
<!-- End List -->
</div>
</div>
</div>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The id attributes for elements inside this student details popover (e.g., hs-pro-shmaccl, hs-pro-shmaccl-2, hs-pro-shmaccl-3) are duplicated for each student in the loop. This will break functionality that relies on unique IDs, such as the clipboard copy feature, which will only work for the first student.

To fix this, you should make these IDs unique, for example by appending the student's ID:

<!-- Example for Enrollment ID -->
<span id="hs-pro-shmaccl-{{ attempted_student.id }}">{{ attempted_student.enrollment_id }}</span>
...
<button ... data-clipboard-target="#hs-pro-shmaccl-{{ attempted_student.id }}">

Please apply this pattern to all duplicated IDs and their corresponding data-clipboard-target attributes within this loop.

class="overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500">
<div class="p-4">
<div>
<label for="hs-pro-eadmnm" class="block mb-2 text-sm font-medium text-stone-800 dark:text-white">

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The for attribute of this label (hs-pro-eadmnm) does not match the id of the textarea it is for (hs-pro-epii). This breaks accessibility and prevents users from clicking the label to focus on the textarea.

Suggested change
<label for="hs-pro-eadmnm" class="block mb-2 text-sm font-medium text-stone-800 dark:text-white">
<label for="hs-pro-epii" class="block mb-2 text-sm font-medium text-stone-800 dark:text-white">


<!-- Button Group -->
<div class="flex flex-wrap items-center gap-2">
<a href="{{'/simba/mentor/daily_tests/detail/'|url}}"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The link to "View Details" is hardcoded and will always point to the same detail page. It should be made dynamic by including the specific test.id in the URL to ensure it navigates to the correct test's detail page.

        <a href="{{'/simba/mentor/daily_tests/detail/'|url}}{{test.id}}"

<th class="min-w-40" scope="col">
<!-- Sort Dropdown -->
<div class="hs-dropdown relative inline-flex w-full cursor-pointer">
<button id="hs-pro-eptprs" type="button"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The ID hs-pro-eptprs is duplicated. It's used here for the "Completed At" column and also for the "Incorrect" column on line 94. HTML IDs must be unique within a document to ensure scripts and styles function correctly.

                <button id="hs-pro-eptca" type="button"

"correct_count": 92,
"incorrect_count": 8,
"unanswered_count": 10,
"completed_at": "Jan 2, 2026 6:42 PM",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The completed_at timestamp is in a human-readable format ("Jan 2, 2026 6:42 PM"). For better consistency and easier machine parsing, consider using the ISO 8601 format, similar to cutoff_at on line 6. This will prevent potential issues with date/time parsing and manipulation in JavaScript.

{
"id": "tp_1001",
"name": "SSC CGL Tier II – Full Test 3",
"scheduled_at": "Jan 02, 2026 · 04:00 PM",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The scheduled_at field uses a custom string format ("Jan 02, 2026 · 04:00 PM"). Using a standard format like ISO 8601 would make the data more consistent and easier to parse programmatically across the application.

"email": "suresh.r@example.com",
"profile_picture_url": "https://images.unsplash.com/photo-1568602471122-7832951cc4c5?auto=format&fit=facearea&facepad=2.5&w=160&h=160&q=80",
"followup_count": 2,
"last_followup_at": "Jan 3, 2026 9:30 AM",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The last_followup_at timestamp uses a human-readable format ("Jan 3, 2026 9:30 AM"). To maintain consistency across the application and simplify parsing, it's recommended to use the ISO 8601 format for all date-time strings, which is more machine-readable.

<div
class="overflow-hidden overflow-y-auto max-h-[75vh] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500">
<div class="lg:flex lg:items-center lg:gap-x-1 py-2 lg:py-0 space-y-1 lg:space-y-0">
<a class="flex gap-x-3 lg:gap-x-1.5 py-2 px-3 w-full lg:w-auto items-center text-sm text-start text-stone-800 rounded-lg hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden focus:bg-stone-100 dark:text-neutral-200 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 {% if page.url == '/simba/franchise-head/dashboard/' %}bg-stone-100 focus:bg-stone-200 dark:bg-neutral-700 dark:focus:bg-neutral-600{% endif %} "

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a copy-paste error in the condition for setting the active state of the "Overview" menu item. The URL being checked is for the "Franchise Head" dashboard instead of the "Mentor" dashboard.

        <a class="flex gap-x-3 lg:gap-x-1.5 py-2 px-3 w-full lg:w-auto items-center text-sm text-start text-stone-800 rounded-lg hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-hidden focus:bg-stone-100 dark:text-neutral-200 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 {% if page.url == '/simba/mentor/dashboard/' %}bg-stone-100 focus:bg-stone-200 dark:bg-neutral-700 dark:focus:bg-neutral-600{% endif %} "

@@ -0,0 +1,22 @@
---
tags: simba
role: "Mentor"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The frontmatter sets role: "Mentor", but the file path is team_lead/.... This is inconsistent. If this page is intended for Team Leads, the role should be updated to "Team Lead" to avoid confusion and ensure any role-based logic functions correctly.

role: "Team Lead"

@dhinesh-kumar-m dhinesh-kumar-m changed the title Add cursor commands and team lead mentors page (DX-523) List assigned mentors for the team leader Jan 7, 2026
@dhinesh-kumar-m dhinesh-kumar-m changed the base branch from main to mentor-daily-tests-detail January 7, 2026 12:24
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the team-lead-mentors-list branch 2 times, most recently from 5e47a83 to 8c86bbd Compare January 13, 2026 09:41
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the mentor-daily-tests-detail branch from 8b0a298 to f489351 Compare January 13, 2026 09:53
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the team-lead-mentors-list branch 2 times, most recently from 0c92e81 to 3618d93 Compare January 14, 2026 12:34
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the mentor-daily-tests-detail branch from f489351 to 528767a Compare January 20, 2026 06:10
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the mentor-daily-tests-detail branch from 528767a to cb5367d Compare January 27, 2026 06:54
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the mentor-daily-tests-detail branch from 485945a to 14ec7e1 Compare January 29, 2026 06:28
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the mentor-daily-tests-detail branch from a552afd to 8223bbc Compare January 29, 2026 06:54
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the mentor-daily-tests-detail branch from 8223bbc to f426b98 Compare February 19, 2026 05:35
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the mentor-daily-tests-detail branch from f426b98 to 4778f73 Compare February 19, 2026 09:47
Base automatically changed from mentor-daily-tests-detail to main February 19, 2026 09:47
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the team-lead-mentors-list branch from 9dfc496 to 73ba35d Compare March 13, 2026 09:36
- Added new dashboard UI for team leads, integrating academic and review performance summaries.
- Introduced new data files for mentor academic performance and review performance.
- Implemented datepicker functionality for improved user experience.
- Updated CSS for better styling and responsiveness.
- Included necessary scripts and styles for the new components.
@dhinesh-kumar-m dhinesh-kumar-m force-pushed the team-lead-mentors-list branch from 73ba35d to 579a7fc Compare March 13, 2026 09:38
- Removed unused color variables and spacing classes from CSS.
- Updated dark mode background colors for dashboard cards to enhance visual consistency.
- Cleaned up redundant CSS rules to streamline styling.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant