Skip to content

Tanay/session start#88

Merged
eshabansiya merged 13 commits intomainfrom
Tanay/Session-Start
Mar 28, 2026
Merged

Tanay/session start#88
eshabansiya merged 13 commits intomainfrom
Tanay/Session-Start

Conversation

@tanay-pant
Copy link
Copy Markdown
Contributor

🦜 What's new in this PR

🦋 Description

Added entirety of exercises/start to the facilitators' flow as a standard for starting a new exercise based on Kevin's designs.

🦧 Screenshots

Screenshot 2026-03-14 at 3 54 04 PM Screenshot 2026-03-14 at 3 54 35 PM

🐸 How to review

Test the dropdowns to see that they are as intuitive as designed, see that selected participants are from the supabase, and that everything flows appropriately without weird hiccups

🐁 Related PRs

Resolved #68

CC: @eshabansiya

@tanay-pant tanay-pant requested a review from eshabansiya March 14, 2026 22:57
@tanay-pant tanay-pant self-assigned this Mar 14, 2026
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Mar 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ecovet-global Ready Ready Preview, Comment Mar 28, 2026 3:35am

@eshabansiya eshabansiya requested a review from ethan-tam33 March 16, 2026 19:11
Copy link
Copy Markdown
Collaborator

@eshabansiya eshabansiya left a comment

Choose a reason for hiding this comment

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

thank you tanay! the ui looks really good!!

can you use the role-selection page to help populate the actual roles
and can we populate all the actual excercises we have to start from?
also, lets have start session actually start the game - you can refrence session start and role selection to see how we do this

to do this, we need the roles to populate from which template they select to play with

  1. first make a new query in actions/supabase/queries/templates.ts to get all templates based on the profile user_group or if the template is accessible to all
    const { data } = await supabase .from('templates') .select('*') .or(user_group.eq.${userGroup},accessible_to_all.eq.true);
    1. then populate the dropdown with all these templates
  2. use app/sessions/role-selection/page.tsx see how they usefetchRoles(templateId) to get all the roles
  3. Use the selected template to populate the roles that can be chosen from
  4. Have start session actually create a new session - see handleStartGame in role-selection

lets also make is so that if they change the template they are using after assigning people, the selections reset

References:
app/sessions/role-selection/page.tsx
app/sessions/[templateId]/page.tsx

also - i added in the key movements so please pull before you start to get the updates i added!

@eshabansiya eshabansiya requested review from jchouder and kyyamaa March 16, 2026 19:27
@jchouder
Copy link
Copy Markdown

jchouder commented Mar 17, 2026

Looks good Tanay! a couple things to look out for —

Easy Fixes:

  1. font weights for
  • "Start Exercise" Header
  • "Synchronous" / "Asynchronous" toggle
  • "Invite a Participant" subheader (it says "Invite a member" on the figma tho)
  • "Participant" / "Facilitator" toggle
  • "Selected Participants" and "Role" subheaders

are all noticeably or slightly heavier than what's on the Figma

Harder Fixes?

  1. "Selected Exercise" dropdown —
  • copy should say "Selected" not "Select",
  • font color also too light
  • height of dropdown box should be same as "Synchronous" / "Asynch" toggle height
  1. "send invite" button a little too tall, check top/down spacing

  2. bottom "+" button too big & corner radius should be larger

  3. dropdowns for "selected participants" and "role"

  • missing the horizontal connector line between each rows' entries, maybe check w kev how necessary it is tho
  • can u switch out the dropdown carrot icon and "x" icons for something thinner
  • missing the divider line between "selected participants" / "role" subheader and the dropdown entries below

Sorry Ik its a lot but I I prioritized pointing out things that affect the consistency & cleanliness of the UI, ur doing great tho it otherwise looks good :D

Copy link
Copy Markdown

@ethan-tam33 ethan-tam33 left a comment

Choose a reason for hiding this comment

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

great work tanay!! left some comments for you to address+fix before you merge.

/>
</div>

<div style={{ flex: 1 }}>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

avoid inline styling! move flex: 1 to styles.ts

options={exerciseOptions}
placeholder="Select Exercise"
customStyles={ExerciseSelectStyles}
onChange={val => console.log("Exercise selected:", val)}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

remove console log


<ConfigRow>
<DropdownContainer>
{/* Exercise Dropdown */}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

don't leave behind unnecessary comments

@@ -0,0 +1,215 @@
"use client";
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

is there a reason why we have empty space on the right side of the screen? can we just center everything or make all the components wider?

@eshabansiya unsure if this is a design thing tho?

{ id: "", name: "", email: "", role: "" },
]);

// 1. Prepare options for InputDropdown (Map<value, label>)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

delete all unnecessary comments

return new Set(["Project Lead", "Designer", "Developer", "External"]);
}, []);

const exerciseOptions = useMemo(() => {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

unnecessary usememo

(nextRef: React.RefObject<SelectInstance<DropdownOption> | null>) =>
(e: React.KeyboardEvent) => {
if (e.key === "Enter") {
const isMenuOpen = nextRef.current?.focus();
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

let's remove unused vars

</div>

<div style={{ flex: 1 }}>
<InputDropdown
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

can we add a delete button for each row? maybe that's in a future sprint though @eshabansiya

]);

// 1. Prepare options for InputDropdown (Map<value, label>)
const userOptions = useMemo(() => {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

can we sort this alphabetically by first name? this should make it easier to find people


// 1. Prepare options for InputDropdown (Map<value, label>)
const userOptions = useMemo(() => {
const map = new Map<string, string>();
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

also @eshabansiya do you know how big this list of people can be for a session? if it can get really big, have you thought of implementing a search feature?

Copy link
Copy Markdown
Collaborator

@eshabansiya eshabansiya left a comment

Choose a reason for hiding this comment

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

thanks tanay! it looks great
i went in a fixed small styling and added a delete - by ethan's suggestion

  • and i adjusted the indexing to be based on the order

have a great break!

@eshabansiya eshabansiya merged commit f7af081 into main Mar 28, 2026
4 checks passed
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.

ECO-S12 New Tag Design

4 participants