aboutsummaryrefslogtreecommitdiff
path: root/vnext/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'vnext/src/ui')
-rw-r--r--vnext/src/ui/Avatar.js1
-rw-r--r--vnext/src/ui/Chat.js1
-rw-r--r--vnext/src/ui/Contact.js1
-rw-r--r--vnext/src/ui/Icon.js1
-rw-r--r--vnext/src/ui/Login.js1
-rw-r--r--vnext/src/ui/Message.js2
-rw-r--r--vnext/src/ui/MessageInput.js2
-rw-r--r--vnext/src/ui/Settings.js38
-rw-r--r--vnext/src/ui/Thread.js5
-rw-r--r--vnext/src/ui/UploadButton.js1
-rw-r--r--vnext/src/ui/UserInfo.js3
-rw-r--r--vnext/src/ui/Users.js1
-rw-r--r--vnext/src/ui/VisitorContext.js1
13 files changed, 20 insertions, 38 deletions
diff --git a/vnext/src/ui/Avatar.js b/vnext/src/ui/Avatar.js
index 0de225b2..9d93521f 100644
--- a/vnext/src/ui/Avatar.js
+++ b/vnext/src/ui/Avatar.js
@@ -13,7 +13,6 @@ import Icon from './Icon';
/**
* Avatar component
- *
* @param {AvatarProps} props
*/
function Avatar({ user, style, link, children }) {
diff --git a/vnext/src/ui/Chat.js b/vnext/src/ui/Chat.js
index 392b12a0..4fdeaac7 100644
--- a/vnext/src/ui/Chat.js
+++ b/vnext/src/ui/Chat.js
@@ -21,7 +21,6 @@ import { Helmet } from 'react-helmet';
/**
* Chat component
- *
* @param {ChatProps} props
*/
export default function Chat(props) {
diff --git a/vnext/src/ui/Contact.js b/vnext/src/ui/Contact.js
index a0d32e84..75c80332 100644
--- a/vnext/src/ui/Contact.js
+++ b/vnext/src/ui/Contact.js
@@ -10,7 +10,6 @@ import Avatar from './Avatar';
/**
* Contact component
- *
* @param {ContactProps} props
*/
function Contact({ user, style }) {
diff --git a/vnext/src/ui/Icon.js b/vnext/src/ui/Icon.js
index a9cd8a95..6d10df16 100644
--- a/vnext/src/ui/Icon.js
+++ b/vnext/src/ui/Icon.js
@@ -13,7 +13,6 @@ import evilIcons from 'evil-icons/assets/sprite.svg';
/**
* Icon inner component
- *
* @param {IconProps} props - icon props
*/
function IconElement(props) {
diff --git a/vnext/src/ui/Login.js b/vnext/src/ui/Login.js
index 58d1a16b..73da49c8 100644
--- a/vnext/src/ui/Login.js
+++ b/vnext/src/ui/Login.js
@@ -16,7 +16,6 @@ import { useVisitor } from './VisitorContext';
/**
* Login page
- *
* @param {LoginProps} props
*/
function Login({ onAuth }) {
diff --git a/vnext/src/ui/Message.js b/vnext/src/ui/Message.js
index 595d2178..c5ad175d 100644
--- a/vnext/src/ui/Message.js
+++ b/vnext/src/ui/Message.js
@@ -28,7 +28,6 @@ import { useVisitor } from './VisitorContext';
/**
* Message component
- *
* @param {React.PropsWithChildren<{}> & MessageProps} props props
*/
export default function Message({ data, isThread, onToggleSubscription, children }) {
@@ -156,7 +155,6 @@ function MessageContainer({ isCode, data }) {
/**
* Tags component
- *
* @param {{user: import('../client').User, data: string[]}} props props
*/
function Tags({ data, user }) {
diff --git a/vnext/src/ui/MessageInput.js b/vnext/src/ui/MessageInput.js
index de4edc7f..3d24e728 100644
--- a/vnext/src/ui/MessageInput.js
+++ b/vnext/src/ui/MessageInput.js
@@ -9,7 +9,6 @@ import toast from 'react-hot-toast';
/**
* StackOverflow-driven development: https://stackoverflow.com/a/10158364/1097384
- *
* @param {HTMLTextAreaElement & {createTextRange?: Function}} el element
*/
function moveCaretToEnd(el) {
@@ -37,7 +36,6 @@ function moveCaretToEnd(el) {
/**
* MessageInput
- *
* @param {React.ComponentProps<React.FC> & MessageInputProps} props props
*/
export default function MessageInput({ text, rows, placeholder, onSend }) {
diff --git a/vnext/src/ui/Settings.js b/vnext/src/ui/Settings.js
index 6e9d4f36..380d8ff6 100644
--- a/vnext/src/ui/Settings.js
+++ b/vnext/src/ui/Settings.js
@@ -32,16 +32,14 @@ function ChangeAvatarForm({ onChange }) {
if (preview) {
previewUser = { ...visitor, avatar: preview, uname: '<preview>' };
}
- let onSubmitAvatar = (event) => {
+ let onSubmitAvatar = async (event) => {
if (event.preventDefault) {
event.preventDefault();
}
- updateAvatar(avatarInput.current.files[0]).then(() => {
- avatarChanged('');
- me().then(visitor => {
- onChange(visitor);
- }).catch(console.error);
- }).catch(console.error);
+ await updateAvatar(avatarInput.current.files[0]);
+ avatarChanged('');
+ let visitor = await me();
+ onChange(visitor);
};
return (
<form>
@@ -124,20 +122,20 @@ export default function Settings({ onChange }) {
{visitor.telegramName ? (
<form>
<div>Telegram: <b> {visitor.telegramName} </b> &mdash;
- <Button onClick={disableTelegram}>Disable</Button>
+ <Button onClick={disableTelegram}>Disable</Button>
</div>
</form>
) : (
- <p>To connect Telegram account: send any text message to <a href="https://telegram.me/Juick_bot">@Juick_bot</a>
- </p>
- )}
+ <p>To connect Telegram account: send any text message to <a href="https://telegram.me/Juick_bot">@Juick_bot</a>
+ </p>
+ )}
</fieldset>
{
visitor.jids && (
<form>
<fieldset>
<legend>XMPP accounts
- </legend>
+ </legend>
<p>Your accounts:</p>
<p>
{
@@ -205,7 +203,7 @@ export default function Settings({ onChange }) {
{/** /email_off */}
<p>&nbsp;</p>
<p>You can post to Juick via e-mail. Send your <u>plain text</u> messages to <a href="mailto:juick@juick.com">juick@juick.com</a>.
- You can attach one photo or video file.</p>
+ You can attach one photo or video file.</p>
</>
}
</fieldset>
@@ -228,19 +226,19 @@ export default function Settings({ onChange }) {
</div>
</form>
) : (
- <p>Cross-posting to Facebook:
- <a href="/_fblogin">
- <img src="//static.juick.com/facebook-connect.png" alt="Connect to Facebook" />
- </a>
- </p>
- )}
+ <p>Cross-posting to Facebook:
+ <a href="/_fblogin">
+ <img src="//static.juick.com/facebook-connect.png" alt="Connect to Facebook" />
+ </a>
+ </p>
+ )}
</fieldset>
<fieldset>
<legend><Icon name="ei-sc-twitter" size="m" />Twitter</legend>
{visitor.twitterName ?
<form action="/settings" method="post">
<div>Twitter: <b>{visitor.twitterName}</b>&mdash;
- <input type="hidden" name="page" value="twitter-del" />
+ <input type="hidden" name="page" value="twitter-del" />
<Button onClick={disableTwitter}>Disable</Button>
</div>
</form>
diff --git a/vnext/src/ui/Thread.js b/vnext/src/ui/Thread.js
index f26eead6..a3136c35 100644
--- a/vnext/src/ui/Thread.js
+++ b/vnext/src/ui/Thread.js
@@ -15,9 +15,8 @@ import { Helmet } from 'react-helmet';
const emptyMessage = {};
/**
- * @param {{
- connection: EventSource?
- }} props
+ * Thread component
+ * @param {import('react').PropsWithChildren<{}>} props
*/
export default function Thread(props) {
const location = useLocation();
diff --git a/vnext/src/ui/UploadButton.js b/vnext/src/ui/UploadButton.js
index f07501de..b652e522 100644
--- a/vnext/src/ui/UploadButton.js
+++ b/vnext/src/ui/UploadButton.js
@@ -9,7 +9,6 @@ import Icon from './Icon';
/**
* Upload button
- *
* @param {UploadButtonProps} props
*/
export default function UploadButton(props) {
diff --git a/vnext/src/ui/UserInfo.js b/vnext/src/ui/UserInfo.js
index 5bcc2507..2ca8c431 100644
--- a/vnext/src/ui/UserInfo.js
+++ b/vnext/src/ui/UserInfo.js
@@ -11,7 +11,6 @@ let isMounted;
/**
* User info component
- *
* @param {{uname: string, onUpdate?: Function, children?: import('react').ReactElement}} props
*/
export default function UserInfo({ uname, onUpdate, children }) {
@@ -65,7 +64,6 @@ export default function UserInfo({ uname, onUpdate, children }) {
/**
* User summary component
- *
* @param {{user: import('../api').User}} props
*/
function Summary({ user }) {
@@ -89,7 +87,6 @@ const UserSummary = memo(Summary);
/**
* Link to user
- *
* @param {{ user: import('../api').User}} props
*/
export function UserLink(props) {
diff --git a/vnext/src/ui/Users.js b/vnext/src/ui/Users.js
index b0e19dfa..32ff2d03 100644
--- a/vnext/src/ui/Users.js
+++ b/vnext/src/ui/Users.js
@@ -37,7 +37,6 @@ export function Readers() {
/**
* UserInfo list component
- *
* @param {{uname: string, prop: string}} props
*/
function Users({ uname, prop }) {
diff --git a/vnext/src/ui/VisitorContext.js b/vnext/src/ui/VisitorContext.js
index 8c5364e7..240b709b 100644
--- a/vnext/src/ui/VisitorContext.js
+++ b/vnext/src/ui/VisitorContext.js
@@ -17,7 +17,6 @@ export function VisitorProvider({ children }) {
/**
* Visitor hook
- *
* @returns {[
* import('../api').SecureUser,
* import('react').Dispatch<import('react').SetStateAction<import('../api').SecureUser>>