From 5679d3876d3dd5d716cfb8b1f0dbb6cbe40a2b01 Mon Sep 17 00:00:00 2001 From: Wisp X Date: Thu, 20 Jan 2022 22:42:44 +0800 Subject: [PATCH] =?UTF-8?q?:lipstick:=20=E8=A7=92=E8=89=B2=E7=BB=84?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E8=A1=A8=E5=8D=95=E9=A1=B5=E9=9D=A2=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/GroupController.php | 7 +- database/seeders/DatabaseSeeder.php | 2 +- public/css/app.css | 113 +++++++++++ resources/views/admin/group/add.blade.php | 189 +++++++++++++++++- resources/views/user/settings.blade.php | 69 ++++--- 5 files changed, 343 insertions(+), 37 deletions(-) diff --git a/app/Http/Controllers/Admin/GroupController.php b/app/Http/Controllers/Admin/GroupController.php index 6e8c3b0f..a3ad0b85 100644 --- a/app/Http/Controllers/Admin/GroupController.php +++ b/app/Http/Controllers/Admin/GroupController.php @@ -11,6 +11,8 @@ use Illuminate\View\View; class GroupController extends Controller { + protected array $extensions = ['jpeg', 'jpg', 'png', 'gif', 'tif', 'bmp', 'ico', 'psd', 'webp']; + public function index(Request $request): View { $groups = Group::query()->when($request->query('keywords'), function (Builder $builder, $keywords) { @@ -21,13 +23,14 @@ class GroupController extends Controller public function add(): View { - return view('admin.group.add'); + return view('admin.group.add', ['extensions' => $this->extensions]); } public function edit(Request $request): View { $group = Group::query()->findOrFail($request->route('id')); - return view('admin.group.edit', compact('group')); + $extensions = $this->extensions; + return view('admin.group.edit', compact('group', 'extensions')); } public function create(): Response diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index e0e13567..ce45b923 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -80,7 +80,7 @@ class DatabaseSeeder extends Seeder GroupConfigKey::LimitPerDay => 300, GroupConfigKey::LimitPerWeek => 600, GroupConfigKey::LimitPerMonth => 999, - GroupConfigKey::AcceptedFileSuffixes => ['jpeg', 'png', 'gif', 'tif', 'bmp', 'ico', 'psd', 'webp'], + GroupConfigKey::AcceptedFileSuffixes => ['jpeg', 'jpg', 'png', 'gif', 'tif', 'bmp', 'ico', 'psd', 'webp'], GroupConfigKey::PathNamingRule => '{Y}/{m}/{d}', GroupConfigKey::FileNamingRule => '{uniqid}', GroupConfigKey::CacheTtl => 2626560, diff --git a/public/css/app.css b/public/css/app.css index ef564a3b..b431116d 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -652,6 +652,10 @@ select { bottom: 0px; left: 0px; } +.inset-y-0 { + top: 0px; + bottom: 0px; +} .top-1 { top: 0.25rem; } @@ -808,6 +812,9 @@ select { .mb-3 { margin-bottom: 0.75rem; } +.mt-5 { + margin-top: 1.25rem; +} .block { display: block; } @@ -1031,6 +1038,9 @@ select { .flex-nowrap { flex-wrap: nowrap; } +.items-start { + align-items: flex-start; +} .items-center { align-items: center; } @@ -1171,6 +1181,18 @@ select { border-top-right-radius: 0.375rem; border-bottom-right-radius: 0.375rem; } +.rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; +} +.rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.rounded-l-none { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} .border { border-width: 1px; } @@ -1293,6 +1315,17 @@ select { --tw-bg-opacity: 1; background-color: rgb(55 65 81 / var(--tw-bg-opacity)); } +.bg-transparent { + background-color: transparent; +} +.bg-indigo-600 { + --tw-bg-opacity: 1; + background-color: rgb(79 70 229 / var(--tw-bg-opacity)); +} +.bg-red-50 { + --tw-bg-opacity: 1; + background-color: rgb(254 242 242 / var(--tw-bg-opacity)); +} .bg-opacity-75 { --tw-bg-opacity: 0.75; } @@ -1387,6 +1420,10 @@ select { padding-top: 2.5rem; padding-bottom: 2.5rem; } +.py-0 { + padding-top: 0px; + padding-bottom: 0px; +} .pb-6 { padding-bottom: 1.5rem; } @@ -1414,6 +1451,18 @@ select { .pb-1 { padding-bottom: 0.25rem; } +.pl-7 { + padding-left: 1.75rem; +} +.pr-12 { + padding-right: 3rem; +} +.pl-2 { + padding-left: 0.5rem; +} +.pr-7 { + padding-right: 1.75rem; +} .text-left { text-align: left; } @@ -1480,6 +1529,9 @@ select { .leading-7 { line-height: 1.75rem; } +.leading-6 { + line-height: 1.5rem; +} .tracking-wider { letter-spacing: 0.05em; } @@ -1720,6 +1772,14 @@ select { --tw-bg-opacity: 1; background-color: rgb(37 99 235 / var(--tw-bg-opacity)); } +.hover\:bg-indigo-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(67 56 202 / var(--tw-bg-opacity)); +} +.hover\:bg-gray-500:hover { + --tw-bg-opacity: 1; + background-color: rgb(107 114 128 / var(--tw-bg-opacity)); +} .hover\:text-gray-500:hover { --tw-text-opacity: 1; color: rgb(107 114 128 / var(--tw-text-opacity)); @@ -1847,6 +1907,10 @@ select { .group:hover .group-hover\:hidden { display: none; } +.group:hover .group-hover\:bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} .dark .dark\:bg-gray-900 { --tw-bg-opacity: 1; background-color: rgb(17 24 39 / var(--tw-bg-opacity)); @@ -1861,6 +1925,14 @@ select { grid-column: span 3 / span 3; } + .sm\:col-span-4 { + grid-column: span 4 / span 4; + } + + .sm\:col-span-6 { + grid-column: span 6 / span 6; + } + .sm\:-mx-6 { margin-left: -1.5rem; margin-right: -1.5rem; @@ -1883,6 +1955,10 @@ select { margin-left: 1.5rem; } + .sm\:mt-0 { + margin-top: 0px; + } + .sm\:block { display: block; } @@ -1937,6 +2013,18 @@ select { margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); } + .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); + } + + .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); + } + .sm\:rounded-md { border-radius: 0.375rem; } @@ -1959,6 +2047,11 @@ select { padding-right: 2.5rem; } + .sm\:px-0 { + padding-left: 0px; + padding-right: 0px; + } + .sm\:pt-0 { padding-top: 0px; } @@ -1981,6 +2074,14 @@ select { } @media (min-width: 768px) { + .md\:col-span-1 { + grid-column: span 1 / span 1; + } + + .md\:col-span-2 { + grid-column: span 2 / span 2; + } + .md\:my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; @@ -2018,6 +2119,10 @@ select { grid-template-columns: repeat(2, minmax(0, 1fr)); } + .md\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .md\:flex-row { flex-direction: row; } @@ -2030,6 +2135,10 @@ select { justify-content: space-between; } + .md\:gap-6 { + gap: 1.5rem; + } + .md\:gap-x-4 { -moz-column-gap: 1rem; column-gap: 1rem; @@ -2066,6 +2175,10 @@ select { } @media (min-width: 1024px) { + .lg\:col-span-2 { + grid-column: span 2 / span 2; + } + .lg\:-mx-8 { margin-left: -2rem; margin-right: -2rem; diff --git a/resources/views/admin/group/add.blade.php b/resources/views/admin/group/add.blade.php index 400b14e8..614fc22b 100644 --- a/resources/views/admin/group/add.blade.php +++ b/resources/views/admin/group/add.blade.php @@ -1,5 +1,192 @@
- 创建角色组 +
+ +
+
+
+
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+
+ 是否默认 +

设置默认后,新用户注册以后将会属于该默认角色组。

+
+
+
+ + +
+
+ + +
+
+
+
+ +
+
+ 允许上传的图片类型 +
+ @foreach($extensions as $extension) +
+ + +
+ @endforeach +
+
+
+
+ + + +
+
+ 取消 + 确认创建 +
+
+
+
+ + @push('scripts') + + @endpush +
diff --git a/resources/views/user/settings.blade.php b/resources/views/user/settings.blade.php index 184638d5..175f3052 100644 --- a/resources/views/user/settings.blade.php +++ b/resources/views/user/settings.blade.php @@ -48,42 +48,45 @@ - - -
-
-
- 是否自动清除预览 -

设置上传时,文件上传完成以后是否自动清除预览图片

+
+
+
+ 是否自动清除预览 +

设置上传时,文件上传完成以后是否自动清除预览图片

+
+
+
+ configs->get(\App\Enums\UserConfigKey::IsAutoClearPreview) ? 'checked' : '' }}> + +
+
+ configs->get(\App\Enums\UserConfigKey::IsAutoClearPreview) ? 'checked' : '' }}> + +
+
+
-
-
- configs->get(\App\Enums\UserConfigKey::IsAutoClearPreview) ? 'checked' : '' }}> - -
-
- configs->get(\App\Enums\UserConfigKey::IsAutoClearPreview) ? 'checked' : '' }}> - -
+ +
+
+
+ 图片默认权限 +

设置上传的图片默认的权限(公开还是私有,公开的图片将会出现在画廊中,你也可以通过图片管理单独设置权限)

+
+
+
+ configs->get(\App\Enums\UserConfigKey::DefaultPermission) == \App\Enums\ImagePermission::Private ? 'checked' : '' }}> + +
+
+ configs->get(\App\Enums\UserConfigKey::DefaultPermission) == \App\Enums\ImagePermission::Public ? 'checked' : '' }}> + +
+
+
-
-
-
- 图片默认权限 -

设置上传的图片默认的权限(公开还是私有,公开的图片将会出现在画廊中,你也可以通过图片管理单独设置权限)

-
-
-
- configs->get(\App\Enums\UserConfigKey::DefaultPermission) == \App\Enums\ImagePermission::Private ? 'checked' : '' }}> - -
-
- configs->get(\App\Enums\UserConfigKey::DefaultPermission) == \App\Enums\ImagePermission::Public ? 'checked' : '' }}> - -
-
-
+