add setting: custom menu enable or not

This commit is contained in:
xiaomlove
2022-08-04 18:38:02 +08:00
parent 23804a0b14
commit 8fd5fa0df6
9 changed files with 69 additions and 36 deletions
+8 -3
View File
@@ -86,9 +86,14 @@ class Test extends Command
*/
public function handle()
{
$menuRep = new MenuRepository();
$r = $menuRep->listItems()->toArray();
dd($r);
add_filter('ttt', function ($d) {
$d[] = 100;
return $d;
});
$a = [];
$a[] = '1';
$a = apply_filter('ttt', $a);
dd($a);
}
@@ -41,36 +41,7 @@ class EditSetting extends Page implements Forms\Contracts\HasForms
{
return [
Forms\Components\Tabs::make('Heading')
->tabs([
Forms\Components\Tabs\Tab::make(__('label.setting.hr.tab_header'))
->schema([
Forms\Components\Radio::make('hr.mode')->options(HitAndRun::listModes(true))->inline(true)->label(__('label.setting.hr.mode')),
Forms\Components\TextInput::make('hr.inspect_time')->helperText(__('label.setting.hr.inspect_time_help'))->label(__('label.setting.hr.inspect_time'))->integer(),
Forms\Components\TextInput::make('hr.seed_time_minimum')->helperText(__('label.setting.hr.seed_time_minimum_help'))->label(__('label.setting.hr.seed_time_minimum'))->integer(),
Forms\Components\TextInput::make('hr.ignore_when_ratio_reach')->helperText(__('label.setting.hr.ignore_when_ratio_reach_help'))->label(__('label.setting.hr.ignore_when_ratio_reach'))->integer(),
Forms\Components\TextInput::make('hr.ban_user_when_counts_reach')->helperText(__('label.setting.hr.ban_user_when_counts_reach_help'))->label(__('label.setting.hr.ban_user_when_counts_reach'))->integer(),
])->columns(2),
Forms\Components\Tabs\Tab::make(__('label.setting.backup.tab_header'))
->schema([
Forms\Components\Radio::make('backup.enabled')->options(self::$yesOrNo)->inline(true)->label(__('label.enabled'))->helperText(__('label.setting.backup.enabled_help')),
Forms\Components\Radio::make('backup.frequency')->options(['daily' => 'daily', 'hourly' => 'hourly'])->inline(true)->label(__('label.setting.backup.frequency'))->helperText(__('label.setting.backup.frequency_help')),
Forms\Components\Select::make('backup.hour')->options(range(0, 23))->label(__('label.setting.backup.hour'))->helperText(__('label.setting.backup.hour_help')),
Forms\Components\Select::make('backup.minute')->options(range(0, 59))->label(__('label.setting.backup.minute'))->helperText(__('label.setting.backup.minute_help')),
Forms\Components\TextInput::make('backup.google_drive_client_id')->label(__('label.setting.backup.google_drive_client_id')),
Forms\Components\TextInput::make('backup.google_drive_client_secret')->label(__('label.setting.backup.google_drive_client_secret')),
Forms\Components\TextInput::make('backup.google_drive_refresh_token')->label(__('label.setting.backup.google_drive_refresh_token')),
Forms\Components\TextInput::make('backup.google_drive_folder_id')->label(__('label.setting.backup.google_drive_folder_id')),
Forms\Components\Radio::make('backup.via_ftp')->options(self::$yesOrNo)->inline(true)->label(__('label.setting.backup.via_ftp'))->helperText(__('label.setting.backup.via_ftp_help')),
Forms\Components\Radio::make('backup.via_sftp')->options(self::$yesOrNo)->inline(true)->label(__('label.setting.backup.via_sftp'))->helperText(__('label.setting.backup.via_sftp_help')),
])->columns(2),
Forms\Components\Tabs\Tab::make(__('label.setting.seed_box.tab_header'))
->schema([
Forms\Components\Radio::make('seed_box.enabled')->options(self::$yesOrNo)->inline(true)->label(__('label.enabled'))->helperText(__('label.setting.seed_box.enabled_help')),
Forms\Components\TextInput::make('seed_box.not_seed_box_max_speed')->label(__('label.setting.seed_box.not_seed_box_max_speed'))->helperText(__('label.setting.seed_box.not_seed_box_max_speed_help'))->integer(),
Forms\Components\Radio::make('seed_box.no_promotion')->options(self::$yesOrNo)->inline(true)->label(__('label.setting.seed_box.no_promotion'))->helperText(__('label.setting.seed_box.no_promotion_help')),
Forms\Components\TextInput::make('seed_box.max_uploaded')->label(__('label.setting.seed_box.max_uploaded'))->helperText(__('label.setting.seed_box.max_uploaded_help'))->integer(),
])->columns(2),
])
->tabs($this->getTabs())
];
}
@@ -110,4 +81,46 @@ class EditSetting extends Page implements Forms\Contracts\HasForms
$this->notify('success', __('filament::resources/pages/edit-record.messages.saved'));
}
private function getTabs(): array
{
$tabs = [];
$tabs[] = Forms\Components\Tabs\Tab::make(__('label.setting.hr.tab_header'))
->id('hr')
->schema([
Forms\Components\Radio::make('hr.mode')->options(HitAndRun::listModes(true))->inline(true)->label(__('label.setting.hr.mode')),
Forms\Components\TextInput::make('hr.inspect_time')->helperText(__('label.setting.hr.inspect_time_help'))->label(__('label.setting.hr.inspect_time'))->integer(),
Forms\Components\TextInput::make('hr.seed_time_minimum')->helperText(__('label.setting.hr.seed_time_minimum_help'))->label(__('label.setting.hr.seed_time_minimum'))->integer(),
Forms\Components\TextInput::make('hr.ignore_when_ratio_reach')->helperText(__('label.setting.hr.ignore_when_ratio_reach_help'))->label(__('label.setting.hr.ignore_when_ratio_reach'))->integer(),
Forms\Components\TextInput::make('hr.ban_user_when_counts_reach')->helperText(__('label.setting.hr.ban_user_when_counts_reach_help'))->label(__('label.setting.hr.ban_user_when_counts_reach'))->integer(),
])->columns(2);
$tabs[] = Forms\Components\Tabs\Tab::make(__('label.setting.backup.tab_header'))
->id('backup')
->schema([
Forms\Components\Radio::make('backup.enabled')->options(self::$yesOrNo)->inline(true)->label(__('label.enabled'))->helperText(__('label.setting.backup.enabled_help')),
Forms\Components\Radio::make('backup.frequency')->options(['daily' => 'daily', 'hourly' => 'hourly'])->inline(true)->label(__('label.setting.backup.frequency'))->helperText(__('label.setting.backup.frequency_help')),
Forms\Components\Select::make('backup.hour')->options(range(0, 23))->label(__('label.setting.backup.hour'))->helperText(__('label.setting.backup.hour_help')),
Forms\Components\Select::make('backup.minute')->options(range(0, 59))->label(__('label.setting.backup.minute'))->helperText(__('label.setting.backup.minute_help')),
Forms\Components\TextInput::make('backup.google_drive_client_id')->label(__('label.setting.backup.google_drive_client_id')),
Forms\Components\TextInput::make('backup.google_drive_client_secret')->label(__('label.setting.backup.google_drive_client_secret')),
Forms\Components\TextInput::make('backup.google_drive_refresh_token')->label(__('label.setting.backup.google_drive_refresh_token')),
Forms\Components\TextInput::make('backup.google_drive_folder_id')->label(__('label.setting.backup.google_drive_folder_id')),
Forms\Components\Radio::make('backup.via_ftp')->options(self::$yesOrNo)->inline(true)->label(__('label.setting.backup.via_ftp'))->helperText(__('label.setting.backup.via_ftp_help')),
Forms\Components\Radio::make('backup.via_sftp')->options(self::$yesOrNo)->inline(true)->label(__('label.setting.backup.via_sftp'))->helperText(__('label.setting.backup.via_sftp_help')),
])->columns(2);
$tabs[] = Forms\Components\Tabs\Tab::make(__('label.setting.seed_box.tab_header'))
->id('seed_box')
->schema([
Forms\Components\Radio::make('seed_box.enabled')->options(self::$yesOrNo)->inline(true)->label(__('label.enabled'))->helperText(__('label.setting.seed_box.enabled_help')),
Forms\Components\TextInput::make('seed_box.not_seed_box_max_speed')->label(__('label.setting.seed_box.not_seed_box_max_speed'))->helperText(__('label.setting.seed_box.not_seed_box_max_speed_help'))->integer(),
Forms\Components\Radio::make('seed_box.no_promotion')->options(self::$yesOrNo)->inline(true)->label(__('label.setting.seed_box.no_promotion'))->helperText(__('label.setting.seed_box.no_promotion_help')),
Forms\Components\TextInput::make('seed_box.max_uploaded')->label(__('label.setting.seed_box.max_uploaded'))->helperText(__('label.setting.seed_box.max_uploaded_help'))->integer(),
])->columns(2);
$tabs = apply_filter('nexus_setting_tabs', $tabs);
// return $tabs;
return $tabs;
}
}
+3
View File
@@ -414,4 +414,7 @@ return array (
'max_uploaded' => 3,
'not_seed_box_max_speed' => 10240,
],
'menu' => [
'enabled' => 'no',
],
);
+1 -1
View File
@@ -21,7 +21,7 @@ return [
'upload_speed' => 'Upload speed',
'download_speed' => 'Download speed',
'isp' => 'ISP',
'menu' => 'Menu',
'menu' => 'Custom menu',
],
'resources' => [
'agent_allow' => [
+4
View File
@@ -195,6 +195,10 @@ return [
'ip_help' => 'Begin IP/End IP, IP(Block) Choose one',
'status' => 'Status',
],
'menu' => [
'label' => 'Custom menu',
'enable_help' => 'Whether to enable custom menu',
],
'menu_item' => [
'label' => 'Menu items',
'url' => 'Link',
+1 -1
View File
@@ -21,7 +21,7 @@ return [
'upload_speed' => '上行带宽',
'download_speed' => '下行带宽',
'isp' => 'ISP',
'menu' => '菜单',
'menu' => '自定义菜单',
],
'resources' => [
'agent_allow' => [
+4
View File
@@ -198,6 +198,10 @@ return [
'ip_help' => '起始 IP/结束 IP、IP(段) 二选一',
'status' => '状态',
],
'menu' => [
'label' => '自定义菜单',
'enable_help' => '是否启用自定义菜单',
],
'menu_item' => [
'label' => '菜单项',
'url' => '链接',
+1 -1
View File
@@ -21,7 +21,7 @@ return [
'upload_speed' => '上行帶寬',
'download_speed' => '下行帶寬',
'isp' => 'ISP',
'menu' => '菜單',
'menu' => '自定義菜單',
],
'resources' => [
'agent_allow' => [
+4
View File
@@ -195,6 +195,10 @@ return [
'ip_help' => '起始 IP/結束 IP、IP(段) 二選一',
'status' => '狀態',
],
'menu' => [
'label' => '自定義菜單',
'enable_help' => '是否啟用自定義菜單',
],
'menu_item' => [
'label' => '菜單項',
'url' => '鏈接',