feat: add fallback routes and repository event enrichment

This commit is contained in:
RhenCloud 2026-08-02 23:23:07 +08:00
parent 44b8fead78
commit d419b9c940
No known key found for this signature in database
GPG key ID: A574A617378C4E0B
11 changed files with 104 additions and 8 deletions

View file

@ -9,6 +9,7 @@
<span class="route-name">{{ route.name || t("route.untitled") }}</span>
<span class="route-id">{{ route.id }}</span>
<span v-if="route.lang" class="badge lang">{{ route.lang }}</span>
<span v-if="route.fallback" class="badge fallback">{{ t("route.fallback") }}</span>
</div>
<div class="card-actions">
<button class="icon-btn" :title="t('routeEditor.editTitle')" @click="$emit('edit', route)"></button>

View file

@ -30,6 +30,10 @@
<input v-model="form.enabled" type="checkbox" />
<span>{{ t("routeEditor.enabled") }}</span>
</div>
<div class="field inline">
<input v-model="form.fallback" type="checkbox" />
<span>{{ t("routeEditor.fallback") }} <span class="lbl-note">{{ t("routeEditor.fallbackHint") }}</span></span>
</div>
<div class="field">
<label>{{ t("routeEditor.filters") }} <span class="lbl-note">{{ t("routeEditor.filtersNote") }}</span></label>
<div v-for="(f, i) in form.filters" :key="i" class="filter-row">
@ -91,6 +95,7 @@ const form = reactive({
name: "",
lang: "",
enabled: true,
fallback: false,
channelId: "",
threadId: "",
filters: [] as FilterForm[],
@ -123,6 +128,7 @@ watch(
form.name = r?.name ?? "";
form.lang = r?.lang ?? "";
form.enabled = r?.enabled ?? true;
form.fallback = r?.fallback ?? false;
form.channelId = r?.target.channelId ?? "";
form.threadId = r?.target.threadId ?? "";
form.filters = (r && r.filters.length
@ -158,6 +164,7 @@ function collect(): Route | null {
id: form.id.trim(),
name: form.name.trim(),
enabled: form.enabled,
fallback: form.fallback || undefined,
lang: form.lang.trim() || undefined,
filters,
target: {