build: format the code with prettier

This commit is contained in:
Tristan Yang
2023-05-19 16:31:28 +08:00
parent 7afc132bbb
commit 5bd0183651
259 changed files with 7627 additions and 5607 deletions
+64 -35
View File
@@ -3,16 +3,15 @@ import { useTranslation } from "react-i18next";
import { NavLink } from "react-router-dom";
import Linkify from "linkify-react";
import ChannelModal from "./ChannelModal";
import InviteModal from "./InviteModal";
import { useAppSelector } from "@/app/store";
import IconEdit from "@/assets/icons/edit.svg";
import IconChat from "@/assets/icons/placeholder.chat.svg";
import IconAsk from "@/assets/icons/placeholder.question.svg";
import IconInvite from "@/assets/icons/placeholder.invite.svg";
import IconDownload from "@/assets/icons/placeholder.download.svg";
import IconInvite from "@/assets/icons/placeholder.invite.svg";
import IconAsk from "@/assets/icons/placeholder.question.svg";
import ChannelModal from "./ChannelModal";
import InviteModal from "./InviteModal";
import UsersModal from "./UsersModal";
import { useAppSelector } from "@/app/store";
interface Props {
type?: "chat" | "user";
@@ -24,7 +23,13 @@ const classes = {
};
const BlankPlaceholder: FC<Props> = ({ type = "chat" }) => {
const { t } = useTranslation("welcome");
const { server, isAdmin, upgraded } = useAppSelector((store) => { return { server: store.server, isAdmin: store.authData.user?.is_admin, upgraded: store.server.upgraded }; });
const { server, isAdmin, upgraded } = useAppSelector((store) => {
return {
server: store.server,
isAdmin: store.authData.user?.is_admin,
upgraded: store.server.upgraded
};
});
const [inviteModalVisible, setInviteModalVisible] = useState(false);
const [createChannelVisible, setCreateChannelVisible] = useState(false);
const [userListVisible, setUserListVisible] = useState(false);
@@ -37,33 +42,46 @@ const BlankPlaceholder: FC<Props> = ({ type = "chat" }) => {
const toggleInviteModalVisible = () => {
setInviteModalVisible((prev) => !prev);
};
const chatTip =
type == "chat" ? t("start_by_channel") : t("start_by_dm");
const chatTip = type == "chat" ? t("start_by_channel") : t("start_by_dm");
const chatHandler = type == "chat" ? toggleChannelModalVisible : toggleUserListVisible;
return (
<>
<div className="flex flex-col gap-8 -mt-[50px] dark:bg-gray-700">
<div className="flex flex-col gap-2 items-center group px-4">
<h2 className="text-center text-3xl text-slate-700 dark:text-white font-bold">{t("title", { name: server.name })}</h2>
<h2 className="text-center text-3xl text-slate-700 dark:text-white font-bold">
{t("title", { name: server.name })}
</h2>
<p className="text-sm text-gray-400 max-w-md text-center relative whitespace-normal">
<Linkify options={
{
<Linkify
options={{
render: {
url: ({ content, attributes: { href: link } }) => {
return <>
<a className="text-primary-400" target="_blank" href={link} rel="noreferrer">
{content}
</a>
</>;
},
return (
<>
<a
className="text-primary-400"
target="_blank"
href={link}
rel="noreferrer"
>
{content}
</a>
</>
);
}
}
}
}>
}}
>
{server.description ? server.description : t("desc")}
</Linkify>
{isAdmin && <NavLink to={"/setting/overview"} className="absolute top-0 -right-7 invisible group-hover:visible">
<IconEdit />
</NavLink>}
{isAdmin && (
<NavLink
to={"/setting/overview"}
className="absolute top-0 -right-7 invisible group-hover:visible"
>
<IconEdit />
</NavLink>
)}
</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 grid-rows-2 gap-2 md:gap-6 m-auto">
@@ -71,21 +89,32 @@ const BlankPlaceholder: FC<Props> = ({ type = "chat" }) => {
<IconInvite className={classes.boxIcon} />
<div className={classes.boxTip}>{t("invite")}</div>
</div>
<button onClick={chatHandler} className={classes.box} >
<button onClick={chatHandler} className={classes.box}>
<IconChat className={classes.boxIcon} />
<div className={classes.boxTip}>{chatTip}</div>
</button>
{!upgraded && <>
<a href={"https://voce.chat#download"} target={"_blank"} rel="noreferrer" className={classes.box} >
<IconDownload className={classes.boxIcon} />
<div className={classes.boxTip}>{t("download")}</div>
</a>
<a href={"https://doc.voce.chat"} target={"_blank"} rel="noreferrer" className={classes.box} >
<IconAsk className={classes.boxIcon} />
<div className={classes.boxTip}>{t("help")}</div>
</a>
</>
}
{!upgraded && (
<>
<a
href={"https://voce.chat#download"}
target={"_blank"}
rel="noreferrer"
className={classes.box}
>
<IconDownload className={classes.boxIcon} />
<div className={classes.boxTip}>{t("download")}</div>
</a>
<a
href={"https://doc.voce.chat"}
target={"_blank"}
rel="noreferrer"
className={classes.box}
>
<IconAsk className={classes.boxIcon} />
<div className={classes.boxTip}>{t("help")}</div>
</a>
</>
)}
</div>
</div>
{createChannelVisible && (