handleDragStart(e, index)}
- onDragOver={(e) => handleDragOver(e, index)}
- onDrop={(e) => handleDrop(e, index)}
- onDragEnd={handleDragEnd}
- className={`flex items-start gap-3 p-3 rounded-md border transition-colors ${
- dragOverIndex === index
- ? "border-primary bg-primary/5"
- : "border-border hover:bg-muted/50"
- } ${!rule.enabled ? "opacity-60" : ""}`}
- >
+ {rules.map((rule, index) => {
+ const readonly = isReadonlyRule(rule);
+
+ if (readonly) {
+ const label = rule.originLabel || t("origin_external");
+ const tooltip = t("managed_by_tooltip", { source: label });
+ const hasStructuredSummary =
+ rule.origin === "external" &&
+ rule.conditions.length > 0 &&
+ rule.actions.length > 0;
+ return (
+
+
+
+
+
+
+
+
+ {rule.name}
+
+
+ {label}
+
+
+ {hasStructuredSummary ? (
+ expandedFilterView ? (
+
+ ) : (
+
+ )
+ ) : rule.rawBlock ? (
+
+ {rule.rawBlock.trim()}
+
+ ) : null}
+
+
+ );
+ }
+
+ return (
handleDragStart(e, index)}
+ onDragOver={(e) => handleDragOver(e, index)}
+ onDrop={(e) => handleDrop(e, index)}
+ onDragEnd={handleDragEnd}
+ className={`flex items-start gap-3 p-3 rounded-md border transition-colors ${
+ dragOverIndex === index
+ ? "border-primary bg-primary/5"
+ : "border-border hover:bg-muted/50"
+ } ${!rule.enabled ? "opacity-60" : ""}`}
>
-
-
+
+
+
-
- handleToggle(rule.id)}
- />
-
+
+ handleToggle(rule.id)}
+ />
+
-
{
- setEditingRule(rule);
- setShowRuleModal(true);
- }}
- role="button"
- tabIndex={0}
- onKeyDown={(e) => {
- if (e.key === "Enter" || e.key === " ") {
- e.preventDefault();
+
{
setEditingRule(rule);
setShowRuleModal(true);
- }
- }}
- >
-
- {rule.name}
-
- {expandedFilterView ? (
-
+ }}
+ role="button"
+ tabIndex={0}
+ onKeyDown={(e) => {
+ if (e.key === "Enter" || e.key === " ") {
+ e.preventDefault();
+ setEditingRule(rule);
+ setShowRuleModal(true);
+ }
+ }}
+ >
+
+ {rule.name}
+
+ {expandedFilterView ? (
+
+ ) : (
+
+ )}
+
+
+ {deleteConfirmId === rule.id ? (
+
+
+
+
) : (
-
+
)}
-
- {deleteConfirmId === rule.id ? (
-
-
-
-
- ) : (
-
- )}
-