diff --git a/extend.php b/extend.php new file mode 100644 index 0000000..3b7c563 --- /dev/null +++ b/extend.php @@ -0,0 +1,35 @@ +attribute('theme', fn ($serializer, User $user) => $user->getPreference('theme', 'default')), + + // 2. 允许前端修改 theme + (new Extend\User()) + ->registerPreference('theme', 'strval', 'default'), + + // 3. 根据主题注入 CSS + (new Extend\Frontend('forum')) + ->css(function (Factory $view, User $user) { + $theme = $user->getPreference('theme', 'default'); + // 只注入存在的文件 + $path = "theme-switcher/less/{$theme}.less"; + if (file_exists(__DIR__ . "/resources/less/{$theme}.less")) { + return $view->make('flarum.forum::frontend.content.css', [ + 'css' => [$path] + ]); + } + return null; + }), + + // 4. 设置页组件挂载 + (new Extend\Frontend('forum')) + ->js(__DIR__ . '/js/dist/forum.js') + ->css(__DIR__ . '/resources/less/app.less'), // 公共样式(可选) +];