Preserve QPowerPoint hidden slides in PPTX
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { useRef, useState } from "react";
|
||||
import type { CSSProperties } from "react";
|
||||
import { Copy, Download, FileText, FileUp, Image as ImageIcon, Palette, Plus, Save, Trash2 } from "lucide-react";
|
||||
import { Copy, Download, EyeOff, FileText, FileUp, Image as ImageIcon, Palette, Plus, Save, Trash2 } from "lucide-react";
|
||||
import type { Slide, SlideDeck, SlideImage } from "../../types";
|
||||
import { downloadBlobFile, downloadTextFile } from "../../utils/download";
|
||||
import { exportPptxBlob, importPptxFile } from "../../io/powerPointOffice";
|
||||
@@ -315,11 +315,17 @@ export function QPowerPoint({ deck, onChange }: QPowerPointProps) {
|
||||
<button
|
||||
type="button"
|
||||
key={slide.id}
|
||||
className={`slide-thumb theme-${slide.theme} ${slide.id === activeSlide.id ? "is-active" : ""}`}
|
||||
className={`slide-thumb theme-${slide.theme} ${slide.id === activeSlide.id ? "is-active" : ""} ${slide.hidden ? "is-hidden" : ""}`}
|
||||
onClick={() => onChange({ ...deck, activeSlideId: slide.id })}
|
||||
>
|
||||
<span>{index + 1}</span>
|
||||
<strong>{slide.title}</strong>
|
||||
{slide.hidden ? (
|
||||
<span className="slide-hidden-badge">
|
||||
<EyeOff size={14} />
|
||||
Скрыт
|
||||
</span>
|
||||
) : null}
|
||||
</button>
|
||||
))}
|
||||
</aside>
|
||||
@@ -417,6 +423,18 @@ export function QPowerPoint({ deck, onChange }: QPowerPointProps) {
|
||||
<aside className="inspector" aria-label="Параметры слайда">
|
||||
<section>
|
||||
<h3>Оформление</h3>
|
||||
<label className="slide-hidden-toggle">
|
||||
<span>
|
||||
<EyeOff size={16} />
|
||||
Показ слайда
|
||||
</span>
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={Boolean(activeSlide.hidden)}
|
||||
onChange={(event) => updateSlide({ ...activeSlide, hidden: event.target.checked || undefined })}
|
||||
/>
|
||||
<span className="slide-hidden-toggle-text">Скрыть при показе слайд-шоу</span>
|
||||
</label>
|
||||
<label>
|
||||
<span>
|
||||
<Palette size={16} />
|
||||
|
||||
Reference in New Issue
Block a user