Skip to content

Commit 9c8cbaa

Browse files
committed
feat: use ServiceProvider
1 parent 2a0b76d commit 9c8cbaa

7 files changed

Lines changed: 65 additions & 63 deletions

File tree

extend.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
namespace Flectar\Fancybox;
1313

1414
use Flarum\Extend;
15-
use Flectar\Fancybox\WrapImagesInGallery;
16-
use Flectar\Fancybox\DefineGalleryTemplate;
1715

1816
return [
1917
(new Extend\Frontend('forum'))
2018
->js(__DIR__.'/js/dist/forum.js')
2119
->css(__DIR__.'/less/forum.less'),
22-
20+
21+
(new Extend\ServiceProvider())
22+
->register(FancyboxServiceProvider::class),
23+
2324
(new Extend\Formatter)
24-
->configure(DefineGalleryTemplate::class)
2525
->render(WrapImagesInGallery::class),
2626
];

js/dist/forum.js.LICENSE.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

js/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

less/carousel.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

less/fancybox.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/DefineGalleryTemplate.php

Lines changed: 0 additions & 54 deletions
This file was deleted.

src/FancyboxServiceProvider.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
3+
namespace Flectar\Fancybox;
4+
5+
use Flarum\Foundation\AbstractServiceProvider;
6+
7+
class FancyboxServiceProvider extends AbstractServiceProvider
8+
{
9+
public function register()
10+
{
11+
$this->container->resolving('flarum.formatter', function ($formatter) {
12+
$formatter->addConfigurationCallback(function ($configurator) {
13+
$tag = $configurator->tags->add('FANCYBOX-GALLERY');
14+
$tag->template = '<div class="fancybox-gallery f-carousel"><xsl:apply-templates/></div>';
15+
16+
$tag = $configurator->tags->add('FANCYBOX-GALLERY-ITEM');
17+
$tag->template = '<div class="f-carousel__slide"><xsl:apply-templates/></div>';
18+
19+
if ($configurator->tags->exists('IMG')) {
20+
$tag = $configurator->tags->get('IMG');
21+
$tag->template = <<<'XML'
22+
<xsl:choose>
23+
<xsl:when test="parent::FANCYBOX-GALLERY-ITEM">
24+
<a data-fancybox="gallery" href="{@src}">
25+
<img data-lazy-src="{@src}" alt="{@alt}" loading="lazy"/>
26+
</a>
27+
</xsl:when>
28+
<xsl:otherwise>
29+
<a data-fancybox="single" href="{@src}">
30+
<img src="{@src}" alt="{@alt}" loading="lazy"/>
31+
</a>
32+
</xsl:otherwise>
33+
</xsl:choose>
34+
XML;
35+
}
36+
37+
if ($configurator->tags->exists('UPL-IMAGE-PREVIEW')) {
38+
$tag = $configurator->tags->get('UPL-IMAGE-PREVIEW');
39+
$tag->template = <<<'XML'
40+
<xsl:choose>
41+
<xsl:when test="parent::FANCYBOX-GALLERY-ITEM">
42+
<a data-fancybox="gallery" href="{@url}">
43+
<img data-lazy-src="{@url}" alt="" loading="lazy"/>
44+
</a>
45+
</xsl:when>
46+
<xsl:otherwise>
47+
<a data-fancybox="single" href="{@url}">
48+
<img src="{@url}" alt="" loading="lazy"/>
49+
</a>
50+
</xsl:otherwise>
51+
</xsl:choose>
52+
XML;
53+
}
54+
});
55+
});
56+
}
57+
}

0 commit comments

Comments
 (0)