@@ -148,13 +148,13 @@ Fixed sorting order and column layout on projects index page.
148148+ // Get client names, handling null clients
149149+ const clientA = clients .value .find (client => client .id === a .client_id )? .name || ' ' ;
150150+ const clientB = clients .value .find (client => client .id === b .client_id )? .name || ' ' ;
151-
151+ +
152152+ // First sort by client name
153153+ const clientComparison = clientA .localeCompare (clientB);
154154+ if (clientComparison !== 0 ) {
155155+ return clientComparison;
156156+ }
157-
157+ +
158158+ // Then sort by project name
159159+ return a .name .localeCompare (b .name );
160160+ });
@@ -189,3 +189,57 @@ Fixed sorting order and column layout on projects index page.
189189 <!-- project name content -->
190190 < / div>
191191` ` `
192+
193+ ### Fix Projects Table Column Widths
194+
195+ Fixed layout issue where Client column was too wide after column reordering.
196+
197+ **File:** ` resources/ js/ Components/ Common/ Project/ ProjectTable .vue `
198+ - **Fixed:** Grid template to make Client column smaller and Name column flexible
199+ ` ` ` js
200+ - return ` grid-template-columns: minmax(300px, 1fr) minmax(150px, auto) minmax(140px, auto) minmax(130px, auto) ${ props .showBillableRate ? ' minmax(130px, auto)' : ' ' } 80px;` ;
201+ + return ` grid-template-columns: minmax(150px, auto) minmax(300px, 1fr) minmax(140px, auto) minmax(130px, auto) ${ props .showBillableRate ? ' minmax(130px, auto)' : ' ' } 80px;` ;
202+ ` ` `
203+
204+ **Result:** Client column now has ` minmax (150px , auto)` and Name column gets the flexible ` minmax (300px , 1fr )` width.
205+
206+ ### Fix Clients Table Missing Header
207+
208+ Added missing "Projects" header to the second column in clients table.
209+
210+ **File:** ` resources/ js/ Components/ Common/ Client/ ClientTableHeading .vue `
211+ - **Added:** "Projects" header text to previously empty column
212+ ` ` ` vue
213+ - < div class = " px-3 py-1.5 text-left font-semibold text-text-primary" >< / div>
214+ + < div class = " px-3 py-1.5 text-left font-semibold text-text-primary" > Projects< / div>
215+ ` ` `
216+
217+ ### Remove Status Column from Members Table
218+
219+ Removed redundant status column from members table to maintain consistency with projects and clients tables.
220+
221+ **File:** ` resources/ js/ Components/ Common/ Member/ MemberTableHeading .vue `
222+ - **Removed:** Status column header
223+ ` ` ` vue
224+ - < div class = " px-3 py-1.5 text-left font-semibold text-text-primary" > Status< / div>
225+ ` ` `
226+
227+ **File:** ` resources/ js/ Components/ Common/ Member/ MemberTableRow .vue `
228+ - **Removed:** Status column showing Active/Inactive based on placeholder status
229+ ` ` ` vue
230+ - < div class = " whitespace-nowrap px-3 py-4 text-sm text-text-secondary flex space-x-1 items-center font-medium" >
231+ - < CheckCircleIcon v- if = " member.is_placeholder === false" class = " w-5" >< / CheckCircleIcon>
232+ - < span v- if = " member.is_placeholder === false" > Active< / span>
233+ - < UserCircleIcon v- if = " member.is_placeholder === true" class = " w-5" >< / UserCircleIcon>
234+ - < span v- if = " member.is_placeholder === true" > Inactive< / span>
235+ - < / div>
236+ ` ` `
237+
238+ **File:** ` resources/ js/ Components/ Common/ Member/ MemberTable .vue `
239+ - **Updated:** Grid template from 6 columns to 5 columns
240+ ` ` ` vue
241+ - style= " grid-template-columns: 1fr 1fr 180px 180px 150px 130px"
242+ + style= " grid-template-columns: 1fr 1fr 180px 180px 130px"
243+ ` ` `
244+
245+ **Result:** Members table now shows: Name → Email → Role → Billable Rate → Edit
0 commit comments