Changes
Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
co-authored by
renee-png
parent
cd2cd06ce8
commit
34bb098ef1
@@ -544,9 +544,11 @@ export function CollectionDetail({
|
||||
].join(",")),
|
||||
].join("\n");
|
||||
const blob = new Blob([rows], { type: "text/csv" });
|
||||
const name = promptFilename(`Statement_${ho?.last_name || "homeowner"}`, "csv");
|
||||
if (!name) return;
|
||||
const a = document.createElement("a");
|
||||
a.href = URL.createObjectURL(blob);
|
||||
a.download = `Statement_${ho?.last_name || "homeowner"}.csv`;
|
||||
a.download = `${name}.csv`;
|
||||
a.click();
|
||||
};
|
||||
|
||||
|
||||
@@ -91,6 +91,7 @@ import {
|
||||
} from "docx";
|
||||
import { toast } from "sonner";
|
||||
import { supabase } from "@/integrations/supabase/client";
|
||||
import { promptFilename } from "@/lib/prompt-filename";
|
||||
|
||||
// Paragraph extension with indent (px) + caption flag, persisted as inline styles
|
||||
const PaddedParagraph = Paragraph.extend({
|
||||
@@ -1026,19 +1027,21 @@ export function CustomFormBuilder() {
|
||||
y += seg.caption ? 2 : 4;
|
||||
}
|
||||
|
||||
const filenameBase = (renderTitle(ctx) || "Custom_Form").replace(/\s+/g, "_");
|
||||
const defaultName = (renderTitle(ctx) || "Custom_Form").replace(/\s+/g, "_");
|
||||
if (saveToCase && selectedCaseId) {
|
||||
const blob = doc.output("blob");
|
||||
await savePdfToDocuments({
|
||||
blob,
|
||||
caseId: selectedCaseId,
|
||||
name: `${filenameBase}.pdf`,
|
||||
name: `${defaultName}.pdf`,
|
||||
mimeType: "application/pdf",
|
||||
});
|
||||
toast.success("Saved to case files");
|
||||
setSaveToCaseOpen(false);
|
||||
} else {
|
||||
doc.save(`${filenameBase}.pdf`);
|
||||
const name = promptFilename(defaultName, "pdf");
|
||||
if (!name) return;
|
||||
doc.save(`${name}.pdf`);
|
||||
toast.success("PDF downloaded");
|
||||
}
|
||||
};
|
||||
@@ -1236,22 +1239,24 @@ export function CustomFormBuilder() {
|
||||
});
|
||||
|
||||
const blob = await Packer.toBlob(docx);
|
||||
const filenameBase = (renderTitle(ctx) || "Custom_Form").replace(/\s+/g, "_");
|
||||
const defaultName = (renderTitle(ctx) || "Custom_Form").replace(/\s+/g, "_");
|
||||
|
||||
if (saveToCase && selectedCaseId) {
|
||||
await savePdfToDocuments({
|
||||
blob,
|
||||
caseId: selectedCaseId,
|
||||
name: `${filenameBase}.docx`,
|
||||
name: `${defaultName}.docx`,
|
||||
mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
});
|
||||
toast.success("Saved to case files");
|
||||
setSaveToCaseOpen(false);
|
||||
} else {
|
||||
const name = promptFilename(defaultName, "docx");
|
||||
if (!name) return;
|
||||
const url = URL.createObjectURL(blob);
|
||||
const a = document.createElement("a");
|
||||
a.href = url;
|
||||
a.download = `${filenameBase}.docx`;
|
||||
a.download = `${name}.docx`;
|
||||
a.click();
|
||||
URL.revokeObjectURL(url);
|
||||
toast.success("DOCX downloaded");
|
||||
|
||||
@@ -22,6 +22,7 @@ import { useAuth } from "@/lib/auth";
|
||||
import { toast } from "sonner";
|
||||
import { Download, FileText, Save, Loader2, Plus, Trash2, PenLine, Users, Variable, Copy } from "lucide-react";
|
||||
import { applyVars, buildChips, buildVarMap, loadPleadingContext, type LoadedContext, type VarChip } from "@/lib/pleading-variables";
|
||||
import { promptFilename } from "@/lib/prompt-filename";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
|
||||
export const Route = createFileRoute("/documents/pleading/new")({
|
||||
@@ -244,11 +245,15 @@ function PleadingNewPage() {
|
||||
const headerLine2 = `IN AND FOR ${county.toUpperCase()} COUNTY, FLORIDA`;
|
||||
|
||||
const onDownload = async () => {
|
||||
await downloadPleading(input, docName || "Pleading");
|
||||
const name = promptFilename(docName || "Pleading", "docx");
|
||||
if (!name) return;
|
||||
await downloadPleading(input, name);
|
||||
};
|
||||
|
||||
const onDownloadPdf = async () => {
|
||||
await downloadPleadingPdf(input, docName || "Pleading");
|
||||
const name = promptFilename(docName || "Pleading", "pdf");
|
||||
if (!name) return;
|
||||
await downloadPleadingPdf(input, name);
|
||||
};
|
||||
|
||||
const onSave = async () => {
|
||||
|
||||
@@ -12,6 +12,7 @@ import { useAuth } from "@/lib/auth";
|
||||
import { toast } from "sonner";
|
||||
import { Download, Loader2, Save, Trash2 } from "lucide-react";
|
||||
import { downloadGeneric } from "@/lib/docx-pleading";
|
||||
import { promptFilename } from "@/lib/prompt-filename";
|
||||
import { Packer } from "docx";
|
||||
|
||||
export const Route = createFileRoute("/documents/templates/$templateId")({
|
||||
@@ -120,9 +121,11 @@ function TemplateDetailPage() {
|
||||
const fontSizePt: number = tpl?.font_size_pt || 12;
|
||||
|
||||
const downloadOnly = async () => {
|
||||
const name = promptFilename(docName || "Document", "docx");
|
||||
if (!name) return;
|
||||
await downloadGeneric(
|
||||
{ title: isLetter ? undefined : docName, body: merged, fontFamily, fontSizePt },
|
||||
docName || "Document",
|
||||
name,
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user