feat: Boton de descargar plantilla

This commit is contained in:
2026-07-20 15:07:06 -04:00
parent 85ffe635cd
commit e3980615b6
3 changed files with 202 additions and 183 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -5,7 +5,7 @@
<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>glm-card-generator</title> <title>glm-card-generator</title>
<script type="module" crossorigin src="/empleado-id/assets/index-hkdwba_S.js"></script> <script type="module" crossorigin src="/empleado-id/assets/index-CVcbyLxj.js"></script>
<link rel="stylesheet" crossorigin href="/empleado-id/assets/index-DZLLXZoS.css"> <link rel="stylesheet" crossorigin href="/empleado-id/assets/index-DZLLXZoS.css">
</head> </head>
<body> <body>
+21 -2
View File
@@ -415,7 +415,25 @@ export default function IdCardGenerator() {
)} )}
</div> </div>
<div className="upload-btn" style={{ background: '#475569', marginTop: '12px' }} onClick={() => excelInputRef.current.click()}> <div style={{ display: 'flex', flexDirection: 'column', gap: '8px', marginTop: '12px' }}>
<div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
<a
href="https://docs.google.com/spreadsheets/d/1F5DAvLL82bpW2pL_jdu4FgcAnjbzV3VwlRh89aS2Khc/export?format=xlsx"
target="_blank"
rel="noopener noreferrer"
className="upload-btn"
style={{ background: '#6CC24A', color: '#fff', textDecoration: 'none', padding: '8px 16px', fontSize: '13px' }}
>
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" style={{ marginRight: '6px', verticalAlign: 'middle' }}>
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<polyline points="7 10 12 15 17 10" />
<line x1="12" y1="15" x2="12" y2="3" />
</svg>
Descargar plantilla Excel
</a>
</div>
<div className="upload-btn" style={{ background: '#475569' }} onClick={() => excelInputRef.current.click()}>
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" /> <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" />
<polyline points="14 2 14 8 20 8" /> <polyline points="14 2 14 8 20 8" />
@@ -425,6 +443,7 @@ export default function IdCardGenerator() {
Seleccionar Archivo Excel Seleccionar Archivo Excel
</div> </div>
<input type="file" accept=".xlsx, .xls, .csv" style={{ display: 'none' }} ref={excelInputRef} onChange={handleExcelUpload} /> <input type="file" accept=".xlsx, .xls, .csv" style={{ display: 'none' }} ref={excelInputRef} onChange={handleExcelUpload} />
</div>
{bulkStatusText && ( {bulkStatusText && (
<div style={{ fontSize: '12px', marginTop: '8px', fontWeight: '500', color: '#475569' }}> <div style={{ fontSize: '12px', marginTop: '8px', fontWeight: '500', color: '#475569' }}>
@@ -573,4 +592,4 @@ export default function IdCardGenerator() {
</div> </div>
</> </>
); );
} }