Parcourir la source

translate fix

Andrew il y a 2 mois
Parent
révision
4a191235fd
1 fichiers modifiés avec 23 ajouts et 22 suppressions
  1. 23
    22
      app/Filament/Resources/ProjectResource.php

+ 23
- 22
app/Filament/Resources/ProjectResource.php Voir le fichier

51
         return $form
51
         return $form
52
             ->schema([
52
             ->schema([
53
                 Section::make('')->schema([
53
                 Section::make('')->schema([
54
-                    Translate::make()->schema(fn (string $locale) => [
54
+                    Translate::make()->schema(fn(string $locale) => [
55
                         TextInput::make('name')->label('項目名稱'),
55
                         TextInput::make('name')->label('項目名稱'),
56
                         TextInput::make('sub_name')->label('項目子名稱'),
56
                         TextInput::make('sub_name')->label('項目子名稱'),
57
                     ])
57
                     ])
77
                         Select::make('region_id')->label('地區')->options(function () {
77
                         Select::make('region_id')->label('地區')->options(function () {
78
                             return Region::where('visible', true)->pluck('name', 'id');
78
                             return Region::where('visible', true)->pluck('name', 'id');
79
                         }),
79
                         }),
80
-                        Translate::make()->schema(fn (string $locale) => [
80
+                        Translate::make()->schema(fn(string $locale) => [
81
                             Textarea::make('summaries')->label('簡述'),
81
                             Textarea::make('summaries')->label('簡述'),
82
                             TextInput::make('district')->label('區域'),
82
                             TextInput::make('district')->label('區域'),
83
                             TextInput::make('address')->label('地址'),
83
                             TextInput::make('address')->label('地址'),
98
                                     return Badge::all()->mapWithKeys(function ($badge) {
98
                                     return Badge::all()->mapWithKeys(function ($badge) {
99
                                         return [
99
                                         return [
100
                                             $badge->id => '<div class="flex items-center gap-2">
100
                                             $badge->id => '<div class="flex items-center gap-2">
101
-                                                <img src="'.Storage::url($badge->img_url).'" class="w-6 h-6 rounded-full">
102
-                                                <span>'.$badge->title.'</span>
101
+                                                <img src="' . Storage::url($badge->img_url) . '" class="w-6 h-6 rounded-full">
102
+                                                <span>' . $badge->title . '</span>
103
                                             </div>',
103
                                             </div>',
104
                                         ];
104
                                         ];
105
                                     });
105
                                     });
117
                                     return Badge::all()->mapWithKeys(function ($badge) {
117
                                     return Badge::all()->mapWithKeys(function ($badge) {
118
                                         return [
118
                                         return [
119
                                             $badge->id => '<div class="flex items-center gap-2">
119
                                             $badge->id => '<div class="flex items-center gap-2">
120
-                                                <img src="'.Storage::url($badge->img_url).'" class="w-6 h-6 rounded-full">
121
-                                                <span>'.$badge->title.'</span>
120
+                                                <img src="' . Storage::url($badge->img_url) . '" class="w-6 h-6 rounded-full">
121
+                                                <span>' . $badge->title . '</span>
122
                                             </div>',
122
                                             </div>',
123
                                         ];
123
                                         ];
124
                                     });
124
                                     });
139
                     Tab::make('開發歷程')->schema([
139
                     Tab::make('開發歷程')->schema([
140
                         Repeater::make('histories')->label('')->schema([
140
                         Repeater::make('histories')->label('')->schema([
141
                             TextInput::make('histories_item_key')
141
                             TextInput::make('histories_item_key')
142
-                                ->default(fn () => Str::random())
142
+                                ->default(fn() => Str::random())
143
                                 ->hidden()
143
                                 ->hidden()
144
                                 ->afterStateHydrated(function (TextInput $component, $state) {
144
                                 ->afterStateHydrated(function (TextInput $component, $state) {
145
                                     if (empty($state)) {
145
                                     if (empty($state)) {
147
                                     }
147
                                     }
148
                                 }),
148
                                 }),
149
                             DatePicker::make('operate_date')->label('歷程日期')->columnSpan(1),
149
                             DatePicker::make('operate_date')->label('歷程日期')->columnSpan(1),
150
-                            Translate::make()->schema(fn (string $locale) => [
150
+                            Translate::make()->schema(fn(string $locale) => [
151
                                 TextInput::make('title')->label('標題')->columnSpanFull(),
151
                                 TextInput::make('title')->label('標題')->columnSpanFull(),
152
                             ])
152
                             ])
153
                                 ->locales(['zh_TW', 'en'])
153
                                 ->locales(['zh_TW', 'en'])
154
                                 ->actions([
154
                                 ->actions([
155
                                     app(DeepLService::class)->createTranslationAction('histories', ['title']),
155
                                     app(DeepLService::class)->createTranslationAction('histories', ['title']),
156
                                 ])->columnSpanFull()
156
                                 ])->columnSpanFull()
157
-                                ->id(fn ($get) => 'histories_'.$get('histories_item_key')),
157
+                                ->id(fn($get) => 'histories_' . $get('histories_item_key')),
158
                         ])
158
                         ])
159
                             ->relationship('histories', function ($query, Get $get, $livewire) {
159
                             ->relationship('histories', function ($query, Get $get, $livewire) {
160
                                 return $query->orderby('operate_date', 'desc');
160
                                 return $query->orderby('operate_date', 'desc');
164
                     ]),
164
                     ]),
165
                     Tab::make('空間資訊')->schema([
165
                     Tab::make('空間資訊')->schema([
166
                         Group::make()->schema([
166
                         Group::make()->schema([
167
-                            Translate::make()->schema(fn (string $locale) => [
167
+                            Translate::make()->schema(fn(string $locale) => [
168
                                 TextInput::make('contact_unit')->label('物管單位'),
168
                                 TextInput::make('contact_unit')->label('物管單位'),
169
                                 TextInput::make('contact_phone')->label('物管電話'),
169
                                 TextInput::make('contact_phone')->label('物管電話'),
170
                                 TextInput::make('inversment_phone')->label('招商電話'),
170
                                 TextInput::make('inversment_phone')->label('招商電話'),
177
                             TextInput::make('offical_link')->label('官網連結'),
177
                             TextInput::make('offical_link')->label('官網連結'),
178
                         ])->columnSpanFull(),
178
                         ])->columnSpanFull(),
179
                         Repeater::make('spaceInfos')->label('')->schema([
179
                         Repeater::make('spaceInfos')->label('')->schema([
180
-                            Translate::make()->schema(fn (string $locale) => [
180
+                            Translate::make()->schema(fn(string $locale) => [
181
                                 TextInput::make('title')->label('標題')->columnSpanFull(),
181
                                 TextInput::make('title')->label('標題')->columnSpanFull(),
182
                                 Textarea::make('content')->label('內文')->columnSpanFull(),
182
                                 Textarea::make('content')->label('內文')->columnSpanFull(),
183
                             ])
183
                             ])
184
                                 ->locales(['zh_TW', 'en'])
184
                                 ->locales(['zh_TW', 'en'])
185
-                                ->actions([
186
-                                    app(DeepLService::class)->createTranslationAction('spaceInfos', ['title', 'content']),
187
-                                ])->columnSpanFull()
188
-                                ->id(fn ($get) => 'spaceInfos_'.$get('item_key')),
185
+                                ->actions(fn($arguments) => $arguments['locale'] === 'zh_TW' ? [] : [
186
+                                    app(DeepLService::class)->createTranslationAction('spaceInfos', ['title', 'content'])
187
+                                ])
188
+                                ->columnSpanFull()
189
+                                ->id(fn($get) => 'spaceInfos_' . $get('item_key')),
189
                         ])
190
                         ])
190
                             ->relationship('spaceInfos')
191
                             ->relationship('spaceInfos')
191
                             ->label('')
192
                             ->label('')
207
                 ImageColumn::make('thumbnail_url')->label('縮圖')->alignCenter(),
208
                 ImageColumn::make('thumbnail_url')->label('縮圖')->alignCenter(),
208
                 ImageColumn::make('first_list_img_url')->label('列表圖')->alignCenter(),
209
                 ImageColumn::make('first_list_img_url')->label('列表圖')->alignCenter(),
209
                 TextColumn::make('region.name')->label('地址')->alignCenter()
210
                 TextColumn::make('region.name')->label('地址')->alignCenter()
210
-                    ->formatStateUsing(fn ($record) => $record->region->getTranslation('name', 'zh_TW').' | '.$record->getTranslation('address', 'zh_TW')),
211
+                    ->formatStateUsing(fn($record) => $record->region->getTranslation('name', 'zh_TW') . ' | ' . $record->getTranslation('address', 'zh_TW')),
211
             ])
212
             ])
212
             ->filters([
213
             ->filters([
213
                 SelectFilter::make('visible')->label('上/下架')
214
                 SelectFilter::make('visible')->label('上/下架')
216
                         1 => '上架',
217
                         1 => '上架',
217
                     ])
218
                     ])
218
                     ->query(
219
                     ->query(
219
-                        fn (array $data, Builder $query): Builder => $query->when(
220
+                        fn(array $data, Builder $query): Builder => $query->when(
220
                             $data['value'],
221
                             $data['value'],
221
-                            fn (Builder $query, $value): Builder => $query->where('visible', $data['value'])
222
+                            fn(Builder $query, $value): Builder => $query->where('visible', $data['value'])
222
                         )
223
                         )
223
                     ),
224
                     ),
224
             ])
225
             ])
226
                 Tables\Actions\EditAction::make(),
227
                 Tables\Actions\EditAction::make(),
227
                 Tables\Actions\DeleteAction::make(),
228
                 Tables\Actions\DeleteAction::make(),
228
                 \Filament\Tables\Actions\Action::make('audit')
229
                 \Filament\Tables\Actions\Action::make('audit')
229
-                    ->label(fn ($record) => match ($record->visible) {
230
+                    ->label(fn($record) => match ($record->visible) {
230
                         0 => '上架',
231
                         0 => '上架',
231
                         1 => '下架',
232
                         1 => '下架',
232
                     })
233
                     })
233
-                    ->color(fn ($record) => match ($record->visible) {
234
+                    ->color(fn($record) => match ($record->visible) {
234
                         0 => 'warning',
235
                         0 => 'warning',
235
                         1 => 'gray',
236
                         1 => 'gray',
236
                     })
237
                     })
237
-                    ->icon(fn ($record) => match ($record->visible) {
238
+                    ->icon(fn($record) => match ($record->visible) {
238
                         0 => 'heroicon-m-chevron-double-up',
239
                         0 => 'heroicon-m-chevron-double-up',
239
                         1 => 'heroicon-m-chevron-double-down',
240
                         1 => 'heroicon-m-chevron-double-down',
240
                     })
241
                     })
241
                     ->action(function ($record): void {
242
                     ->action(function ($record): void {
242
-                        $record->visible = ! $record->visible;
243
+                        $record->visible = !$record->visible;
243
                         $record->save();
244
                         $record->save();
244
                     })
245
                     })
245
                     ->outlined()
246
                     ->outlined()