nodebb-plugin-discord-onekite 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,2 @@
1
- # nodebb-plugin-discord-onekite v1.0.6
2
-
3
- Fixes:
4
- - Form action/redirect no longer uses `{config.relative_path}` (was rendering as `undefined` on your install).
5
- - Categories are fetched server-side via `categories.getCategoriesByPrivilege('categories:cid', uid, 'read', ...)` (returns category objects). citeturn0search10
1
+ # nodebb-plugin-discord-onekite v1.0.8
2
+ Clean build (no debug). Server-side ACP + success alert.
@@ -13,8 +13,6 @@ function normalizeCids(v) {
13
13
  }
14
14
 
15
15
  async function getReadableCategories(uid) {
16
- // NodeBB core uses this helper to get categories for a user by privilege.
17
- // It returns an array of category objects (cid, name, slug, ...). citeturn0search10
18
16
  return await new Promise((resolve) => {
19
17
  categories.getCategoriesByPrivilege('categories:cid', uid || 0, 'read', (err, categoriesData) => {
20
18
  if (err || !Array.isArray(categoriesData)) return resolve([]);
@@ -42,6 +40,7 @@ controllers.renderAdminPage = async function (req, res) {
42
40
  res.render('admin/plugins/discord-onekite', {
43
41
  settings: settings || {},
44
42
  categories: categoriesForTpl,
43
+ saved: req.query && (req.query.saved === '1' || req.query.saved === 'true'),
45
44
  });
46
45
  };
47
46
 
package/library.js CHANGED
@@ -82,7 +82,6 @@ Plugin.init = async ({ router }) => {
82
82
  controllers.renderAdminPage
83
83
  );
84
84
 
85
- // POST save - keep it very simple and redirect to the canonical path
86
85
  router.post('/admin/plugins/discord-onekite/save',
87
86
  middleware.admin.checkPrivileges,
88
87
  async (req, res) => {
@@ -94,9 +93,10 @@ Plugin.init = async ({ router }) => {
94
93
  };
95
94
  await meta.settings.set(SETTINGS_KEY, payload);
96
95
  } catch (e) {
96
+ // eslint-disable-next-line no-console
97
97
  console.error('[discord-onekite] save failed', e);
98
98
  }
99
- res.redirect('/admin/plugins/discord-onekite');
99
+ res.redirect('/admin/plugins/discord-onekite?saved=1');
100
100
  }
101
101
  );
102
102
  };
@@ -132,6 +132,7 @@ Plugin.onTopicSave = async (data) => {
132
132
 
133
133
  await postToDiscord(settings.webhookUrl, { embeds: [built.embed] });
134
134
  } catch (err) {
135
+ // eslint-disable-next-line no-console
135
136
  console.error(err);
136
137
  }
137
138
  };
@@ -157,6 +158,7 @@ Plugin.onPostSave = async (data) => {
157
158
 
158
159
  await postToDiscord(settings.webhookUrl, { embeds: [built.embed] });
159
160
  } catch (err) {
161
+ // eslint-disable-next-line no-console
160
162
  console.error(err);
161
163
  }
162
164
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-discord-onekite",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Discord webhook notifier for Onekite (NodeBB v4.x only)",
5
5
  "main": "library.js",
6
6
  "license": "MIT",
@@ -1,9 +1,15 @@
1
1
  <div class="acp-page-container">
2
2
  <h4>Discord Onekite</h4>
3
3
  <p class="text-muted">
4
- Notifications Discord via webhook (page ACP en rendu serveur).
4
+ Notifications Discord via webhook (rendu serveur).
5
5
  </p>
6
6
 
7
+ <!-- IF saved -->
8
+ <div class="alert alert-success" role="alert">
9
+ Paramètres enregistrés !
10
+ </div>
11
+ <!-- ENDIF saved -->
12
+
7
13
  <form role="form" method="post" action="/admin/plugins/discord-onekite/save">
8
14
  <input type="hidden" name="_csrf" value="{config.csrf_token}" />
9
15