From e16c728a32e8a57a227410cdec512e893c4026d0 Mon Sep 17 00:00:00 2001 From: Jimmy Aldape Date: Sat, 12 Oct 2024 23:34:25 -0700 Subject: [PATCH 1/8] Improves the empty state view (#113) --- resources/views/components/incident.blade.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/resources/views/components/incident.blade.php b/resources/views/components/incident.blade.php index 33f731db..bb2a2705 100644 --- a/resources/views/components/incident.blade.php +++ b/resources/views/components/incident.blade.php @@ -69,8 +69,12 @@ @empty -
- {{ __('No incidents reported.') }} +
+
+
+ {{ __('No incidents reported.') }} +
+
@endforelse
From 1fd150612e2776ba6e3253b0a99095e95841bea9 Mon Sep 17 00:00:00 2001 From: jbrooksuk Date: Sun, 13 Oct 2024 06:35:00 +0000 Subject: [PATCH 2/8] Compile Assets --- public/build/manifest.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/build/manifest.json b/public/build/manifest.json index d692ffcd..eb93cbf8 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -4,14 +4,14 @@ "src": "resources/js/cachet.js", "isEntry": true }, - "resources/css/dashboard/theme.css": { - "file": "assets/theme.8251fad4.css", - "src": "resources/css/dashboard/theme.css", - "isEntry": true - }, "resources/css/cachet.css": { "file": "assets/cachet.30cb9e62.css", "src": "resources/css/cachet.css", "isEntry": true + }, + "resources/css/dashboard/theme.css": { + "file": "assets/theme.8251fad4.css", + "src": "resources/css/dashboard/theme.css", + "isEntry": true } } \ No newline at end of file From 8dbe41617398125b47be08a1cd2de8320b7369fe Mon Sep 17 00:00:00 2001 From: James Brooks Date: Sun, 13 Oct 2024 08:13:24 +0100 Subject: [PATCH 3/8] Fix formatting --- resources/views/components/incident.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/components/incident.blade.php b/resources/views/components/incident.blade.php index bb2a2705..b9bbbba5 100644 --- a/resources/views/components/incident.blade.php +++ b/resources/views/components/incident.blade.php @@ -70,8 +70,8 @@ @empty
-
-
+
+
{{ __('No incidents reported.') }}
From 197185da30ca907aef583589b8c022f86e8295eb Mon Sep 17 00:00:00 2001 From: jbrooksuk Date: Sun, 13 Oct 2024 07:14:09 +0000 Subject: [PATCH 4/8] Compile Assets --- public/build/manifest.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/build/manifest.json b/public/build/manifest.json index eb93cbf8..d692ffcd 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -4,14 +4,14 @@ "src": "resources/js/cachet.js", "isEntry": true }, - "resources/css/cachet.css": { - "file": "assets/cachet.30cb9e62.css", - "src": "resources/css/cachet.css", - "isEntry": true - }, "resources/css/dashboard/theme.css": { "file": "assets/theme.8251fad4.css", "src": "resources/css/dashboard/theme.css", "isEntry": true + }, + "resources/css/cachet.css": { + "file": "assets/cachet.30cb9e62.css", + "src": "resources/css/cachet.css", + "isEntry": true } } \ No newline at end of file From 2b069f79b6798c69f4f9b2ab899709e60fb66c76 Mon Sep 17 00:00:00 2001 From: Peter Date: Sun, 13 Oct 2024 15:00:04 +0200 Subject: [PATCH 5/8] feat: translate plurals independently (#115) --- src/Filament/Resources/ComponentGroupResource.php | 5 +++++ src/Filament/Resources/ComponentResource.php | 5 +++++ src/Filament/Resources/IncidentResource.php | 5 +++++ src/Filament/Resources/IncidentTemplateResource.php | 5 +++++ src/Filament/Resources/MetricResource.php | 10 ++++++++++ src/Filament/Resources/ScheduleResource.php | 5 +++++ src/Filament/Resources/SubscriberResource.php | 5 +++++ 7 files changed, 40 insertions(+) diff --git a/src/Filament/Resources/ComponentGroupResource.php b/src/Filament/Resources/ComponentGroupResource.php index 7371185e..5e0181cd 100644 --- a/src/Filament/Resources/ComponentGroupResource.php +++ b/src/Filament/Resources/ComponentGroupResource.php @@ -97,4 +97,9 @@ public static function getLabel(): ?string { return __('Component Group'); } + + public static function getPluralLabel(): ?string + { + return __('Component Groups'); + } } diff --git a/src/Filament/Resources/ComponentResource.php b/src/Filament/Resources/ComponentResource.php index 3aa4e8ec..a1926c75 100644 --- a/src/Filament/Resources/ComponentResource.php +++ b/src/Filament/Resources/ComponentResource.php @@ -118,6 +118,11 @@ public static function getLabel(): ?string return __('Component'); } + public static function getPluralLabel(): ?string + { + return __('Components'); + } + public static function getNavigationBadge(): ?string { return static::getModel()::outage()->count(); diff --git a/src/Filament/Resources/IncidentResource.php b/src/Filament/Resources/IncidentResource.php index 6f599b59..0b8c8351 100644 --- a/src/Filament/Resources/IncidentResource.php +++ b/src/Filament/Resources/IncidentResource.php @@ -177,6 +177,11 @@ public static function getLabel(): ?string return __('Incident'); } + public static function getPluralLabel(): ?string + { + return __('Incidents'); + } + public static function getNavigationBadge(): ?string { return static::getModel()::unresolved()->count(); diff --git a/src/Filament/Resources/IncidentTemplateResource.php b/src/Filament/Resources/IncidentTemplateResource.php index aca82950..8c8ac8e2 100644 --- a/src/Filament/Resources/IncidentTemplateResource.php +++ b/src/Filament/Resources/IncidentTemplateResource.php @@ -109,4 +109,9 @@ public static function getLabel(): ?string { return __('Incident Template'); } + + public static function getPluralLabel(): ?string + { + return __('Incident Templates'); + } } diff --git a/src/Filament/Resources/MetricResource.php b/src/Filament/Resources/MetricResource.php index 05a7c67d..e12febe3 100644 --- a/src/Filament/Resources/MetricResource.php +++ b/src/Filament/Resources/MetricResource.php @@ -136,6 +136,16 @@ public static function table(Table $table): Table ->defaultSort('order'); } + public static function getLabel(): ?string + { + return __('Metric'); + } + + public static function getPluralLabel(): ?string + { + return __('Metrics'); + } + public static function getRelations(): array { return [ diff --git a/src/Filament/Resources/ScheduleResource.php b/src/Filament/Resources/ScheduleResource.php index 15a3efba..910a1ddd 100644 --- a/src/Filament/Resources/ScheduleResource.php +++ b/src/Filament/Resources/ScheduleResource.php @@ -111,6 +111,11 @@ public static function getLabel(): ?string return __('Schedule'); } + public static function getPluralLabel(): ?string + { + return __('Schedules'); + } + public static function getNavigationBadge(): ?string { return static::getModel()::incomplete()->count(); diff --git a/src/Filament/Resources/SubscriberResource.php b/src/Filament/Resources/SubscriberResource.php index db1c2e5b..66c7702b 100644 --- a/src/Filament/Resources/SubscriberResource.php +++ b/src/Filament/Resources/SubscriberResource.php @@ -105,6 +105,11 @@ public static function getPages(): array } public static function getLabel(): ?string + { + return __('Subscriber'); + } + + public static function getPluralLabel(): ?string { return __('Subscribers'); } From bd2bc81738f41d77dbdb1e892300f0bac7c40017 Mon Sep 17 00:00:00 2001 From: Peter Date: Sun, 13 Oct 2024 20:43:27 +0200 Subject: [PATCH 6/8] feat: add localization to forms and tables (#116) --- .../Resources/ComponentGroupResource.php | 8 +++++++ src/Filament/Resources/ComponentResource.php | 12 ++++++++++ .../ComponentsRelationManager.php | 17 ++++++++++++- src/Filament/Resources/IncidentResource.php | 19 ++++++++++++++- .../ComponentsRelationManager.php | 15 +++++++++++- .../IncidentUpdatesRelationManager.php | 20 ++++++++++++++++ .../Resources/IncidentTemplateResource.php | 10 ++++++++ src/Filament/Resources/MetricResource.php | 24 ++++++++++++++++++- src/Filament/Resources/ScheduleResource.php | 12 ++++++++++ src/Filament/Resources/SubscriberResource.php | 14 ++++++++++- src/Filament/Widgets/Overview.php | 6 ++--- 11 files changed, 149 insertions(+), 8 deletions(-) diff --git a/src/Filament/Resources/ComponentGroupResource.php b/src/Filament/Resources/ComponentGroupResource.php index 5e0181cd..4203cee5 100644 --- a/src/Filament/Resources/ComponentGroupResource.php +++ b/src/Filament/Resources/ComponentGroupResource.php @@ -25,16 +25,19 @@ public static function form(Form $form): Form ->schema([ Forms\Components\Section::make()->columns(2)->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required() ->maxLength(255) ->columnSpanFull(), Forms\Components\ToggleButtons::make('visible') + ->label(__('Visible')) ->inline() ->options(ResourceVisibilityEnum::class) ->default(ResourceVisibilityEnum::guest) ->required() ->columnSpanFull(), Forms\Components\ToggleButtons::make('collapsed') + ->label(__('Collapsed')) ->required() ->inline() ->options(ComponentGroupVisibilityEnum::class) @@ -49,17 +52,22 @@ public static function table(Table $table): Table return $table ->columns([ Tables\Columns\TextColumn::make('name') + ->label(__('Name')) ->searchable(), Tables\Columns\TextColumn::make('visible') + ->label(__('Visible')) ->badge() ->sortable(), Tables\Columns\TextColumn::make('collapsed') + ->label(__('Collapsed')) ->sortable(), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), diff --git a/src/Filament/Resources/ComponentResource.php b/src/Filament/Resources/ComponentResource.php index a1926c75..48202841 100644 --- a/src/Filament/Resources/ComponentResource.php +++ b/src/Filament/Resources/ComponentResource.php @@ -23,14 +23,17 @@ public static function form(Form $form): Form ->schema([ Forms\Components\Section::make()->columns(2)->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required() ->maxLength(255), Forms\Components\ToggleButtons::make('status') + ->label(__('Status')) ->inline() ->columnSpanFull() ->options(ComponentStatusEnum::class) ->required(), Forms\Components\MarkdownEditor::make('description') + ->label(__('Description')) ->maxLength(255) ->columnSpanFull(), Forms\Components\Select::make('component_group_id') @@ -39,6 +42,7 @@ public static function form(Form $form): Form ->preload() ->label(__('Component Group')), Forms\Components\TextInput::make('link') + ->label(__('Link')) ->url() ->hint(__('An optional link to the component.')), ]), @@ -57,28 +61,36 @@ public static function table(Table $table): Table return $table ->columns([ Tables\Columns\TextColumn::make('name') + ->label(__('Name')) ->searchable(), Tables\Columns\TextColumn::make('status') + ->label(__('Status')) ->badge() ->sortable(), Tables\Columns\TextColumn::make('order') + ->label(__('Order')) ->numeric() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('group.name') + ->label(__('Group')) ->sortable(), Tables\Columns\IconColumn::make('enabled') + ->label(__('Enabled')) ->boolean() ->toggleable(isToggledHiddenByDefault: false), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('deleted_at') + ->label(__('Deleted at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), diff --git a/src/Filament/Resources/ComponentResource/RelationManagers/ComponentsRelationManager.php b/src/Filament/Resources/ComponentResource/RelationManagers/ComponentsRelationManager.php index e1a613a9..dc8cd001 100644 --- a/src/Filament/Resources/ComponentResource/RelationManagers/ComponentsRelationManager.php +++ b/src/Filament/Resources/ComponentResource/RelationManagers/ComponentsRelationManager.php @@ -8,27 +8,37 @@ use Filament\Resources\RelationManagers\RelationManager; use Filament\Tables; use Filament\Tables\Table; +use Illuminate\Database\Eloquent\Model; class ComponentsRelationManager extends RelationManager { protected static string $relationship = 'components'; + public static function getTitle(Model $ownerRecord, string $pageClass): string + { + return __('Components'); + } + public function form(Form $form): Form { return $form ->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required() ->maxLength(255), Forms\Components\ToggleButtons::make('status') + ->label(__('Status')) ->inline() ->columnSpanFull() ->options(ComponentStatusEnum::class) ->required(), Forms\Components\MarkdownEditor::make('description') + ->label(__('Description')) ->maxLength(255) ->columnSpanFull(), Forms\Components\TextInput::make('link') + ->label(__('Link')) ->url() ->hint(__('An optional link to the component.')), ]); @@ -38,12 +48,17 @@ public function table(Table $table): Table { return $table ->recordTitleAttribute('name') + ->modelLabel(__('Component')) + ->pluralModelLabel(__('Components')) ->columns([ - Tables\Columns\TextColumn::make('name'), + Tables\Columns\TextColumn::make('name') + ->label(__('Name')), Tables\Columns\TextColumn::make('status') + ->label(__('Status')) ->badge() ->sortable(), Tables\Columns\IconColumn::make('enabled') + ->label(__('Enabled')) ->boolean() ->toggleable(isToggledHiddenByDefault: false), ]) diff --git a/src/Filament/Resources/IncidentResource.php b/src/Filament/Resources/IncidentResource.php index 0b8c8351..b8a0d9cd 100644 --- a/src/Filament/Resources/IncidentResource.php +++ b/src/Filament/Resources/IncidentResource.php @@ -30,19 +30,24 @@ public static function form(Form $form): Form ->schema([ Section::make()->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required() ->maxLength(255), Forms\Components\ToggleButtons::make('status') + ->label(__('Status')) ->inline() ->columnSpanFull() ->options(IncidentStatusEnum::class) ->required(), Forms\Components\MarkdownEditor::make('message') + ->label(__('Message')) ->required() ->columnSpanFull(), Forms\Components\DateTimePicker::make('occurred_at') + ->label(__('Occurred at')) ->helperText(__('The incident\'s created timestamp will be used if left empty.')), Forms\Components\ToggleButtons::make('visible') + ->label(__('Visible')) ->inline() ->options(ResourceVisibilityEnum::class) ->default(ResourceVisibilityEnum::guest) @@ -85,17 +90,22 @@ public static function table(Table $table): Table return $table ->columns([ Tables\Columns\TextColumn::make('name') + ->label(__('Name')) ->searchable(), Tables\Columns\TextColumn::make('status') + ->label(__('Status')) ->sortable() ->badge(), Tables\Columns\TextColumn::make('visible') + ->label(__('Visible')) ->sortable() ->badge(), Tables\Columns\IconColumn::make('stickied') + ->label(__('Stickied')) ->toggleable(isToggledHiddenByDefault: true) ->boolean(), Tables\Columns\TextColumn::make('occurred_at') + ->label(__('Occurred at')) ->dateTime() ->sortable(), Tables\Columns\IconColumn::make('notifications') @@ -103,14 +113,17 @@ public static function table(Table $table): Table ->boolean() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: false), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('deleted_at') + ->label(__('Deleted at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), @@ -118,6 +131,7 @@ public static function table(Table $table): Table ->filters([ Tables\Filters\TrashedFilter::make(), Tables\Filters\SelectFilter::make('status') + ->label(__('Status')) ->options(IncidentStatusEnum::class), ]) ->actions([ @@ -135,8 +149,11 @@ public static function table(Table $table): Table ->send(); }) ->form([ - Forms\Components\MarkdownEditor::make('message')->required(), + Forms\Components\MarkdownEditor::make('message') + ->label(__('Message')) + ->required(), Forms\Components\ToggleButtons::make('status') + ->label(__('Status')) ->options(IncidentStatusEnum::class) ->inline() ->required(), diff --git a/src/Filament/Resources/IncidentResource/RelationManagers/ComponentsRelationManager.php b/src/Filament/Resources/IncidentResource/RelationManagers/ComponentsRelationManager.php index cfa83f47..eb1cc85b 100644 --- a/src/Filament/Resources/IncidentResource/RelationManagers/ComponentsRelationManager.php +++ b/src/Filament/Resources/IncidentResource/RelationManagers/ComponentsRelationManager.php @@ -9,18 +9,26 @@ use Filament\Resources\RelationManagers\RelationManager; use Filament\Tables; use Filament\Tables\Table; +use Illuminate\Database\Eloquent\Model; class ComponentsRelationManager extends RelationManager { protected static string $relationship = 'components'; + public static function getTitle(Model $ownerRecord, string $pageClass): string + { + return __('Components'); + } + public function form(Form $form): Form { return $form ->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->searchable(), Forms\Components\ToggleButtons::make('status') + ->label(__('Status')) ->inline() ->options(ComponentStatusEnum::class) ->required(), @@ -31,9 +39,13 @@ public function table(Table $table): Table { return $table ->recordTitleAttribute('name') + ->modelLabel(__('Component')) + ->pluralModelLabel(__('Components')) ->columns([ - Tables\Columns\TextColumn::make('name'), + Tables\Columns\TextColumn::make('name') + ->label(__('Name')), Tables\Columns\TextColumn::make('status') + ->label(__('Status')) ->badge() ->sortable(), ]) @@ -45,6 +57,7 @@ public function table(Table $table): Table ->form(fn (Tables\Actions\AttachAction $action): array => [ $action->getRecordSelect(), Forms\Components\ToggleButtons::make('status') + ->label(__('Status')) ->inline() ->columnSpanFull() ->options(ComponentStatusEnum::class) diff --git a/src/Filament/Resources/IncidentResource/RelationManagers/IncidentUpdatesRelationManager.php b/src/Filament/Resources/IncidentResource/RelationManagers/IncidentUpdatesRelationManager.php index 0ecf4155..6d360df2 100644 --- a/src/Filament/Resources/IncidentResource/RelationManagers/IncidentUpdatesRelationManager.php +++ b/src/Filament/Resources/IncidentResource/RelationManagers/IncidentUpdatesRelationManager.php @@ -8,38 +8,50 @@ use Filament\Resources\RelationManagers\RelationManager; use Filament\Tables; use Filament\Tables\Table; +use Illuminate\Database\Eloquent\Model; class IncidentUpdatesRelationManager extends RelationManager { protected static string $relationship = 'incidentUpdates'; + public static function getTitle(Model $ownerRecord, string $pageClass): string + { + return __('Incident Updates'); + } + public function form(Form $form): Form { return $form ->schema([ Forms\Components\MarkdownEditor::make('message') + ->label(__('Message')) ->required() ->columnSpanFull(), Forms\Components\Select::make('user_id') + ->label(__('User')) ->hint(__('The user who reported the incident.')) ->relationship('user', 'name') ->searchable() ->preload() ->createOptionForm([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required() ->maxLength(255), Forms\Components\TextInput::make('email') + ->label(__('Email')) ->required() ->email() ->maxLength(255), Forms\Components\TextInput::make('password') + ->label(__('Password')) ->required() ->password() ->confirmed() ->minLength(8), ]), Forms\Components\ToggleButtons::make('status') + ->label(__('Status')) ->inline() ->columnSpanFull() ->options(IncidentStatusEnum::class) @@ -51,26 +63,34 @@ public function table(Table $table): Table { return $table ->recordTitleAttribute('title') + ->modelLabel(__('Incident Update')) + ->pluralModelLabel(__('Incident Updates')) ->columns([ Tables\Columns\TextColumn::make('incident.name') + ->label(__('Incident')) ->numeric() ->sortable(), Tables\Columns\TextColumn::make('status') + ->label(__('Status')) ->badge() ->sortable(), Tables\Columns\TextColumn::make('user.name') + ->label(__('User')) ->sortable(), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ Tables\Filters\SelectFilter::make('status') + ->label(__('Status')) ->options(IncidentStatusEnum::class), ]) ->headerActions([ diff --git a/src/Filament/Resources/IncidentTemplateResource.php b/src/Filament/Resources/IncidentTemplateResource.php index 8c8ac8e2..b2bfe7d7 100644 --- a/src/Filament/Resources/IncidentTemplateResource.php +++ b/src/Filament/Resources/IncidentTemplateResource.php @@ -28,12 +28,15 @@ public static function form(Form $form): Form ->schema([ Forms\Components\Section::make()->columns(2)->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required() ->live(debounce: 250) ->afterStateUpdated(fn (Set $set, ?string $state) => $set('slug', Str::slug($state))), Forms\Components\TextInput::make('slug') + ->label(__('Slug')) ->required(), Forms\Components\Textarea::make('template') + ->label(__('Template')) ->hint(fn (Get $get) => new HtmlString(Blade::render(match ($get('engine')) { IncidentTemplateEngineEnum::twig => 'Twig Documentation', IncidentTemplateEngineEnum::blade => 'Laravel Blade Documentation', @@ -43,6 +46,7 @@ public static function form(Form $form): Form ->rows(8) ->columnSpanFull(), Forms\Components\Select::make('engine') + ->label(__('Engine')) ->options(IncidentTemplateEngineEnum::class) ->default(IncidentTemplateEngineEnum::twig) ->live() @@ -56,22 +60,28 @@ public static function table(Table $table): Table return $table ->columns([ Tables\Columns\TextColumn::make('name') + ->label(__('Name')) ->searchable(), Tables\Columns\TextColumn::make('slug') + ->label(__('Slug')) ->searchable(), Tables\Columns\TextColumn::make('engine') + ->label(__('Engine')) ->sortable() ->badge() ->searchable(), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('deleted_at') + ->label(__('Deleted at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), diff --git a/src/Filament/Resources/MetricResource.php b/src/Filament/Resources/MetricResource.php index e12febe3..78e29500 100644 --- a/src/Filament/Resources/MetricResource.php +++ b/src/Filament/Resources/MetricResource.php @@ -25,17 +25,21 @@ public static function form(Form $form): Form ->schema([ Forms\Components\Section::make()->columns(4)->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required() ->maxLength(255) ->columnSpan(3), Forms\Components\TextInput::make('suffix') + ->label(__('Suffix')) ->required() ->maxLength(255) ->placeholder('e.g. ms, %, etc.'), Forms\Components\MarkdownEditor::make('description') + ->label(__('Description')) ->maxLength(255) ->columnSpanFull(), Forms\Components\ToggleButtons::make('default_view') + ->label(__('Default view')) ->options(MetricViewEnum::class) ->inline() ->required() @@ -51,11 +55,13 @@ public static function form(Form $form): Form ->default(MetricTypeEnum::sum) ->columnSpan(2), Forms\Components\TextInput::make('places') + ->label(__('Places')) ->required() ->numeric() ->default(2) ->columnSpan(2), Forms\Components\TextInput::make('threshold') + ->label(__('Threshold')) ->required() ->numeric() ->default(5) @@ -63,11 +69,13 @@ public static function form(Form $form): Form ])->columnSpan(3), Forms\Components\Section::make()->schema([ Forms\Components\ToggleButtons::make('visible') + ->label(__('Visible')) ->inline() ->options(ResourceVisibilityEnum::class) ->default(ResourceVisibilityEnum::guest) ->required(), Forms\Components\Toggle::make('display_chart') + ->label(__('Display chart')) ->default(true) ->required(), @@ -80,43 +88,57 @@ public static function table(Table $table): Table return $table ->columns([ Tables\Columns\TextColumn::make('name') + ->label(__('Name')) ->searchable(), Tables\Columns\TextColumn::make('suffix') + ->label(__('Suffix')) ->fontFamily('mono') ->searchable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('default_value') + ->label(__('Default value')) ->numeric() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('calc_type') + ->label(__('Metric Type')) ->badge() ->sortable(), Tables\Columns\IconColumn::make('display_chart') + ->label(__('Display chart')) ->boolean(), Tables\Columns\TextColumn::make('places') + ->label(__('Places')) ->numeric() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('default_view') + ->label(__('Default view')) ->sortable(), Tables\Columns\TextColumn::make('threshold') + ->label(__('Threshold')) ->numeric() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('order') + ->label(__('Order')) ->numeric() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('visible') + ->label(__('Visible')) ->badge() ->sortable(), - Tables\Columns\TextColumn::make('points_count')->counts('metricPoints'), + Tables\Columns\TextColumn::make('points_count') + ->label(__('Points count')) + ->counts('metricPoints'), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), diff --git a/src/Filament/Resources/ScheduleResource.php b/src/Filament/Resources/ScheduleResource.php index 910a1ddd..379e7749 100644 --- a/src/Filament/Resources/ScheduleResource.php +++ b/src/Filament/Resources/ScheduleResource.php @@ -23,8 +23,10 @@ public static function form(Form $form): Form ->schema([ Forms\Components\Section::make()->schema([ Forms\Components\TextInput::make('name') + ->label(__('Name')) ->required(), Forms\Components\Select::make('status') + ->label(__('Status')) ->required() ->options(ScheduleStatusEnum::class) ->default(ScheduleStatusEnum::upcoming) @@ -35,12 +37,15 @@ public static function form(Form $form): Form }) ->live(), Forms\Components\MarkdownEditor::make('message') + ->label(__('Message')) ->columnSpanFull(), ])->columnSpan(3), Forms\Components\Section::make()->schema([ Forms\Components\DateTimePicker::make('scheduled_at') + ->label(__('Scheduled at')) ->required(), Forms\Components\DateTimePicker::make('completed_at') + ->label(__('Completed at')) ->visible(fn (Forms\Get $get): bool => ScheduleStatusEnum::parse($get('status')) === ScheduleStatusEnum::complete) ->required(fn (Forms\Get $get): bool => ScheduleStatusEnum::parse($get('status')) === ScheduleStatusEnum::complete), ])->columnSpan(1), @@ -52,25 +57,32 @@ public static function table(Table $table): Table return $table ->columns([ Tables\Columns\TextColumn::make('name') + ->label(__('Name')) ->searchable(), Tables\Columns\TextColumn::make('status') + ->label(__('Status')) ->badge() ->sortable(), Tables\Columns\TextColumn::make('scheduled_at') + ->label(__('Scheduled at')) ->dateTime() ->sortable(), Tables\Columns\TextColumn::make('completed_at') + ->label(__('Completed at')) ->dateTime() ->sortable(), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('deleted_at') + ->label(__('Deleted at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), diff --git a/src/Filament/Resources/SubscriberResource.php b/src/Filament/Resources/SubscriberResource.php index 66c7702b..4f794ade 100644 --- a/src/Filament/Resources/SubscriberResource.php +++ b/src/Filament/Resources/SubscriberResource.php @@ -23,15 +23,19 @@ public static function form(Form $form): Form ->schema([ Forms\Components\Section::make()->columns(2)->schema([ Forms\Components\TextInput::make('email') + ->label(__('Email')) ->email() ->required() ->maxLength(255), Forms\Components\TextInput::make('verify_code') + ->label(__('Verify code')) ->required() ->default(fn () => Str::random()) ->maxLength(255), - Forms\Components\DateTimePicker::make('verified_at'), + Forms\Components\DateTimePicker::make('verified_at') + ->label(__('Verified at')), Forms\Components\Toggle::make('global') + ->label(__('Global')) ->required(), // Forms\Components\TextInput::make('phone_number') // ->tel(), @@ -45,27 +49,35 @@ public static function table(Table $table): Table return $table ->columns([ Tables\Columns\TextColumn::make('email') + ->label(__('Email')) ->searchable(), Tables\Columns\TextColumn::make('verify_code') + ->label(__('Verify code')) ->fontFamily('mono') ->searchable(), Tables\Columns\IconColumn::make('global') + ->label(__('Global')) ->boolean(), Tables\Columns\TextColumn::make('phone_number') + ->label(__('Phone number')) ->searchable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('slack_webhook_url') + ->label(__('Slack Webhook URL')) ->searchable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('verified_at') + ->label(__('Verified at')) ->dateTime() ->sortable() ->toggleable(), Tables\Columns\TextColumn::make('created_at') + ->label(__('Created at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') + ->label(__('Updated at')) ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), diff --git a/src/Filament/Widgets/Overview.php b/src/Filament/Widgets/Overview.php index 591ed9c9..8d114dcb 100644 --- a/src/Filament/Widgets/Overview.php +++ b/src/Filament/Widgets/Overview.php @@ -19,21 +19,21 @@ protected function getColumns(): int protected function getStats(): array { return [ - Stat::make('Total Incidents', Incident::count()) + Stat::make(__('Total Incidents'), Incident::count()) ->description(__('Total number of reported incidents.')) ->chart(DB::table('incidents')->selectRaw('count(*) as total')->groupByRaw('date(created_at)')->get()->pluck('total')->toArray()) ->icon('cachet-incident') ->chartColor('info') ->color('gray'), - Stat::make('Metric Points', MetricPoint::count()) + Stat::make(__('Metric Points'), MetricPoint::count()) ->description(__('Recent metric points.')) ->chart(DB::table('metric_points')->selectRaw('count(*) as total')->groupBy('created_at')->get()->pluck('total')->toArray()) ->icon('cachet-metrics') ->chartColor('info') ->color('gray'), - Stat::make('Total Subscribers', Subscriber::count()) + Stat::make(__('Total Subscribers'), Subscriber::count()) ->description(__('Total number of subscribers.')) ->chart(DB::table('subscribers')->selectRaw('count(*) as total')->groupByRaw('date(created_at)')->get()->pluck('total')->toArray()) ->icon('cachet-subscribers') From b372099c31fb7d9f624ee07de83310aaa0820332 Mon Sep 17 00:00:00 2001 From: jbrooksuk Date: Sun, 13 Oct 2024 18:44:02 +0000 Subject: [PATCH 7/8] Compile Assets --- public/build/manifest.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/build/manifest.json b/public/build/manifest.json index d692ffcd..eb93cbf8 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -4,14 +4,14 @@ "src": "resources/js/cachet.js", "isEntry": true }, - "resources/css/dashboard/theme.css": { - "file": "assets/theme.8251fad4.css", - "src": "resources/css/dashboard/theme.css", - "isEntry": true - }, "resources/css/cachet.css": { "file": "assets/cachet.30cb9e62.css", "src": "resources/css/cachet.css", "isEntry": true + }, + "resources/css/dashboard/theme.css": { + "file": "assets/theme.8251fad4.css", + "src": "resources/css/dashboard/theme.css", + "isEntry": true } } \ No newline at end of file From bd44346d3725575e2c87a28c14baf52e7eb4e8b4 Mon Sep 17 00:00:00 2001 From: steffjenl Date: Sun, 13 Oct 2024 19:15:38 +0000 Subject: [PATCH 8/8] Compile Assets --- public/build/manifest.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/build/manifest.json b/public/build/manifest.json index eb93cbf8..d692ffcd 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -4,14 +4,14 @@ "src": "resources/js/cachet.js", "isEntry": true }, - "resources/css/cachet.css": { - "file": "assets/cachet.30cb9e62.css", - "src": "resources/css/cachet.css", - "isEntry": true - }, "resources/css/dashboard/theme.css": { "file": "assets/theme.8251fad4.css", "src": "resources/css/dashboard/theme.css", "isEntry": true + }, + "resources/css/cachet.css": { + "file": "assets/cachet.30cb9e62.css", + "src": "resources/css/cachet.css", + "isEntry": true } } \ No newline at end of file