fix: ferme les votes sur les versions obsolètes dans PDF/Print
This commit is contained in:
@@ -46,7 +46,7 @@ const renderMarkdownToHtml = async content => {
|
||||
}
|
||||
}
|
||||
|
||||
export default function ExportPdfButton({versionData, size = 'medium', variant = 'outlined'}) {
|
||||
export default function ExportPdfButton({versionData, isOutdated = false, size = 'medium', variant = 'outlined'}) {
|
||||
const [isExporting, setIsExporting] = useState(false)
|
||||
|
||||
const handleExportPdf = async () => {
|
||||
@@ -86,55 +86,55 @@ export default function ExportPdfButton({versionData, size = 'medium', variant =
|
||||
.pdf-content p { margin: 10px 0; }
|
||||
.pdf-content strong, .pdf-content b { font-weight: bold; }
|
||||
.pdf-content em, .pdf-content i { font-style: italic; }
|
||||
.pdf-content ul, .pdf-content ol {
|
||||
margin: 10px 0;
|
||||
padding-left: 25px;
|
||||
.pdf-content ul, .pdf-content ol {
|
||||
margin: 10px 0;
|
||||
padding-left: 25px;
|
||||
}
|
||||
.pdf-content li { margin: 5px 0; }
|
||||
.pdf-content blockquote {
|
||||
margin: 15px 0;
|
||||
padding: 10px 20px;
|
||||
border-left: 4px solid #1976d2;
|
||||
background-color: #f5f5f5;
|
||||
font-style: italic;
|
||||
.pdf-content blockquote {
|
||||
margin: 15px 0;
|
||||
padding: 10px 20px;
|
||||
border-left: 4px solid #1976d2;
|
||||
background-color: #f5f5f5;
|
||||
font-style: italic;
|
||||
}
|
||||
.pdf-content code {
|
||||
background-color: #f5f5f5;
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
font-family: 'Courier New', monospace;
|
||||
font-size: 13px;
|
||||
.pdf-content code {
|
||||
background-color: #f5f5f5;
|
||||
padding: 2px 4px;
|
||||
border-radius: 3px;
|
||||
font-family: 'Courier New', monospace;
|
||||
font-size: 13px;
|
||||
}
|
||||
.pdf-content pre {
|
||||
background-color: #f5f5f5;
|
||||
padding: 15px;
|
||||
border-radius: 5px;
|
||||
overflow-x: auto;
|
||||
margin: 15px 0;
|
||||
.pdf-content pre {
|
||||
background-color: #f5f5f5;
|
||||
padding: 15px;
|
||||
border-radius: 5px;
|
||||
overflow-x: auto;
|
||||
margin: 15px 0;
|
||||
}
|
||||
.pdf-content pre code {
|
||||
background: none;
|
||||
padding: 0;
|
||||
.pdf-content pre code {
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
.pdf-content a { color: #1976d2; text-decoration: underline; }
|
||||
.pdf-content hr {
|
||||
border: none;
|
||||
border-top: 1px solid #ccc;
|
||||
margin: 20px 0;
|
||||
.pdf-content hr {
|
||||
border: none;
|
||||
border-top: 1px solid #ccc;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.pdf-content table {
|
||||
border-collapse: collapse;
|
||||
margin: 15px 0;
|
||||
width: 100%;
|
||||
.pdf-content table {
|
||||
border-collapse: collapse;
|
||||
margin: 15px 0;
|
||||
width: 100%;
|
||||
}
|
||||
.pdf-content th, .pdf-content td {
|
||||
border: 1px solid #ccc;
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
.pdf-content th, .pdf-content td {
|
||||
border: 1px solid #ccc;
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
}
|
||||
.pdf-content th {
|
||||
background-color: #f5f5f5;
|
||||
font-weight: bold;
|
||||
.pdf-content th {
|
||||
background-color: #f5f5f5;
|
||||
font-weight: bold;
|
||||
}
|
||||
`
|
||||
document.head.append(styleElement)
|
||||
@@ -142,7 +142,8 @@ export default function ExportPdfButton({versionData, size = 'medium', variant =
|
||||
const authorName = versionData.user_created?.split('-')[0] || 'Système'
|
||||
const createdAt = new Date(versionData.date_created)
|
||||
const threeDaysAgo = new Date(Date.now() - (3 * 24 * 60 * 60 * 1000))
|
||||
const voteStatus = createdAt < threeDaysAgo ? 'fermé' : 'ouvert'
|
||||
const isExpired = createdAt < threeDaysAgo
|
||||
const voteStatus = (isExpired || isOutdated) ? 'fermé' : 'ouvert'
|
||||
const voteColor = voteStatus === 'ouvert' ? '#2e7d32' : '#d32f2f'
|
||||
|
||||
// Render markdown content to HTML
|
||||
@@ -251,6 +252,7 @@ export default function ExportPdfButton({versionData, size = 'medium', variant =
|
||||
|
||||
ExportPdfButton.propTypes = {
|
||||
versionData: PropTypes.object.isRequired,
|
||||
isOutdated: PropTypes.bool,
|
||||
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
||||
variant: PropTypes.oneOf(['text', 'outlined', 'contained'])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user