Skip to content

SS-873: Setup UI for showing list of team members and search team members #30

Open
HemanthKona wants to merge 22 commits intomainfrom
feat/setup-users-list-ui
Open

SS-873: Setup UI for showing list of team members and search team members #30
HemanthKona wants to merge 22 commits intomainfrom
feat/setup-users-list-ui

Conversation

@HemanthKona
Copy link
Collaborator

@HemanthKona HemanthKona commented Mar 12, 2026

Pull Request for JIRA Ticket: ----SS-873----

Issue ticket number and link

Description

  • setup my team users list view
  • setup mock service worker to run locally
  • setup AppBar component with navigation
  • setup user card component
  • setup route for UserProfile and UserIdentification
  • User Profile to have child routes rendered on the right side panel
  • setup my team members search functionality
  • Build reactive url for useFetchApi to get the latest query params when recalling the same endpoint
  • Update orval transformer to make query params MaybeRef type to make it work with useFetchApi

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • setup Vuetify plugin in Vitest following document in vuetifyjs site
  • use happy-dom instead of jsdom
  • Setup MSW mock server for intercepting http requests and return mock data response
  • use api-access/generated/*.msw mock data factory functions to create test entity data

Setup tests in web/src/__tests/modules/myteam to test below components

  • MyTeam.spec.ts
  • UserProfile.spec.ts
  • UserCard.spec.ts
  • Identification.spec.ts

Test Configuration:
If applicable

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Documentation References

- setup app tool bar with router links
- add Bc gov logo in header
- fix main content positioning
- feat: setup mock service worker on dev env
- feat: setup Appbar component with navigation
- feat: add entities and entitiesMap to usersStore
   - Redesign UserProfile with two-panel layout and CSS grid
   - Switch from store-based to direct API fetching across components
   - Set immediate: true in fetchAPI for automatic query execution
   - Disable MSW handlers to use real API
   - Add loading/error states to User and UserProfile components
   - Add "Add Member" button to user list page
 - rename user to myteam
 - setup user card component
 - setup route for UserProfile and UserIdentification
 -  User Profile to have child routes rendered on teh right side panel
 - Fix My Profile page search param change
 - build reactive url for fetch api to get the latest query params
 - update orval transformer to make query params MaybeRef type
- use happy-dom instead of jsdom
- use generated mock data factory functions to create test entity data
@HemanthKona HemanthKona changed the title Feat/setup users list UI ss-873: Setup UI for showing list of team members and search team members Mar 13, 2026
@HemanthKona HemanthKona changed the title ss-873: Setup UI for showing list of team members and search team members SS-873: Setup UI for showing list of team members and search team members Mar 13, 2026
@HemanthKona HemanthKona marked this pull request as ready for review March 13, 2026 02:46
@@ -0,0 +1,3 @@
{
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Copied public folder from Existing Sheriff Scheduling Application for showing logo in header.

@@ -0,0 +1,335 @@
/* tslint:disable */
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This file is created by the [msw](https://mswjs.io/) tool and need to be at the root of the site for MSW to intercept all requests following that path. If this file is nested inside any other folder msw cannot intercept api requests.

@HemanthKona
Copy link
Collaborator Author

I don't know why prettier build is failing on mockserviecworker.js file. I tried formatting it locally, its fine. We may have to bypass this issue now.

@HemanthKona HemanthKona requested a review from hrandhawa13 March 13, 2026 21:15
@hrandhawa13
Copy link
Collaborator

Are we going to fix the build failures?

@BronzBierd
Copy link
Collaborator

BronzBierd commented Mar 13, 2026

Are we going to fix the build failures?

Yes please.

@HemanthKona
Copy link
Collaborator Author

Are we going to fix the build failures?

Yes please.

Yes figuring out why prettier is failing. Tried running it locally, and everything seems ok.

Comment on lines +11 to +12
<template>
<v-app-bar style="background-color: #eaeaea; padding: 0.5rem 2rem" density="compact">
Copy link
Collaborator

Choose a reason for hiding this comment

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

There's a lot of inline styling happening here. It would be ideal to move this to
Moreover, I think we should create navigation config array and loop over it rather than hardcoding. This will be hard to maintain and grow once we have more links.

const navItems = [
{ name: "Schedule", path: "/schedule", module: modules.scheduling },
{ name: "My Team", path: "/myteam", module: modules.users },
{ name: "Dashboard", path: "/dashboard" }
];

Updating Template like this:

<RouterLink
v-for="item in navItems"
:key="item.path"
v-if="!item.module || accessControl.canAccessModule(item.module)"
class="router-link"
:class="{ 'router-link--border': item.module }"
:to="item.path"
active-class="active"

{{ item.name }}

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.

3 participants