mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-07-14 10:34:06 +02:00
UI ux/add ai warning and change style (#6633)
<img width="394" height="426" alt="Screenshot 2026-06-11 at 11 39 50 PM" src="https://github.com/user-attachments/assets/15805931-73fd-416b-841b-99a556468433" /> bottom text input is sticky even when shrunk down
This commit is contained in:
@@ -2730,8 +2730,6 @@ mergeMany = "Merge these {{count}} documents into 1"
|
||||
moreFiles = "+{{count}} more"
|
||||
openFromComputer = "Open from computer"
|
||||
removeFile = "Remove {{name}}"
|
||||
rotateMany = "Rotate these documents"
|
||||
rotateOne = "Rotate this document"
|
||||
splitOne = "Split this document"
|
||||
|
||||
[chat.responses]
|
||||
@@ -5861,10 +5859,6 @@ subscribeToPro = "Subscribe to Pro"
|
||||
deleteConfirmBody = "This removes the policy and its workflow. Documents already processed are not affected."
|
||||
deleteConfirmTitle = "Delete {{label}} policy?"
|
||||
|
||||
[policies]
|
||||
deleteConfirmBody = "This removes the policy and its workflow. Documents already processed are not affected."
|
||||
deleteConfirmTitle = "Delete {{label}} policy?"
|
||||
|
||||
[policies.catalog]
|
||||
compliance = "Compliance"
|
||||
ingestion = "Ingestion"
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
.chat-panel {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* Clip + allow shrink so tall welcome content squeezes the scrollable
|
||||
quick-actions block instead of pushing the composer off-screen. */
|
||||
overflow: hidden;
|
||||
min-height: 0;
|
||||
/* Match the right-rail toolbar background so dark-mode doesn't show a
|
||||
lighter card behind the chat, and so the agent-card → pill morph
|
||||
doesn't flash a different colour mid-transition. */
|
||||
@@ -183,7 +187,12 @@
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
padding: 0.75rem 0.75rem 0.25rem;
|
||||
flex-shrink: 0;
|
||||
/* When the panel is short, this block (file pills + actions) shrinks and
|
||||
scrolls internally instead of pushing the composer off-screen — the input
|
||||
must always stay pinned and visible at the bottom. */
|
||||
flex-shrink: 1;
|
||||
min-height: 0;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.chat-panel__quick-actions-label {
|
||||
|
||||
@@ -8,7 +8,6 @@ import InsertDriveFileIcon from "@mui/icons-material/InsertDriveFileOutlined";
|
||||
import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
|
||||
import LayersIcon from "@mui/icons-material/Layers";
|
||||
import PictureAsPdfIcon from "@mui/icons-material/PictureAsPdf";
|
||||
import RotateRightIcon from "@mui/icons-material/RotateRight";
|
||||
import UploadFileIcon from "@mui/icons-material/UploadFile";
|
||||
import { useAllFiles, useFileActions } from "@app/contexts/FileContext";
|
||||
import { useFilesModalContext } from "@app/contexts/FilesModalContext";
|
||||
@@ -205,22 +204,12 @@ export function ChatQuickActions({ heading, onAction }: ChatQuickActionsProps) {
|
||||
"chat.quickActions.compressOne",
|
||||
"Compress this document",
|
||||
);
|
||||
const rotateText = t(
|
||||
"chat.quickActions.rotateOne",
|
||||
"Rotate this document",
|
||||
);
|
||||
result.push({
|
||||
key: "compress",
|
||||
icon: <CompressIcon sx={{ fontSize: 18 }} />,
|
||||
title: compressText,
|
||||
onClick: send(compressText),
|
||||
});
|
||||
result.push({
|
||||
key: "rotate",
|
||||
icon: <RotateRightIcon sx={{ fontSize: 18 }} />,
|
||||
title: rotateText,
|
||||
onClick: send(rotateText),
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -246,10 +235,6 @@ export function ChatQuickActions({ heading, onAction }: ChatQuickActionsProps) {
|
||||
"chat.quickActions.compressMany",
|
||||
"Compress these documents",
|
||||
);
|
||||
const rotateText = t(
|
||||
"chat.quickActions.rotateMany",
|
||||
"Rotate these documents",
|
||||
);
|
||||
result.push({
|
||||
key: "merge",
|
||||
icon: <LayersIcon sx={{ fontSize: 18 }} />,
|
||||
@@ -262,12 +247,6 @@ export function ChatQuickActions({ heading, onAction }: ChatQuickActionsProps) {
|
||||
title: compressText,
|
||||
onClick: send(compressText),
|
||||
});
|
||||
result.push({
|
||||
key: "rotate",
|
||||
icon: <RotateRightIcon sx={{ fontSize: 18 }} />,
|
||||
title: rotateText,
|
||||
onClick: send(rotateText),
|
||||
});
|
||||
return result;
|
||||
}, [summary, t, onAction, openFilesModal]);
|
||||
|
||||
|
||||
@@ -130,7 +130,10 @@ export function PoliciesSection({
|
||||
<button
|
||||
type="button"
|
||||
className="pol-info-btn"
|
||||
aria-label={t("policies.sidebar.infoAriaLabel", "What is a policy?")}
|
||||
aria-label={t(
|
||||
"policies.sidebar.infoAriaLabel",
|
||||
"What is a policy?",
|
||||
)}
|
||||
>
|
||||
<LocalIcon
|
||||
icon="info-outline-rounded"
|
||||
|
||||
@@ -694,9 +694,7 @@ export function PolicySetupWizard({
|
||||
|
||||
<div className="pol-footer">
|
||||
<Button variant="ghost" size="sm" onClick={back}>
|
||||
{step > 1
|
||||
? t("policies.wizard.back", "Back")
|
||||
: t("cancel", "Cancel")}
|
||||
{step > 1 ? t("policies.wizard.back", "Back") : t("cancel", "Cancel")}
|
||||
</Button>
|
||||
{step < TOTAL_STEPS ? (
|
||||
<Button
|
||||
|
||||
@@ -108,9 +108,13 @@ export function PolicyToolConfig({
|
||||
checked={tool.enabled}
|
||||
disabled={!editable}
|
||||
onChange={(checked) => patchTool(index, { enabled: checked })}
|
||||
aria-label={t("policies.toolConfig.enableAriaLabel", "Enable {{tool}}", {
|
||||
tool: toolName,
|
||||
})}
|
||||
aria-label={t(
|
||||
"policies.toolConfig.enableAriaLabel",
|
||||
"Enable {{tool}}",
|
||||
{
|
||||
tool: toolName,
|
||||
},
|
||||
)}
|
||||
/>
|
||||
</div>
|
||||
{tool.enabled &&
|
||||
|
||||
Reference in New Issue
Block a user