Merge pull request #314 from jonathanhefner/patterns-doc
Add Patterns guide doc
This commit is contained in:
commit
e719be3cd7
2 changed files with 643 additions and 85 deletions
|
|
@ -769,16 +769,12 @@ function handleHostContextChanged(ctx: McpUiHostContext) {
|
|||
if (ctx.displayMode) {
|
||||
const wasFullscreen = currentDisplayMode === "fullscreen";
|
||||
currentDisplayMode = ctx.displayMode as "inline" | "fullscreen";
|
||||
if (ctx.displayMode === "fullscreen") {
|
||||
mainEl.classList.add("fullscreen");
|
||||
log.info("Fullscreen mode enabled");
|
||||
} else {
|
||||
mainEl.classList.remove("fullscreen");
|
||||
log.info("Inline mode");
|
||||
// When exiting fullscreen, request resize to fit content
|
||||
if (wasFullscreen && pdfDocument) {
|
||||
requestFitToContent();
|
||||
}
|
||||
const isFullscreen = currentDisplayMode === "fullscreen";
|
||||
mainEl.classList.toggle("fullscreen", isFullscreen);
|
||||
log.info(isFullscreen ? "Fullscreen mode enabled" : "Inline mode");
|
||||
// When exiting fullscreen, request resize to fit content
|
||||
if (wasFullscreen && !isFullscreen && pdfDocument) {
|
||||
requestFitToContent();
|
||||
}
|
||||
updateFullscreenButton();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,21 +65,14 @@ function handleHostContextChanged(ctx: McpUiHostContext) {
|
|||
|
||||
// Show fullscreen button if available (only update if field is present)
|
||||
if (ctx.availableDisplayModes !== undefined) {
|
||||
if (ctx.availableDisplayModes.includes("fullscreen")) {
|
||||
fullscreenBtn.classList.add("available");
|
||||
} else {
|
||||
fullscreenBtn.classList.remove("available");
|
||||
}
|
||||
const canFullscreen = ctx.availableDisplayModes.includes("fullscreen");
|
||||
fullscreenBtn.classList.toggle("available", canFullscreen);
|
||||
}
|
||||
|
||||
// Update display mode state and UI
|
||||
if (ctx.displayMode) {
|
||||
currentDisplayMode = ctx.displayMode as "inline" | "fullscreen";
|
||||
if (currentDisplayMode === "fullscreen") {
|
||||
mainEl.classList.add("fullscreen");
|
||||
} else {
|
||||
mainEl.classList.remove("fullscreen");
|
||||
}
|
||||
mainEl.classList.toggle("fullscreen", currentDisplayMode === "fullscreen");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -96,11 +89,7 @@ async function toggleFullscreen() {
|
|||
try {
|
||||
const result = await app.requestDisplayMode({ mode: newMode });
|
||||
currentDisplayMode = result.mode as "inline" | "fullscreen";
|
||||
if (currentDisplayMode === "fullscreen") {
|
||||
mainEl.classList.add("fullscreen");
|
||||
} else {
|
||||
mainEl.classList.remove("fullscreen");
|
||||
}
|
||||
mainEl.classList.toggle("fullscreen", currentDisplayMode === "fullscreen");
|
||||
} catch (err) {
|
||||
log.error("Failed to change display mode:", err);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue