@@ -119,7 +119,7 @@ export function InstalledScriptsTab() {
119119      case  'in_progress' :
120120        return  `${ baseClasses }   bg-yellow-100 text-yellow-800` ; 
121121      default :
122-         return  `${ baseClasses }   bg-gray-100 text-gray-800` ; 
122+         return  `${ baseClasses }   bg-gray-100 dark:bg-gray-700  text-gray-800 dark:text-gray-200 ` ; 
123123    } 
124124  } ; 
125125
@@ -131,14 +131,14 @@ export function InstalledScriptsTab() {
131131      case  'ssh' :
132132        return  `${ baseClasses }   bg-purple-100 text-purple-800` ; 
133133      default :
134-         return  `${ baseClasses }   bg-gray-100 text-gray-800` ; 
134+         return  `${ baseClasses }   bg-gray-100 dark:bg-gray-700  text-gray-800 dark:text-gray-200 ` ; 
135135    } 
136136  } ; 
137137
138138  if  ( isLoading )  { 
139139    return  ( 
140140      < div  className = "flex items-center justify-center h-64" > 
141-         < div  className = "text-gray-500" > Loading installed scripts...</ div > 
141+         < div  className = "text-gray-500 dark:text-gray-400 " > Loading installed scripts...</ div > 
142142      </ div > 
143143    ) ; 
144144  } 
@@ -160,8 +160,8 @@ export function InstalledScriptsTab() {
160160      ) } 
161161
162162      { /* Header with Stats */ } 
163-       < div  className = "bg-white rounded-lg shadow p-6" > 
164-         < h2  className = "text-2xl font-bold text-gray-900 mb-4" > Installed Scripts</ h2 > 
163+       < div  className = "bg-white dark:bg-gray-800  rounded-lg shadow p-6" > 
164+         < h2  className = "text-2xl font-bold text-gray-900 dark:text-gray-100  mb-4" > Installed Scripts</ h2 > 
165165
166166        { stats  &&  ( 
167167          < div  className = "grid grid-cols-2 md:grid-cols-4 gap-4 mb-6" > 
@@ -192,14 +192,14 @@ export function InstalledScriptsTab() {
192192              placeholder = "Search scripts, container IDs, or servers..." 
193193              value = { searchTerm } 
194194              onChange = { ( e )  =>  setSearchTerm ( e . target . value ) } 
195-               className = "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" 
195+               className = "w-full px-3 py-2 border border-gray-300 dark:border-gray-600  rounded-md bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-500 dark:placeholder-gray-400  focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 " 
196196            /> 
197197          </ div > 
198198
199199          < select 
200200            value = { statusFilter } 
201201            onChange = { ( e )  =>  setStatusFilter ( e . target . value  as  'all'  |  'success'  |  'failed'  |  'in_progress' ) } 
202-             className = "px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" 
202+             className = "px-3 py-2 border border-gray-300 dark:border-gray-600  rounded-md bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100  focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 " 
203203          > 
204204            < option  value = "all" > All Status</ option > 
205205            < option  value = "success" > Success</ option > 
@@ -210,7 +210,7 @@ export function InstalledScriptsTab() {
210210          < select 
211211            value = { serverFilter } 
212212            onChange = { ( e )  =>  setServerFilter ( e . target . value ) } 
213-             className = "px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" 
213+             className = "px-3 py-2 border border-gray-300 dark:border-gray-600  rounded-md bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100  focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400 " 
214214          > 
215215            < option  value = "all" > All Servers</ option > 
216216            < option  value = "local" > Local</ option > 
@@ -222,60 +222,57 @@ export function InstalledScriptsTab() {
222222      </ div > 
223223
224224      { /* Scripts Table */ } 
225-       < div  className = "bg-white rounded-lg shadow overflow-hidden" > 
225+       < div  className = "bg-white dark:bg-gray-800  rounded-lg shadow overflow-hidden" > 
226226        { filteredScripts . length  ===  0  ? ( 
227-           < div  className = "text-center py-8 text-gray-500" > 
227+           < div  className = "text-center py-8 text-gray-500 dark:text-gray-400 " > 
228228            { scripts . length  ===  0  ? 'No installed scripts found.'  : 'No scripts match your filters.' } 
229229          </ div > 
230230        )  : ( 
231231          < div  className = "overflow-x-auto" > 
232-             < table  className = "min-w-full divide-y divide-gray-200" > 
233-               < thead  className = "bg-gray-50" > 
232+             < table  className = "min-w-full divide-y divide-gray-200 dark:divide-gray-700 " > 
233+               < thead  className = "bg-gray-50 dark:bg-gray-700 " > 
234234                < tr > 
235-                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider" > 
235+                                      < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300  uppercase tracking-wider" > 
236236                    Script Name
237237                  </ th > 
238-                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider" > 
238+                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300  uppercase tracking-wider" > 
239239                    Container ID
240240                  </ th > 
241-                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider" > 
241+                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300  uppercase tracking-wider" > 
242242                    Server
243243                  </ th > 
244-                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider" > 
245-                     Mode
246-                   </ th > 
247-                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider" > 
244+                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider" > 
248245                    Status
249246                  </ th > 
250-                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider" > 
251-                     Date
247+                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300  uppercase tracking-wider" > 
248+                     Installation  Date
252249                  </ th > 
253-                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider" > 
250+                   < th  className = "px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300  uppercase tracking-wider" > 
254251                    Actions
255252                  </ th > 
256253                </ tr > 
257254              </ thead > 
258-               < tbody  className = "bg-white divide-y divide-gray-200" > 
255+               < tbody  className = "bg-white dark:bg-gray-800  divide-y divide-gray-200 dark:divide-gray-700 " > 
259256                { filteredScripts . map ( ( script )  =>  ( 
260257                  < tr  key = { script . id }  className = "hover:bg-gray-50" > 
261258                    < td  className = "px-6 py-4 whitespace-nowrap" > 
262-                       < div  className = "text-sm font-medium text-gray-900" > { script . script_name } </ div > 
263-                       < div  className = "text-sm text-gray-500" > { script . script_path } </ div > 
259+                       < div  className = "text-sm font-medium text-gray-900 dark:text-gray-100 " > { script . script_name } </ div > 
260+                       < div  className = "text-sm text-gray-500 dark:text-gray-400 " > { script . script_path } </ div > 
264261                    </ td > 
265262                    < td  className = "px-6 py-4 whitespace-nowrap" > 
266263                      { script . container_id  ? ( 
267-                         < span  className = "text-sm font-mono text-gray-900" > { String ( script . container_id ) } </ span > 
264+                         < span  className = "text-sm font-mono text-gray-900 dark:text-gray-100 " > { String ( script . container_id ) } </ span > 
268265                      )  : ( 
269-                         < span  className = "text-sm text-gray-400" > -</ span > 
266+                         < span  className = "text-sm text-gray-400 dark:text-gray-500 " > -</ span > 
270267                      ) } 
271268                    </ td > 
272269                    < td  className = "px-6 py-4 whitespace-nowrap" > 
273270                      { script . execution_mode  ===  'local'  ? ( 
274-                         < span  className = "text-sm text-gray-900" > Local</ span > 
271+                         < span  className = "text-sm text-gray-900 dark:text-gray-100 " > Local</ span > 
275272                      )  : ( 
276273                        < div > 
277-                           < div  className = "text-sm font-medium text-gray-900" > { script . server_name } </ div > 
278-                           < div  className = "text-sm text-gray-500" > { script . server_ip } </ div > 
274+                           < div  className = "text-sm font-medium text-gray-900 dark:text-gray-100 " > { script . server_name } </ div > 
275+                           < div  className = "text-sm text-gray-500 dark:text-gray-400 " > { script . server_ip } </ div > 
279276                        </ div > 
280277                      ) } 
281278                    </ td > 
@@ -289,7 +286,7 @@ export function InstalledScriptsTab() {
289286                        { String ( script . status ) . replace ( '_' ,  ' ' ) . toUpperCase ( ) } 
290287                      </ span > 
291288                    </ td > 
292-                     < td  className = "px-6 py-4 whitespace-nowrap text-sm text-gray-500" > 
289+                     < td  className = "px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400 " > 
293290                      { formatDate ( String ( script . installation_date ) ) } 
294291                    </ td > 
295292                    < td  className = "px-6 py-4 whitespace-nowrap text-sm font-medium" > 
0 commit comments