mbkbucket 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +6 -3
- package/.github/PACKAGE.md +0 -4
- package/README.md +59 -14
- package/index.d.ts +192 -39
- package/index.js +4 -79
- package/lib/config/index.js +134 -1
- package/lib/index.js +2 -2
- package/lib/routes/api.js +501 -0
- package/lib/routes/index.js +17 -0
- package/lib/routes/info.js +28 -0
- package/lib/routes/view.js +458 -0
- package/lib/s3.js +297 -54
- package/package.json +3 -2
- package/public/bucketadmin.css +144 -32
- package/public/bucketadmin.js +253 -67
- package/views/bucket.handlebars +3 -3
- package/views/bucketadmin_alerts.handlebars +15 -0
- package/views/bucketadmin_delete_modal.handlebars +40 -0
- package/views/bucketadmin_filelist_skeleton.handlebars +20 -0
- package/views/bucketadmin_preview_modal.handlebars +33 -0
- package/views/bucketadmincontent.handlebars +7 -95
- package/views/mbkbucket_info.handlebars +226 -0
- package/lib/bucket.js +0 -726
- package/views/info.handlebars +0 -1056
package/public/bucketadmin.css
CHANGED
|
@@ -123,6 +123,16 @@
|
|
|
123
123
|
font-size: 0.9rem;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
.stats-bucket-badge {
|
|
127
|
+
background: rgba(255, 255, 255, 0.2);
|
|
128
|
+
padding: 0.35rem 0.75rem;
|
|
129
|
+
border-radius: 0.5rem;
|
|
130
|
+
font-size: 0.85rem;
|
|
131
|
+
font-weight: 600;
|
|
132
|
+
color: white;
|
|
133
|
+
letter-spacing: 0.02em;
|
|
134
|
+
}
|
|
135
|
+
|
|
126
136
|
/* Form styling - Modern approach */
|
|
127
137
|
.form-control {
|
|
128
138
|
border: 1px solid var(--gray-light-color-ml);
|
|
@@ -511,13 +521,14 @@
|
|
|
511
521
|
}
|
|
512
522
|
|
|
513
523
|
.folder-row .file-icon {
|
|
514
|
-
background: linear-gradient(
|
|
515
|
-
color: #
|
|
516
|
-
|
|
524
|
+
background: linear-gradient(160deg, #fff5db 0%, #ffe7b2 100%);
|
|
525
|
+
color: #b45309;
|
|
526
|
+
border: 1px solid rgba(180, 83, 9, 0.2);
|
|
527
|
+
box-shadow: 0 3px 10px rgba(180, 83, 9, 0.14);
|
|
517
528
|
}
|
|
518
529
|
|
|
519
530
|
.folder-row:hover .file-icon {
|
|
520
|
-
box-shadow: 0
|
|
531
|
+
box-shadow: 0 8px 18px rgba(180, 83, 9, 0.24);
|
|
521
532
|
}
|
|
522
533
|
|
|
523
534
|
.breadcrumb-nav {
|
|
@@ -561,22 +572,28 @@
|
|
|
561
572
|
}
|
|
562
573
|
|
|
563
574
|
.file-icon {
|
|
564
|
-
width:
|
|
565
|
-
height:
|
|
566
|
-
background: linear-gradient(
|
|
567
|
-
border
|
|
575
|
+
width: 42px;
|
|
576
|
+
height: 42px;
|
|
577
|
+
background: linear-gradient(160deg, #ecfdf8 0%, #d9f7ef 100%);
|
|
578
|
+
border: 1px solid rgba(13, 148, 136, 0.18);
|
|
579
|
+
border-radius: 12px;
|
|
568
580
|
display: flex;
|
|
569
581
|
align-items: center;
|
|
570
582
|
justify-content: center;
|
|
571
583
|
margin-right: 0.9rem;
|
|
572
|
-
color:
|
|
573
|
-
font-size: 1.
|
|
584
|
+
color: #0f766e;
|
|
585
|
+
font-size: 1.15rem;
|
|
574
586
|
flex-shrink: 0;
|
|
575
|
-
|
|
587
|
+
box-shadow: 0 3px 10px rgba(13, 148, 136, 0.12);
|
|
588
|
+
transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
.file-icon i {
|
|
592
|
+
transition: transform 0.22s ease;
|
|
576
593
|
}
|
|
577
594
|
|
|
578
595
|
.file-row:hover .file-icon {
|
|
579
|
-
box-shadow: 0
|
|
596
|
+
box-shadow: 0 8px 18px rgba(13, 148, 136, 0.2);
|
|
580
597
|
}
|
|
581
598
|
|
|
582
599
|
.file-info {
|
|
@@ -653,53 +670,58 @@
|
|
|
653
670
|
|
|
654
671
|
/* File type specific styling - Enhanced gradients */
|
|
655
672
|
.file-icon.image-file {
|
|
656
|
-
background: linear-gradient(
|
|
657
|
-
color: #
|
|
658
|
-
|
|
673
|
+
background: linear-gradient(160deg, #fff6e3 0%, #ffe7bf 100%);
|
|
674
|
+
color: #b45309;
|
|
675
|
+
border-color: rgba(180, 83, 9, 0.22);
|
|
676
|
+
box-shadow: 0 3px 10px rgba(180, 83, 9, 0.16);
|
|
659
677
|
}
|
|
660
678
|
|
|
661
679
|
.file-icon.video-file {
|
|
662
|
-
background: linear-gradient(
|
|
663
|
-
color: #
|
|
664
|
-
|
|
680
|
+
background: linear-gradient(160deg, #ffe9e7 0%, #ffd1cc 100%);
|
|
681
|
+
color: #b91c1c;
|
|
682
|
+
border-color: rgba(185, 28, 28, 0.22);
|
|
683
|
+
box-shadow: 0 3px 10px rgba(185, 28, 28, 0.16);
|
|
665
684
|
}
|
|
666
685
|
|
|
667
686
|
.file-icon.audio-file {
|
|
668
|
-
background: linear-gradient(
|
|
669
|
-
color: #
|
|
670
|
-
|
|
687
|
+
background: linear-gradient(160deg, #e6efff 0%, #d6e5ff 100%);
|
|
688
|
+
color: #1d4ed8;
|
|
689
|
+
border-color: rgba(29, 78, 216, 0.22);
|
|
690
|
+
box-shadow: 0 3px 10px rgba(29, 78, 216, 0.16);
|
|
671
691
|
}
|
|
672
692
|
|
|
673
693
|
.file-icon.document-file {
|
|
674
|
-
background: linear-gradient(
|
|
675
|
-
color: #
|
|
676
|
-
|
|
694
|
+
background: linear-gradient(160deg, #e6faf9 0%, #c8f0ed 100%);
|
|
695
|
+
color: #0f766e;
|
|
696
|
+
border-color: rgba(15, 118, 110, 0.22);
|
|
697
|
+
box-shadow: 0 3px 10px rgba(15, 118, 110, 0.16);
|
|
677
698
|
}
|
|
678
699
|
|
|
679
700
|
.file-icon.code-file {
|
|
680
|
-
background: linear-gradient(
|
|
681
|
-
color: #
|
|
682
|
-
|
|
701
|
+
background: linear-gradient(160deg, #e9fbe9 0%, #d5f4d5 100%);
|
|
702
|
+
color: #166534;
|
|
703
|
+
border-color: rgba(22, 101, 52, 0.22);
|
|
704
|
+
box-shadow: 0 3px 10px rgba(22, 101, 52, 0.16);
|
|
683
705
|
}
|
|
684
706
|
|
|
685
707
|
.file-row:hover .file-icon.image-file {
|
|
686
|
-
box-shadow: 0
|
|
708
|
+
box-shadow: 0 8px 18px rgba(180, 83, 9, 0.24);
|
|
687
709
|
}
|
|
688
710
|
|
|
689
711
|
.file-row:hover .file-icon.video-file {
|
|
690
|
-
box-shadow: 0
|
|
712
|
+
box-shadow: 0 8px 18px rgba(185, 28, 28, 0.24);
|
|
691
713
|
}
|
|
692
714
|
|
|
693
715
|
.file-row:hover .file-icon.audio-file {
|
|
694
|
-
box-shadow: 0
|
|
716
|
+
box-shadow: 0 8px 18px rgba(29, 78, 216, 0.24);
|
|
695
717
|
}
|
|
696
718
|
|
|
697
719
|
.file-row:hover .file-icon.document-file {
|
|
698
|
-
box-shadow: 0
|
|
720
|
+
box-shadow: 0 8px 18px rgba(15, 118, 110, 0.24);
|
|
699
721
|
}
|
|
700
722
|
|
|
701
723
|
.file-row:hover .file-icon.code-file {
|
|
702
|
-
box-shadow: 0
|
|
724
|
+
box-shadow: 0 8px 18px rgba(22, 101, 52, 0.24);
|
|
703
725
|
}
|
|
704
726
|
|
|
705
727
|
/* Empty state - Modern design */
|
|
@@ -741,6 +763,96 @@
|
|
|
741
763
|
color: var(--gray-color-ml);
|
|
742
764
|
}
|
|
743
765
|
|
|
766
|
+
.empty-state-illustration {
|
|
767
|
+
margin-bottom: 1.5rem;
|
|
768
|
+
position: relative;
|
|
769
|
+
display: inline-block;
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
.empty-state-search-icon {
|
|
773
|
+
font-size: 2rem;
|
|
774
|
+
color: var(--primary-color-ml);
|
|
775
|
+
position: absolute;
|
|
776
|
+
bottom: -5px;
|
|
777
|
+
right: -10px;
|
|
778
|
+
background: white;
|
|
779
|
+
border-radius: 50%;
|
|
780
|
+
padding: 5px;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
.empty-state-description {
|
|
784
|
+
max-width: 400px;
|
|
785
|
+
margin: 0 auto 1.5rem;
|
|
786
|
+
color: var(--text-muted-color-ml);
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
.empty-state-actions {
|
|
790
|
+
display: flex;
|
|
791
|
+
gap: 0.75rem;
|
|
792
|
+
justify-content: center;
|
|
793
|
+
flex-wrap: wrap;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
.file-path-display {
|
|
797
|
+
font-size: 0.75rem;
|
|
798
|
+
color: var(--gray-color-ml);
|
|
799
|
+
margin-bottom: 2px;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
.sort-icon {
|
|
803
|
+
margin-left: 0.5rem;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
.sort-icon-inactive {
|
|
807
|
+
color: var(--gray-color-ml);
|
|
808
|
+
opacity: 0.3;
|
|
809
|
+
font-size: 0.8rem;
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
.sort-icon-active {
|
|
813
|
+
color: var(--primary-color-ml);
|
|
814
|
+
font-size: 0.9rem;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
.bulk-actions-bar {
|
|
818
|
+
display: none;
|
|
819
|
+
padding: 0.5rem;
|
|
820
|
+
border-bottom: 1px solid var(--gray-light-color-ml);
|
|
821
|
+
background: var(--light-color-ml);
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
.toast-close-btn {
|
|
825
|
+
background: none;
|
|
826
|
+
border: none;
|
|
827
|
+
color: white;
|
|
828
|
+
cursor: pointer;
|
|
829
|
+
opacity: 0.8;
|
|
830
|
+
font-size: 1.2rem;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
.upload-item-meta-row {
|
|
834
|
+
display: flex;
|
|
835
|
+
align-items: center;
|
|
836
|
+
gap: 0.75rem;
|
|
837
|
+
min-width: 0;
|
|
838
|
+
width: 100%;
|
|
839
|
+
margin-bottom: 5px;
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
.upload-item-size-label {
|
|
843
|
+
white-space: nowrap;
|
|
844
|
+
color: var(--text-muted-color-ml);
|
|
845
|
+
font-size: 0.875rem;
|
|
846
|
+
margin-left: auto;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
.upload-item-status-row {
|
|
850
|
+
display: flex;
|
|
851
|
+
justify-content: space-between;
|
|
852
|
+
align-items: center;
|
|
853
|
+
gap: 0.5rem;
|
|
854
|
+
}
|
|
855
|
+
|
|
744
856
|
/* Modal styling - Modern design */
|
|
745
857
|
.modal {
|
|
746
858
|
position: fixed;
|