Skip to content

Commit

Permalink
feat: copy only indented answer text if exists (#82)
Browse files Browse the repository at this point in the history
* feat: copy only indented answer text if exists

* feat: update system prompt for consistent blockquote
  • Loading branch information
aeschi authored Oct 2, 2024
1 parent e740a73 commit 51fede3
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 5 deletions.
22 changes: 21 additions & 1 deletion src/components/buttons/copy-to-clipboard-button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,33 @@ interface CopyToClipboardButtonProps {
generatedAnswer: string;
}

/**
* check if the text has indented sections - return original text if not
* otherwise only copy the indented sections
*/
const checkForIndentedText = (text: string) => {
if (!text.includes("> ")) {
return text;
}

const lines = text.split("\n");

const indentedLines = lines.filter((line) => line.startsWith("> "));
const cleanedIndentedLines = indentedLines.map((line) =>
line.replace("> ", "").replace(/\*\*/g, ""),
);

return cleanedIndentedLines.join("\n");
};

export const CopyToClipboardButton: React.FC<CopyToClipboardButtonProps> = ({
generatedAnswer,
}) => {
const [isCopiedToClipboard, setIsCopiedToClipboard] = useState(false);

const copyToClipboard = async () => {
await navigator.clipboard.writeText(generatedAnswer);
const filteredText = checkForIndentedText(generatedAnswer);
await navigator.clipboard.writeText(filteredText);
setIsCopiedToClipboard(true);
};

Expand Down
2 changes: 1 addition & 1 deletion src/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
}

.markdown-container blockquote {
@apply w-[90%] ml-10 my-10;
@apply w-[90%] ml-5 my-5 py-5 pl-5 bg-ber-lighter-grey;
}

.markdown-container hr {
Expand Down
9 changes: 6 additions & 3 deletions src/system-prompts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,12 @@ Sobald der Benutzer seine Bearbeitungswünsche geäußert hat, gehe wie folgt vo
- **Ein Wort suchen:** Hilf dem Benutzer, bestimmte Wörter oder Ausdrücke im Text zu finden oder zu ersetzen.
- **Einfache Sprache:** Vereinfache den Text für eine leichtere Verständlichkeit.
- Gebe den Entwurf IMMER als Markdown-Blockquote zurück.
- Beziehe dich dabei immer auf den zuletzt generierten Text und leite kurz den generierten Text ein.
Beispiel: "Hier ist der zusammengefasste Text:
- **Gebe den bearbeiteten Text IMMER und ausnahmslos in einer Markdown-Blockquote zurück.** Dies gilt unabhängig von der Art der Bearbeitung.
- Beginne immer mit einer kurzen Einleitung und stelle den bearbeiteten Text in einer Markdown-Blockquote dar.
Beispiel:
Hier ist der zusammengefasste Text:
> Der Hauptinhalt des Textes lautet...
Frage nach weiteren Wünschen, wenn nötig.
Expand Down

0 comments on commit 51fede3

Please sign in to comment.