feat: daily timeline advanced UI and calendar integration

This commit is contained in:
2026-06-03 04:08:13 -05:00
parent e944594e06
commit ad8622e243
34 changed files with 2088 additions and 788 deletions
+3 -3
View File
@@ -1,5 +1,5 @@
import React from 'react';
import { Download, Loader2, CheckCircle2, XCircle, Clock, Trash2, X } from 'lucide-react';
import { Download, Loader2, CheckCircle2, XCircle, Clock, Trash2, X, FolderOpen } from 'lucide-react';
import type { RenderJobClient } from '../../hooks/useExportQueue';
interface ExportJobItemProps {
@@ -49,10 +49,10 @@ export const ExportJobItem: React.FC<ExportJobItemProps> = ({ job, onCancel, onD
{job.status === 'done' && (
<button
onClick={() => onDownload(job)}
title="Descargar"
title="Abrir en carpeta"
className="p-1 rounded-md bg-emerald-500/20 text-emerald-400 hover:bg-emerald-500/30 transition-colors"
>
<Download size={12} />
<FolderOpen size={12} />
</button>
)}
{(job.status === 'queued' || job.status === 'rendering') && (
+3
View File
@@ -16,6 +16,7 @@ interface ExportModalProps {
brandVisibility?: { logo: boolean; frame: boolean; background: boolean };
outputFormat?: 'video' | 'image';
aspectRatio?: string;
brandId?: string;
onAssetSaved?: (url: string) => void;
}
@@ -54,6 +55,7 @@ export const ExportModal: React.FC<ExportModalProps> = ({
brandVisibility,
outputFormat,
aspectRatio,
brandId,
onAssetSaved,
}) => {
const { jobs, activeJobs, hasActiveJobs, isConnected, startExport, cancelJob, downloadJob } = useExportQueue();
@@ -162,6 +164,7 @@ export const ExportModal: React.FC<ExportModalProps> = ({
layers,
brandVisibility,
outputFormat,
brandId,
};
const job = await startExport(config, {
+2 -2
View File
@@ -1,6 +1,6 @@
import React, { useState } from 'react';
import { useExportQueue } from '../../context/ExportQueueContext';
import { Loader2, Download, Film, Image as ImageIcon, X, Zap } from 'lucide-react';
import { Loader2, Download, Film, Image as ImageIcon, X, Zap, FolderOpen } from 'lucide-react';
export const GlobalExportWidget: React.FC = () => {
const { jobs, activeJobs, hasActiveJobs, downloadJob, cancelJob } = useExportQueue();
@@ -77,7 +77,7 @@ export const GlobalExportWidget: React.FC = () => {
onClick={() => downloadJob(job)}
className="flex items-center gap-1 text-[10px] bg-violet-600 hover:bg-violet-500 text-white px-2 py-1 rounded transition-colors"
>
<Download size={12} /> Descargar
<FolderOpen size={12} /> Abrir
</button>
</div>
)}