Implement note rules
So we may specify regex rules to map to notes
This commit is contained in:
@@ -8,7 +8,7 @@ import { Header } from "@/components/Header";
|
||||
import { parseSignature, parseScannedPercentage } from "@/utils/signatureParser";
|
||||
import { getSystemId } from "@/utils/systemApi";
|
||||
import pb from "@/lib/pocketbase";
|
||||
import { SigviewRecord as Signature, SignatureRecord } from "@/lib/pbtypes";
|
||||
import { SigviewRecord as Signature, SignatureRecord, SignatureNoteRulesResponse, Collections } from "@/lib/pbtypes";
|
||||
|
||||
export const SystemView = () => {
|
||||
const { system, region } = useParams();
|
||||
@@ -163,12 +163,17 @@ export const SystemView = () => {
|
||||
|
||||
try {
|
||||
const systemId = await getSystemId(system);
|
||||
let rules: Array<Pick<SignatureNoteRulesResponse, 'regex' | 'note' | 'enabled'>> = [];
|
||||
try {
|
||||
const list = await pb.collection(Collections.SignatureNoteRules).getFullList<SignatureNoteRulesResponse>({ batch: 1000 });
|
||||
rules = list.filter(r => r.enabled).map(r => ({ regex: r.regex, note: r.note, enabled: r.enabled }));
|
||||
} catch { }
|
||||
const lines = pastedText.trim().split('\n').filter(line => line.trim());
|
||||
const parsedSignatures: Omit<Signature, 'id'>[] = [];
|
||||
|
||||
// Parse all signatures
|
||||
for (const line of lines) {
|
||||
const parsed = parseSignature(line);
|
||||
const parsed = parseSignature(line, rules);
|
||||
if (parsed) {
|
||||
parsedSignatures.push({
|
||||
...parsed,
|
||||
|
||||
Reference in New Issue
Block a user