* 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
37 lines
792 B
TypeScript
37 lines
792 B
TypeScript
import { isMac, isWindows } from "./browser";
|
|
|
|
export default class Desktop {
|
|
/**
|
|
* Returns true if the client has inset/floating window controls.
|
|
*/
|
|
static hasInsetTitlebar() {
|
|
return this.isMacApp();
|
|
}
|
|
|
|
/**
|
|
* Returns true if the client is running in the macOS app.
|
|
*/
|
|
static isMacApp() {
|
|
return this.isElectron() && isMac();
|
|
}
|
|
|
|
/**
|
|
* Returns true if the client is running in the Windows app.
|
|
*/
|
|
static isWindowsApp() {
|
|
return this.isElectron() && isWindows();
|
|
}
|
|
|
|
/**
|
|
* Returns true if the client is running in a desktop app.
|
|
*/
|
|
static isElectron() {
|
|
return navigator?.userAgent?.includes("Electron");
|
|
}
|
|
|
|
/**
|
|
* The bridge provides secure access to API's in desktop wrapper.
|
|
*/
|
|
static bridge = window.DesktopBridge;
|
|
}
|