@hatk/hatk 0.0.1-alpha.61 → 0.0.1-alpha.63
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/dist/backfill.js +6 -6
- package/dist/car.d.ts.map +1 -1
- package/dist/car.js +2 -2
- package/dist/cbor.js +1 -1
- package/dist/cli.js +3 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/database/adapter-factory.js +4 -4
- package/dist/database/adapters/duckdb-search.d.ts.map +1 -1
- package/dist/database/adapters/duckdb.d.ts.map +1 -1
- package/dist/database/adapters/sqlite-search.d.ts.map +1 -1
- package/dist/database/adapters/sqlite.d.ts.map +1 -1
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +12 -11
- package/dist/database/fts.js +4 -4
- package/dist/database/index.js +4 -4
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/schema.js +1 -1
- package/dist/dev-entry.js +21 -21
- package/dist/feeds.d.ts +4 -4
- package/dist/feeds.d.ts.map +1 -1
- package/dist/feeds.js +3 -3
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +10 -8
- package/dist/hydrate.d.ts.map +1 -1
- package/dist/hydrate.js +2 -2
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js +16 -12
- package/dist/labels.d.ts +1 -1
- package/dist/labels.d.ts.map +1 -1
- package/dist/labels.js +2 -2
- package/dist/lexicon-resolve.d.ts.map +1 -1
- package/dist/lexicons/com/atproto/repo/strongRef.json +1 -4
- package/dist/main.js +25 -25
- package/dist/mst.js +1 -1
- package/dist/oauth/db.d.ts.map +1 -1
- package/dist/oauth/db.js +10 -2
- package/dist/oauth/dpop.js +1 -1
- package/dist/oauth/server.d.ts +17 -3
- package/dist/oauth/server.d.ts.map +1 -1
- package/dist/oauth/server.js +41 -20
- package/dist/oauth/session.js +1 -1
- package/dist/opengraph.d.ts +1 -1
- package/dist/opengraph.d.ts.map +1 -1
- package/dist/opengraph.js +2 -2
- package/dist/pds-proxy.d.ts.map +1 -1
- package/dist/pds-proxy.js +7 -7
- package/dist/push.d.ts.map +1 -1
- package/dist/push.js +11 -9
- package/dist/renderer.d.ts +1 -1
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderer.js +1 -1
- package/dist/response.js +1 -1
- package/dist/scanner.js +1 -1
- package/dist/seed.js +1 -1
- package/dist/server-init.js +9 -9
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +32 -23
- package/dist/setup.d.ts +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +2 -2
- package/dist/test.js +14 -14
- package/dist/views.js +2 -2
- package/dist/vite-plugin.js +1 -1
- package/dist/xrpc-client.d.ts.map +1 -1
- package/dist/xrpc.d.ts.map +1 -1
- package/dist/xrpc.js +5 -5
- package/package.json +2 -2
- package/public/admin.html +37 -20
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACtD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACnD,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,GAAG,EAAE,CAAA;SAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9E,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,KAChE,OAAO,CAAC,YAAY,CAAC,CAAA;KAC3B,CAAA;CACF;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE/D,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE;QACF,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACtD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACnD,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,GAAG,EAAE,CAAA;SAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9E,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,KAChE,OAAO,CAAC,YAAY,CAAC,CAAA;KAC3B,CAAA;CACF;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE/D,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY;YAC9B,OAAO;;EACzB;AAkBD;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB/D;AAED,sDAAsD;AACtD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF"}
|
package/dist/setup.js
CHANGED
|
@@ -32,8 +32,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
32
32
|
*/
|
|
33
33
|
import { resolve, relative } from 'node:path';
|
|
34
34
|
import { readdirSync, statSync } from 'node:fs';
|
|
35
|
-
import { log } from
|
|
36
|
-
import { querySQL, runSQL, runBatch, createBulkInserterSQL } from
|
|
35
|
+
import { log } from './logger.js';
|
|
36
|
+
import { querySQL, runSQL, runBatch, createBulkInserterSQL } from './database/db.js';
|
|
37
37
|
export function defineSetup(handler) {
|
|
38
38
|
return { __type: 'setup', handler };
|
|
39
39
|
}
|
package/dist/test.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { resolve, dirname } from 'node:path';
|
|
2
2
|
import { readdirSync, readFileSync } from 'node:fs';
|
|
3
|
-
import { registerHatkResolveHook } from
|
|
3
|
+
import { registerHatkResolveHook } from './resolve-hatk.js';
|
|
4
4
|
import YAML from 'yaml';
|
|
5
|
-
import { loadConfig } from
|
|
6
|
-
import { loadLexicons, storeLexicons, discoverCollections, generateTableSchema, generateCreateTableSQL, } from
|
|
7
|
-
import { initDatabase, querySQL, runSQL, insertRecord, closeDatabase } from
|
|
8
|
-
import { createAdapter } from
|
|
9
|
-
import { SQLITE_DIALECT } from
|
|
10
|
-
import { setSearchPort } from
|
|
11
|
-
import { executeFeed, listFeeds, createPaginate } from
|
|
12
|
-
import { executeXrpc, listXrpc, configureRelay, configureCdn } from
|
|
13
|
-
import { initServer } from
|
|
14
|
-
import { discoverViews } from
|
|
5
|
+
import { loadConfig } from './config.js';
|
|
6
|
+
import { loadLexicons, storeLexicons, discoverCollections, generateTableSchema, generateCreateTableSQL, } from './database/schema.js';
|
|
7
|
+
import { initDatabase, querySQL, runSQL, insertRecord, closeDatabase } from './database/db.js';
|
|
8
|
+
import { createAdapter } from './database/adapter-factory.js';
|
|
9
|
+
import { SQLITE_DIALECT } from './database/dialect.js';
|
|
10
|
+
import { setSearchPort } from './database/fts.js';
|
|
11
|
+
import { executeFeed, listFeeds, createPaginate } from './feeds.js';
|
|
12
|
+
import { executeXrpc, listXrpc, configureRelay, configureCdn } from './xrpc.js';
|
|
13
|
+
import { initServer } from './server-init.js';
|
|
14
|
+
import { discoverViews } from './views.js';
|
|
15
15
|
import { validateLexicons } from '@bigmoves/lexicon';
|
|
16
|
-
import { packCursor, unpackCursor, isTakendownDid, filterTakendownDids } from
|
|
17
|
-
import { seed as createSeedHelpers } from
|
|
16
|
+
import { packCursor, unpackCursor, isTakendownDid, filterTakendownDids } from './database/db.js';
|
|
17
|
+
import { seed as createSeedHelpers } from './seed.js';
|
|
18
18
|
/**
|
|
19
19
|
* Find the project's hatk.config.ts by walking up from cwd.
|
|
20
20
|
* Returns the resolved config path, or falls back to 'hatk.config.ts'.
|
|
@@ -225,7 +225,7 @@ function interpolateHelpers(value) {
|
|
|
225
225
|
export async function startTestServer() {
|
|
226
226
|
const ctx = await createTestContext();
|
|
227
227
|
// Import startServer — it creates the HTTP server and returns it
|
|
228
|
-
const { startServer } = await import(
|
|
228
|
+
const { startServer } = await import('./server.js');
|
|
229
229
|
// Start server on port 0 (random available port)
|
|
230
230
|
const resolveViewer = (request) => {
|
|
231
231
|
const did = request.headers.get('x-test-viewer');
|
package/dist/views.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// Supports two patterns:
|
|
3
3
|
// 1. Inline views: defined in the record lexicon with ref: "#main" (e.g., playView)
|
|
4
4
|
// 2. Defs views: defined in a defs lexicon, associated by naming convention (e.g., profileView)
|
|
5
|
-
import { log } from
|
|
6
|
-
import { getAllLexicons, getLexicon } from
|
|
5
|
+
import { log } from './logger.js';
|
|
6
|
+
import { getAllLexicons, getLexicon } from './database/schema.js';
|
|
7
7
|
// --- Registry ---
|
|
8
8
|
/** All views keyed by full NSID (e.g., "fm.teal.alpha.feed.play#playView") */
|
|
9
9
|
const views = new Map();
|
package/dist/vite-plugin.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createRunnableDevEnvironment } from 'vite';
|
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import { execSync } from 'node:child_process';
|
|
5
|
-
import { isHatkRoute } from
|
|
5
|
+
import { isHatkRoute } from './adapter.js';
|
|
6
6
|
/** Boot the local PDS if a docker-compose.yml exists. */
|
|
7
7
|
async function ensurePds() {
|
|
8
8
|
if (!existsSync(resolve('docker-compose.yml')))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xrpc-client.d.ts","sourceRoot":"","sources":["../src/xrpc-client.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAClF,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAE7D,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB;
|
|
1
|
+
{"version":3,"file":"xrpc-client.d.ts","sourceRoot":"","sources":["../src/xrpc-client.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAClF,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAE7D,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB;IAuB/D,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,QAC9B,CAAC,WACE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrD,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAUzB,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,QAC7B,CAAC,UACC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,SAAS,WAC9C,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAczB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,QAC/B,CAAC,QACD,IAAI,GAAG,WAAW,eACX,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAalC"}
|
package/dist/xrpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xrpc.d.ts","sourceRoot":"","sources":["../src/xrpc.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGzD,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;AAI5B,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,QAExD;AAED,gFAAgF;AAChF,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,SAAM;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"xrpc.d.ts","sourceRoot":"","sources":["../src/xrpc.ts"],"names":[],"mappings":"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"}
|
package/dist/xrpc.js
CHANGED
|
@@ -28,12 +28,12 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
28
28
|
*/
|
|
29
29
|
import { resolve, relative } from 'node:path';
|
|
30
30
|
import { readdirSync, statSync } from 'node:fs';
|
|
31
|
-
import { log, emit, timer } from
|
|
32
|
-
import { querySQL, runSQL, packCursor, unpackCursor, isTakendownDid, filterTakendownDids, searchRecords, findUriByFields, } from
|
|
33
|
-
import { resolveRecords, buildBaseContext } from
|
|
34
|
-
import { getLexicon } from
|
|
31
|
+
import { log, emit, timer } from './logger.js';
|
|
32
|
+
import { querySQL, runSQL, packCursor, unpackCursor, isTakendownDid, filterTakendownDids, searchRecords, findUriByFields, } from './database/db.js';
|
|
33
|
+
import { resolveRecords, buildBaseContext } from './hydrate.js';
|
|
34
|
+
import { getLexicon } from './database/schema.js';
|
|
35
35
|
import { createHmac } from 'node:crypto';
|
|
36
|
-
import { pdsCreateRecord, pdsPutRecord, pdsDeleteRecord, pdsApplyWrites } from
|
|
36
|
+
import { pdsCreateRecord, pdsPutRecord, pdsDeleteRecord, pdsApplyWrites } from './pds-proxy.js';
|
|
37
37
|
let _oauthConfig = null;
|
|
38
38
|
/** Set the OAuth config used for record write helpers. Called once during boot. */
|
|
39
39
|
export function configureOAuth(config) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatk/hatk",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.63",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"bin": {
|
|
6
6
|
"hatk": "dist/cli.js"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@hatk/oauth-client": "*",
|
|
39
39
|
"@resvg/resvg-js": "^2.6.2",
|
|
40
40
|
"better-sqlite3": "^12.6.2",
|
|
41
|
-
"satori": "^0.
|
|
41
|
+
"satori": "^0.28.1",
|
|
42
42
|
"vitest": "^4",
|
|
43
43
|
"yaml": "^2.7.0"
|
|
44
44
|
},
|
package/public/admin.html
CHANGED
|
@@ -1260,7 +1260,6 @@
|
|
|
1260
1260
|
<div id="repos-results"><div class="loading">Loading</div></div>
|
|
1261
1261
|
</div>
|
|
1262
1262
|
|
|
1263
|
-
|
|
1264
1263
|
<!-- Content -->
|
|
1265
1264
|
<div class="tab-panel" id="panel-content">
|
|
1266
1265
|
<div class="search-bar">
|
|
@@ -2134,8 +2133,9 @@
|
|
|
2134
2133
|
function populateReportsLabelFilter() {
|
|
2135
2134
|
const select = document.getElementById('reports-label-filter')
|
|
2136
2135
|
const current = select.value
|
|
2137
|
-
select.innerHTML =
|
|
2138
|
-
|
|
2136
|
+
select.innerHTML =
|
|
2137
|
+
'<option value="">All labels</option>' +
|
|
2138
|
+
labelDefinitions.map((d) => `<option value="${d.identifier}">${d.identifier}</option>`).join('')
|
|
2139
2139
|
select.value = current
|
|
2140
2140
|
}
|
|
2141
2141
|
|
|
@@ -2172,7 +2172,8 @@
|
|
|
2172
2172
|
}
|
|
2173
2173
|
|
|
2174
2174
|
const showPagination = total != null && total > reportsPage.limit
|
|
2175
|
-
const paginationHtml = showPagination
|
|
2175
|
+
const paginationHtml = showPagination
|
|
2176
|
+
? `
|
|
2176
2177
|
<div class="pagination">
|
|
2177
2178
|
<span>${reportsPage.offset + 1}\u2013${Math.min(reportsPage.offset + reportsPage.limit, total)} of ${total.toLocaleString()}</span>
|
|
2178
2179
|
<div class="pagination-buttons">
|
|
@@ -2180,21 +2181,26 @@
|
|
|
2180
2181
|
<button class="btn btn-sm" data-reports-page="next" ${reportsPage.offset + reportsPage.limit >= total ? 'disabled' : ''}>Next</button>
|
|
2181
2182
|
</div>
|
|
2182
2183
|
</div>
|
|
2183
|
-
`
|
|
2184
|
+
`
|
|
2185
|
+
: ''
|
|
2184
2186
|
|
|
2185
|
-
const countLabel =
|
|
2186
|
-
|
|
2187
|
-
|
|
2187
|
+
const countLabel =
|
|
2188
|
+
total != null
|
|
2189
|
+
? `${total.toLocaleString()} report${total !== 1 ? 's' : ''}`
|
|
2190
|
+
: `${reports.length} result${reports.length !== 1 ? 's' : ''}`
|
|
2188
2191
|
|
|
2189
2192
|
const isOpen = document.getElementById('reports-status').value === 'open'
|
|
2190
2193
|
|
|
2191
2194
|
container.innerHTML = `
|
|
2192
2195
|
<div class="card">
|
|
2193
2196
|
<div class="result-count">${countLabel}</div>
|
|
2194
|
-
${reports
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2197
|
+
${reports
|
|
2198
|
+
.map((r) => {
|
|
2199
|
+
const reporterDisplay = r.reported_by_handle
|
|
2200
|
+
? `@${escapeHtml(r.reported_by_handle)}`
|
|
2201
|
+
: escapeHtml(r.reported_by)
|
|
2202
|
+
const date = new Date(r.created_at).toLocaleString()
|
|
2203
|
+
return `<div class="record-card">
|
|
2198
2204
|
<div class="record-header">
|
|
2199
2205
|
<div class="record-meta">
|
|
2200
2206
|
<div class="record-uri" title="${escapeHtml(r.subject_uri)}">${escapeHtml(r.subject_uri)}</div>
|
|
@@ -2205,25 +2211,36 @@
|
|
|
2205
2211
|
${r.reason ? `<div class="record-summary" style="margin-top:0.25rem">${escapeHtml(r.reason)}</div>` : ''}
|
|
2206
2212
|
${!isOpen ? `<div class="record-summary" style="margin-top:0.25rem;opacity:0.6">${escapeHtml(r.status)}${r.resolved_by ? ` by ${escapeHtml(r.resolved_by)}` : ''}</div>` : ''}
|
|
2207
2213
|
</div>
|
|
2208
|
-
${
|
|
2214
|
+
${
|
|
2215
|
+
isOpen
|
|
2216
|
+
? `<div class="record-actions">
|
|
2209
2217
|
<button class="btn btn-sm" data-action="resolve-report" data-id="${r.id}" data-resolve="resolve" style="background:var(--accent);color:white">Apply Label</button>
|
|
2210
2218
|
<button class="btn btn-sm" data-action="resolve-report" data-id="${r.id}" data-resolve="dismiss">Dismiss</button>
|
|
2211
|
-
</div>`
|
|
2219
|
+
</div>`
|
|
2220
|
+
: ''
|
|
2221
|
+
}
|
|
2212
2222
|
</div>
|
|
2213
2223
|
</div>`
|
|
2214
|
-
|
|
2224
|
+
})
|
|
2225
|
+
.join('')}
|
|
2215
2226
|
${paginationHtml}
|
|
2216
2227
|
</div>
|
|
2217
2228
|
`
|
|
2218
2229
|
|
|
2219
|
-
container.querySelectorAll('[data-reports-page="prev"]').forEach(b => {
|
|
2220
|
-
b.addEventListener('click', () => {
|
|
2230
|
+
container.querySelectorAll('[data-reports-page="prev"]').forEach((b) => {
|
|
2231
|
+
b.addEventListener('click', () => {
|
|
2232
|
+
reportsPage.offset = Math.max(0, reportsPage.offset - reportsPage.limit)
|
|
2233
|
+
loadReports()
|
|
2234
|
+
})
|
|
2221
2235
|
})
|
|
2222
|
-
container.querySelectorAll('[data-reports-page="next"]').forEach(b => {
|
|
2223
|
-
b.addEventListener('click', () => {
|
|
2236
|
+
container.querySelectorAll('[data-reports-page="next"]').forEach((b) => {
|
|
2237
|
+
b.addEventListener('click', () => {
|
|
2238
|
+
reportsPage.offset += reportsPage.limit
|
|
2239
|
+
loadReports()
|
|
2240
|
+
})
|
|
2224
2241
|
})
|
|
2225
2242
|
|
|
2226
|
-
container.querySelectorAll('[data-action="resolve-report"]').forEach(btn => {
|
|
2243
|
+
container.querySelectorAll('[data-action="resolve-report"]').forEach((btn) => {
|
|
2227
2244
|
btn.addEventListener('click', async () => {
|
|
2228
2245
|
const action = btn.dataset.resolve
|
|
2229
2246
|
try {
|