chore: delete intermediate

This commit is contained in:
Paul Makles
2022-07-05 21:13:42 +01:00
parent f7ff7d0dfe
commit f9c6f5cd9d
35 changed files with 129 additions and 1104 deletions

View File

@@ -3,8 +3,6 @@ import { API, Client } from "revolt.js";
import { state } from "../../mobx/State";
import { __thisIsAHack } from "../../context/intermediate/Intermediate";
import { modalController } from "../modals/ModalController";
/**

View File

@@ -1,10 +1,13 @@
import { observer } from "mobx-react-lite";
import { Prompt, useHistory } from "react-router-dom";
import { useEffect } from "preact/hooks";
import { modalController } from "./ModalController";
export default observer(() => {
const history = useHistory();
useEffect(() => {
function keyUp(event: KeyboardEvent) {
if (event.key === "Escape") {
@@ -18,5 +21,22 @@ export default observer(() => {
return () => document.removeEventListener("keyup", keyUp);
}, []);
return modalController.rendered;
return (
<>
{modalController.rendered}
<Prompt
when={modalController.isVisible}
message={(_, action) => {
if (action === "POP") {
modalController.pop("close");
setTimeout(() => history.push(history.location), 0);
return false;
}
return true;
}}
/>
</>
);
});

View File

@@ -0,0 +1,32 @@
import { Text } from "preact-i18n";
import { ModalForm } from "@revoltchat/ui";
import { state } from "../../../mobx/State";
import { ModalProps } from "../types";
/**
* Import theme modal
*/
export default function ImportTheme({ ...props }: ModalProps<"import_theme">) {
return (
<ModalForm
{...props}
title={<Text id="app.settings.pages.appearance.import_theme" />}
schema={{
data: "text",
}}
data={{
data: {
field: (
<Text id="app.settings.pages.appearance.theme_data" />
) as React.ReactChild,
},
}}
callback={async ({ data }) =>
state.settings.theme.hydrate(JSON.parse(data))
}
/>
);
}

View File

@@ -176,6 +176,9 @@ export type Modal = {
type: "create_category";
target: Server;
}
| {
type: "import_theme";
}
);
export type ModalProps<T extends Modal["type"]> = Modal & { type: T } & {