File tree Expand file tree Collapse file tree 3 files changed +84
-143
lines changed
routes/(protected)/rbac/entitlements/create Expand file tree Collapse file tree 3 files changed +84
-143
lines changed Original file line number Diff line number Diff line change 1212 roleScope? : " all" | " system" | " bank" ;
1313 bankId? : string ;
1414 disabled? : boolean ;
15+ searchQuery? : string ;
16+ hideSearch? : boolean ;
1517 }
1618
1719 let {
2022 roleScope = $bindable <" all" | " system" | " bank" >(" all" ),
2123 bankId = " " ,
2224 disabled = false ,
25+ searchQuery = $bindable (" " ),
26+ hideSearch = false ,
2327 }: Props = $props ();
2428
25- let searchQuery = $state (" " );
26-
2729 // Filter roles based on search query only
2830 let filteredRoles = $derived .by (() => {
2931 let filtered = roles ;
5355 </script >
5456
5557<div class =" role-search-widget" >
56- <!-- Search Box -->
57- <div class =" search-wrapper" >
58- <Search class ="search-icon" size ={16 } />
59- <input
60- type =" text"
61- class =" search-input"
62- placeholder =" Search roles..."
63- bind:value ={searchQuery }
64- {disabled }
65- />
66- </div >
58+ {#if ! hideSearch }
59+ <!-- Search Box -->
60+ <div class =" search-wrapper" >
61+ <Search class ="search-icon" size ={16 } />
62+ <input
63+ type =" text"
64+ class =" search-input"
65+ placeholder =" Search roles..."
66+ bind:value ={searchQuery }
67+ {disabled }
68+ />
69+ </div >
70+ {/if }
6771
6872 <!-- Role Selection -->
6973 <div class =" role-selector" >
167171 }
168172
169173 .role-selector {
170- max-height : 200 px ;
174+ max-height : 400 px ;
171175 overflow-y : auto ;
172176 border : 1px solid #e5e7eb ;
173177 border-radius : 6px ;
180184
181185 .roles-grid {
182186 display : grid ;
183- gap : 0.5 rem ;
187+ gap : 0.25 rem ;
184188 }
185189
186190 .role-option {
187191 display : flex ;
188192 align-items : center ;
189- gap : 0.75 rem ;
190- padding : 0.75rem ;
193+ gap : 0.5 rem ;
194+ padding : 0.5 rem 0. 75rem ;
191195 border : 1px solid #e5e7eb ;
192196 border-radius : 6px ;
193197 cursor : pointer ;
Original file line number Diff line number Diff line change 219219
220220<div class =" user-search-widget" >
221221 <div class =" search-container" >
222- <div class =" provider-row" >
223- <label class =" provider-label" for =" provider-select" >Provider</label >
222+ <div class =" search-row" >
224223 <select
225224 id =" provider-select"
226225 class =" provider-select"
227226 bind:value ={selectedProvider }
228227 {disabled }
229228 onchange ={() => {
230- // Re-trigger search if there's already a query
231229 if (searchQuery .trim ()) {
232230 searchUsers (searchQuery );
233231 }
238236 <option value ={provider }>{provider }</option >
239237 {/each }
240238 </select >
241- {#if isLoadingProviders }
242- <span class =" provider-loading" >Loading...</span >
243- {/if }
244- </div >
245239
246- <div class =" search-input-wrapper" >
240+ <div class =" search-input-wrapper" >
247241 <Search class ="search-icon" size ={18 } />
248242 <input
249243 type =" text"
271265 <div class =" loading-spinner" >⏳</div >
272266 {/if }
273267 </div >
268+ </div >
274269
275270 {#if searchQuery .trim () && ! selectedUserId }
276271 <div class =" search-type-indicator" >
339334 flex-direction : column ;
340335 }
341336
342- .provider -row {
337+ .search -row {
343338 display : flex ;
344339 align-items : center ;
345340 gap : 0.5rem ;
346- margin-bottom : 0.5rem ;
347- }
348-
349- .provider-label {
350- font-size : 0.75rem ;
351- font-weight : 600 ;
352- color : #6b7280 ;
353- white-space : nowrap ;
354- }
355-
356- :global([data-mode = " dark" ]) .provider-label {
357- color : var (--color-surface-400 );
358341 }
359342
360343 .provider-select {
361- flex : 1 ;
362- padding : 0.5rem 0.75rem ;
344+ width : auto ;
345+ min-width : 0 ;
346+ padding : 0.625rem 0.75rem ;
363347 border : 1px solid #d1d5db ;
364348 border-radius : 6px ;
365349 font-size : 0.8rem ;
396380 background : rgb (var (--color-surface-800 ));
397381 }
398382
399- .provider-loading {
400- font-size : 0.7rem ;
401- color : #9ca3af ;
402- font-style : italic ;
403- }
404-
405383 .search-input-wrapper {
406384 position : relative ;
407385 display : flex ;
408386 align-items : center ;
387+ flex : 1 ;
388+ min-width : 400px ;
409389 }
410390
411391 .search-input-wrapper :global(.search-icon ) {
You can’t perform that action at this time.
0 commit comments