-
+
diff --git a/src/screens/Login.vue b/src/screens/Login.vue
index 6c13e26..529be5d 100644
--- a/src/screens/Login.vue
+++ b/src/screens/Login.vue
@@ -1,5 +1,6 @@
+
@@ -20,7 +21,7 @@
{{ loginError }}
-
+
@@ -71,6 +72,7 @@ import { onMounted, ref } from 'vue'
import { login, register } from '@/services/authentication'
import { useGameStore } from '@/stores/gameStore'
import { useCookies } from '@vueuse/integrations/useCookies'
+import ResetPassword from '@/components/gui/ResetPassword.vue'
const gameStore = useGameStore()
const username = ref('')
@@ -115,6 +117,11 @@ async function registerFunc() {
return
}
+ if (email.value === '') {
+ loginError.value = 'Please enter an email'
+ return
+ }
+
// send register event to server
const response = await register(username.value, email.value, password.value)
diff --git a/src/services/authentication.ts b/src/services/authentication.ts
index 5d952e2..4c9ab2a 100644
--- a/src/services/authentication.ts
+++ b/src/services/authentication.ts
@@ -25,3 +25,12 @@ export async function login(username: string, password: string) {
return { error: error.response.data.message }
}
}
+
+export async function resetPassword(email: string) {
+ try {
+ const response = await axios.post(`${config.server_endpoint}/reset-password`, { email })
+ return { success: true, token: response.data.token }
+ } catch (error: any) {
+ return { error: error.response.data.message }
+ }
+}
\ No newline at end of file
diff --git a/src/stores/gameStore.ts b/src/stores/gameStore.ts
index ce28efd..5c8c39e 100644
--- a/src/stores/gameStore.ts
+++ b/src/stores/gameStore.ts
@@ -27,7 +27,8 @@ export const useGameStore = defineStore('game', {
uiSettings: {
isChatOpen: false,
isCharacterProfileOpen: false,
- isGmPanelOpen: false
+ isGmPanelOpen: false,
+ isPasswordResetOpen: false
}
}
},
@@ -71,6 +72,9 @@ export const useGameStore = defineStore('game', {
toggleCharacterProfile() {
this.uiSettings.isCharacterProfileOpen = !this.uiSettings.isCharacterProfileOpen
},
+ togglePasswordReset() {
+ this.uiSettings.isPasswordResetOpen = !this.uiSettings.isPasswordResetOpen
+ },
initConnection() {
this.connection = io(config.server_endpoint, {
secure: !config.development,
@@ -116,6 +120,7 @@ export const useGameStore = defineStore('game', {
this.gameSettings.isCameraFollowingCharacter = false
this.uiSettings.isChatOpen = false
this.uiSettings.isCharacterProfileOpen = false
+ this.uiSettings.isPasswordResetOpen = false
this.world.date = new Date()
this.world.isRainEnabled = false