├── .DS_Store ├── .github └── workflows │ └── main.yml ├── .gitignore ├── LICENSE ├── README.md ├── backend ├── .DS_Store ├── .env.example ├── .nvmrc ├── config │ ├── bucket.js │ ├── common.js │ ├── fileStorage.js │ └── lang │ │ └── en.json ├── controllers │ ├── bucketManagerController.js │ ├── errorController.js │ ├── fileManagerController.js │ ├── index.js │ └── s3Controller.ts ├── package-lock.json ├── package.json ├── routes │ ├── bucketManager.js │ └── fileManager.js ├── server.js ├── uploads │ ├── .DS_Store │ ├── 046_danny_rahayu_mnv_1_001_.jpg │ ├── 13258950_1711821409069780_1084411530_n.jpg │ ├── 4621.jpg │ ├── 62276217.jpg │ ├── New Microsoft Excel Worksheet.xlsx │ ├── New Microsoft PowerPoint Presentation.pptx │ ├── New Microsoft Word Document.docx │ ├── Untitled-1.pdf │ ├── Untitled-1.psd │ ├── apple.svg │ ├── articles │ │ ├── 001.jpg │ │ ├── 002.jpg │ │ ├── 003.jpg │ │ ├── 40-something-man-2-1.jpg │ │ ├── books │ │ │ ├── 51DEJigkwTL._SX384_BO1,204,203,200_.jpg │ │ │ ├── 51DIjhk1BSL._SX388_BO1,204,203,200_.jpg │ │ │ ├── 51ar9Mhg3VL._SX381_BO1,204,203,200_.jpg │ │ │ ├── book1.jpg │ │ │ ├── book2.jpg │ │ │ └── books3.jpg │ │ └── teacher5.jpg │ ├── bigl.jpg │ ├── devushka-litso-profil-briunetka.jpg │ ├── images.jpg │ ├── landing_fruits.jpg │ ├── new_file.txt │ ├── portfolio │ │ ├── paints │ │ │ ├── 1.jpg │ │ │ ├── 10_thumb.jpg │ │ │ ├── 2.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ ├── 7_thumb.jpg │ │ │ ├── 8_thumb.jpg │ │ │ └── 9_thumb.jpg │ │ └── websites │ │ │ ├── 1.jpg │ │ │ ├── 10_thumb.jpg │ │ │ ├── 11_thumb.jpg │ │ │ ├── 12_thumb.jpg │ │ │ ├── 1_thumb.jpg │ │ │ ├── 2_thumb.jpg │ │ │ ├── 3_thumb.jpg │ │ │ ├── 4_thumb.jpg │ │ │ ├── 5_thumb.jpg │ │ │ ├── 6_thumb.jpg │ │ │ ├── 7_thumb.jpg │ │ │ ├── 8_thumb.jpg │ │ │ ├── 9_thumb.jpg │ │ │ └── thumb.jpg │ ├── rik-i-morti-rick-and-morty-rick-sanchez-rick-sanchez-morty-6.jpg │ ├── store │ │ └── products │ │ │ └── product1-big.jpg │ └── user-no-img.jpg └── utilits │ ├── appError.js │ ├── catchAsync.js │ ├── directory-tree.js │ └── filemanager.js └── frontend ├── .env.example ├── .eslintrc ├── .gitignore ├── .nvmrc ├── package-lock.json ├── package.json ├── public ├── css │ ├── demo.css │ ├── fonts │ │ ├── Cronicon │ │ │ ├── Cronicon.css │ │ │ ├── Cronicon.eot │ │ │ ├── Cronicon.svg │ │ │ ├── Cronicon.ttf │ │ │ └── Cronicon.woff │ │ └── Montserrat │ │ │ ├── Montserrat-Black.eot │ │ │ ├── Montserrat-Black.woff │ │ │ ├── Montserrat-Black.woff2 │ │ │ ├── Montserrat-BlackItalic.eot │ │ │ ├── Montserrat-BlackItalic.woff │ │ │ ├── Montserrat-BlackItalic.woff2 │ │ │ ├── Montserrat-Bold.eot │ │ │ ├── Montserrat-Bold.woff │ │ │ ├── Montserrat-Bold.woff2 │ │ │ ├── Montserrat-BoldItalic.eot │ │ │ ├── Montserrat-BoldItalic.woff │ │ │ ├── Montserrat-BoldItalic.woff2 │ │ │ ├── Montserrat-ExtraBold.eot │ │ │ ├── Montserrat-ExtraBold.woff │ │ │ ├── Montserrat-ExtraBold.woff2 │ │ │ ├── Montserrat-ExtraBoldItalic.eot │ │ │ ├── Montserrat-ExtraBoldItalic.woff │ │ │ ├── Montserrat-ExtraBoldItalic.woff2 │ │ │ ├── Montserrat-ExtraLight.eot │ │ │ ├── Montserrat-ExtraLight.woff │ │ │ ├── Montserrat-ExtraLight.woff2 │ │ │ ├── Montserrat-ExtraLightItalic.eot │ │ │ ├── Montserrat-ExtraLightItalic.woff │ │ │ ├── Montserrat-ExtraLightItalic.woff2 │ │ │ ├── Montserrat-Italic.eot │ │ │ ├── Montserrat-Italic.woff │ │ │ ├── Montserrat-Italic.woff2 │ │ │ ├── Montserrat-Light.eot │ │ │ ├── Montserrat-Light.woff │ │ │ ├── Montserrat-Light.woff2 │ │ │ ├── Montserrat-LightItalic.eot │ │ │ ├── Montserrat-LightItalic.woff │ │ │ ├── Montserrat-LightItalic.woff2 │ │ │ ├── Montserrat-Medium.eot │ │ │ ├── Montserrat-Medium.woff │ │ │ ├── Montserrat-Medium.woff2 │ │ │ ├── Montserrat-MediumItalic.eot │ │ │ ├── Montserrat-MediumItalic.woff │ │ │ ├── Montserrat-MediumItalic.woff2 │ │ │ ├── Montserrat-Regular.eot │ │ │ ├── Montserrat-Regular.woff │ │ │ ├── Montserrat-Regular.woff2 │ │ │ ├── Montserrat-SemiBold.eot │ │ │ ├── Montserrat-SemiBold.woff │ │ │ ├── Montserrat-SemiBold.woff2 │ │ │ ├── Montserrat-SemiBoldItalic.eot │ │ │ ├── Montserrat-SemiBoldItalic.woff │ │ │ ├── Montserrat-SemiBoldItalic.woff2 │ │ │ ├── Montserrat-Thin.eot │ │ │ ├── Montserrat-Thin.woff │ │ │ ├── Montserrat-Thin.woff2 │ │ │ ├── Montserrat-ThinItalic.eot │ │ │ ├── Montserrat-ThinItalic.woff │ │ │ ├── Montserrat-ThinItalic.woff2 │ │ │ ├── Montserrat.css │ │ │ ├── MontserratAlternates-Black.eot │ │ │ ├── MontserratAlternates-Black.woff │ │ │ ├── MontserratAlternates-Black.woff2 │ │ │ ├── MontserratAlternates-BlackItalic.eot │ │ │ ├── MontserratAlternates-BlackItalic.woff │ │ │ ├── MontserratAlternates-BlackItalic.woff2 │ │ │ ├── MontserratAlternates-Bold.eot │ │ │ ├── MontserratAlternates-Bold.woff │ │ │ ├── MontserratAlternates-Bold.woff2 │ │ │ ├── MontserratAlternates-BoldItalic.eot │ │ │ ├── MontserratAlternates-BoldItalic.woff │ │ │ ├── MontserratAlternates-BoldItalic.woff2 │ │ │ ├── MontserratAlternates-ExtraBold.eot │ │ │ ├── MontserratAlternates-ExtraBold.woff │ │ │ ├── MontserratAlternates-ExtraBold.woff2 │ │ │ ├── MontserratAlternates-ExtraBoldItalic.eot │ │ │ ├── MontserratAlternates-ExtraBoldItalic.woff │ │ │ ├── MontserratAlternates-ExtraBoldItalic.woff2 │ │ │ ├── MontserratAlternates-ExtraLight.eot │ │ │ ├── MontserratAlternates-ExtraLight.woff │ │ │ ├── MontserratAlternates-ExtraLight.woff2 │ │ │ ├── MontserratAlternates-ExtraLightItalic.eot │ │ │ ├── MontserratAlternates-ExtraLightItalic.woff │ │ │ ├── MontserratAlternates-ExtraLightItalic.woff2 │ │ │ ├── MontserratAlternates-Italic.eot │ │ │ ├── MontserratAlternates-Italic.woff │ │ │ ├── MontserratAlternates-Italic.woff2 │ │ │ ├── MontserratAlternates-Light.eot │ │ │ ├── MontserratAlternates-Light.woff │ │ │ ├── MontserratAlternates-Light.woff2 │ │ │ ├── MontserratAlternates-LightItalic.eot │ │ │ ├── MontserratAlternates-LightItalic.woff │ │ │ ├── MontserratAlternates-LightItalic.woff2 │ │ │ ├── MontserratAlternates-Medium.eot │ │ │ ├── MontserratAlternates-Medium.woff │ │ │ ├── MontserratAlternates-Medium.woff2 │ │ │ ├── MontserratAlternates-MediumItalic.eot │ │ │ ├── MontserratAlternates-MediumItalic.woff │ │ │ ├── MontserratAlternates-MediumItalic.woff2 │ │ │ ├── MontserratAlternates-Regular.eot │ │ │ ├── MontserratAlternates-Regular.woff │ │ │ ├── MontserratAlternates-Regular.woff2 │ │ │ ├── MontserratAlternates-SemiBold.eot │ │ │ ├── MontserratAlternates-SemiBold.woff │ │ │ ├── MontserratAlternates-SemiBold.woff2 │ │ │ ├── MontserratAlternates-SemiBoldItalic.eot │ │ │ ├── MontserratAlternates-SemiBoldItalic.woff │ │ │ ├── MontserratAlternates-SemiBoldItalic.woff2 │ │ │ ├── MontserratAlternates-Thin.eot │ │ │ ├── MontserratAlternates-Thin.woff │ │ │ ├── MontserratAlternates-Thin.woff2 │ │ │ ├── MontserratAlternates-ThinItalic.eot │ │ │ ├── MontserratAlternates-ThinItalic.woff │ │ │ ├── MontserratAlternates-ThinItalic.woff2 │ │ │ └── README.MD │ └── styles.css ├── img │ ├── files │ │ ├── ai.svg │ │ ├── avi.svg │ │ ├── css.svg │ │ ├── csv.svg │ │ ├── dbf.svg │ │ ├── doc.svg │ │ ├── dwg.svg │ │ ├── exe.svg │ │ ├── file.svg │ │ ├── fla.svg │ │ ├── flash.svg │ │ ├── folder.svg │ │ ├── folderfull.svg │ │ ├── folderopen.svg │ │ ├── gif.svg │ │ ├── html.svg │ │ ├── iso.svg │ │ ├── javascript.svg │ │ ├── jpg.svg │ │ ├── json-file.svg │ │ ├── mp3.svg │ │ ├── mp4.svg │ │ ├── pdf.svg │ │ ├── png.svg │ │ ├── ppt.svg │ │ ├── psd.svg │ │ ├── rtf.svg │ │ ├── search.svg │ │ ├── svg.svg │ │ ├── trash.svg │ │ ├── trashbox.svg │ │ ├── txt.svg │ │ ├── xls.svg │ │ ├── xml.svg │ │ ├── zip-1.svg │ │ └── zip.svg │ └── logos │ │ ├── darkLogo.svg │ │ └── lightLogo.svg └── index.html ├── src ├── App.tsx ├── FileManager │ ├── Api │ │ ├── Ec2ServerConnection.ts │ │ ├── S3FrontConnection.ts │ │ ├── S3ServerConnection.ts │ │ └── types.ts │ ├── Assets │ │ ├── Icons │ │ │ ├── Inactive │ │ │ │ ├── add-1.svg │ │ │ │ ├── add-2.svg │ │ │ │ ├── add-user.svg │ │ │ │ ├── alarm.svg │ │ │ │ ├── analytics.svg │ │ │ │ ├── archive.svg │ │ │ │ ├── arroba.svg │ │ │ │ ├── bag.svg │ │ │ │ ├── book.svg │ │ │ │ ├── bug.svg │ │ │ │ ├── calendar-1.svg │ │ │ │ ├── calendar.svg │ │ │ │ ├── cash.svg │ │ │ │ ├── chat.svg │ │ │ │ ├── coding.svg │ │ │ │ ├── crop.svg │ │ │ │ ├── delete.svg │ │ │ │ ├── delivery.svg │ │ │ │ ├── dislike.svg │ │ │ │ ├── document.svg │ │ │ │ ├── double-arrow.svg │ │ │ │ ├── doubt.svg │ │ │ │ ├── down-arrow.svg │ │ │ │ ├── download-1.svg │ │ │ │ ├── download.svg │ │ │ │ ├── email-1.svg │ │ │ │ ├── email.svg │ │ │ │ ├── envelope.svg │ │ │ │ ├── eraser.svg │ │ │ │ ├── export.svg │ │ │ │ ├── facebook.svg │ │ │ │ ├── files-and-folders.svg │ │ │ │ ├── flag.svg │ │ │ │ ├── followers.svg │ │ │ │ ├── forward.svg │ │ │ │ ├── funnel.svg │ │ │ │ ├── github.svg │ │ │ │ ├── graph.svg │ │ │ │ ├── heart.svg │ │ │ │ ├── hide.svg │ │ │ │ ├── home.svg │ │ │ │ ├── icon-748150.svg │ │ │ │ ├── id-card.svg │ │ │ │ ├── image.svg │ │ │ │ ├── inbox.svg │ │ │ │ ├── instagram.svg │ │ │ │ ├── layout.svg │ │ │ │ ├── left-arrow.svg │ │ │ │ ├── like.svg │ │ │ │ ├── line-chart.svg │ │ │ │ ├── link.svg │ │ │ │ ├── linkedin.svg │ │ │ │ ├── list.svg │ │ │ │ ├── lock.svg │ │ │ │ ├── mail.svg │ │ │ │ ├── mailbox.svg │ │ │ │ ├── megaphone.svg │ │ │ │ ├── menu.svg │ │ │ │ ├── message.svg │ │ │ │ ├── minimize.svg │ │ │ │ ├── money-1.svg │ │ │ │ ├── money.svg │ │ │ │ ├── multimedia-option.svg │ │ │ │ ├── networking.svg │ │ │ │ ├── newspaper.svg │ │ │ │ ├── no-entry.svg │ │ │ │ ├── open-box.svg │ │ │ │ ├── open-menu.svg │ │ │ │ ├── paper-plane.svg │ │ │ │ ├── paperclip.svg │ │ │ │ ├── pen.svg │ │ │ │ ├── photo-camera.svg │ │ │ │ ├── picture.svg │ │ │ │ ├── pie-chart.svg │ │ │ │ ├── placeholder.svg │ │ │ │ ├── pointer.svg │ │ │ │ ├── presentation.svg │ │ │ │ ├── print.svg │ │ │ │ ├── pulse.svg │ │ │ │ ├── resize.svg │ │ │ │ ├── route.svg │ │ │ │ ├── server.svg │ │ │ │ ├── share.svg │ │ │ │ ├── shield.svg │ │ │ │ ├── shopping-cart.svg │ │ │ │ ├── signature.svg │ │ │ │ ├── substract.svg │ │ │ │ ├── success.svg │ │ │ │ ├── telephone.svg │ │ │ │ ├── text-1.svg │ │ │ │ ├── three-dots-menu.svg │ │ │ │ ├── thunder.svg │ │ │ │ ├── tick.svg │ │ │ │ ├── translate.svg │ │ │ │ ├── turn-off.svg │ │ │ │ ├── twitter.svg │ │ │ │ ├── ui.svg │ │ │ │ ├── undo.svg │ │ │ │ ├── user-1.svg │ │ │ │ ├── user-2.svg │ │ │ │ ├── user-3.svg │ │ │ │ ├── user.svg │ │ │ │ ├── wall-clock.svg │ │ │ │ ├── warning.svg │ │ │ │ ├── whatsapp.svg │ │ │ │ ├── world.svg │ │ │ │ └── youtube.svg │ │ │ ├── add.svg │ │ │ ├── addFolder.svg │ │ │ ├── backward.svg │ │ │ ├── ban.svg │ │ │ ├── cancel-1.svg │ │ │ ├── cancel.svg │ │ │ ├── copy.svg │ │ │ ├── cursor.svg │ │ │ ├── cut.svg │ │ │ ├── delete-folder.svg │ │ │ ├── download.svg │ │ │ ├── exit.svg │ │ │ ├── folder.svg │ │ │ ├── folderOpen.svg │ │ │ ├── forward.svg │ │ │ ├── gridView.svg │ │ │ ├── information.svg │ │ │ ├── layers.svg │ │ │ ├── listView.svg │ │ │ ├── loupe.svg │ │ │ ├── next.svg │ │ │ ├── outbox.svg │ │ │ ├── paint-palette.svg │ │ │ ├── paste.svg │ │ │ ├── pencil.svg │ │ │ ├── refresh.svg │ │ │ ├── resize.svg │ │ │ ├── save.svg │ │ │ ├── selectAll.svg │ │ │ ├── settingsGear.svg │ │ │ ├── settingsLines.svg │ │ │ ├── text.svg │ │ │ ├── trash.svg │ │ │ ├── unZip.svg │ │ │ ├── upload.svg │ │ │ ├── view.svg │ │ │ ├── vol2.svg │ │ │ ├── vol3.svg │ │ │ ├── volume.svg │ │ │ └── zip.svg │ │ ├── Translations │ │ │ └── en.js │ │ └── whiteTheme.js │ ├── Blocks │ │ ├── FilesBar │ │ │ ├── ContextMenu.tsx │ │ │ ├── DropZoneWrapper.tsx │ │ │ ├── FilesListContainer.tsx │ │ │ ├── FilesLoadingOverlay.tsx │ │ │ ├── OverlayBlocks.tsx │ │ │ ├── StatusBar.tsx │ │ │ ├── ToasterMessages.tsx │ │ │ ├── index.tsx │ │ │ └── styled.ts │ │ ├── FolderBar │ │ │ ├── MenuItem.tsx │ │ │ ├── MenuSubmenu.tsx │ │ │ ├── VolumesList.tsx │ │ │ ├── index.tsx │ │ │ └── styled.ts │ │ ├── TopBar │ │ │ ├── Searching.tsx │ │ │ ├── Settings │ │ │ │ ├── ImageViewOptions.tsx │ │ │ │ ├── SortingOptions.tsx │ │ │ │ ├── ThemeSelection.tsx │ │ │ │ ├── constants.ts │ │ │ │ └── index.tsx │ │ │ ├── TopBarButtonGroups.tsx │ │ │ ├── TopBarRightMenus.tsx │ │ │ ├── index.tsx │ │ │ └── styled.ts │ │ └── ViewItems │ │ │ ├── App.css │ │ │ ├── GridView │ │ │ ├── DraggedElementsStack.tsx │ │ │ ├── FileItem.tsx │ │ │ ├── FolderItem.tsx │ │ │ ├── GridItemRender.tsx │ │ │ ├── GridView.tsx │ │ │ ├── ItemSelectButton.tsx │ │ │ └── VirtualizedGrid.tsx │ │ │ ├── ListView │ │ │ ├── ListFileItem.tsx │ │ │ ├── ListFolderItem.tsx │ │ │ ├── ListItemRender.tsx │ │ │ └── ListView.tsx │ │ │ ├── ViewItems.tsx │ │ │ └── styled.ts │ ├── ContextStore │ │ ├── FileManagerContext.tsx │ │ └── FileManagerReducer.tsx │ ├── Elements │ │ ├── ButtonGroup.tsx │ │ ├── ButtonGroupSimple.tsx │ │ ├── Dropzone.tsx │ │ ├── DropzoneArchive.tsx │ │ ├── DropzoneFileList.tsx │ │ ├── Icon.jsx │ │ ├── ImageEditor.tsx │ │ ├── ImageEditorComponent.tsx │ │ ├── InfoBoxes.tsx │ │ ├── InputField.tsx │ │ ├── PopupDialog.tsx │ │ ├── styled.ts │ │ └── styledImageeditor.ts │ ├── FileManager.tsx │ ├── FileManagerContainer.tsx │ ├── Hooks │ │ ├── useApiController.tsx │ │ ├── useCurrentTheme.tsx │ │ ├── useFileManagerOperations.tsx │ │ ├── useGenerateActionButtons.tsx │ │ └── useTexts.tsx │ ├── Themes │ │ ├── dark.ts │ │ └── light.ts │ ├── config.ts │ ├── helpers.ts │ ├── index.tsx │ ├── styled.ts │ └── types.ts └── index.tsx └── tsconfig.json /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/.DS_Store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Farhad Aliyev 4 | 5 | Selling this software is prohibited. Any violation of this contract will be prosecuted. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/.DS_Store -------------------------------------------------------------------------------- /backend/.env.example: -------------------------------------------------------------------------------- 1 | S3_ACCESS_KEY=your_access_key 2 | S3_SECRET_KEY=your_secret_key 3 | S3_ENDPOINT=http://192.168.1.6:9001 -------------------------------------------------------------------------------- /backend/.nvmrc: -------------------------------------------------------------------------------- 1 | v18 -------------------------------------------------------------------------------- /backend/config/bucket.js: -------------------------------------------------------------------------------- 1 | const config = { 2 | region: "us-east-1", 3 | endpoint: "http://192.168.1.6:9001", 4 | bucket: "cronusfilemanager", 5 | credentials: { 6 | accessKeyId: process.env.S3_ACCESS_KEY, 7 | secretAccessKey: process.env.S3_SECRET_KEY, 8 | }, 9 | }; 10 | 11 | module.exports = { config }; 12 | -------------------------------------------------------------------------------- /backend/config/common.js: -------------------------------------------------------------------------------- 1 | 2 | const MAX_UPLOAD_FILE_AMOUNT = 50; 3 | const MAX_UPLOAD_FILE_SIZE = 5 * 1024 * 1024;// 5 MB (max file size) 4 | 5 | module.exports = { 6 | MAX_UPLOAD_FILE_AMOUNT, 7 | MAX_UPLOAD_FILE_SIZE, 8 | }; 9 | -------------------------------------------------------------------------------- /backend/config/fileStorage.js: -------------------------------------------------------------------------------- 1 | 2 | const nodePath = require("path"); 3 | const coreFolder = nodePath.resolve(__dirname + "/../"); 4 | const FILE_STORAGE_MAIN_FOLDER = "uploads"; 5 | const FILE_STORAGE_TRASH_FOLDER = "trash"; 6 | const FILE_STORAGE_TMP_FOLDER = `${coreFolder}/${FILE_STORAGE_MAIN_FOLDER}/tmp/`; 7 | 8 | module.exports = { 9 | FILE_STORAGE_MAIN_FOLDER, 10 | FILE_STORAGE_TRASH_FOLDER, 11 | FILE_STORAGE_TMP_FOLDER, 12 | }; 13 | -------------------------------------------------------------------------------- /backend/config/lang/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "messages" : { 3 | "errors": { 4 | "userNotFound": "User with this id not exists" , 5 | "userTokenNotExists": "User with this token not exists", 6 | "userTokenNotSeted": "User token not exists", 7 | "userPassNotEqual": "Passwords are not equal", 8 | "userLoginFields":"Please provide login and password!", 9 | "userLoginWrong":"Incorrect login or password" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /backend/controllers/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @package Cronus File Manager 3 | * @author Farhad Aliyev Kanni 4 | * @copyright Copyright (c) 2011 - 2024, Kannifarhad, Ltd. (http://www.kanni.pro/) 5 | * @license https://opensource.org/licenses/GPL-3.0 6 | * @link http://filemanager.kanni.pro 7 | **/ 8 | 9 | const fileManagerController = require('./fileManagerController'); 10 | const bucketManagerController = require('./bucketManagerController'); 11 | 12 | module.exports = { 13 | fileManagerController, 14 | bucketManagerController 15 | } -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "server.js", 6 | "scripts": { 7 | "start": "nodemon -r dotenv/config server.js", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "@aws-sdk/client-s3": "^3.665.0", 15 | "@aws-sdk/lib-storage": "^3.667.0", 16 | "@aws-sdk/s3-request-presigner": "^3.670.0", 17 | "archiver": "^3.1.1", 18 | "body-parser": "^1.19.0", 19 | "cors": "^2.8.5", 20 | "dotenv": "^16.4.5", 21 | "express": "^4.17.1", 22 | "express-rate-limit": "^5.0.0", 23 | "fs-extra": "^9.0.0", 24 | "graceful-fs": "^4.2.3", 25 | "multer": "^1.4.2", 26 | "node-cron": "^3.0.3", 27 | "unzipper": "^0.10.10", 28 | "xss-clean": "^0.1.1" 29 | }, 30 | "devDependencies": { 31 | "nodemon": "^2.0.2" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /backend/uploads/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/.DS_Store -------------------------------------------------------------------------------- /backend/uploads/046_danny_rahayu_mnv_1_001_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/046_danny_rahayu_mnv_1_001_.jpg -------------------------------------------------------------------------------- /backend/uploads/13258950_1711821409069780_1084411530_n.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/13258950_1711821409069780_1084411530_n.jpg -------------------------------------------------------------------------------- /backend/uploads/4621.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/4621.jpg -------------------------------------------------------------------------------- /backend/uploads/62276217.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/62276217.jpg -------------------------------------------------------------------------------- /backend/uploads/New Microsoft Excel Worksheet.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/New Microsoft Excel Worksheet.xlsx -------------------------------------------------------------------------------- /backend/uploads/New Microsoft PowerPoint Presentation.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/New Microsoft PowerPoint Presentation.pptx -------------------------------------------------------------------------------- /backend/uploads/New Microsoft Word Document.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/New Microsoft Word Document.docx -------------------------------------------------------------------------------- /backend/uploads/Untitled-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/Untitled-1.pdf -------------------------------------------------------------------------------- /backend/uploads/Untitled-1.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/Untitled-1.psd -------------------------------------------------------------------------------- /backend/uploads/articles/001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/001.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/002.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/003.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/40-something-man-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/40-something-man-2-1.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/books/51DEJigkwTL._SX384_BO1,204,203,200_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/books/51DEJigkwTL._SX384_BO1,204,203,200_.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/books/51DIjhk1BSL._SX388_BO1,204,203,200_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/books/51DIjhk1BSL._SX388_BO1,204,203,200_.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/books/51ar9Mhg3VL._SX381_BO1,204,203,200_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/books/51ar9Mhg3VL._SX381_BO1,204,203,200_.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/books/book1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/books/book1.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/books/book2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/books/book2.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/books/books3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/books/books3.jpg -------------------------------------------------------------------------------- /backend/uploads/articles/teacher5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/articles/teacher5.jpg -------------------------------------------------------------------------------- /backend/uploads/bigl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/bigl.jpg -------------------------------------------------------------------------------- /backend/uploads/devushka-litso-profil-briunetka.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/devushka-litso-profil-briunetka.jpg -------------------------------------------------------------------------------- /backend/uploads/images.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/images.jpg -------------------------------------------------------------------------------- /backend/uploads/landing_fruits.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/landing_fruits.jpg -------------------------------------------------------------------------------- /backend/uploads/new_file.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/new_file.txt -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/1.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/10_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/10_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/2.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/4.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/5.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/6.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/7_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/7_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/8_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/8_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/paints/9_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/paints/9_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/1.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/10_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/10_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/11_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/11_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/12_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/12_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/1_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/1_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/2_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/2_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/3_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/3_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/4_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/4_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/5_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/5_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/6_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/6_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/7_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/7_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/8_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/8_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/9_thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/9_thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/portfolio/websites/thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/portfolio/websites/thumb.jpg -------------------------------------------------------------------------------- /backend/uploads/rik-i-morti-rick-and-morty-rick-sanchez-rick-sanchez-morty-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/rik-i-morti-rick-and-morty-rick-sanchez-rick-sanchez-morty-6.jpg -------------------------------------------------------------------------------- /backend/uploads/store/products/product1-big.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/store/products/product1-big.jpg -------------------------------------------------------------------------------- /backend/uploads/user-no-img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/backend/uploads/user-no-img.jpg -------------------------------------------------------------------------------- /backend/utilits/appError.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @package Cronus File Manager 3 | * @author Farhad Aliyev Kanni 4 | * @copyright Copyright (c) 2011 - 2024, Kannifarhad, Ltd. (http://www.kanni.pro/) 5 | * @license https://opensource.org/licenses/GPL-3.0 6 | * @link http://filemanager.kanni.pro 7 | **/ 8 | 9 | class AppError extends Error { 10 | constructor(message, statusCode) { 11 | super(message); 12 | this.statusCode = statusCode; 13 | this.messagetext = message; 14 | this.status = `${statusCode}`.startsWith('4') ? 'fail' : 'error'; 15 | this.isOperational = true; 16 | Error.captureStackTrace(this, this.constructor); 17 | } 18 | } 19 | module.exports = AppError; 20 | -------------------------------------------------------------------------------- /backend/utilits/catchAsync.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @package Cronus File Manager 3 | * @author Farhad Aliyev Kanni 4 | * @copyright Copyright (c) 2011 - 2024, Kannifarhad, Ltd. (http://www.kanni.pro/) 5 | * @license https://opensource.org/licenses/GPL-3.0 6 | * @link http://filemanager.kanni.pro 7 | **/ 8 | const AppError = require("./appError"); 9 | 10 | const catchAsync = (fn) => (req, res, next) => { 11 | fn(req, res, next).catch((error) => 12 | next(new AppError(`Error while executing code: ${error?.message}`, 400)) 13 | ); // catch errors and forward to next middleware (error handler) 14 | }; 15 | 16 | module.exports = catchAsync; 17 | -------------------------------------------------------------------------------- /frontend/.env.example: -------------------------------------------------------------------------------- 1 | EXTEND_ESLINT=true 2 | REACT_APP_S3_ACCESS_KEY=your_access_key 3 | REACT_APP_S3_SECRET_KEY=your_secret_key -------------------------------------------------------------------------------- /frontend/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["react-app", "airbnb", "plugin:prettier/recommended"], 3 | "plugins": ["react", "jsx-a11y", "import", "prettier"], 4 | "rules": { 5 | "prettier/prettier": [ 6 | "error", 7 | { 8 | "endOfLine": "auto", 9 | "trailingComma": "es5" 10 | }, 11 | ], 12 | "react/jsx-filename-extension": [ 13 | 1, 14 | { "extensions": [".js", ".jsx", ".ts", ".tsx"] }, 15 | ], 16 | "import/no-extraneous-dependencies": ["error", { "devDependencies": true }], 17 | "import/extensions": "off", 18 | "no-plusplus": "off", 19 | "no-empty-pattern": "off", 20 | "react/function-component-definition": "off", 21 | "react/jsx-props-no-spreading": "off", 22 | "no-underscore-dangle": "off", 23 | "require-default-props": "off", 24 | "@typescript-eslint/no-unused-vars": [ 25 | "error", 26 | { 27 | "vars": "all", 28 | "args": "after-used", 29 | "ignoreRestSiblings": true, 30 | "varsIgnorePattern": "^_", 31 | }, 32 | ], 33 | }, 34 | "settings": { 35 | "import/resolver": { 36 | "node": { 37 | "extensions": [".js", ".jsx", ".ts", ".tsx"], 38 | }, 39 | }, 40 | }, 41 | } 42 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /frontend/.nvmrc: -------------------------------------------------------------------------------- 1 | v18 -------------------------------------------------------------------------------- /frontend/public/css/demo.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Montserrat"; 3 | padding: 0px; 4 | } 5 | #root { 6 | max-width: 1300px; 7 | margin:0px auto; 8 | } 9 | .demo-content { 10 | max-width: 1200px; 11 | margin:50px auto 100px auto; 12 | padding: 50px; 13 | border-radius: 5px; 14 | border: 1px solid #ccc; 15 | } 16 | .demo-content pre { 17 | background: #f1f1f1; 18 | border-radius: 7px; 19 | padding: 20px 0px; 20 | color:#666; 21 | font-style: italic; 22 | } 23 | .demo-content img { 24 | margin:0px auto; 25 | display: block; 26 | } 27 | .demo-content p { 28 | font-size:14px; 29 | } 30 | .demo-content ul li { 31 | font-size: 14px; 32 | padding: 5px 0px; 33 | } 34 | .demo-content a { 35 | color:#0492f2 36 | } 37 | .demo-content h1 { 38 | text-align: center; 39 | } 40 | .lisence p{ 41 | font-size: 11px; 42 | } -------------------------------------------------------------------------------- /frontend/public/css/fonts/Cronicon/Cronicon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Cronicon/Cronicon.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Cronicon/Cronicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Cronicon/Cronicon.ttf -------------------------------------------------------------------------------- /frontend/public/css/fonts/Cronicon/Cronicon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Cronicon/Cronicon.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Black.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Black.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Black.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Black.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Black.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-BlackItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-BlackItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-BlackItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-BlackItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-BlackItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-BlackItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Bold.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Bold.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Bold.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-BoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-BoldItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-BoldItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-BoldItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraBold.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraBold.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraBold.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraBoldItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraLight.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraLight.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraLight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraLight.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraLight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraLight.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraLightItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraLightItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraLightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraLightItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ExtraLightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ExtraLightItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Italic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Italic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Italic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Light.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Light.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Light.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-LightItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-LightItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-LightItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-LightItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Medium.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Medium.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Medium.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-MediumItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-MediumItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-MediumItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-MediumItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Regular.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Regular.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Regular.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-SemiBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-SemiBold.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-SemiBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-SemiBold.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-SemiBold.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-SemiBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-SemiBoldItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-SemiBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-SemiBoldItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-SemiBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-SemiBoldItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Thin.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Thin.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-Thin.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ThinItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ThinItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ThinItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ThinItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/Montserrat-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/Montserrat-ThinItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Black.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Black.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Black.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Black.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Black.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-BlackItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-BlackItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-BlackItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-BlackItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-BlackItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-BlackItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Bold.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Bold.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Bold.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-BoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-BoldItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-BoldItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-BoldItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBold.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBold.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBold.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLight.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLight.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLight.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLight.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ExtraLightItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Italic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Italic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Italic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Light.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Light.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Light.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-LightItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-LightItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-LightItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-LightItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Medium.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Medium.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Medium.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-MediumItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-MediumItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-MediumItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-MediumItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Regular.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Regular.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Regular.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBold.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBold.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBold.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-SemiBoldItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Thin.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Thin.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-Thin.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ThinItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ThinItalic.eot -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ThinItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ThinItalic.woff -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/MontserratAlternates-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kannifarhad/CronusFileManager/27389614765dd22df0853d15d639e5cbc6269045/frontend/public/css/fonts/Montserrat/MontserratAlternates-ThinItalic.woff2 -------------------------------------------------------------------------------- /frontend/public/css/fonts/Montserrat/README.MD: -------------------------------------------------------------------------------- 1 | # The Montserrat Font Project 2 | To use this font as a webfont, ```Montserrat.css``` is included. 3 | 4 | ## How to use 5 | ### 1. @import 6 | You can import the file into your stylesheet as follows: 7 | ```css 8 | @import url("static/fonts/Montserrat/fonts/webfonts/Montserrat.css"); 9 | ``` 10 | 11 | **NOTE:** The directory where the stylesheet is placed. 12 | 13 | Then we can use it to style elements: 14 | ```css 15 | body { 16 | font-family: 'Montserrat', sans-serif; 17 | font-weight: 400; 18 | } 19 | ``` 20 | 21 | ### 2. \ing a stylesheet 22 | Similarly, you could link to the same asset as you would any other CSS filter, in the \ of the HTML document rather than in the CSS: 23 | ```html 24 | 25 | ``` 26 | 27 | **NOTE:** The directory where the stylesheet is placed. 28 | 29 | Then we can use it to style elements: 30 | ```css 31 | body { 32 | font-family: 'Montserrat', sans-serif; 33 | font-weight: 400; 34 | } 35 | ``` -------------------------------------------------------------------------------- /frontend/public/img/files/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /frontend/public/img/files/flash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /frontend/public/img/files/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 12 | 13 | 15 | 16 | -------------------------------------------------------------------------------- /frontend/public/img/files/folderopen.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 11 | 13 | 14 | -------------------------------------------------------------------------------- /frontend/public/img/files/gif.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /frontend/src/App.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import FileManager from "./FileManager/index"; 3 | import { VolumeListType, VolumeTypes } from "./FileManager/types"; 4 | 5 | const volumesList: VolumeListType = [ 6 | { 7 | id: "1", 8 | type: VolumeTypes.SERVER, 9 | endpoint: "http://localhost:3131", 10 | name: "My EC2 server", 11 | }, 12 | { 13 | id: "2", 14 | type: VolumeTypes.S3BUCKET_BACK, 15 | endpoint: "http://localhost:3131", 16 | bucket: "cronusfilemanager", 17 | name: "S3 Server Connection", 18 | }, 19 | { 20 | id: "3", 21 | type: VolumeTypes.S3BUCKET_FRONT, 22 | bucket: "cronusfilemanager", 23 | name: "S3 Front Connection", 24 | region: "us-east-1", 25 | endpoint: "http://192.168.1.6:9001", 26 | credentials: { 27 | accessKeyId: process.env.REACT_APP_S3_ACCESS_KEY!, 28 | secretAccessKey: process.env.REACT_APP_S3_SECRET_KEY!, 29 | }, 30 | }, 31 | ]; 32 | 33 | const App: React.FC = () => { 34 | const handleCallBack = (filePath: string) => { 35 | // eslint-disable-next-line no-console 36 | console.log("Image Path Returned", filePath); 37 | }; 38 | 39 | return ( 40 | 45 | ); 46 | }; 47 | 48 | export default App; 49 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/add-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/add-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/add-user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/alarm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/analytics.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/archive.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/arroba.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/bag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/book.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/calendar-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/calendar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/cash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/chat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/coding.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/crop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/dislike.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/document.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/double-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/doubt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/down-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/download-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/download.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/email-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/envelope.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/eraser.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/export.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/files-and-folders.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/flag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/followers.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/funnel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/graph.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/heart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/hide.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/home.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/icon-748150.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/id-card.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/instagram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/layout.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/left-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/like.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/line-chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/linkedin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/list.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/megaphone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/menu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/message.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/minimize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/multimedia-option.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/newspaper.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/no-entry.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/open-menu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/paper-plane.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/paperclip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/pen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/photo-camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/picture.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/pie-chart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/placeholder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/pointer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/presentation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/print.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/pulse.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/resize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/server.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/share.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/shield.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/shopping-cart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/signature.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/substract.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/success.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/telephone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/text-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/three-dots-menu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/thunder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/tick.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/translate.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/turn-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/ui.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/undo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/user-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/user-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/user-3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/wall-clock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/Inactive/warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/addFolder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/ban.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/cancel-1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/cancel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/cursor.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/cut.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/delete-folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/download.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/folderOpen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/gridView.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/information.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/layers.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/listView.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/loupe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/paste.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/pencil.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/refresh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/resize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/selectAll.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/text.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/trash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/unZip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/upload.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/view.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/vol3.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 10 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Icons/zip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Assets/Translations/en.js: -------------------------------------------------------------------------------- 1 | export default { 2 | select: "Choose", 3 | yes: "Yes", 4 | no: "No", 5 | name: "Name", 6 | loading: "Loading", 7 | size: "Size", 8 | accept: "Accept", 9 | created: "Created", 10 | search: "Search...", 11 | noResults: "No results had been found.", 12 | searchLimit: "text should be more than 3 symbol", 13 | everywhere: "Everywhere", 14 | emptyFolder: "The folder is empty!", 15 | onSelectedFolder: "On selected folder", 16 | selectFolderWarn: "Please select folder to view!", 17 | }; 18 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/FilesBar/DropZoneWrapper.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo, useCallback, useEffect } from "react"; 2 | import Dropzone from "../../Elements/Dropzone"; 3 | import { useFileManagerState } from "../../ContextStore/FileManagerContext"; 4 | 5 | function DropZoneWrapper() { 6 | const { 7 | uploadPopup, 8 | operations: { handleToggleUploadPopUp }, 9 | } = useFileManagerState(); 10 | 11 | const handleDragEnter = useCallback(() => { 12 | handleToggleUploadPopUp(true); 13 | }, [handleToggleUploadPopUp]); 14 | 15 | useEffect(() => { 16 | window.addEventListener("dragenter", handleDragEnter); 17 | return () => { 18 | window.removeEventListener("dragenter", handleDragEnter); 19 | }; 20 | }, [handleDragEnter]); 21 | if (!uploadPopup) return null; 22 | 23 | return ; 24 | } 25 | 26 | export default memo(DropZoneWrapper); 27 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/FilesBar/FilesLoadingOverlay.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo, FC } from "react"; 2 | import { StyledFilesLoadingOverlay } from "./styled"; 3 | import { useFileManagerState } from "../../ContextStore/FileManagerContext"; 4 | import useText from "../../Hooks/useTexts"; 5 | 6 | const FilesLoadingOverlay: FC = () => { 7 | const { loading } = useFileManagerState(); 8 | const texts = useText(); 9 | 10 | if (!loading) return null; 11 | 12 | return ( 13 | 14 |
{texts.loading}
15 |
16 | ); 17 | }; 18 | 19 | export default memo(FilesLoadingOverlay); 20 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/FilesBar/OverlayBlocks.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo, FC } from "react"; 2 | import DropZoneWrapper from "./DropZoneWrapper"; 3 | import FilesLoadingOverlay from "./FilesLoadingOverlay"; 4 | import ContextMenu from "./ContextMenu"; 5 | import ToasterMessages from "./ToasterMessages"; 6 | 7 | const OverlayBlocks: FC = () => ( 8 | <> 9 | 10 | 11 | 12 | 13 | 14 | ); 15 | 16 | export default memo(OverlayBlocks); 17 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/FilesBar/ToasterMessages.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo, FC } from "react"; 2 | import InfoBoxes from "../../Elements/InfoBoxes"; 3 | import { StyledToasterMessages } from "./styled"; 4 | import { useFileManagerState } from "../../ContextStore/FileManagerContext"; 5 | import { Message } from "../../types"; 6 | 7 | const ToasterMessages: FC = () => { 8 | const { messages } = useFileManagerState(); 9 | 10 | return ( 11 | 12 | {messages.map((alert: Message) => ( 13 | 14 | ))} 15 | 16 | ); 17 | }; 18 | 19 | export default memo(ToasterMessages); 20 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/FilesBar/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import { StyledFilesBarWrapper } from "./styled"; 3 | import StatusBar from "./StatusBar"; 4 | import FilesListContainer from "./FilesListContainer"; 5 | 6 | const FileBarWrapper: React.FC = () => { 7 | return ( 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default memo(FileBarWrapper); 16 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/FolderBar/MenuSubmenu.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from "react"; 2 | import { List } from "@mui/material"; 3 | import MenuItem from "./MenuItem"; 4 | import { FolderList } from "../../types"; 5 | 6 | interface MenuSubmenuProps { 7 | folderList: FolderList["children"]; 8 | } 9 | 10 | const MenuSubmenu: FC = ({ folderList }) => ( 11 | 12 | {Array.isArray(folderList) && 13 | folderList.map((child) => )} 14 | 15 | ); 16 | 17 | export default MenuSubmenu; 18 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/FolderBar/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import { 3 | StyledFolderBar, 4 | FileManagerFolderBarGrid, 5 | FileManagerFolderBarWrapper, 6 | } from "./styled"; 7 | import VolumesList from "./VolumesList"; 8 | 9 | function FolderBar() { 10 | return ( 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | ); 19 | } 20 | export default memo(FolderBar); 21 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/TopBar/Settings/ThemeSelection.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import { Grid2 as Grid, FormLabel, Box } from "@mui/material"; 3 | import { SettingsSelect, SettingsSelectOption } from "../styled"; 4 | import { themeList } from "../../../Hooks/useCurrentTheme"; 5 | import { useFileManagerState } from "../../../ContextStore/FileManagerContext"; 6 | 7 | const ThemeSelection = () => { 8 | const { 9 | settings, 10 | operations: { handleSelectTheme }, 11 | } = useFileManagerState(); 12 | 13 | return ( 14 | 15 | Theme 16 | 17 | { 23 | if (event.target.dataset.value) { 24 | handleSelectTheme(event.target.dataset.value); 25 | } 26 | }} 27 | > 28 | {themeList.map((option) => ( 29 | 30 | {option.name} 31 | 32 | ))} 33 | 34 | 35 | 36 | ); 37 | }; 38 | 39 | export default memo(ThemeSelection); 40 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/TopBar/Settings/constants.ts: -------------------------------------------------------------------------------- 1 | import { 2 | ImagesThumbTypeEnum, 3 | OrderByFieldEnum, 4 | SortByFieldEnum, 5 | } from "../../../types"; 6 | 7 | // eslint-disable-next-line no-shadow 8 | export enum SettingsMenuEnum { 9 | SETTINGS = "SETTINGS", 10 | SEARCH = "SEARCH", 11 | SORTING = "SORTING", 12 | } 13 | 14 | export const orderOptions = [ 15 | { name: "By Name", value: OrderByFieldEnum.NAME }, 16 | { name: "By Size", value: OrderByFieldEnum.SIZE }, 17 | { name: "By Create Date", value: OrderByFieldEnum.DATE }, 18 | ]; 19 | 20 | export const sortOptions = [ 21 | { name: "Ascending", value: SortByFieldEnum.ASC }, 22 | { name: "Descending", value: SortByFieldEnum.DESC }, 23 | ]; 24 | 25 | export const imageViewOptions = [ 26 | { name: "Show Icons", value: ImagesThumbTypeEnum.ICONS }, 27 | { name: "Show Thumbs", value: ImagesThumbTypeEnum.THUMB }, 28 | ]; 29 | 30 | export interface SettingsPopoverMenuProps { 31 | anchorEl: HTMLElement | null; 32 | open: SettingsMenuEnum; 33 | onClose: () => void; 34 | } 35 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/TopBar/Settings/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import ImageViewOptions from "./ImageViewOptions"; 3 | import SortingOptions from "./SortingOptions"; 4 | import ThemeSelection from "./ThemeSelection"; 5 | 6 | const Settings = () => ( 7 | <> 8 | 9 | 10 | 11 | 12 | ); 13 | 14 | export default memo(Settings); 15 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/TopBar/styled.ts: -------------------------------------------------------------------------------- 1 | import { styled } from "@mui/material/styles"; 2 | import { Grid2 as Grid, MenuItem, Popover, Select } from "@mui/material"; 3 | 4 | export const TopBarWrapper = styled(Grid)(({ theme }) => ({ 5 | padding: "5px", 6 | borderBottom: `1px solid ${theme.cronus.topBar.borderColor}`, 7 | background: theme.cronus.topBar.background, 8 | flex: "none", 9 | overflow: "hidden", 10 | })); 11 | 12 | export const StyledTopBarMenuItem = styled(MenuItem)(({}) => ({ 13 | padding: "0px", 14 | fontSize: "13px", 15 | borderRadius: "5px", 16 | display: "block", 17 | "& span": { 18 | fontSize: "13px", 19 | }, 20 | "& label": { 21 | margin: "0px", 22 | }, 23 | "& svg": { 24 | width: "15px", 25 | }, 26 | })); 27 | 28 | export const SettingsPopover = styled(Popover)(({}) => ({ 29 | padding: "0px", 30 | "&>div": { 31 | // padding: "10px", 32 | }, 33 | })); 34 | export const SettingsSelectOption = styled(MenuItem)(({}) => ({ 35 | fontSize: "13px", 36 | })); 37 | export const SettingsSelect = styled(Select)(({}) => ({ 38 | fontSize: "13px", 39 | ".MuiSelect-root": { 40 | // fontSize: "12px", 41 | }, 42 | ".MuiSelect-select": { 43 | // fontSize: "12px", 44 | }, 45 | })); 46 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/ViewItems/App.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | display: grid; 3 | grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); 4 | gap: 10px; 5 | } 6 | 7 | .item { 8 | background-color: lightgray; 9 | padding: 20px; 10 | text-align: center; 11 | border: 1px solid #ccc; 12 | cursor: pointer; 13 | transition: opacity 0.2s ease; 14 | } 15 | 16 | .item.file { 17 | background-color: lightcoral; 18 | } 19 | 20 | .item.folder { 21 | background-color: lightseagreen; 22 | } 23 | 24 | .item.selected { 25 | border: 2px solid blue; 26 | } 27 | 28 | .item.dragging { 29 | opacity: 0.5; 30 | } 31 | 32 | .dropzone { 33 | border: 2px dashed lightblue; 34 | min-height: 100px; 35 | padding: 10px; 36 | } 37 | 38 | .dropzone.over { 39 | border-color: lightgreen; 40 | } 41 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/ViewItems/GridView/GridItemRender.tsx: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-nested-ternary */ 2 | /* eslint-disable react/require-default-props */ 3 | import React, { memo } from "react"; 4 | import { Box } from "@mui/material"; 5 | import FolderItem from "./FolderItem"; 6 | import FileItem from "./FileItem"; 7 | import { Items, ItemType } from "../../../types"; 8 | 9 | const GridItemRender = ({ item, ...rest }: { item: Items; style?: any }) => ( 10 | 11 | {item.type === ItemType.FOLDER ? ( 12 | 13 | ) : item.type === ItemType.FILE ? ( 14 | 15 | ) : null} 16 | 17 | ); 18 | 19 | export default memo(GridItemRender); 20 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/ViewItems/GridView/ItemSelectButton.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo, useCallback } from "react"; 2 | import { StyledSelectCheckbox, StyledPrivateIcon } from "../styled"; 3 | import { useFileManagerState } from "../../../ContextStore/FileManagerContext"; 4 | import { Items } from "../../../types"; 5 | import { wasMultiSelectKeyUsed } from "../../../helpers"; 6 | 7 | function ItemSelectButton({ item }: { item: Items }) { 8 | const { 9 | operations: { handleAddSelected }, 10 | selectedFiles, 11 | } = useFileManagerState(); 12 | const isSelected = selectedFiles?.has(item); 13 | 14 | // Using onClick as it will be correctly 15 | // preventing if there was a drag 16 | const handleClick = useCallback( 17 | (event: any) => { 18 | if (event.defaultPrevented) { 19 | return; 20 | } 21 | // marking the event as used 22 | event.preventDefault(); 23 | handleAddSelected(item, wasMultiSelectKeyUsed(event)); 24 | }, 25 | [item, handleAddSelected] 26 | ); 27 | 28 | if (item.private) return ; 29 | 30 | return ( 31 | 37 | ); 38 | } 39 | 40 | export default memo(ItemSelectButton); 41 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/ViewItems/ListView/ListItemRender.tsx: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-nested-ternary */ 2 | /* eslint-disable react/require-default-props */ 3 | import React, { memo } from "react"; 4 | import FolderItem from "./ListFolderItem"; 5 | import FileItem from "./ListFileItem"; 6 | import { Items, ItemType } from "../../../types"; 7 | 8 | const ListItemRender = ({ item, style }: { item: Items; style?: any }) => 9 | item.type === ItemType.FOLDER ? ( 10 | 11 | ) : item.type === ItemType.FILE ? ( 12 | 13 | ) : null; 14 | 15 | export default memo(ListItemRender); 16 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Blocks/ViewItems/ViewItems.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import GridView from "./GridView/GridView"; 3 | import ListView from "./ListView/ListView"; 4 | import { ViewTypeEnum } from "../../types"; 5 | import { useFileManagerState } from "../../ContextStore/FileManagerContext"; 6 | 7 | const ViewItems: React.FC = () => { 8 | const { settings } = useFileManagerState(); 9 | return settings.itemsViewType === ViewTypeEnum.GRID ? ( 10 | 11 | ) : ( 12 | 13 | ); 14 | }; 15 | 16 | export default memo(ViewItems); 17 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Elements/ButtonGroup.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ButtonGroup from "@mui/material/ButtonGroup"; 3 | import { ButtonProps } from "@mui/material/Button"; 4 | import { StyledActionButton } from "./styled"; 5 | import Icon from "./Icon"; 6 | 7 | export interface ButtonItemType extends Omit { 8 | icon: string; 9 | label: string; 10 | onClick: (params: any) => void; 11 | } 12 | export type ButtonGroupProps = { buttons: ButtonItemType[] }; 13 | 14 | const CustomButtonGroup: React.FC = ({ buttons }) => { 15 | const buttonComponents = buttons.map((button) => ( 16 | } 20 | > 21 | {button.label} 22 | 23 | )); 24 | 25 | return ( 26 | 27 | {buttonComponents} 28 | 29 | ); 30 | }; 31 | 32 | export default CustomButtonGroup; 33 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Elements/ButtonGroupSimple.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Button from "@mui/material/Button"; 3 | import ButtonGroup from "@mui/material/ButtonGroup"; 4 | 5 | interface ButtonData { 6 | label: string; 7 | onClick: () => void; 8 | disabled?: boolean; 9 | icon?: string; 10 | } 11 | 12 | interface ButtonGroupSimpleProps { 13 | buttons: ButtonData[]; 14 | } 15 | 16 | const ButtonGroupSimple: React.FC = ({ buttons }) => ( 17 |
18 | 19 | {buttons.map((button) => ( 20 | 29 | ))} 30 | 31 |
32 | ); 33 | 34 | export default ButtonGroupSimple; 35 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Elements/InputField.tsx: -------------------------------------------------------------------------------- 1 | import React, { ChangeEvent } from "react"; 2 | import { TextField, TextFieldProps } from "@mui/material"; 3 | 4 | interface InputFieldProps extends Omit { 5 | onChange: (value: string) => void; 6 | } 7 | 8 | export default function InputField(props: InputFieldProps) { 9 | const { onChange, ...rest } = props; 10 | 11 | const handleChange = (event: ChangeEvent) => { 12 | onChange(event.target.value); 13 | }; 14 | 15 | return ( 16 | 17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /frontend/src/FileManager/FileManager.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import { ThemeProvider } from "@mui/system"; 3 | import { FileManagerWrapper } from "./styled"; 4 | import FileManagerContainer from "./FileManagerContainer"; 5 | import PopupDialog from "./Elements/PopupDialog"; 6 | import ImageEditPopup from "./Elements/ImageEditor"; 7 | import { useFileManagerState } from "./ContextStore/FileManagerContext"; 8 | import useCurrentTheme from "./Hooks/useCurrentTheme"; 9 | 10 | const FileManager: React.FC<{ height: number }> = ({ height }) => { 11 | const { fullScreen } = useFileManagerState(); 12 | const theme = useCurrentTheme(); 13 | return ( 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ); 22 | }; 23 | 24 | export default memo(FileManager); 25 | -------------------------------------------------------------------------------- /frontend/src/FileManager/FileManagerContainer.tsx: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import { Paper, Grid } from "@mui/material"; 3 | import TopBar from "./Blocks/TopBar"; 4 | import FolderBar from "./Blocks/FolderBar"; 5 | import FilesBar from "./Blocks/FilesBar"; 6 | 7 | const FileManager: React.FC<{}> = () => ( 8 | 17 | 18 | 29 | 30 | 31 | 32 | 33 | ); 34 | 35 | export default memo(FileManager); 36 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Hooks/useApiController.tsx: -------------------------------------------------------------------------------- 1 | import { useMemo } from "react"; 2 | import { FileManagerState, VolumeTypes } from "../types"; 3 | import Ec2ServerConnection from "../Api/Ec2ServerConnection"; 4 | import S3FrontConnection from "../Api/S3FrontConnection"; 5 | import S3ServerConnection from "../Api/S3ServerConnection"; 6 | 7 | export const useApiController = ( 8 | selectedVolume: FileManagerState["selectedVolume"] 9 | ) => { 10 | const connection = useMemo(() => { 11 | if (!selectedVolume) return null; 12 | 13 | switch (selectedVolume.type) { 14 | case VolumeTypes.SERVER: { 15 | return new Ec2ServerConnection(selectedVolume.endpoint); 16 | } 17 | case VolumeTypes.S3BUCKET_BACK: { 18 | return new S3ServerConnection( 19 | selectedVolume.endpoint, 20 | selectedVolume.bucket 21 | ); 22 | } 23 | case VolumeTypes.S3BUCKET_FRONT: { 24 | return new S3FrontConnection(selectedVolume); 25 | } 26 | 27 | default: 28 | return null; 29 | } 30 | }, [selectedVolume]); 31 | return connection; 32 | }; 33 | 34 | export default useApiController; 35 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Hooks/useCurrentTheme.tsx: -------------------------------------------------------------------------------- 1 | import { useMemo } from "react"; 2 | import dark from "../Themes/dark"; 3 | import light from "../Themes/light"; 4 | import { useFileManagerState } from "../ContextStore/FileManagerContext"; 5 | import { ThemeItemList } from "../types"; 6 | 7 | export const themeList: ThemeItemList = [ 8 | { 9 | id: "darkTheme", 10 | name: "Dark", 11 | theme: dark, 12 | }, 13 | { 14 | id: "lightTheme", 15 | name: "Light", 16 | theme: light, 17 | }, 18 | ]; 19 | export const useCurrentTheme = () => { 20 | const { settings } = useFileManagerState(); 21 | const currentTheme = useMemo( 22 | () => 23 | themeList.find((theme) => theme.id === settings.selectedTheme)?.theme ?? 24 | themeList[1].theme, 25 | [settings.selectedTheme] 26 | ); 27 | return currentTheme; 28 | }; 29 | 30 | export default useCurrentTheme; 31 | -------------------------------------------------------------------------------- /frontend/src/FileManager/Hooks/useTexts.tsx: -------------------------------------------------------------------------------- 1 | import { useMemo } from "react"; 2 | import en from "../Assets/Translations/en"; 3 | 4 | const lang = "en"; 5 | export const useText = () => { 6 | const allTexts = useMemo(() => { 7 | switch (lang) { 8 | case "en": 9 | return en; 10 | default: 11 | return en; 12 | } 13 | }, []); 14 | return allTexts; 15 | }; 16 | 17 | export default useText; 18 | -------------------------------------------------------------------------------- /frontend/src/FileManager/config.ts: -------------------------------------------------------------------------------- 1 | export const LOCASTORAGE_SETTINGS_KEY = "CRONUS_SETTINGS"; 2 | export const VOLUME_SETTINGS_LIST = ""; 3 | export const FILE_EXTENSION_MAP = { 4 | icons: { 5 | ".png": "/img/files/png.svg", 6 | ".jpg": "/img/files/jpg.svg", 7 | ".jpeg": "/img/files/jpeg.svg", 8 | ".doc": "/img/files/doc.svg", 9 | ".docx": "/img/files/doc.svg", 10 | ".xls": "/img/files/xls.svg", 11 | ".pdf": "/img/files/pdf.svg", 12 | ".ppt": "/img/files/ppt.svg", 13 | ".svg": "/img/files/svg.svg", 14 | ".xml": "/img/files/xml.svg", 15 | ".psd": "/img/files/psd.svg", 16 | ".ai": "/img/files/ai.svg", 17 | ".mp4": "/img/files/mp4.svg", 18 | ".txt": "/img/files/txt.svg", 19 | ".csv": "/img/files/csv.svg", 20 | ".zip": "/img/files/zip.svg", 21 | ".gif": "/img/files/gif.svg", 22 | ".rar": "/img/files/zip-1.svg", 23 | ".tar.gz": "/img/files/zip-1.svg", 24 | broken: "/img/files/search.svg", 25 | folder: "/img/files/folder.svg", 26 | folderopen: "/img/files/folderopen.svg", 27 | folderfull: "/img/files/folderfull.svg", 28 | }, 29 | textFiles: [".txt"], 30 | imageFiles: [".jpg", ".jpeg", ".png", ".svg", ".gif"], 31 | archiveFiles: [".zip", ".tar.gz"], 32 | }; 33 | -------------------------------------------------------------------------------- /frontend/src/FileManager/index.tsx: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | /* eslint-disable react/prop-types */ 3 | import React, { memo, forwardRef, useImperativeHandle } from "react"; 4 | import { FileManagerProps } from "./types"; 5 | import { FileManagerProvider } from "./ContextStore/FileManagerContext"; 6 | import FileManager from "./FileManager"; 7 | 8 | const FileManagerWithProvider: React.FC = forwardRef( 9 | ({ selectItemCallback, height, volumesList }, ref) => { 10 | useImperativeHandle(ref, () => ({ 11 | refresh: () => { 12 | console.log("refresh requested"); 13 | }, 14 | })); 15 | console.log("FileManagerWithProvider rerender"); 16 | 17 | return ( 18 | 22 | 23 | 24 | ); 25 | } 26 | ); 27 | 28 | export default memo(FileManagerWithProvider); 29 | -------------------------------------------------------------------------------- /frontend/src/FileManager/styled.ts: -------------------------------------------------------------------------------- 1 | import { styled } from "@mui/material/styles"; 2 | import { Box, BoxProps } from "@mui/material"; 3 | 4 | export interface FileManagerWrapperProps extends BoxProps { 5 | expanded: boolean; 6 | } 7 | export const FileManagerWrapper = styled(Box, { 8 | shouldForwardProp: (prop: string) => !["expanded"].includes(prop), 9 | })(({ expanded, height }) => { 10 | if (expanded) { 11 | return { 12 | position: "fixed", 13 | top: "0", 14 | left: "0", 15 | height: "100%", 16 | width: "100%", 17 | zIndex: "999", 18 | padding: "20px", 19 | background: "rgba(255, 255, 255, 0.7)", 20 | }; 21 | } 22 | return { 23 | height: `${height}px`, 24 | display: "flex", 25 | alignItems: "stretch", 26 | width: "100%", 27 | }; 28 | }); 29 | -------------------------------------------------------------------------------- /frontend/src/index.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * @package Cronus File Manager 3 | * @auth0r Farhad Aliyev Kanni 4 | * @c0pyright Copyright (c) 2011 - 2024, Kannifarhad, Ltd. (http://www.kanni.pro/) 5 | * @license https://opensource.org/licenses/GPL-3.0 6 | * @link http://filemanager.kanni.pro 7 | * */ 8 | 9 | import React from "react"; 10 | import ReactDOM from "react-dom/client"; 11 | import App from "./App"; 12 | 13 | const root = ReactDOM.createRoot( 14 | document.getElementById("root") as HTMLElement 15 | ); 16 | 17 | root.render(); 18 | -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "esModuleInterop": true, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "noFallthroughCasesInSwitch": true, 12 | "module": "esnext", 13 | "moduleResolution": "node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx" 18 | }, 19 | "include": ["src"] 20 | } 21 | --------------------------------------------------------------------------------