mirror of
https://github.com/outline/outline.git
synced 2025-12-21 10:39:41 -06:00
* Remove home link on desktop app * Spellcheck, installation toasts, background styling, … * Add email,slack, auth support * More desktop style tweaks * Move redirect to client * cleanup * Record desktop usage * docs * fix: Selection state in search input when double clicking header
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import * as React from "react";
|
|
import { useHistory } from "react-router-dom";
|
|
import { useDesktopTitlebar } from "~/hooks/useDesktopTitlebar";
|
|
import useToasts from "~/hooks/useToasts";
|
|
import Desktop from "~/utils/Desktop";
|
|
|
|
export default function DesktopEventHandler() {
|
|
useDesktopTitlebar();
|
|
const history = useHistory();
|
|
const { showToast } = useToasts();
|
|
|
|
React.useEffect(() => {
|
|
Desktop.bridge?.redirect((path: string, replace = false) => {
|
|
if (replace) {
|
|
history.replace(path);
|
|
} else {
|
|
history.push(path);
|
|
}
|
|
});
|
|
|
|
Desktop.bridge?.updateDownloaded(() => {
|
|
showToast("An update is ready to install.", {
|
|
type: "info",
|
|
timeout: Infinity,
|
|
action: {
|
|
text: "Install now",
|
|
onClick: () => {
|
|
Desktop.bridge?.restartAndInstall();
|
|
},
|
|
},
|
|
});
|
|
});
|
|
|
|
Desktop.bridge?.focus(() => {
|
|
window.document.body.classList.remove("backgrounded");
|
|
});
|
|
|
|
Desktop.bridge?.blur(() => {
|
|
window.document.body.classList.add("backgrounded");
|
|
});
|
|
}, [history, showToast]);
|
|
|
|
return null;
|
|
}
|