Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
38351b9
- added filament package and first crud - user resource
kamilpiech97 Apr 9, 2024
32ff3a9
- cdf
kamilpiech97 Apr 9, 2024
20315aa
#222 - activity crud with multilanguage
kamilpiech97 Apr 10, 2024
7a94c24
Merge branch 'main' into #222-activities-crud
kamilpiech97 Apr 10, 2024
2c50d21
#222 - merged main
kamilpiech97 Apr 10, 2024
0105182
- fixes
kamilpiech97 Apr 10, 2024
2d359d3
#222 - activities crud update
kamilpiech97 Apr 10, 2024
aef32ef
#222 - added factory and seeder
kamilpiech97 Apr 10, 2024
ab49ad3
- cr fix
kamilpiech97 Apr 10, 2024
3b46137
- cr fix
kamilpiech97 Apr 10, 2024
df76e13
#222 - cr fixes
kamilpiech97 Apr 10, 2024
1b2af49
- fixes
kamilpiech97 Apr 10, 2024
d55a5fc
- wip with i18n of admin panel
kamilpiech97 Apr 10, 2024
48f8bed
Merge branch 'main' into admin-panel-i18n
kamilpiech97 Apr 18, 2024
0e20dce
- fixes and bumps
kamilpiech97 Apr 18, 2024
ae2eff9
- fixes
kamilpiech97 Apr 19, 2024
22ad18d
- composer update
kamilpiech97 Apr 19, 2024
ec66c65
- updated workflow
kamilpiech97 Apr 19, 2024
9e8f3d2
#225 - added case studies resource and related stuff
kamilpiech97 Apr 19, 2024
10d7837
#225 - fixes
kamilpiech97 Apr 19, 2024
96e45aa
- fix
kamilpiech97 Apr 19, 2024
4125d5e
Merge branch 'refs/heads/main' into #225-case-studies
kamilpiech97 Apr 23, 2024
36dd739
- merged main
kamilpiech97 Apr 23, 2024
f44663d
#225 - factory added
kamilpiech97 Apr 23, 2024
e783c25
Update app/Filament/Resources/CaseStudyResource.php
kamilpiech97 Apr 23, 2024
fd4105e
#240 - cr fix
kamilpiech97 Apr 24, 2024
a88725f
Merge remote-tracking branch 'origin/#225-case-studies' into #225-cas…
kamilpiech97 Apr 24, 2024
2718410
#225 - added base actions
kamilpiech97 Apr 25, 2024
b0dd927
#225 - cr fix
kamilpiech97 Apr 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 39 additions & 31 deletions app/Filament/Resources/ActivityResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
use Blumilk\Website\Models\Activity;
use Exception;
use Filament\Forms;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Split;
use Filament\Forms\Form;
use Filament\Resources\Concerns\Translatable;
use Filament\Resources\Resource;
Expand All @@ -32,37 +34,43 @@ public static function form(Form $form): Form
{
return $form
->schema([
TranslatableContainer::make(
Forms\Components\TextInput::make("title")
->label("Tytuł")
->required()
->maxLength(255),
)->requiredLocales(config("app.translatable_locales")),
TranslatableContainer::make(
Forms\Components\TextInput::make("subtitle")
->label("Podtytuł")
->maxLength(255),
)->requiredLocales(config("app.translatable_locales")),
Forms\Components\Checkbox::make("published")
->label("Opublikowane"),
Forms\Components\DateTimePicker::make("published_at")
->format(DateFormats::DATE_DISPLAY)
->time(false)
->required()
->label("Data publikacji"),
Forms\Components\FileUpload::make("photo")
->label("Zdjęcie")
->required()
->directory(Activity::PHOTOS_DIRECTORY)
->multiple(false)
->maxSize(1000),
TranslatableContainer::make(
Forms\Components\Textarea::make("description")
->label("Opis")
->required()
->maxLength(65000),
)->requiredLocales(config("app.translatable_locales")),
]);
Split::make([
Section::make([
TranslatableContainer::make(
Forms\Components\TextInput::make("title")
->label("Tytuł")
->required()
->maxLength(255),
)->requiredLocales(config("app.translatable_locales")),
TranslatableContainer::make(
Forms\Components\TextInput::make("subtitle")
->label("Podtytuł")
->maxLength(255),
)->requiredLocales(config("app.translatable_locales")),
Forms\Components\Checkbox::make("published")
->label("Opublikowane"),
Forms\Components\DateTimePicker::make("published_at")
->format(DateFormats::DATE_DISPLAY)
->time(false)
->requiredUnless("published", true)
->label("Data publikacji"),
]),
Section::make([
TranslatableContainer::make(
Forms\Components\Textarea::make("description")
->label("Opis")
->required()
->maxLength(65000),
)->requiredLocales(config("app.translatable_locales")),
Forms\Components\FileUpload::make("photo")
->label("Zdjęcie")
->required()
->directory(Activity::PHOTOS_DIRECTORY)
->multiple(false)
->maxSize(1000),
]),
])->from("lg"),
])->columns(1);
}

/**
Expand Down
12 changes: 10 additions & 2 deletions app/Filament/Resources/ActivityResource/Pages/EditActivity.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,17 @@
namespace Blumilk\Website\Filament\Resources\ActivityResource\Pages;

use Blumilk\Website\Filament\Resources\ActivityResource;
use Filament\Resources\Pages\EditRecord;
use Blumilk\Website\Filament\Resources\BaseResource\Pages\BaseEditRecord;
use Filament\Actions;

class EditActivity extends EditRecord
class EditActivity extends BaseEditRecord
{
protected static string $resource = ActivityResource::class;

protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,9 @@
namespace Blumilk\Website\Filament\Resources\ActivityResource\Pages;

use Blumilk\Website\Filament\Resources\ActivityResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
use Blumilk\Website\Filament\Resources\BaseResource\Pages\BaseListRecord;

class ListActivities extends ListRecords
class ListActivities extends BaseListRecord
{
protected static string $resource = ActivityResource::class;

protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
15 changes: 15 additions & 0 deletions app/Filament/Resources/BaseResource/Pages/BaseEditRecord.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

declare(strict_types=1);

namespace Blumilk\Website\Filament\Resources\BaseResource\Pages;

use Filament\Resources\Pages\EditRecord;

class BaseEditRecord extends EditRecord
{
protected function getRedirectUrl(): string
{
return $this->previousUrl ?? $this->getResource()::getUrl("index");
}
}
18 changes: 18 additions & 0 deletions app/Filament/Resources/BaseResource/Pages/BaseListRecord.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

declare(strict_types=1);

namespace Blumilk\Website\Filament\Resources\BaseResource\Pages;

use Filament\Actions;
use Filament\Resources\Pages\ListRecords;

class BaseListRecord extends ListRecords
{
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
127 changes: 127 additions & 0 deletions app/Filament/Resources/CaseStudyResource.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
<?php

declare(strict_types=1);

namespace Blumilk\Website\Filament\Resources;

use Blumilk\Website\Filament\Resources\CaseStudyResource\Pages;
use Blumilk\Website\Models\CaseStudy;
use Filament\Forms;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Split;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Filters\TernaryFilter;
use Filament\Tables\Table;
use Mvenghaus\FilamentPluginTranslatableInline\Forms\Components\TranslatableContainer;

class CaseStudyResource extends Resource
{
protected static ?string $model = CaseStudy::class;
protected static ?string $navigationIcon = "heroicon-o-swatch";

public static function form(Form $form): Form
{
return $form
->schema([
Split::make([
Section::make([
TranslatableContainer::make(
Forms\Components\TextInput::make("name")
->label("Nazwa realizacji")
->required()
->maxLength(255),
)->requiredLocales(config("app.translatable_locales")),
Forms\Components\TextInput::make("company")
->label("Firma")
->required()
->maxLength(255),
Forms\Components\TextInput::make("slug")
->label("Slug")
->required()
->unique(ignoreRecord: true)
->alphaDash()
->maxLength(255),
Forms\Components\Select::make("template")
->label("Szablon")
->options(fn(): array => self::getTemplateOptions())
->native(false),
Forms\Components\Checkbox::make("published")
->label("Opublikowane"),
]),
Section::make([
TranslatableContainer::make(
Forms\Components\Textarea::make("description")
->label("Opis")
->required()
->maxLength(65000),
)->requiredLocales(config("app.translatable_locales")),
Forms\Components\FileUpload::make("photo")
->label("Zdjęcie")
->directory(CaseStudy::PHOTOS_DIRECTORY)
->imageEditor()
->rules(["mimes:jpeg,png,webp"])
->required()
->multiple(false)
->maxSize(1000),
]),
])->from("lg"),
])->columns(1);
}

public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make("name")
->label("Nazwa realizacji")
->searchable(),
Tables\Columns\TextColumn::make("template")
->getStateUsing(fn(CaseStudy $record): string => $record->template ?: "-")
->label("Szablon"),
Tables\Columns\CheckboxColumn::make("published")
->label("Opublikowane"),
])
->filters([
TernaryFilter::make("published")
->label("Status publikacji")
->placeholder("Wszystkie")
->trueLabel("Opublikowane")
->falseLabel("Nieopublikowane"),
])
->actions([
Tables\Actions\ViewAction::make(),
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]);
}

public static function getPages(): array
{
return [
"index" => Pages\ListCaseStudies::route("/"),
"create" => Pages\CreateCaseStudy::route("/create"),
"edit" => Pages\EditCaseStudy::route("/{record}/edit"),
];
}

protected static function getTemplateOptions(): array
{
$files = scandir(resource_path("views/case-studies"));
$options = [];

foreach ($files as $file) {
if (str_ends_with($file, ".blade.php")) {
$options[$file] = $file;
}
}

return $options;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

declare(strict_types=1);

namespace Blumilk\Website\Filament\Resources\CaseStudyResource\Pages;

use Blumilk\Website\Filament\Resources\CaseStudyResource;
use Filament\Resources\Pages\CreateRecord;

class CreateCaseStudy extends CreateRecord
{
protected static string $resource = CaseStudyResource::class;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

declare(strict_types=1);

namespace Blumilk\Website\Filament\Resources\CaseStudyResource\Pages;

use Blumilk\Website\Filament\Resources\BaseResource\Pages\BaseEditRecord;
use Blumilk\Website\Filament\Resources\CaseStudyResource;
use Filament\Actions;

class EditCaseStudy extends BaseEditRecord
{
protected static string $resource = CaseStudyResource::class;

protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

declare(strict_types=1);

namespace Blumilk\Website\Filament\Resources\CaseStudyResource\Pages;

use Blumilk\Website\Filament\Resources\BaseResource\Pages\BaseListRecord;
use Blumilk\Website\Filament\Resources\CaseStudyResource;

class ListCaseStudies extends BaseListRecord
{
protected static string $resource = CaseStudyResource::class;
}
2 changes: 1 addition & 1 deletion app/Filament/Resources/UserResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class UserResource extends Resource
protected static ?string $model = User::class;
protected static ?string $label = "Użytkownik";
protected static ?string $pluralLabel = "Użytkownicy";
protected static ?string $navigationIcon = "heroicon-o-rectangle-stack";
protected static ?string $navigationIcon = "heroicon-o-user-group";

public static function form(Form $form): Form
{
Expand Down
4 changes: 2 additions & 2 deletions app/Filament/Resources/UserResource/Pages/EditUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

namespace Blumilk\Website\Filament\Resources\UserResource\Pages;

use Blumilk\Website\Filament\Resources\BaseResource\Pages\BaseEditRecord;
use Blumilk\Website\Filament\Resources\UserResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;

class EditUser extends EditRecord
class EditUser extends BaseEditRecord
{
protected static string $resource = UserResource::class;

Expand Down
12 changes: 2 additions & 10 deletions app/Filament/Resources/UserResource/Pages/ListUsers.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,10 @@

namespace Blumilk\Website\Filament\Resources\UserResource\Pages;

use Blumilk\Website\Filament\Resources\BaseResource\Pages\BaseListRecord;
use Blumilk\Website\Filament\Resources\UserResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;

class ListUsers extends ListRecords
class ListUsers extends BaseListRecord
{
protected static string $resource = UserResource::class;

protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}
Loading