🚀 feat(news): add news management with upload functionality and category selection in the association module

This commit is contained in:
fsociety
2024-10-25 15:02:23 +02:00
parent 421d60e42b
commit 1bf8c66b35
7 changed files with 422 additions and 0 deletions

11
app/Enums/Icon.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace App\Enums;
use ArchTech\Enums\Meta\MetaProperty;
use Attribute;
#[Attribute]
class Icon extends MetaProperty
{
}

View File

@@ -0,0 +1,46 @@
<?php
namespace App\Enums;
use ArchTech\Enums\From;
use ArchTech\Enums\InvokableCases;
use ArchTech\Enums\Meta\Meta;
use ArchTech\Enums\Metadata;
use ArchTech\Enums\Names;
use ArchTech\Enums\Options;
use ArchTech\Enums\Values;
#[Meta(Label::class, Color::class, Icon::class)]
enum NewsCategory: int
{
use InvokableCases;
use Names;
use Values;
use Options;
use Metadata;
use From;
#[Label('Organisation')] #[Color('cyan')] #[Icon('file-lines')]
case ORGANISATION = 1;
public static function selectOptions()
{
return collect(self::options())
->map(
fn(
$option,
$name
) => [
'value' => $option,
'label' => __(
self::fromName($name)
->label()
),
'icon' => self::fromName($name)
->icon(),
]
)
->values()
->toArray();
}
}