55use  Illuminate \Http \Request ;
66use  Illuminate \Support \Facades \Gate ;
77use  Illuminate \Support \Facades \URL ;
8- use  Opcodes \LogViewer \Enums \FolderSortingMethod ;
8+ use  Opcodes \LogViewer \Enums \SortingMethod ;
99use  Opcodes \LogViewer \Enums \SortingOrder ;
1010use  Opcodes \LogViewer \Facades \LogViewer ;
1111use  Opcodes \LogViewer \Http \Resources \LogFolderResource ;
@@ -17,37 +17,28 @@ public function index(Request $request)
1717    {
1818        $ foldersgetFilesGroupedByFolder ();
1919
20-         $ sortingMethodconfig ('log-viewer.defaults.folder_sorting_method ' , FolderSortingMethod ::ModifiedTime);
20+         $ sortingMethodconfig ('log-viewer.defaults.folder_sorting_method ' , SortingMethod ::ModifiedTime);
2121        $ sortingOrderconfig ('log-viewer.defaults.folder_sorting_order ' , SortingOrder::Descending);
2222
23-         $ fileSortingOrder$ requestquery ('direction ' , 'desc ' );
23+         $ fileSortingMethodconfig ('log-viewer.defaults.file_sorting_method ' , SortingMethod::ModifiedTime);
24+         $ fileSortingOrder$ this validateDirection ($ requestquery ('direction ' ));
2425
25-         if  ($ sortingMethod
26-             if  ($ sortingOrder
27-                 $ folders$ folderssortAlphabeticallyAsc ();
28-             } else  {
29-                 $ folders$ folderssortAlphabeticallyDesc ();
30-             }
26+         $ folderssortUsing ($ sortingMethod$ sortingOrder
3127
32-             // Still sort files inside folders by direction param 
33-             $ folderseach (function  ($ folderuse  ($ fileSortingOrder
34-                 if  ($ fileSortingOrder'asc ' ) {
35-                     $ folderfiles ()->sortByEarliestFirst ();
36-                 } else  {
37-                     $ folderfiles ()->sortByLatestFirst ();
38-                 }
39-             });
40-         } else  { // ModifiedTime 
41-             if  ($ fileSortingOrder'asc ' ) {
42-                 $ folders$ folderssortByEarliestFirstIncludingFiles ();
43-             } else  {
44-                 $ folders$ folderssortByLatestFirstIncludingFiles ();
45-             }
46-         }
28+         $ folderseach (fn  ($ folder$ folderfiles ()->sortUsing ($ fileSortingMethod$ fileSortingOrder
4729
4830        return  LogFolderResource::collection ($ foldersvalues ());
4931    }
5032
33+     private  function  validateDirection (?string  $ directionstring 
34+     {
35+         if  ($ direction
36+             return  SortingOrder::Ascending;
37+         }
38+ 
39+         return  SortingOrder::Descending;
40+     }
41+ 
5142    public  function  requestDownload (Request $ requeststring  $ folderIdentifier
5243    {
5344        $ foldergetFolder ($ folderIdentifier
0 commit comments