refactor: more TS code

This commit is contained in:
Tristan Yang
2022-08-03 08:50:27 +08:00
parent bba42f2f45
commit 0254b50a04
21 changed files with 77 additions and 52 deletions
@@ -33,14 +33,14 @@ const Styled = styled.div`
}
`;
interface Props {
type Props = {
uploading: boolean;
progress: number;
thumbnail: string;
download: string;
content: string;
properties: { width: number; height: number };
}
};
const ImageMessage: FC<Props> = ({
uploading,
+3 -3
View File
@@ -84,17 +84,17 @@ const Profile: FC<Props> = ({ uid, type = "embed", cid }) => {
</li>
)}
{canCopyEmail && (
<li className="item" onClick={copyEmail}>
<li className="item" onClick={copyEmail.bind(undefined, email)}>
Copy Email
</li>
)}
{canRemoveFromChannel && (
<li className="item danger" onClick={removeFromChannel}>
<li className="item danger" onClick={removeFromChannel.bind(null, uid)}>
Remove from Channel
</li>
)}
{canRemoveFromServer && (
<li className="item danger" onClick={removeUser}>
<li className="item danger" onClick={removeUser.bind(null, uid)}>
Remove from Server
</li>
)}
+1 -1
View File
@@ -23,7 +23,7 @@ export default function useDeleteMessage() {
}
setDeleting(false);
};
const canDelete = (mids = []) => {
const canDelete = (mids?: number[]) => {
if (!mids || mids.length == 0) return false;
// 管理员
if (loginUser?.is_admin) return true;
+1 -1
View File
@@ -5,7 +5,7 @@ import { Channel } from "../../types/channel";
export default function useFilteredChannels() {
const [input, setInput] = useState("");
const channels = useAppSelector((store) => Object.values(store.channels.byId));
const [filteredChannels, setFilteredChannels] = useState<(Channel | undefined)[]>([]);
const [filteredChannels, setFilteredChannels] = useState<Channel[]>([]);
useEffect(() => {
if (!input) {
+1 -1
View File
@@ -5,7 +5,7 @@ import { useAppSelector } from "../../app/store";
export default function useFilteredUsers() {
const [input, setInput] = useState("");
const users = useAppSelector((store) => Object.values(store.users.byId));
const [filteredUsers, setFilteredUsers] = useState<(StoredUser | undefined)[]>([]);
const [filteredUsers, setFilteredUsers] = useState<StoredUser[]>([]);
useEffect(() => {
if (!input) {
setFilteredUsers(users);
+1 -1
View File
@@ -20,7 +20,7 @@ export const isTreatAsImage = (file: File) => {
return false;
};
export function getDefaultSize(size = null, min = 480) {
export function getDefaultSize(size?: { width: number; height: number }, min = 480) {
if (!size) return { width: 0, height: 0 };
const { width: oWidth, height: oHeight } = size;
if (oWidth == oHeight) {