components([ TextInput::make('name') ->label(__('career.name')) ->required() ->disabled(), TextInput::make('email') ->label(__('career.email')) ->email() ->required() ->disabled(), TextInput::make('phone') ->label(__('career.phone')) ->disabled(), FileUpload::make('cv_path') ->label(__('career.cv')) ->disk('public') ->directory('cvs') ->required() ->disabled() ->downloadable(), Textarea::make('message') ->label(__('career.message')) ->disabled() ->columnSpanFull(), Select::make('status') ->label(__('career.status')) ->options([ 'pending' => __('career.pending'), 'reviewed' => __('career.reviewed'), 'rejected' => __('career.rejected'), 'accepted' => __('career.accepted'), 'waiting_document' => __('career.waiting_document'), ]) ->required(), Section::make('Stajyer Giriş Bilgileri & Belgeleri') ->description('Stajyerin sisteme giriş yapabilmesi için kullanıcı adı, şifre belirleyin ve imzalı staj formunu yükleyin.') ->collapsible() ->schema([ TextInput::make('username') ->label('Kullanıcı Adı') ->unique(ignoreRecord: true) ->nullable(), TextInput::make('password') ->label('Şifre') ->password() ->revealable() ->dehydrateStateUsing(fn ($state) => filled($state) ? Hash::make($state) : null) ->dehydrated(fn ($state) => filled($state)) ->placeholder('Şifreyi değiştirmek istemiyorsanız boş bırakın') ->nullable() ->suffixAction( Action::make('generatePassword') ->icon('heroicon-m-arrow-path') ->action(fn (Set $set) => $set('password', Str::random(12))) ), FileUpload::make('to_be_signed_internship_form_path') ->label('İmzalanacak Staj Formu (Stajyerden)') ->disk('public') ->directory('to_be_signed_interns') ->downloadable() ->nullable(), FileUpload::make('signed_internship_form_path') ->label('İmzalı Staj Formu') ->disk('public') ->directory('signed_interns') ->downloadable() ->nullable(), ]) ->columnSpanFull(), ]); } }