-
Notifications
You must be signed in to change notification settings - Fork 0
/
extend.php
44 lines (35 loc) · 1.49 KB
/
extend.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
/*
* This file is part of blomstra/fathom-analytics.
*
* Copyright (c) 2022 Blomstra team.
*
* For the full copyright and license information, please view the LICENSE.md
* file that was distributed with this source code.
*/
namespace Blomstra\FathomAnalytics;
use Flarum\Extend;
use Flarum\Frontend\Document;
use Flarum\Settings\SettingsRepositoryInterface;
use Psr\Http\Message\ServerRequestInterface;
return [
(new Extend\Frontend('forum'))
->js(__DIR__ . '/js/dist/forum.js')
->css(__DIR__ . '/less/forum.less')
->content(function (Document $document, ServerRequestInterface $request) {
/** @var SettingsRepositoryInterface $settings */
$settings = resolve(SettingsRepositoryInterface::class);
$siteId = $settings->get('blomstra-fathom-analytics.site_id');
$document->head[] = '<script src="https://cdn.usefathom.com/script.js" data-spa="auto" data-site="' . $siteId . '" defer></script>';
}),
(new Extend\Frontend('admin'))
->js(__DIR__ . '/js/dist/admin.js')
->css(__DIR__ . '/less/admin.less'),
new Extend\Locales(__DIR__ . '/locale'),
(new Extend\Settings())
->default('blomstra-fathom-analytics.site_id', '')
->default('blomstra-fathom-analytics.enabled_events', '{}')
->serializeToForum('blomstra-fathom-analytics.enabled_events', 'blomstra-fathom-analytics.enabled_events', function (string $val) {
return json_decode($val, true);
})
];