diff --git a/.vscode/settings.json b/.vscode/settings.json
index 0365c8ba..7701e083 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -26,5 +26,5 @@
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
- "cSpell.words": ["btns"]
+ "cSpell.words": ["btns", "rustchat"]
}
diff --git a/package.json b/package.json
index 6b0e539a..360f58f5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "rustchat-web",
- "version": "0.2.14",
+ "version": "0.3.0",
"private": true,
"homepage": "https://privoce.rustchat.com",
"dependencies": {
diff --git a/src/app/config.js b/src/app/config.js
index 449fc5b2..e8bbef97 100644
--- a/src/app/config.js
+++ b/src/app/config.js
@@ -1,6 +1,6 @@
// const BASE_URL = `${location.origin}/api`;
const BASE_URL = `https://dev.rustchat.com/api`;
-export const CACHE_VERSION = `0.2.17`;
+export const CACHE_VERSION = `0.3.0`;
export const ContentTypes = {
text: "text/plain",
markdown: "text/markdown",
diff --git a/src/app/services/auth.js b/src/app/services/auth.js
index f372f5d7..5fd283f0 100644
--- a/src/app/services/auth.js
+++ b/src/app/services/auth.js
@@ -132,6 +132,11 @@ export const authApi = createApi({
url: `/token/metamask/nonce?public_address=${address}`
})
}),
+ checkEmail: builder.query({
+ query: (email) => ({
+ url: `/user/check_email?email=${encodeURIComponent(email)}`
+ })
+ }),
getCredentials: builder.query({
query: () => ({
url: `/token/credentials`
@@ -165,6 +170,7 @@ export const authApi = createApi({
});
export const {
+ useLazyCheckEmailQuery,
useGetInitializedQuery,
useSendLoginMagicLinkMutation,
useSendRegMagicLinkMutation,
diff --git a/src/app/services/base.query.js b/src/app/services/base.query.js
index aeadb4a8..004b5f83 100644
--- a/src/app/services/base.query.js
+++ b/src/app/services/base.query.js
@@ -8,6 +8,7 @@ const whiteList = [
"register",
"sendLoginMagicLink",
"sendRegMagicLink",
+ "checkEmail",
"checkMagicTokenValid",
"getGoogleAuthConfig",
"getGithubAuthConfig",
diff --git a/src/routes/reg/RegWithUsername.js b/src/routes/reg/RegWithUsername.js
index 126bcfa4..7221778c 100644
--- a/src/routes/reg/RegWithUsername.js
+++ b/src/routes/reg/RegWithUsername.js
@@ -14,10 +14,14 @@ import { useRegisterMutation } from "../../app/services/auth";
export default function RegWithUsername() {
const [checkTokenInvalid, { data: isTokenValid, isLoading: checkingToken }] =
useCheckMagicTokenValidMutation();
- const [login, { isLoading: loginLoading, error, isSuccess: loginSuccess, data: loginData }] =
- useLoginMutation();
- const [register, { isLoading: regLoading, isSuccess: regSuccess, data: regData }] =
- useRegisterMutation();
+ const [
+ login,
+ { isLoading: loginLoading, error: loginError, isSuccess: loginSuccess, data: loginData }
+ ] = useLoginMutation();
+ const [
+ register,
+ { isLoading: regLoading, isSuccess: regSuccess, data: regData, error: regError }
+ ] = useRegisterMutation();
// const navigateTo = useNavigate();
const { from = "reg" } = useParams();
const dispatch = useDispatch();
@@ -32,8 +36,7 @@ export default function RegWithUsername() {
}, [token]);
useEffect(() => {
- console.log("errr", error);
- switch (error?.status) {
+ switch (loginError?.status) {
case 401:
toast.error("Invalided Token");
break;
@@ -41,7 +44,17 @@ export default function RegWithUsername() {
default:
break;
}
- }, [error]);
+ }, [loginError]);
+ useEffect(() => {
+ switch (regError?.status) {
+ case 409:
+ toast.error("Something Conflicted!");
+ break;
+
+ default:
+ break;
+ }
+ }, [regError]);
useEffect(() => {
const isSuccess = loginSuccess || regSuccess;
const data = loginData || regData;
@@ -74,6 +87,7 @@ export default function RegWithUsername() {
const { value } = evt.target;
setUsername(value);
};
+ console.log("ffff", from);
if (!token) return "No Token";
if (checkingToken) return "Checking Magic Link...";
if (!isTokenValid) return