@unbrained/pm-web 2026.8.10 → 2026.8.17

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.
Files changed (182) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/app.d.ts +16 -0
  3. package/dist/app.js +16 -0
  4. package/dist/app.js.map +1 -1
  5. package/dist/auth.d.ts +5 -0
  6. package/dist/auth.js.map +1 -1
  7. package/dist/board.d.ts +53 -0
  8. package/dist/board.js +48 -0
  9. package/dist/board.js.map +1 -1
  10. package/dist/crypto.d.ts +23 -0
  11. package/dist/crypto.js +32 -0
  12. package/dist/crypto.js.map +1 -1
  13. package/dist/db.d.ts +19 -0
  14. package/dist/db.js +19 -0
  15. package/dist/db.js.map +1 -1
  16. package/dist/ical.d.ts +72 -0
  17. package/dist/ical.js +73 -0
  18. package/dist/ical.js.map +1 -1
  19. package/dist/index.d.ts +11 -0
  20. package/dist/index.js +52 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/middleware/auth.d.ts +8 -0
  23. package/dist/middleware/auth.js.map +1 -1
  24. package/dist/oidc.d.ts +87 -0
  25. package/dist/oidc.js +113 -0
  26. package/dist/oidc.js.map +1 -1
  27. package/dist/routes/admin.js +15 -0
  28. package/dist/routes/admin.js.map +1 -1
  29. package/dist/routes/extensions.js +10 -0
  30. package/dist/routes/extensions.js.map +1 -1
  31. package/dist/routes/github.js +13 -0
  32. package/dist/routes/github.js.map +1 -1
  33. package/dist/routes/oidc.d.ts +10 -0
  34. package/dist/routes/oidc.js +51 -0
  35. package/dist/routes/oidc.js.map +1 -1
  36. package/dist/routes/pm.js +132 -1
  37. package/dist/routes/pm.js.map +1 -1
  38. package/dist/routes/sharing.js +8 -0
  39. package/dist/routes/sharing.js.map +1 -1
  40. package/dist/services/mutation-event-watcher.js +13 -0
  41. package/dist/services/mutation-event-watcher.js.map +1 -1
  42. package/dist/services/package-catalog.d.ts +24 -0
  43. package/dist/services/package-catalog.js +22 -2
  44. package/dist/services/package-catalog.js.map +1 -1
  45. package/dist/services/pm-runner.d.ts +82 -0
  46. package/dist/services/pm-runner.js +121 -0
  47. package/dist/services/pm-runner.js.map +1 -1
  48. package/dist/services/project-watcher.d.ts +22 -0
  49. package/dist/services/project-watcher.js +51 -0
  50. package/dist/services/project-watcher.js.map +1 -1
  51. package/dist/services/realtime-bus.d.ts +46 -0
  52. package/dist/services/realtime-bus.js +59 -0
  53. package/dist/services/realtime-bus.js.map +1 -1
  54. package/dist/services/sse.d.ts +134 -0
  55. package/dist/services/sse.js +145 -0
  56. package/dist/services/sse.js.map +1 -1
  57. package/manifest.json +1 -1
  58. package/package.json +5 -3
  59. package/public/src/app.js +44 -1
  60. package/public/src/app.js.map +1 -1
  61. package/public/src/app.ts +44 -1
  62. package/public/src/components/modals.js +11 -0
  63. package/public/src/components/modals.js.map +1 -1
  64. package/public/src/components/modals.ts +11 -0
  65. package/public/src/components/toast.js +2 -0
  66. package/public/src/components/toast.js.map +1 -1
  67. package/public/src/components/toast.ts +2 -0
  68. package/public/src/constants.js +21 -4
  69. package/public/src/constants.js.map +1 -1
  70. package/public/src/constants.ts +21 -4
  71. package/public/src/filters.js +10 -7
  72. package/public/src/filters.js.map +1 -1
  73. package/public/src/filters.ts +10 -7
  74. package/public/src/i18n/de.json +3 -1
  75. package/public/src/i18n/en.json +3 -1
  76. package/public/src/i18n/es.json +3 -1
  77. package/public/src/i18n/zh.json +3 -1
  78. package/public/src/i18n.js +11 -1
  79. package/public/src/i18n.js.map +1 -1
  80. package/public/src/i18n.ts +13 -1
  81. package/public/src/state.js +3 -0
  82. package/public/src/state.js.map +1 -1
  83. package/public/src/state.ts +3 -0
  84. package/public/src/sw.ts +71 -7
  85. package/public/src/theme.js +13 -1
  86. package/public/src/theme.js.map +1 -1
  87. package/public/src/theme.ts +15 -1
  88. package/public/src/types.ts +2 -0
  89. package/public/src/utils.js +26 -1
  90. package/public/src/utils.js.map +1 -1
  91. package/public/src/utils.ts +26 -1
  92. package/public/src/views/activity.js +1 -0
  93. package/public/src/views/activity.js.map +1 -1
  94. package/public/src/views/activity.ts +1 -0
  95. package/public/src/views/admin.js +134 -0
  96. package/public/src/views/admin.js.map +1 -1
  97. package/public/src/views/admin.ts +134 -0
  98. package/public/src/views/auth.js +31 -0
  99. package/public/src/views/auth.js.map +1 -1
  100. package/public/src/views/auth.ts +31 -0
  101. package/public/src/views/calendar.js +3 -0
  102. package/public/src/views/calendar.js.map +1 -1
  103. package/public/src/views/calendar.ts +3 -0
  104. package/public/src/views/comments-audit.js +1 -0
  105. package/public/src/views/comments-audit.js.map +1 -1
  106. package/public/src/views/comments-audit.ts +1 -0
  107. package/public/src/views/config.js +67 -0
  108. package/public/src/views/config.js.map +1 -1
  109. package/public/src/views/config.ts +67 -0
  110. package/public/src/views/context.js +2 -0
  111. package/public/src/views/context.js.map +1 -1
  112. package/public/src/views/context.ts +2 -0
  113. package/public/src/views/create.js +3 -0
  114. package/public/src/views/create.js.map +1 -1
  115. package/public/src/views/create.ts +3 -0
  116. package/public/src/views/dedupe.js +1 -0
  117. package/public/src/views/dedupe.js.map +1 -1
  118. package/public/src/views/dedupe.ts +1 -0
  119. package/public/src/views/export.js +6 -0
  120. package/public/src/views/export.js.map +1 -1
  121. package/public/src/views/export.ts +6 -0
  122. package/public/src/views/github.js +58 -0
  123. package/public/src/views/github.js.map +1 -1
  124. package/public/src/views/github.ts +58 -0
  125. package/public/src/views/graph-canvas.js +18 -0
  126. package/public/src/views/graph-canvas.js.map +1 -1
  127. package/public/src/views/graph-canvas.ts +20 -0
  128. package/public/src/views/graph.js +41 -0
  129. package/public/src/views/graph.js.map +1 -1
  130. package/public/src/views/graph.ts +42 -1
  131. package/public/src/views/groups.js +45 -0
  132. package/public/src/views/groups.js.map +1 -1
  133. package/public/src/views/groups.ts +45 -0
  134. package/public/src/views/guide.js +3 -0
  135. package/public/src/views/guide.js.map +1 -1
  136. package/public/src/views/guide.ts +3 -0
  137. package/public/src/views/health.js +3 -0
  138. package/public/src/views/health.js.map +1 -1
  139. package/public/src/views/health.ts +3 -0
  140. package/public/src/views/items.js +196 -6
  141. package/public/src/views/items.js.map +1 -1
  142. package/public/src/views/items.ts +196 -6
  143. package/public/src/views/normalize.js +2 -0
  144. package/public/src/views/normalize.js.map +1 -1
  145. package/public/src/views/normalize.ts +2 -0
  146. package/public/src/views/packages.js +67 -5
  147. package/public/src/views/packages.js.map +1 -1
  148. package/public/src/views/packages.ts +74 -5
  149. package/public/src/views/plan-execution.js +6 -0
  150. package/public/src/views/plan-execution.js.map +1 -1
  151. package/public/src/views/plan-execution.ts +8 -0
  152. package/public/src/views/plan.js +145 -0
  153. package/public/src/views/plan.js.map +1 -1
  154. package/public/src/views/plan.ts +146 -1
  155. package/public/src/views/projects.js +60 -0
  156. package/public/src/views/projects.js.map +1 -1
  157. package/public/src/views/projects.ts +60 -0
  158. package/public/src/views/router.js +43 -0
  159. package/public/src/views/router.js.map +1 -1
  160. package/public/src/views/router.ts +43 -0
  161. package/public/src/views/search.js +5 -0
  162. package/public/src/views/search.js.map +1 -1
  163. package/public/src/views/search.ts +5 -0
  164. package/public/src/views/settings.js +36 -0
  165. package/public/src/views/settings.js.map +1 -1
  166. package/public/src/views/settings.ts +36 -0
  167. package/public/src/views/shared.js +1 -0
  168. package/public/src/views/shared.js.map +1 -1
  169. package/public/src/views/shared.ts +1 -0
  170. package/public/src/views/sharing.js +32 -0
  171. package/public/src/views/sharing.js.map +1 -1
  172. package/public/src/views/sharing.ts +32 -0
  173. package/public/src/views/stats.js +1 -0
  174. package/public/src/views/stats.js.map +1 -1
  175. package/public/src/views/stats.ts +1 -0
  176. package/public/src/views/templates.js +4 -0
  177. package/public/src/views/templates.js.map +1 -1
  178. package/public/src/views/templates.ts +4 -0
  179. package/public/src/views/validate.js +1 -0
  180. package/public/src/views/validate.js.map +1 -1
  181. package/public/src/views/validate.ts +1 -0
  182. package/public/sw.js +60 -5
@@ -67,12 +67,33 @@ for (const [view, path] of Object.entries(VIEW_TO_PATH)) {
67
67
  let navigatingInternally = false;
68
68
  // Callback invoked when the view changes — used to notify presence service
69
69
  let onViewChange = null;
70
+ /**
71
+ * Stores the callback invoked after each view switch, used to notify an
72
+ * external service (for example presence) of the active view.
73
+ *
74
+ * @param cb - function called with the new view name.
75
+ */
70
76
  export function setOnViewChange(cb) {
71
77
  onViewChange = cb;
72
78
  }
79
+ /**
80
+ * Returns the URL path registered for a view name, defaulting to the root
81
+ * path when the view is unmapped.
82
+ *
83
+ * @param view - view name to look up.
84
+ * @returns the matching path, or '/' when none is registered.
85
+ */
73
86
  export function getPathForView(view) {
74
87
  return VIEW_TO_PATH[view] || '/';
75
88
  }
89
+ /**
90
+ * Returns the view name for a URL path, matching the full normalized path
91
+ * first, then the first path segment for deeper routes (such as an item
92
+ * detail), and finally falling back to projects.
93
+ *
94
+ * @param path - URL pathname to resolve.
95
+ * @returns the resolved view name.
96
+ */
76
97
  export function getViewForPath(path) {
77
98
  // Normalize: remove trailing slash except for root
78
99
  const normalized = path.replace(/\/$/, '') || '/';
@@ -83,6 +104,15 @@ export function getViewForPath(path) {
83
104
  const firstSegment = '/' + normalized.slice(1).split('/')[0];
84
105
  return PATH_TO_VIEW[firstSegment] || 'projects';
85
106
  }
107
+ /**
108
+ * Activates a named view: updates the URL via history pushState (unless
109
+ * suppressed), toggles content containers and sidebar highlighting for the
110
+ * new view, calls the matching render function, refreshes the mobile nav,
111
+ * notifies the presence callback, and moves focus into the view.
112
+ *
113
+ * @param view - name of the view to display.
114
+ * @param pushState - whether to push a new history entry (false on popstate).
115
+ */
86
116
  export function showView(view, pushState = true) {
87
117
  if (view === 'admin' && !state.user?.is_admin) {
88
118
  history.replaceState({ view: 'projects' }, '', '/');
@@ -206,6 +236,12 @@ export function showView(view, pushState = true) {
206
236
  activeArea.focus({ preventScroll: true });
207
237
  }
208
238
  }
239
+ /**
240
+ * Highlights the matching bottom-nav button for the active view and shows or
241
+ * hides the mobile navigation bar depending on whether a project is selected.
242
+ *
243
+ * @param view - currently active view name.
244
+ */
209
245
  function updateMobileNav(view) {
210
246
  document.querySelectorAll('.mobile-bottom-nav-item').forEach(el => {
211
247
  el.classList.toggle('active', el.dataset.mobview === view);
@@ -216,6 +252,13 @@ function updateMobileNav(view) {
216
252
  }
217
253
  }
218
254
  // Handle browser back/forward
255
+ /**
256
+ * Handles browser back/forward navigation, ignoring popstate events caused
257
+ * by this router's own pushState, then activates the view recorded in the
258
+ * history state.
259
+ *
260
+ * @param e - popstate event from the browser.
261
+ */
219
262
  function onPopState(e) {
220
263
  // Ignore if we just pushed state (some browsers fire popstate after pushState)
221
264
  if (navigatingInternally) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["router.ts"],"names":[],"mappings":"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"}
@@ -71,14 +71,35 @@ let navigatingInternally = false;
71
71
 
72
72
  // Callback invoked when the view changes — used to notify presence service
73
73
  let onViewChange: ((view: string) => void) | null = null;
74
+ /**
75
+ * Stores the callback invoked after each view switch, used to notify an
76
+ * external service (for example presence) of the active view.
77
+ *
78
+ * @param cb - function called with the new view name.
79
+ */
74
80
  export function setOnViewChange(cb: (view: string) => void): void {
75
81
  onViewChange = cb;
76
82
  }
77
83
 
84
+ /**
85
+ * Returns the URL path registered for a view name, defaulting to the root
86
+ * path when the view is unmapped.
87
+ *
88
+ * @param view - view name to look up.
89
+ * @returns the matching path, or '/' when none is registered.
90
+ */
78
91
  export function getPathForView(view: string): string {
79
92
  return VIEW_TO_PATH[view] || '/';
80
93
  }
81
94
 
95
+ /**
96
+ * Returns the view name for a URL path, matching the full normalized path
97
+ * first, then the first path segment for deeper routes (such as an item
98
+ * detail), and finally falling back to projects.
99
+ *
100
+ * @param path - URL pathname to resolve.
101
+ * @returns the resolved view name.
102
+ */
82
103
  export function getViewForPath(path: string): string {
83
104
  // Normalize: remove trailing slash except for root
84
105
  const normalized = path.replace(/\/$/, '') || '/';
@@ -89,6 +110,15 @@ export function getViewForPath(path: string): string {
89
110
  return PATH_TO_VIEW[firstSegment] || 'projects';
90
111
  }
91
112
 
113
+ /**
114
+ * Activates a named view: updates the URL via history pushState (unless
115
+ * suppressed), toggles content containers and sidebar highlighting for the
116
+ * new view, calls the matching render function, refreshes the mobile nav,
117
+ * notifies the presence callback, and moves focus into the view.
118
+ *
119
+ * @param view - name of the view to display.
120
+ * @param pushState - whether to push a new history entry (false on popstate).
121
+ */
92
122
  export function showView(view: string, pushState = true): void {
93
123
  if (view === 'admin' && !state.user?.is_admin) {
94
124
  history.replaceState({ view: 'projects' }, '', '/');
@@ -164,6 +194,12 @@ export function showView(view: string, pushState = true): void {
164
194
  }
165
195
  }
166
196
 
197
+ /**
198
+ * Highlights the matching bottom-nav button for the active view and shows or
199
+ * hides the mobile navigation bar depending on whether a project is selected.
200
+ *
201
+ * @param view - currently active view name.
202
+ */
167
203
  function updateMobileNav(view: string): void {
168
204
  document.querySelectorAll('.mobile-bottom-nav-item').forEach(el => {
169
205
  (el as HTMLElement).classList.toggle('active', (el as HTMLElement).dataset.mobview === view);
@@ -175,6 +211,13 @@ function updateMobileNav(view: string): void {
175
211
  }
176
212
 
177
213
  // Handle browser back/forward
214
+ /**
215
+ * Handles browser back/forward navigation, ignoring popstate events caused
216
+ * by this router's own pushState, then activates the view recorded in the
217
+ * history state.
218
+ *
219
+ * @param e - popstate event from the browser.
220
+ */
178
221
  function onPopState(e: PopStateEvent): void {
179
222
  // Ignore if we just pushed state (some browsers fire popstate after pushState)
180
223
  if (navigatingInternally) {
@@ -7,6 +7,7 @@ import { escHtml } from '../utils.js';
7
7
  import { toast } from '../components/toast.js';
8
8
  import { renderItemRow } from './items.js';
9
9
  let searchTimer;
10
+ /** Renders the search view for the current project: a hybrid/semantic/keyword mode toggle, a reindex button, the query input, and the current result list. */
10
11
  export function renderSearchView() {
11
12
  const el = document.getElementById('content-search');
12
13
  if (!el)
@@ -40,6 +41,7 @@ export function renderSearchView() {
40
41
  </div>`;
41
42
  setTimeout(() => document.getElementById('search-query')?.focus(), 50);
42
43
  }
44
+ /** Sets the active search mode, clears existing results, re-renders the search view, and re-runs the search when a query is already present. */
43
45
  export function setSearchMode(mode) {
44
46
  state.searchMode = mode;
45
47
  state.searchResults = [];
@@ -47,6 +49,7 @@ export function setSearchMode(mode) {
47
49
  if (state.searchQuery)
48
50
  doSearch();
49
51
  }
52
+ /** Requests a project reindex for the current search mode via the reindex endpoint, disabling the button while in flight and toasting success or failure. */
50
53
  export async function reindexProject() {
51
54
  if (!state.currentProject)
52
55
  return;
@@ -68,11 +71,13 @@ export async function reindexProject() {
68
71
  btn.textContent = '⟳ Reindex';
69
72
  }
70
73
  }
74
+ /** Debounced input handler that stores the current query and schedules a search after a 350ms idle delay. */
71
75
  export function debouncedSearch() {
72
76
  clearTimeout(searchTimer);
73
77
  state.searchQuery = document.getElementById('search-query')?.value || '';
74
78
  searchTimer = setTimeout(doSearch, 350);
75
79
  }
80
+ /** Runs a search against the project search endpoint with the current query and mode, storing and rendering the results or a no-results/error state. */
76
81
  export async function doSearch() {
77
82
  const query = (document.getElementById('search-query')?.value || '').trim();
78
83
  if (!query || !state.currentProject)
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["search.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type { SearchResponse } from '../api-types.js';
10
10
 
11
11
  let searchTimer: ReturnType<typeof setTimeout>;
12
12
 
13
+ /** Renders the search view for the current project: a hybrid/semantic/keyword mode toggle, a reindex button, the query input, and the current result list. */
13
14
  export function renderSearchView(): void {
14
15
  const el = document.getElementById('content-search');
15
16
  if (!el) return;
@@ -40,6 +41,7 @@ export function renderSearchView(): void {
40
41
  setTimeout(()=>document.getElementById('search-query')?.focus(),50);
41
42
  }
42
43
 
44
+ /** Sets the active search mode, clears existing results, re-renders the search view, and re-runs the search when a query is already present. */
43
45
  export function setSearchMode(mode: string): void {
44
46
  state.searchMode = mode;
45
47
  state.searchResults = [];
@@ -47,6 +49,7 @@ export function setSearchMode(mode: string): void {
47
49
  if (state.searchQuery) doSearch();
48
50
  }
49
51
 
52
+ /** Requests a project reindex for the current search mode via the reindex endpoint, disabling the button while in flight and toasting success or failure. */
50
53
  export async function reindexProject(): Promise<void> {
51
54
  if (!state.currentProject) return;
52
55
  const btn = document.getElementById('reindex-btn') as HTMLButtonElement | null;
@@ -65,12 +68,14 @@ export async function reindexProject(): Promise<void> {
65
68
  }
66
69
  }
67
70
 
71
+ /** Debounced input handler that stores the current query and schedules a search after a 350ms idle delay. */
68
72
  export function debouncedSearch(): void {
69
73
  clearTimeout(searchTimer);
70
74
  state.searchQuery = (document.getElementById('search-query') as HTMLInputElement | null)?.value || '';
71
75
  searchTimer = setTimeout(doSearch, 350);
72
76
  }
73
77
 
78
+ /** Runs a search against the project search endpoint with the current query and mode, storing and rendering the results or a no-results/error state. */
74
79
  export async function doSearch(): Promise<void> {
75
80
  const query = ((document.getElementById('search-query') as HTMLInputElement | null)?.value || '').trim();
76
81
  if (!query || !state.currentProject) return;
@@ -10,6 +10,12 @@ import { t, translateError, localeDate, getLocale, SUPPORTED_LOCALES } from '../
10
10
  function avatarInitial(name) {
11
11
  return (name.trim()[0] || '?').toUpperCase();
12
12
  }
13
+ /**
14
+ * Computes a deterministic avatar background color for a seed string by
15
+ * hashing its characters into an HSL hue.
16
+ * @param seed - The string used to derive the color (e.g. email or name).
17
+ * @returns An `hsl(...)` CSS color string.
18
+ */
13
19
  function avatarBg(seed) {
14
20
  let hash = 0;
15
21
  for (let i = 0; i < seed.length; i++) {
@@ -25,6 +31,12 @@ const LOCALE_LABEL_KEYS = {
25
31
  es: 'settings.languageEs',
26
32
  zh: 'settings.languageZh',
27
33
  };
34
+ /**
35
+ * Renders the settings view into the #content-settings element: the language
36
+ * selector, profile card with a generated avatar, password change card, and
37
+ * GitHub token card. Reads user-facing strings via i18n and the current user
38
+ * from shared state.
39
+ */
28
40
  export function renderSettingsView() {
29
41
  const el = document.getElementById('content-settings');
30
42
  if (!el)
@@ -125,6 +137,13 @@ export function renderSettingsView() {
125
137
  </div>
126
138
  </div>`;
127
139
  }
140
+ /**
141
+ * Saves the display name entered in the profile form. Validates the name is
142
+ * non-empty, PATCHes it to the profile endpoint, merges the returned user
143
+ * into state, updates the header avatar and name, and re-renders the view.
144
+ * Reports errors via the inline error element and restores the button on
145
+ * completion.
146
+ */
128
147
  export async function saveProfile() {
129
148
  const displayName = document.getElementById('settings-display-name')?.value?.trim() || '';
130
149
  const errEl = document.getElementById('settings-profile-error');
@@ -178,6 +197,12 @@ export async function saveProfile() {
178
197
  }
179
198
  }
180
199
  }
200
+ /**
201
+ * Submits the password change form. Validates that all fields are filled, the
202
+ * new and confirm passwords match, and the new password meets the minimum
203
+ * length, then POSTs the change to the auth endpoint and clears the fields on
204
+ * success. Reports errors via the inline error element.
205
+ */
181
206
  export async function changePassword() {
182
207
  const currentPassword = document.getElementById('settings-current-pw')?.value || '';
183
208
  const newPassword = document.getElementById('settings-new-pw')?.value || '';
@@ -241,6 +266,12 @@ export async function changePassword() {
241
266
  }
242
267
  }
243
268
  }
269
+ /**
270
+ * Saves the GitHub token entered in the token field. Validates the token is
271
+ * non-empty, PATCHes it to the GitHub token endpoint, updates the user's
272
+ * token flag in state from the response, and re-renders the view. Reports
273
+ * errors via the inline error element.
274
+ */
244
275
  export async function saveGitHubToken() {
245
276
  const token = document.getElementById('settings-github-token')?.value?.trim() || '';
246
277
  const errEl = document.getElementById('settings-github-error');
@@ -281,6 +312,11 @@ export async function saveGitHubToken() {
281
312
  }
282
313
  }
283
314
  }
315
+ /**
316
+ * Prompts for confirmation, then clears the stored GitHub token by PATCHing
317
+ * an empty token to the token endpoint, resets the user's token flag in
318
+ * state, and re-renders the view, reporting any failure via a toast.
319
+ */
284
320
  export function clearGitHubToken() {
285
321
  confirmDialog(t('settings.clearTokenTitle'), t('settings.clearTokenBody'), async () => {
286
322
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["settings.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,12 @@ function avatarInitial(name: string): string {
14
14
  return (name.trim()[0] || '?').toUpperCase();
15
15
  }
16
16
 
17
+ /**
18
+ * Computes a deterministic avatar background color for a seed string by
19
+ * hashing its characters into an HSL hue.
20
+ * @param seed - The string used to derive the color (e.g. email or name).
21
+ * @returns An `hsl(...)` CSS color string.
22
+ */
17
23
  function avatarBg(seed: string): string {
18
24
  let hash = 0;
19
25
  for (let i = 0; i < seed.length; i++) { hash = (hash * 31 + seed.charCodeAt(i)) >>> 0; }
@@ -29,6 +35,12 @@ const LOCALE_LABEL_KEYS: Record<SupportedLocale, string> = {
29
35
  zh: 'settings.languageZh',
30
36
  };
31
37
 
38
+ /**
39
+ * Renders the settings view into the #content-settings element: the language
40
+ * selector, profile card with a generated avatar, password change card, and
41
+ * GitHub token card. Reads user-facing strings via i18n and the current user
42
+ * from shared state.
43
+ */
32
44
  export function renderSettingsView(): void {
33
45
  const el = document.getElementById('content-settings');
34
46
  if (!el) return;
@@ -129,6 +141,13 @@ export function renderSettingsView(): void {
129
141
  </div>`;
130
142
  }
131
143
 
144
+ /**
145
+ * Saves the display name entered in the profile form. Validates the name is
146
+ * non-empty, PATCHes it to the profile endpoint, merges the returned user
147
+ * into state, updates the header avatar and name, and re-renders the view.
148
+ * Reports errors via the inline error element and restores the button on
149
+ * completion.
150
+ */
132
151
  export async function saveProfile(): Promise<void> {
133
152
  const displayName = (document.getElementById('settings-display-name') as HTMLInputElement | null)?.value?.trim() || '';
134
153
  const errEl = document.getElementById('settings-profile-error') as HTMLElement | null;
@@ -158,6 +177,12 @@ export async function saveProfile(): Promise<void> {
158
177
  }
159
178
  }
160
179
 
180
+ /**
181
+ * Submits the password change form. Validates that all fields are filled, the
182
+ * new and confirm passwords match, and the new password meets the minimum
183
+ * length, then POSTs the change to the auth endpoint and clears the fields on
184
+ * success. Reports errors via the inline error element.
185
+ */
161
186
  export async function changePassword(): Promise<void> {
162
187
  const currentPassword = (document.getElementById('settings-current-pw') as HTMLInputElement | null)?.value || '';
163
188
  const newPassword = (document.getElementById('settings-new-pw') as HTMLInputElement | null)?.value || '';
@@ -185,6 +210,12 @@ export async function changePassword(): Promise<void> {
185
210
  }
186
211
  }
187
212
 
213
+ /**
214
+ * Saves the GitHub token entered in the token field. Validates the token is
215
+ * non-empty, PATCHes it to the GitHub token endpoint, updates the user's
216
+ * token flag in state from the response, and re-renders the view. Reports
217
+ * errors via the inline error element.
218
+ */
188
219
  export async function saveGitHubToken(): Promise<void> {
189
220
  const token = (document.getElementById('settings-github-token') as HTMLInputElement | null)?.value?.trim() || '';
190
221
  const errEl = document.getElementById('settings-github-error') as HTMLElement | null;
@@ -204,6 +235,11 @@ export async function saveGitHubToken(): Promise<void> {
204
235
  }
205
236
  }
206
237
 
238
+ /**
239
+ * Prompts for confirmation, then clears the stored GitHub token by PATCHing
240
+ * an empty token to the token endpoint, resets the user's token flag in
241
+ * state, and re-renders the view, reporting any failure via a toast.
242
+ */
207
243
  export function clearGitHubToken(): void {
208
244
  confirmDialog(t('settings.clearTokenTitle'), t('settings.clearTokenBody'), async () => {
209
245
  try {
@@ -1,6 +1,7 @@
1
1
  import { api } from '../api.js';
2
2
  import { escHtml } from '../utils.js';
3
3
  import { skeletonCards } from '../utils.js';
4
+ /** Renders the grid of projects other users have shared with the current user, showing each project's name, slug, description, permission level, and owner. */
4
5
  export async function renderSharedView() {
5
6
  const el = document.getElementById('content-shared');
6
7
  if (!el)
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["shared.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,EAAE,CAAC,SAAS,GAAG;;;;;+BAKc,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAyB,KAAK,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAoB,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,GAAG;;;;;eAKP,CAAC;YACV,OAAO;QACT,CAAC;QACD,GAAG,CAAC,SAAS,GAAG;;UAEV,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;2EAC6C,CAAC,CAAC,EAAE;6CAClC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;kDACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;6CACpB,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,gBAAgB,CAAC;;yCAE9C,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC;mDACrB,OAAO,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC;;iBAE7F,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aACd,CAAC;IACZ,CAAC;IAAC,OAAM,GAAY,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,GAAG;YAAE,GAAG,CAAC,SAAS,GAAG,iEAAiE,OAAO,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;IACpK,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["shared.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,+JAA+J;AAC/J,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,EAAE,CAAC,SAAS,GAAG;;;;;+BAKc,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAyB,KAAK,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAoB,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,GAAG;;;;;eAKP,CAAC;YACV,OAAO;QACT,CAAC;QACD,GAAG,CAAC,SAAS,GAAG;;UAEV,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;2EAC6C,CAAC,CAAC,EAAE;6CAClC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;kDACV,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;6CACpB,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,gBAAgB,CAAC;;yCAE9C,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC;mDACrB,OAAO,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC;;iBAE7F,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aACd,CAAC;IACZ,CAAC;IAAC,OAAM,GAAY,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACtD,IAAI,GAAG;YAAE,GAAG,CAAC,SAAS,GAAG,iEAAiE,OAAO,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;IACpK,CAAC;AACH,CAAC"}
@@ -7,6 +7,7 @@ import { escHtml } from '../utils.js';
7
7
  import { skeletonCards } from '../utils.js';
8
8
  import type { SharedProject, SharedProjectsResponse } from '../api-types.js';
9
9
 
10
+ /** Renders the grid of projects other users have shared with the current user, showing each project's name, slug, description, permission level, and owner. */
10
11
  export async function renderSharedView(): Promise<void> {
11
12
  const el = document.getElementById('content-shared');
12
13
  if (!el) return;
@@ -6,6 +6,14 @@ import { api } from '../api.js';
6
6
  import { escHtml } from '../utils.js';
7
7
  import { showModal, hideModal, createModal, confirmDialog } from '../components/modals.js';
8
8
  import { toast } from '../components/toast.js';
9
+ /**
10
+ * Derives a display record (name, detail line, two-letter avatar, and group
11
+ * flag) for a single share row, preferring group fields when the row
12
+ * references a group and falling back through user fields otherwise.
13
+ *
14
+ * @param share - the share row to summarize.
15
+ * @returns display fields for rendering a member row.
16
+ */
9
17
  function shareDisplay(share) {
10
18
  const isGroup = Boolean(share.group_id || share.groupId);
11
19
  const name = isGroup
@@ -16,6 +24,10 @@ function shareDisplay(share) {
16
24
  : (share.user_email || share.email || '');
17
25
  return { name, detail, avatar: name.slice(0, 2).toUpperCase(), isGroup };
18
26
  }
27
+ /**
28
+ * Renders the project sharing page header and a placeholder, then loads the
29
+ * current list of shares. Shows an empty state when no project is selected.
30
+ */
19
31
  export async function renderSharingView() {
20
32
  const el = document.getElementById('content-sharing');
21
33
  if (!el)
@@ -38,6 +50,11 @@ export async function renderSharingView() {
38
50
  <div id="shares-list"><div class="loading-state"><div class="loading-spinner"></div></div></div>`;
39
51
  await loadShares();
40
52
  }
53
+ /**
54
+ * Fetches the shares for the current project and renders each one as a
55
+ * member row with its permission and a remove control, or an empty state
56
+ * when nobody has been invited yet.
57
+ */
41
58
  async function loadShares() {
42
59
  const el = document.getElementById('shares-list');
43
60
  if (!el)
@@ -84,6 +101,10 @@ async function loadShares() {
84
101
  el.innerHTML = `<div class="empty-state"><div class="empty-state-text">Error: ${escHtml(err instanceof Error ? err.message : String(err))}</div></div>`;
85
102
  }
86
103
  }
104
+ /**
105
+ * Builds and displays the invite dialog for sharing the current project,
106
+ * collecting an email or group id and a permission level.
107
+ */
87
108
  export function openShareModal() {
88
109
  createModal('share-modal', 'Invite to Project', `
89
110
  <div class="form-group">
@@ -105,6 +126,11 @@ export function openShareModal() {
105
126
  <button class="btn btn-primary" onclick="window.__app.submitShare()"><span>Send Invite</span></button>`);
106
127
  showModal('share-modal');
107
128
  }
129
+ /**
130
+ * Reads the invite form fields and posts a new share for the current project
131
+ * using the entered email or group id and selected permission. Surfaces
132
+ * validation and server errors inline and refreshes the list on success.
133
+ */
108
134
  export async function submitShare() {
109
135
  const email = document.getElementById('share-email')?.value?.trim() || '';
110
136
  const groupId = document.getElementById('share-group-id')?.value?.trim() || '';
@@ -137,6 +163,12 @@ export async function submitShare() {
137
163
  }
138
164
  }
139
165
  }
166
+ /**
167
+ * Asks for confirmation then deletes the given share from the current
168
+ * project, refreshing the list and showing errors as toasts.
169
+ *
170
+ * @param shareId - identifier of the share to revoke.
171
+ */
140
172
  export function removeShare(shareId) {
141
173
  confirmDialog('Remove Access?', 'The user will lose access to this project.', async () => {
142
174
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sharing.js","sourceRoot":"","sources":["sharing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharing.js","sourceRoot":"","sources":["sharing.ts"],"names":[],"mappings":"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"}