From 12402582d425089259411365d3040fb2fed88a27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E7=99=BD=E5=93=A6?= Date: Sat, 30 Aug 2025 22:30:39 +0800 Subject: [PATCH] Create extend.php --- extend.php | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 extend.php 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'), // 公共样式(可选) +];