From 175e43e26b0f6abd92c76136014d234136d87270 Mon Sep 17 00:00:00 2001 From: Davide Iadeluca Date: Thu, 3 Oct 2024 07:05:22 +0200 Subject: [PATCH] feat: extend `UserListPage` with new Button --- js/src/admin/extendUserListPage.tsx | 16 ++++++++++++++++ js/src/admin/index.ts | 4 ++++ 2 files changed, 20 insertions(+) create mode 100644 js/src/admin/extendUserListPage.tsx diff --git a/js/src/admin/extendUserListPage.tsx b/js/src/admin/extendUserListPage.tsx new file mode 100644 index 0000000..43f7784 --- /dev/null +++ b/js/src/admin/extendUserListPage.tsx @@ -0,0 +1,16 @@ +import app from 'flarum/admin/app'; +import { extend } from 'flarum/common/extend'; +import UserListPage from 'flarum/admin/components/UserListPage'; +import LoginAsUserButton from '../common/components/LoginAsUserButton'; + +import type ItemList from 'flarum/common/utils/ItemList'; +import type User from 'flarum/common/models/User'; + +import type Mithril from 'mithril'; +export default function extendUserListPage() { + extend(UserListPage.prototype, 'userActionItems', function (items: ItemList, user: User) { + const forumBaseUrl = app.forum.attribute('baseUrl'); + + items.add('impersonate', ); + }); +} diff --git a/js/src/admin/index.ts b/js/src/admin/index.ts index 337965f..5861bb4 100644 --- a/js/src/admin/index.ts +++ b/js/src/admin/index.ts @@ -1,4 +1,6 @@ import app from 'flarum/admin/app'; +import extendUserListPage from './extendUserListPage'; + export { default as extend } from './extend'; app.initializers.add('fof-impersonate', () => { @@ -18,4 +20,6 @@ app.initializers.add('fof-impersonate', () => { label: app.translator.trans('fof-impersonate.admin.settings.require_reason'), }); } + + extendUserListPage(); });