mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-08-02 05:16:01 +00:00
b528ff9c59
* wip * add test * use themeManager.currentCompiledTheme for obtaining theme variables / reduce getComputedStyle usage * fix * fix: better error handling on theme installation * Update Changelog * chore: remove frontend-shared builds as it is currently working as a stub package * fix: broken lockfile * fix * fix lint * fix
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import { appendQuery } from '@@/js/url.js';
|
|
import * as config from '@@/js/config.js';
|
|
|
|
export function popout(path: string, w?: HTMLElement) {
|
|
let url = path.startsWith('http://') || path.startsWith('https://') ? path : config.url + path;
|
|
url = appendQuery(url, 'zen');
|
|
if (w) {
|
|
const position = w.getBoundingClientRect();
|
|
const computedStyle = getComputedStyle(w, '');
|
|
const width = parseInt(computedStyle.width, 10);
|
|
const height = parseInt(computedStyle.height, 10);
|
|
const x = window.screenX + position.left;
|
|
const y = window.screenY + position.top;
|
|
window.open(url, url,
|
|
`width=${width}, height=${height}, top=${y}, left=${x}`);
|
|
} else {
|
|
const width = 400;
|
|
const height = 500;
|
|
const x = window.top == null ? 0 : window.top.outerHeight / 2 + window.top.screenY - (height / 2);
|
|
const y = window.top == null ? 0 : window.top.outerWidth / 2 + window.top.screenX - (width / 2);
|
|
window.open(url, url,
|
|
`width=${width}, height=${height}, top=${x}, left=${y}`);
|
|
}
|
|
}
|