From c5669f8bc4c1961989df04b910443ad8ea7d6ee0 Mon Sep 17 00:00:00 2001
From: Tristan Yang
Date: Tue, 7 Feb 2023 09:25:05 +0800
Subject: [PATCH] refactor: more tailwind
---
public/index.html | 5 +-
src/assets/icons/folder.svg | 4 +-
src/assets/icons/user.svg | 4 +-
src/assets/index.css | 144 +++++++++++++++++-
src/common/component/Avatar.tsx | 48 +++---
src/common/component/ChannelModal/index.tsx | 8 +-
src/common/component/ContextMenu.tsx | 5 +-
src/common/component/FileBox/index.tsx | 36 ++---
src/common/component/FileBox/styled.tsx | 72 ---------
src/common/component/ForwardModal/index.tsx | 40 ++---
src/common/component/ForwardModal/styled.tsx | 107 -------------
src/common/component/GithubLoginButton.tsx | 2 +-
src/common/component/ManageMembers/index.tsx | 9 +-
src/common/component/Message/EditMessage.tsx | 60 ++------
.../component/Message/ForwardedMessage.tsx | 33 +---
src/common/component/Message/Reaction.tsx | 119 ++-------------
.../component/Message/ReactionPicker.tsx | 40 +----
src/common/component/Message/Reply.tsx | 114 ++------------
src/common/component/MixedInput/index.tsx | 2 +-
src/common/component/Profile/index.tsx | 5 +-
src/common/component/ReactionItem.tsx | 16 +-
src/common/component/Send/Replying.tsx | 91 ++---------
src/common/component/Send/index.tsx | 16 +-
src/common/component/Send/styled.tsx | 37 -----
src/common/component/styled/Button.tsx | 85 +++--------
src/common/component/styled/Menu.tsx | 78 ----------
src/common/component/styled/Radio.tsx | 78 ++--------
src/common/component/styled/Select.tsx | 5 +-
src/common/component/styled/Toggle.tsx | 46 ++----
src/index.tsx | 13 +-
src/routes/chat/ChannelChat/index.tsx | 25 ++-
src/routes/chat/ChannelChat/styled.tsx | 85 -----------
src/routes/chat/Layout/index.tsx | 7 +-
src/routes/chat/Layout/styled.tsx | 15 +-
src/routes/home/index.tsx | 58 ++++---
src/routes/home/styled.tsx | 66 --------
src/routes/setting/APIConfig.tsx | 2 +-
src/routes/setting/LogoutConfirmModal.tsx | 2 +-
src/routes/setting/Overview/index.tsx | 4 +-
src/routes/setting/ProfileBasicEditModal.tsx | 2 +-
src/routes/setting/config/Agora.tsx | 7 +-
src/routes/setting/config/Firebase.tsx | 5 +-
.../setting/config/IssuerList/index.tsx | 2 +-
src/routes/setting/config/Logins.tsx | 15 +-
src/routes/setting/config/SMTP.tsx | 11 +-
src/routes/setting/config/StyledContainer.tsx | 67 --------
src/routes/users/index.tsx | 16 +-
src/routes/users/styled.tsx | 50 ------
48 files changed, 447 insertions(+), 1314 deletions(-)
delete mode 100644 src/common/component/FileBox/styled.tsx
delete mode 100644 src/common/component/ForwardModal/styled.tsx
delete mode 100644 src/common/component/Send/styled.tsx
delete mode 100644 src/common/component/styled/Menu.tsx
delete mode 100644 src/routes/chat/ChannelChat/styled.tsx
delete mode 100644 src/routes/home/styled.tsx
delete mode 100644 src/routes/setting/config/StyledContainer.tsx
delete mode 100644 src/routes/users/styled.tsx
diff --git a/public/index.html b/public/index.html
index 051ccc76..7977ba1c 100644
--- a/public/index.html
+++ b/public/index.html
@@ -2,7 +2,10 @@
-
+
diff --git a/src/assets/icons/folder.svg b/src/assets/icons/folder.svg
index 5530e8ac..e792b0b7 100644
--- a/src/assets/icons/folder.svg
+++ b/src/assets/icons/folder.svg
@@ -1,3 +1,3 @@
-
-
+
-
+
{t("private_channel")}
diff --git a/src/common/component/ContextMenu.tsx b/src/common/component/ContextMenu.tsx
index 943caf82..4c683be2 100644
--- a/src/common/component/ContextMenu.tsx
+++ b/src/common/component/ContextMenu.tsx
@@ -1,5 +1,4 @@
import { FC, ReactElement } from "react";
-import StyledMenu from "./styled/Menu";
export interface Item {
title: string;
@@ -16,7 +15,7 @@ interface Props {
const ContextMenu: FC
= ({ items = [], hideMenu = null }) => {
return (
-
+
{items.map((item) => {
// if (!item) return null;
const {
@@ -49,7 +48,7 @@ const ContextMenu: FC = ({ items = [], hideMenu = null }) => {
);
})}
-
+
);
};
diff --git a/src/common/component/FileBox/index.tsx b/src/common/component/FileBox/index.tsx
index ebce418e..937c6939 100644
--- a/src/common/component/FileBox/index.tsx
+++ b/src/common/component/FileBox/index.tsx
@@ -1,6 +1,6 @@
import { FC, ReactElement } from "react";
import dayjs from "dayjs";
-import Styled from "./styled";
+import clsx from "clsx";
import {
VideoPreview,
AudioPreview,
@@ -80,33 +80,33 @@ const FileBox: FC = ({
content
}) => {
const fromUser = useAppSelector((store) => store.users.byId[from_uid]);
- const icon = getFileIcon(file_type, name);
+ const icon = getFileIcon(file_type, name, "icon w-9 h-12");
if (!content || !fromUser || !name) return null;
const previewContent = renderPreview({ file_type, content, name });
const withPreview = preview && previewContent;
+
return (
-
-
+
{icon}
-
-
{name}
-
- {formatBytes(size)}
- {dayjs(created_at).fromNow()}
-
- by {fromUser.name}
-
-
+
+ {name}
+
+ {formatBytes(size)}
+ {dayjs(created_at).fromNow()}
+
+ by {fromUser.name}
+
+
-
+
- {withPreview &&
{previewContent}
}
-
+ {withPreview &&
{previewContent}
}
+
);
};
diff --git a/src/common/component/FileBox/styled.tsx b/src/common/component/FileBox/styled.tsx
deleted file mode 100644
index a2a79afc..00000000
--- a/src/common/component/FileBox/styled.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import styled from "styled-components";
-
-const Styled = styled.div`
- background: #f3f4f6;
- border: 1px solid #d4d4d4;
- box-sizing: border-box;
- border-radius: 6px;
- width: 370px;
- height: 66px;
- * {
- user-select: text;
- }
- &.flex {
- width: 100%;
- }
- &.preview {
- position: relative;
- overflow: hidden;
- height: 281px;
- &.audio {
- height: 125px;
- }
- }
- .basic {
- width: 100%;
- padding: 8px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 8px;
- .icon {
- width: 36px;
- height: 48px;
- }
- .info {
- display: flex;
- flex-direction: column;
- gap: 4px;
- width: 100%;
- overflow: hidden;
- .name {
- font-weight: 600;
- font-size: 14px;
- line-height: 20px;
- color: #1c1c1e;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
- .details {
- font-weight: 400;
- font-size: 12px;
- line-height: 18px;
- color: #616161;
- display: flex;
- gap: 16px;
- .from strong {
- font-weight: bold;
- }
- }
- }
- .download {
- white-space: nowrap;
- }
- }
- .preview {
- height: calc(100% - 64px);
- overflow: hidden;
- /* todo */
- }
-`;
-
-export default Styled;
diff --git a/src/common/component/ForwardModal/index.tsx b/src/common/component/ForwardModal/index.tsx
index 531cce05..a64eac42 100644
--- a/src/common/component/ForwardModal/index.tsx
+++ b/src/common/component/ForwardModal/index.tsx
@@ -1,25 +1,26 @@
import { useState, MouseEvent, ChangeEvent, FC } from "react";
-// import toast from "react-hot-toast";
+import toast from "react-hot-toast";
+
import Modal from "../Modal";
import Button from "../styled/Button";
import Input from "../styled/Input";
import Channel from "../Channel";
import User from "../User";
import Reply from "../Message/Reply";
-import StyledWrapper from "./styled";
import useForwardMessage from "../../hook/useForwardMessage";
import useSendMessage from "../../hook/useSendMessage";
import useFilteredChannels from "../../hook/useFilteredChannels";
import useFilteredUsers from "../../hook/useFilteredUsers";
import CloseIcon from "../../../assets/icons/close.circle.svg";
import StyledCheckbox from "../styled/Checkbox";
-import toast from "react-hot-toast";
+import { useTranslation } from "react-i18next";
interface IProps {
mids: number[];
closeModal: () => void;
}
const ForwardModal: FC
= ({ mids, closeModal }) => {
+ const { t } = useTranslation();
const [appendText, setAppendText] = useState("");
const { sendMessages } = useSendMessage();
const { forwardMessage, forwarding } = useForwardMessage();
@@ -74,16 +75,17 @@ const ForwardModal: FC = ({ mids, closeModal }) => {
(selectedChannels.length == 0 && selectedMembers.length == 0) || forwarding;
return (
-
-
-
+
+
+
-
+
{channels &&
channels.map((c) => {
const { gid } = c;
@@ -93,7 +95,7 @@ const ForwardModal: FC = ({ mids, closeModal }) => {
key={gid}
data-type="channel"
data-id={gid}
- className="user channel"
+ className="cursor-pointer flex items-center px-4 rounded hover:bg-gray-600/10"
onClick={toggleCheck}
>
@@ -110,7 +112,7 @@ const ForwardModal: FC = ({ mids, closeModal }) => {
key={uid}
data-id={uid}
data-type="user"
- className="user"
+ className="cursor-pointer flex items-center px-4 rounded hover:bg-gray-600/10"
onClick={toggleCheck}
>
@@ -120,15 +122,15 @@ const ForwardModal: FC = ({ mids, closeModal }) => {
})}
-
-
Send To {selectedCount}
-
+
+
Send To {selectedCount}
+
{selectedChannels.map((cid) => {
return (
- -
+
-
@@ -143,27 +145,27 @@ const ForwardModal: FC = ({ mids, closeModal }) => {
);
})}
-
+
{mids.map((mid) => (
))}
-
+
-
+
);
};
diff --git a/src/common/component/ForwardModal/styled.tsx b/src/common/component/ForwardModal/styled.tsx
deleted file mode 100644
index d538d6f0..00000000
--- a/src/common/component/ForwardModal/styled.tsx
+++ /dev/null
@@ -1,107 +0,0 @@
-import styled from "styled-components";
-
-const StyledWrapper = styled.div`
- display: flex;
- max-height: 514px;
- min-height: 400px;
- background: #fff;
- box-shadow: 0px 25px 50px rgba(31, 41, 55, 0.25);
- border-radius: var(--br);
- transition: all 0.5s ease;
- overflow: hidden;
- .left {
- width: 276px;
- box-shadow: inset -1px 0px 0px rgba(0, 0, 0, 0.1);
- overflow-y: scroll;
- .search {
- position: sticky;
- top: 0;
- z-index: 99;
- background: #fff;
- box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1);
- padding: 16px;
- width: calc(100% - 1px);
- input {
- outline: none;
- width: -webkit-fill-available;
- padding: 10px 8px;
- font-size: 14px;
- line-height: 20px;
- background: rgba(0, 0, 0, 0.08);
- border-radius: var(--br);
- }
- }
- .users {
- display: flex;
- flex-direction: column;
- padding-bottom: 20px;
- .user {
- cursor: pointer;
- display: flex;
- align-items: center;
- padding: 0 16px;
- width: -webkit-fill-available;
- border-radius: 4px;
- &:hover {
- background: rgba(116, 127, 141, 0.1);
- }
- > div {
- width: 100%;
- }
- }
- }
- }
- .right {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- padding: 16px;
- box-sizing: border-box;
- .title {
- font-weight: 600;
- font-size: 14px;
- line-height: 20px;
- color: #344054;
- margin-bottom: 16px;
- }
- .selected {
- width: 100%;
- height: 260px;
- padding: 10px 0;
- overflow: scroll;
- .item {
- position: relative;
- .remove {
- cursor: pointer;
- position: absolute;
- right: 5px;
- top: 50%;
- transform: translateY(-50%);
- }
- }
- }
- .msgs {
- border-radius: var(--br);
- padding: 8px;
- max-height: 200px;
- overflow: auto;
- background-color: #f4f4f5;
- width: 280px;
- margin-bottom: 4px;
- > .reply {
- background: none;
- }
- }
- .input {
- margin-bottom: 32px;
- }
- .btns {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- gap: 16px;
- }
- }
-`;
-export default StyledWrapper;
diff --git a/src/common/component/GithubLoginButton.tsx b/src/common/component/GithubLoginButton.tsx
index ce56ac68..8039bfae 100644
--- a/src/common/component/GithubLoginButton.tsx
+++ b/src/common/component/GithubLoginButton.tsx
@@ -45,7 +45,7 @@ const GithubLoginButton: FC
= ({ type = "login", source = "webapp", clien
};
return (
-