Add per-action AI privacy mode
This commit is contained in:
@@ -524,6 +524,57 @@ textarea {
|
||||
background: #eef1f4;
|
||||
}
|
||||
|
||||
.ai-progress {
|
||||
display: grid;
|
||||
gap: 7px;
|
||||
border: 1px solid #9db7d8;
|
||||
border-radius: 7px;
|
||||
background: #f4f9ff;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.ai-progress-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.ai-progress-head strong {
|
||||
color: #174a83;
|
||||
}
|
||||
|
||||
.ai-progress-head span,
|
||||
.ai-progress-meta {
|
||||
color: var(--muted);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.ai-progress-track {
|
||||
height: 9px;
|
||||
overflow: hidden;
|
||||
border-radius: 999px;
|
||||
background: #dbe6f3;
|
||||
}
|
||||
|
||||
.ai-progress-track span {
|
||||
display: block;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
border-radius: inherit;
|
||||
background: #2474bd;
|
||||
transition: width .2s ease;
|
||||
}
|
||||
|
||||
.ai-progress button {
|
||||
min-height: 30px;
|
||||
border: 1px solid #9f6d20;
|
||||
border-radius: 6px;
|
||||
background: #fff4df;
|
||||
color: #744500;
|
||||
}
|
||||
|
||||
#pdfSubtitle {
|
||||
display: block;
|
||||
margin-top: 3px;
|
||||
@@ -707,6 +758,13 @@ textarea {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.target-chips.is-ai-target button,
|
||||
.target-chips.is-ai-target span {
|
||||
border-color: #9bbff0;
|
||||
background: #f3f8ff;
|
||||
color: #1f5f9e;
|
||||
}
|
||||
|
||||
.target-summary ul {
|
||||
margin: 0;
|
||||
padding: 0 10px 10px 28px;
|
||||
@@ -715,6 +773,10 @@ textarea {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.target-summary ul.ai-note-list {
|
||||
color: #1f5f9e;
|
||||
}
|
||||
|
||||
#saveBtn,
|
||||
.login-panel button,
|
||||
.session-box button,
|
||||
@@ -830,6 +892,14 @@ textarea {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.field.is-ai-modified > span em {
|
||||
color: #1769c2;
|
||||
}
|
||||
|
||||
.field.is-manual-modified > span em {
|
||||
color: var(--ok);
|
||||
}
|
||||
|
||||
.field.is-alert input,
|
||||
.field.is-alert select,
|
||||
.field.is-alert textarea,
|
||||
@@ -838,6 +908,34 @@ textarea {
|
||||
background: var(--focus-bg);
|
||||
}
|
||||
|
||||
.field.is-ai-modified input,
|
||||
.field.is-ai-modified select,
|
||||
.field.is-ai-modified textarea,
|
||||
.field.is-ai-modified .json-editor {
|
||||
border-color: #78aee8;
|
||||
background: #f2f8ff;
|
||||
}
|
||||
|
||||
.field.is-manual-modified input,
|
||||
.field.is-manual-modified select,
|
||||
.field.is-manual-modified textarea,
|
||||
.field.is-manual-modified .json-editor {
|
||||
border-color: #8bc8a8;
|
||||
background: #f2fbf6;
|
||||
}
|
||||
|
||||
.json-table td.is-ai-cell input {
|
||||
border-color: #5d9ee7;
|
||||
background: #edf6ff;
|
||||
box-shadow: inset 3px 0 0 #2d7ecb;
|
||||
}
|
||||
|
||||
.json-table td.is-manual-cell input {
|
||||
border-color: #6fbd91;
|
||||
background: #effaf4;
|
||||
box-shadow: inset 3px 0 0 #2b9a57;
|
||||
}
|
||||
|
||||
.json-editor {
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 7px;
|
||||
@@ -899,6 +997,106 @@ textarea {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.data-table tr.log-ai td {
|
||||
background: #f3f8ff;
|
||||
}
|
||||
|
||||
.data-table tr.log-manual td {
|
||||
background: #f3fbf6;
|
||||
}
|
||||
|
||||
.ai-question-item {
|
||||
border-top: 1px solid var(--line);
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.ai-question-item summary {
|
||||
cursor: pointer;
|
||||
display: grid;
|
||||
grid-template-columns: 140px 110px minmax(0, 1fr);
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
min-height: 34px;
|
||||
padding: 7px 10px;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
.ai-question-item summary strong {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.ai-question-item summary em {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.ai-question-body {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
padding: 8px 10px 10px;
|
||||
border-top: 1px solid var(--line);
|
||||
background: #fbfdff;
|
||||
}
|
||||
|
||||
.ai-question-body p {
|
||||
margin: 3px 0 0;
|
||||
}
|
||||
|
||||
.ai-question-body pre {
|
||||
max-height: 220px;
|
||||
overflow: auto;
|
||||
margin: 4px 0 0;
|
||||
padding: 8px;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.ai-question-images {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
gap: 8px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.ai-question-figure {
|
||||
min-width: 0;
|
||||
margin: 0;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 6px;
|
||||
background: #fff;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ai-question-image-frame {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
min-height: 120px;
|
||||
max-height: 320px;
|
||||
overflow: auto;
|
||||
background: #252525;
|
||||
}
|
||||
|
||||
.ai-question-image-frame img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ai-question-figure figcaption {
|
||||
padding: 6px 8px;
|
||||
color: var(--muted);
|
||||
font-size: 12px;
|
||||
border-top: 1px solid var(--line);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.json-table input {
|
||||
min-width: 120px;
|
||||
border-color: #c8d0d8;
|
||||
@@ -929,6 +1127,9 @@ textarea {
|
||||
.review-log-panel {
|
||||
max-height: 230px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.review-log-panel.collapsible-panel {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@@ -1025,6 +1226,29 @@ textarea {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.settings-ai {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.ai-section-head {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.ai-title-row {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.ai-enable-toggle {
|
||||
min-height: 28px;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 6px;
|
||||
padding: 3px 8px;
|
||||
background: #f8fafb;
|
||||
}
|
||||
|
||||
.settings-form {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(360px, 2fr) auto;
|
||||
@@ -1040,7 +1264,91 @@ textarea {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.status-check-form input {
|
||||
.ai-settings-form {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(170px, 1fr) minmax(260px, 1.4fr) 82px auto auto;
|
||||
gap: 10px;
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
.ai-settings-form > label:not(.toggle-field) {
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.ai-settings-form > label > span {
|
||||
color: var(--muted);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.ai-action-table {
|
||||
margin-top: 10px;
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 8px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.ai-action-table table {
|
||||
width: 100%;
|
||||
min-width: 760px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.ai-action-table th,
|
||||
.ai-action-table td {
|
||||
border-bottom: 1px solid var(--line);
|
||||
padding: 8px 10px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.ai-action-table th {
|
||||
color: var(--muted);
|
||||
font-size: 12px;
|
||||
background: #f7fafc;
|
||||
}
|
||||
|
||||
.ai-action-table tr:last-child td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.ai-action-table select {
|
||||
min-height: 32px;
|
||||
}
|
||||
|
||||
.ai-privacy-toggle {
|
||||
min-height: 32px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ai-privacy-toggle input {
|
||||
width: auto;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.ai-privacy-note {
|
||||
margin-top: 8px;
|
||||
border: 1px solid #b6dec9;
|
||||
border-radius: 6px;
|
||||
padding: 8px 10px;
|
||||
color: var(--ok);
|
||||
background: var(--ok-bg);
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.ai-privacy-note.is-warning {
|
||||
border-color: #e9c26f;
|
||||
color: var(--warn);
|
||||
background: var(--warn-bg);
|
||||
}
|
||||
|
||||
.status-check-form input,
|
||||
.status-check-form select,
|
||||
.ai-settings-form input,
|
||||
.ai-settings-form select {
|
||||
min-height: 34px;
|
||||
}
|
||||
|
||||
@@ -1174,7 +1482,8 @@ textarea {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.status-check-form {
|
||||
.status-check-form,
|
||||
.ai-settings-form {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user