Initial commit
This commit is contained in:
239
resources/views/admin/settings/advanced.blade.php
Normal file
239
resources/views/admin/settings/advanced.blade.php
Normal file
@@ -0,0 +1,239 @@
|
||||
<x-app-layout>
|
||||
<x-slot name="header">
|
||||
<h2 class="text-xl font-semibold leading-tight text-gray-800">
|
||||
系統設定 - 進階設定
|
||||
</h2>
|
||||
</x-slot>
|
||||
|
||||
<div class="py-12">
|
||||
<div class="mx-auto max-w-7xl sm:px-6 lg:px-8">
|
||||
<div class="grid grid-cols-1 gap-6 lg:grid-cols-4">
|
||||
<!-- Sidebar -->
|
||||
<div class="lg:col-span-1">
|
||||
@include('admin.settings._sidebar')
|
||||
</div>
|
||||
|
||||
<!-- Main Content -->
|
||||
<div class="lg:col-span-3">
|
||||
@if (session('status'))
|
||||
<div class="mb-6 rounded-md bg-green-50 p-4">
|
||||
<p class="text-sm font-medium text-green-800">{{ session('status') }}</p>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="bg-white shadow sm:rounded-lg">
|
||||
<div class="px-6 py-5 border-b border-gray-200">
|
||||
<h3 class="text-lg font-medium text-gray-900">進階設定</h3>
|
||||
<p class="mt-1 text-sm text-gray-600">配置 QR Code、統計、版本控制和其他進階功能</p>
|
||||
</div>
|
||||
|
||||
<form action="{{ route('admin.settings.advanced.update') }}" method="POST" class="px-6 py-6 space-y-8">
|
||||
@csrf
|
||||
|
||||
<!-- QR Code Settings Section -->
|
||||
<div class="border-b border-gray-200 pb-6">
|
||||
<h4 class="text-base font-medium text-gray-900 mb-4">QR Code 設定</h4>
|
||||
|
||||
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
|
||||
<div>
|
||||
<label for="qr_code_size" class="block text-sm font-medium text-gray-700">
|
||||
QR Code 尺寸(像素)
|
||||
</label>
|
||||
<input type="number" name="qr_code_size" id="qr_code_size"
|
||||
value="{{ old('qr_code_size', $settings['qr_code_size']) }}"
|
||||
min="100" max="1000"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
@error('qr_code_size')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="qr_code_format" class="block text-sm font-medium text-gray-700">
|
||||
QR Code 格式
|
||||
</label>
|
||||
<select name="qr_code_format" id="qr_code_format"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<option value="png" {{ $settings['qr_code_format'] === 'png' ? 'selected' : '' }}>PNG</option>
|
||||
<option value="svg" {{ $settings['qr_code_format'] === 'svg' ? 'selected' : '' }}>SVG</option>
|
||||
</select>
|
||||
@error('qr_code_format')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Statistics Settings Section -->
|
||||
<div class="border-b border-gray-200 pb-6">
|
||||
<h4 class="text-base font-medium text-gray-900 mb-4">統計報表設定</h4>
|
||||
|
||||
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
|
||||
<div>
|
||||
<label for="statistics_time_range" class="block text-sm font-medium text-gray-700">
|
||||
統計時間範圍(天)
|
||||
</label>
|
||||
<input type="number" name="statistics_time_range" id="statistics_time_range"
|
||||
value="{{ old('statistics_time_range', $settings['statistics_time_range']) }}"
|
||||
min="7" max="365"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<p class="mt-1 text-sm text-gray-500">預設顯示的統計天數</p>
|
||||
@error('statistics_time_range')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="statistics_top_n" class="block text-sm font-medium text-gray-700">
|
||||
熱門項目顯示數量
|
||||
</label>
|
||||
<input type="number" name="statistics_top_n" id="statistics_top_n"
|
||||
value="{{ old('statistics_top_n', $settings['statistics_top_n']) }}"
|
||||
min="5" max="100"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<p class="mt-1 text-sm text-gray-500">顯示前 N 個熱門文件</p>
|
||||
@error('statistics_top_n')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Document Settings Section -->
|
||||
<div class="border-b border-gray-200 pb-6">
|
||||
<h4 class="text-base font-medium text-gray-900 mb-4">文件設定</h4>
|
||||
|
||||
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
|
||||
<div>
|
||||
<label for="default_expiration_days" class="block text-sm font-medium text-gray-700">
|
||||
預設到期天數
|
||||
</label>
|
||||
<input type="number" name="default_expiration_days" id="default_expiration_days"
|
||||
value="{{ old('default_expiration_days', $settings['default_expiration_days']) }}"
|
||||
min="0" max="3650"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<p class="mt-1 text-sm text-gray-500">新文件的預設到期天數(0 表示永不過期)</p>
|
||||
@error('default_expiration_days')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="expiration_warning_days" class="block text-sm font-medium text-gray-700">
|
||||
到期前提醒天數
|
||||
</label>
|
||||
<input type="number" name="expiration_warning_days" id="expiration_warning_days"
|
||||
value="{{ old('expiration_warning_days', $settings['expiration_warning_days']) }}"
|
||||
min="1" max="365"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<p class="mt-1 text-sm text-gray-500">到期前幾天發送提醒通知</p>
|
||||
@error('expiration_warning_days')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="max_tags_per_document" class="block text-sm font-medium text-gray-700">
|
||||
每個文件的標籤上限
|
||||
</label>
|
||||
<input type="number" name="max_tags_per_document" id="max_tags_per_document"
|
||||
value="{{ old('max_tags_per_document', $settings['max_tags_per_document']) }}"
|
||||
min="1" max="50"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
@error('max_tags_per_document')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="default_access_level" class="block text-sm font-medium text-gray-700">
|
||||
預設存取權限
|
||||
</label>
|
||||
<select name="default_access_level" id="default_access_level"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<option value="public" {{ $settings['default_access_level'] === 'public' ? 'selected' : '' }}>公開</option>
|
||||
<option value="members" {{ $settings['default_access_level'] === 'members' ? 'selected' : '' }}>會員</option>
|
||||
<option value="admin" {{ $settings['default_access_level'] === 'admin' ? 'selected' : '' }}>管理員</option>
|
||||
<option value="board" {{ $settings['default_access_level'] === 'board' ? 'selected' : '' }}>理事會</option>
|
||||
</select>
|
||||
<p class="mt-1 text-sm text-gray-500">新文件的預設存取權限</p>
|
||||
@error('default_access_level')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<div class="flex items-start">
|
||||
<div class="flex items-center h-5">
|
||||
<input type="checkbox" name="auto_archive_enabled" id="auto_archive_enabled"
|
||||
{{ $settings['auto_archive_enabled'] ? 'checked' : '' }}
|
||||
class="w-4 h-4 text-indigo-600 border-gray-300 rounded focus:ring-indigo-500">
|
||||
</div>
|
||||
<div class="ml-3 text-sm">
|
||||
<label for="auto_archive_enabled" class="font-medium text-gray-700">自動封存過期文件</label>
|
||||
<p class="text-gray-500">當文件到期時自動將其封存</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- System Settings Section -->
|
||||
<div>
|
||||
<h4 class="text-base font-medium text-gray-900 mb-4">系統設定</h4>
|
||||
|
||||
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
|
||||
<div>
|
||||
<label for="audit_log_retention_days" class="block text-sm font-medium text-gray-700">
|
||||
稽核記錄保留天數
|
||||
</label>
|
||||
<input type="number" name="audit_log_retention_days" id="audit_log_retention_days"
|
||||
value="{{ old('audit_log_retention_days', $settings['audit_log_retention_days']) }}"
|
||||
min="30" max="3650"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<p class="mt-1 text-sm text-gray-500">稽核記錄保留的天數</p>
|
||||
@error('audit_log_retention_days')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="max_versions_retain" class="block text-sm font-medium text-gray-700">
|
||||
版本保留數量
|
||||
</label>
|
||||
<input type="number" name="max_versions_retain" id="max_versions_retain"
|
||||
value="{{ old('max_versions_retain', $settings['max_versions_retain']) }}"
|
||||
min="0" max="100"
|
||||
class="mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm"
|
||||
required>
|
||||
<p class="mt-1 text-sm text-gray-500">每個文件保留的最大版本數(0 表示無限制)</p>
|
||||
@error('max_versions_retain')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Submit Button -->
|
||||
<div class="flex items-center justify-end pt-4 border-t">
|
||||
<button type="submit"
|
||||
class="inline-flex justify-center rounded-md border border-transparent bg-indigo-600 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2">
|
||||
儲存變更
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
Reference in New Issue
Block a user