Skip to content

Commit 8038131

Browse files
authored
Refactor/presets (Team-Tea-Time#363)
* Give the UI presets better names and start updating the BladeTailwind preset * Rework blade-tailwind preset * Fix modals in blade-tailwind preset * Update blade-bootstrap preset * Fix some dark mode issues in the livewire-tailwind preset * Add missing features to livewire-tailwind preset * Fix tests.yml * Force tests to use the Blade stack * Fix config resolve order for tests * Fix ambiguous workflow names
1 parent 37fe648 commit 8038131

File tree

182 files changed

+1908
-1734
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+1908
-1734
lines changed

.github/workflows/phpcs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
jobs:
1212
run:
13-
name: Run
13+
name: Run PHP_CodeSniffer
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Checkout code

.github/workflows/tests.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ on:
88

99
jobs:
1010
run:
11-
name: Run
11+
name: Run PHPUnit
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout code
15-
uses: actions/checkout@v2
15+
uses: actions/checkout@v2
1616
- name: Bring up MySQL service
1717
run: docker-compose up -d mysql
1818
- name: Run Composer install

config/frontend.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
|
2424
*/
2525

26-
'preset' => 'tailwind',
26+
'preset' => 'livewire-tailwind',
2727

2828
/*
2929
|--------------------------------------------------------------------------

src/ForumServiceProvider.php

+15-16
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
Console\Commands\Seed,
2323
Console\Commands\SyncStats,
2424
Frontend\Presets\AbstractPreset,
25-
Frontend\Presets\BootstrapPreset,
25+
Frontend\Presets\BladeBootstrapPreset,
2626
Frontend\Presets\PresetRegistry,
27-
Frontend\Presets\LivewirePreset,
28-
Frontend\Presets\TailwindPreset,
27+
Frontend\Presets\LivewireTailwindPreset,
28+
Frontend\Presets\BladeTailwindPreset,
2929
Frontend\Stacks\Blade,
3030
Frontend\Stacks\StackInterface,
3131
Frontend\Stacks\Livewire,
@@ -50,7 +50,7 @@ public function __construct($app)
5050
parent::__construct($app);
5151

5252
foreach (self::CONFIG_FILES as $key) {
53-
$this->mergeConfigFrom(__DIR__."/../config/{$key}.php", "forum.{$key}");
53+
$this->mergeConfigFrom(__DIR__ . "/../config/{$key}.php", "forum.{$key}");
5454
}
5555

5656
$this->isFrontendEnabled = config('forum.frontend.enable');
@@ -59,9 +59,9 @@ public function __construct($app)
5959
}
6060

6161
$presetRegistry = new PresetRegistry;
62-
$presetRegistry->register(new LivewirePreset);
63-
$presetRegistry->register(new BootstrapPreset);
64-
$presetRegistry->register(new TailwindPreset);
62+
$presetRegistry->register(new LivewireTailwindPreset);
63+
$presetRegistry->register(new BladeBootstrapPreset);
64+
$presetRegistry->register(new BladeTailwindPreset);
6565

6666
$app->instance(PresetRegistry::class, $presetRegistry);
6767

@@ -104,12 +104,12 @@ public function boot(Router $router, GateContract $gate)
104104

105105
if ($this->isFrontendEnabled) {
106106
$routerConfig = $this->frontendStack->getRouterConfig();
107-
$router->group($routerConfig, fn () => $this->loadRoutesFrom($this->frontendStack->getRoutesPath()));
107+
$router->group($routerConfig, fn() => $this->loadRoutesFrom($this->frontendStack->getRoutesPath()));
108108

109109
$viewsPath = $this->frontendPreset->getViewsPath();
110110
$this->loadViewsFrom($viewsPath, 'forum');
111111

112-
View::composer('forum.master', function ($view) {
112+
View::composer('forum::layouts.main', function ($view) {
113113
if (Auth::check()) {
114114
$nameAttribute = config('forum.integration.user_name');
115115
$view->username = Auth::user()->{$nameAttribute};
@@ -120,7 +120,7 @@ public function boot(Router $router, GateContract $gate)
120120
$loader->alias('Forum', config('forum.frontend.utility_class'));
121121
}
122122

123-
$this->loadTranslationsFrom(__DIR__.'/../translations', 'forum');
123+
$this->loadTranslationsFrom(__DIR__ . '/../translations', 'forum');
124124

125125
$this->registerPolicies($gate);
126126

@@ -141,7 +141,7 @@ private function publishConfig(): void
141141
{
142142
$configPathMap = [];
143143
foreach (self::CONFIG_FILES as $key) {
144-
$configPathMap[__DIR__."/../config/{$key}.php"] = config_path("forum/{$key}.php");
144+
$configPathMap[__DIR__ . "/../config/{$key}.php"] = config_path("forum/{$key}.php");
145145
}
146146

147147
$this->publishes($configPathMap, 'config');
@@ -150,14 +150,14 @@ private function publishConfig(): void
150150
private function publishMigrations(): void
151151
{
152152
$this->publishes([
153-
__DIR__.'/../database/migrations/' => database_path('migrations'),
153+
__DIR__ . '/../database/migrations/' => database_path('migrations'),
154154
], 'migrations');
155155
}
156156

157157
private function publishTranslations(): void
158158
{
159159
$this->publishes([
160-
__DIR__.'/../translations/' => function_exists('lang_path') ? lang_path('vendor/forum') : resource_path('lang/vendor/forum'),
160+
__DIR__ . '/../translations/' => function_exists('lang_path') ? lang_path('vendor/forum') : resource_path('lang/vendor/forum'),
161161
], 'translations');
162162
}
163163

@@ -166,9 +166,8 @@ private function enableApi(Router $router): void
166166
$config = config('forum.api.router');
167167
$config['middleware'][] = ResolveApiParameters::class;
168168

169-
$router->group($config, function ($router)
170-
{
171-
$this->loadRoutesFrom(__DIR__.'/../routes/api.php');
169+
$router->group($config, function ($router) {
170+
$this->loadRoutesFrom(__DIR__ . '/../routes/api.php');
172171
});
173172
}
174173

src/Frontend/Presets/AbstractPreset.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function isValid(): bool
2727

2828
protected function getSourcePath(): string
2929
{
30-
return __DIR__."/../../ui-presets/{$this->getName()}";
30+
return __DIR__ . "/../../../ui-presets/{$this->getName()}";
3131
}
3232

3333
protected function getDestinationPath(): string

src/Frontend/Presets/BootstrapPreset.php src/Frontend/Presets/BladeBootstrapPreset.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
use TeamTeaTime\Forum\Config\FrontendStack;
66

7-
class BootstrapPreset extends AbstractPreset
7+
class BladeBootstrapPreset extends AbstractPreset
88
{
99
public static function getName(): string
1010
{
11-
return 'bootstrap';
11+
return 'blade-bootstrap';
1212
}
1313

1414
public static function getDescription(): string
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace TeamTeaTime\Forum\Frontend\Presets\BladeTailwind\Components;
4+
5+
use Illuminate\Support\Facades\View as ViewFactory;
6+
use Illuminate\View\View;
7+
use Illuminate\View\Component;
8+
9+
class Button extends Component
10+
{
11+
public function __construct(
12+
)
13+
{
14+
}
15+
16+
public function render(): View
17+
{
18+
return ViewFactory::make('forum::components.button');
19+
}
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
namespace TeamTeaTime\Forum\Frontend\Presets;
4+
5+
use TeamTeaTime\Forum\{
6+
Config\FrontendStack,
7+
Frontend\Traits\RegistersBladeComponents,
8+
};
9+
10+
class BladeTailwindPreset extends AbstractPreset
11+
{
12+
use RegistersBladeComponents;
13+
14+
public static function getName(): string
15+
{
16+
return 'blade-tailwind';
17+
}
18+
19+
public static function getDescription(): string
20+
{
21+
return "Uses Blade with Tailwind CSS for styling.";
22+
}
23+
24+
public static function getRequiredStack(): FrontendStack
25+
{
26+
return FrontendStack::BLADE;
27+
}
28+
29+
public function register(): void
30+
{
31+
$this->bladeComponentNamespace("TeamTeaTime\\Forum\\Frontend\\Presets\\BladeTailwind\\Components");
32+
}
33+
}

src/Frontend/Presets/Livewire/Components/Alerts.php src/Frontend/Presets/LivewireTailwind/Components/Alerts.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/Button.php src/Frontend/Presets/LivewireTailwind/Components/Blade/Button.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/Form/InputCheckbox.php src/Frontend/Presets/LivewireTailwind/Components/Blade/Form/InputCheckbox.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade\Form;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade\Form;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/Form/InputComponent.php src/Frontend/Presets/LivewireTailwind/Components/Blade/Form/InputComponent.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade\Form;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade\Form;
44

55
use Closure;
66
use Illuminate\Contracts\View\View;

src/Frontend/Presets/Livewire/Components/Blade/Form/InputSelect.php src/Frontend/Presets/LivewireTailwind/Components/Blade/Form/InputSelect.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade\Form;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade\Form;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/Form/InputText.php src/Frontend/Presets/LivewireTailwind/Components/Blade/Form/InputText.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade\Form;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade\Form;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/Form/InputTextarea.php src/Frontend/Presets/LivewireTailwind/Components/Blade/Form/InputTextarea.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade\Form;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade\Form;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/GroupButton.php src/Frontend/Presets/LivewireTailwind/Components/Blade/GroupButton.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/LinkButton.php src/Frontend/Presets/LivewireTailwind/Components/Blade/LinkButton.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Blade/Modal.php src/Frontend/Presets/LivewireTailwind/Components/Blade/Modal.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Blade;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Blade;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Category/Card.php src/Frontend/Presets/LivewireTailwind/Components/Category/Card.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Category;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Category;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Pill.php src/Frontend/Presets/LivewireTailwind/Components/Pill.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Post/Card.php src/Frontend/Presets/LivewireTailwind/Components/Post/Card.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Post;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Post;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Post/Quote.php src/Frontend/Presets/LivewireTailwind/Components/Post/Quote.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Post;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Post;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Thread/Card.php src/Frontend/Presets/LivewireTailwind/Components/Thread/Card.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components\Thread;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components\Thread;
44

55
use Illuminate\Support\Facades\View as ViewFactory;
66
use Illuminate\View\View;

src/Frontend/Presets/Livewire/Components/Timestamp.php src/Frontend/Presets/LivewireTailwind/Components/Timestamp.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace TeamTeaTime\Forum\Frontend\Presets\Livewire\Components;
3+
namespace TeamTeaTime\Forum\Frontend\Presets\LivewireTailwind\Components;
44

55
use Carbon\Carbon;
66
use Illuminate\Support\Facades\View as ViewFactory;

src/Frontend/Presets/LivewirePreset.php src/Frontend/Presets/LivewireTailwindPreset.php

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@
44

55
use TeamTeaTime\Forum\{
66
Config\FrontendStack,
7-
Frontend\Presets\Livewire\Components\Category\Card as CategoryCard,
8-
Frontend\Presets\Livewire\Components\Post\Card as PostCard,
9-
Frontend\Presets\Livewire\Components\Post\Quote as PostQuote,
10-
Frontend\Presets\Livewire\Components\Thread\Card as ThreadCard,
11-
Frontend\Presets\Livewire\Components\Alerts,
12-
Frontend\Presets\Livewire\Components\Pill,
13-
Frontend\Presets\Livewire\Components\Timestamp,
7+
Frontend\Presets\LivewireTailwind\Components\Category\Card as CategoryCard,
8+
Frontend\Presets\LivewireTailwind\Components\Post\Card as PostCard,
9+
Frontend\Presets\LivewireTailwind\Components\Post\Quote as PostQuote,
10+
Frontend\Presets\LivewireTailwind\Components\Thread\Card as ThreadCard,
11+
Frontend\Presets\LivewireTailwind\Components\Alerts,
12+
Frontend\Presets\LivewireTailwind\Components\Pill,
13+
Frontend\Presets\LivewireTailwind\Components\Timestamp,
1414
Frontend\Traits\RegistersBladeComponents,
1515
Frontend\Traits\RegistersLivewireComponents,
1616
};
1717

18-
class LivewirePreset extends AbstractPreset
18+
class LivewireTailwindPreset extends AbstractPreset
1919
{
2020
use RegistersBladeComponents, RegistersLivewireComponents;
2121

2222
public static function getName(): string
2323
{
24-
return 'livewire';
24+
return 'livewire-tailwind';
2525
}
2626

2727
public static function getDescription(): string
@@ -36,7 +36,7 @@ public static function getRequiredStack(): FrontendStack
3636

3737
public function register(): void
3838
{
39-
$this->bladeComponentNamespace("TeamTeaTime\\Forum\\Frontend\\Presets\\Livewire\\Components\\Blade");
39+
$this->bladeComponentNamespace("TeamTeaTime\\Forum\\Frontend\\Presets\\LivewireTailwind\\Components\\Blade");
4040

4141
$this->livewireComponent('components.category.card', CategoryCard::class);
4242
$this->livewireComponent('components.post.card', PostCard::class);

0 commit comments

Comments
 (0)