Update: 2026-07-13 22:23:21

This commit is contained in:
Hamza-Ayed
2026-07-13 22:23:22 +03:00
parent fd3f4a365a
commit c6f48a1f91
45 changed files with 3533 additions and 36 deletions
+35
View File
@@ -0,0 +1,35 @@
import { defineStore } from 'pinia'
import { getToken, setToken } from '../api/client'
import * as transitApi from '../api/transit'
export const useAuthStore = defineStore('auth', {
state: () => ({
token: getToken(),
admin: JSON.parse(localStorage.getItem('transit_admin_profile') || 'null'),
org: JSON.parse(localStorage.getItem('transit_admin_org') || 'null'),
}),
getters: {
isLoggedIn: (state) => !!state.token,
},
actions: {
async verifyOtp(phone, otp) {
const res = await transitApi.loginVerify(phone, otp)
this.token = res.token
this.admin = res.admin
this.org = res.org
setToken(res.token)
localStorage.setItem('transit_admin_profile', JSON.stringify(res.admin))
localStorage.setItem('transit_admin_org', JSON.stringify(res.org))
return res
},
async logout() {
try { await transitApi.logout() } catch (e) { /* الجلسة قد تكون منتهية أصلاً */ }
this.token = ''
this.admin = null
this.org = null
setToken(null)
localStorage.removeItem('transit_admin_profile')
localStorage.removeItem('transit_admin_org')
},
},
})