|
@@ -148,7 +148,7 @@ console.log(store.getState()) //стартовое состояние может
|
|
|
store.subscribe(() => console.log(store.getState()))
|
|
|
|
|
|
//ПЕРЕДЕЛАТЬ ОТОБРАЖЕНИЕ с поправкой на то, что теперь промисы не в корне state а в state.promise
|
|
|
-const actionLogin = (login = undefined, password = undefined) =>
|
|
|
+const actionLogin = (login, password) =>
|
|
|
actionPromise('login', gql(`
|
|
|
query log($login:String, $password:String) {
|
|
|
login(login: $login, password: $password)
|
|
@@ -283,7 +283,37 @@ window.onhashchange = () => {
|
|
|
store.dispatch(actionGoodById(_id))
|
|
|
},
|
|
|
login() {
|
|
|
- store.dispatch(actionLogin())
|
|
|
+ let navBar = document.getElementById('navBar')
|
|
|
+ navBar.style.visibility = 'hidden'
|
|
|
+
|
|
|
+ let pass, log
|
|
|
+ aside.innerHTML = ''
|
|
|
+ main.innerHTML = `
|
|
|
+ <div style="border: 5px solid purple; padding: 10px; background-color: black;">
|
|
|
+ <button id="returnBtnLogin" style="font-size: small;">⇐ назад</button>
|
|
|
+ <input id="logInp" style="font-size: small; display:block; margin:10px" type="text" placeholder="login"/>
|
|
|
+ <input id="passInp" style="font-size: small; display:block; margin:10px" type="text" placeholder="password"/>
|
|
|
+ <small id="errBox" style="display: block; width:fit-content; color: red; margin: 0 auto;"></small>
|
|
|
+ <button id="submitBtn" style="font-size: small; display:block; margin:0 auto">LOGIN</button>
|
|
|
+ </div>
|
|
|
+ `
|
|
|
+ let returnBtn = document.getElementById('returnBtnLogin')
|
|
|
+ let logInp = document.getElementById('logInp')
|
|
|
+ let passInp = document.getElementById('passInp')
|
|
|
+ let submitBtn = document.getElementById('submitBtn')
|
|
|
+
|
|
|
+ passInp.oninput = (e) => { pass = e.target.value }
|
|
|
+
|
|
|
+ logInp.oninput = (e) => { log = e.target.value }
|
|
|
+
|
|
|
+ returnBtn.onclick = () => {
|
|
|
+ navBar.style.visibility = 'visible'
|
|
|
+ history.back()
|
|
|
+ }
|
|
|
+
|
|
|
+ submitBtn.onclick = () => {
|
|
|
+ store.dispatch(actionFullLogin(log, pass))
|
|
|
+ }
|
|
|
},
|
|
|
cart() {
|
|
|
const {cart} = store.getState()
|
|
@@ -394,9 +424,12 @@ store.subscribe(() => {
|
|
|
card.style.margin = "10px"
|
|
|
card.style.padding = "10px"
|
|
|
main.append(card)
|
|
|
+
|
|
|
let cartButton = document.createElement('button')
|
|
|
cartButton.innerText = 'Добавить в корзину'
|
|
|
cartButton.style.fontSize = 'smaller'
|
|
|
+ cartButton.style.marginTop = '10px'
|
|
|
+ cartButton.style.backgroundColor = 'gold'
|
|
|
card.append(cartButton)
|
|
|
|
|
|
cartButton.onclick = () => {
|
|
@@ -432,52 +465,42 @@ store.subscribe(() => {
|
|
|
})
|
|
|
|
|
|
store.subscribe(() => {
|
|
|
- const { login } = store.getState().promise
|
|
|
+ const {payload} = store.getState().auth
|
|
|
const [, route, _id] = location.hash.split('/')
|
|
|
|
|
|
- let pass, log
|
|
|
- if(!login?.payload && route === 'login') {
|
|
|
- console.log('hire');
|
|
|
- aside.innerHTML = ''
|
|
|
+ let logBtn = document.getElementById('logBtn')
|
|
|
+ let logLink = document.getElementById('logLink')
|
|
|
+ let nameField = document.getElementById('nameField')
|
|
|
+ if(!payload) {
|
|
|
+ nameField.innerText = ''
|
|
|
+ logBtn.style.backgroundColor = 'mediumaquamarine'
|
|
|
+ logLink.innerText = 'Войти'
|
|
|
+
|
|
|
+ } else if(payload && route === 'login') {
|
|
|
+ console.log('loginPayload', payload)
|
|
|
main.innerHTML = `
|
|
|
- <div style="border: 5px solid purple; padding: 10px; background-color: black;">
|
|
|
- <button id="returnBtnLogin" style="font-size: small;">⇐ назад</button>
|
|
|
- <input id="logInp" style="display:block; margin:10px" type="text" placeholder="login"/>
|
|
|
- <input id="passInp" style="display:block; margin:10px" type="text" placeholder="password"/>
|
|
|
- <button id="submitBtn" style="display:block; margin:0 auto">LOGIN</button>
|
|
|
- </div>
|
|
|
+ <h2>Вы успешно вошли под логином пользователя '${payload.sub.login}'<h2>
|
|
|
+ <button id="returnBtn">⇐ Венуться к просмотру</button>
|
|
|
`
|
|
|
- let returnBtn = document.getElementById('returnBtnLogin')
|
|
|
- let logInp = document.getElementById('logInp')
|
|
|
- let passInp = document.getElementById('passInp')
|
|
|
- let submitBtn = document.getElementById('submitBtn')
|
|
|
-
|
|
|
- passInp.oninput = (e) => {
|
|
|
- console.log(e.target.value)
|
|
|
- pass = e.target.value
|
|
|
- }
|
|
|
-
|
|
|
- logInp.oninput = (e) => {
|
|
|
- console.log(e.target.value)
|
|
|
- log = e.target.value
|
|
|
- }
|
|
|
|
|
|
- returnBtn.onclick = () => {
|
|
|
- logBtn.disabled = false
|
|
|
+ let retBtn = document.getElementById('returnBtn')
|
|
|
+ retBtn.onclick = () => {
|
|
|
+ let navBar = document.getElementById('navBar')
|
|
|
+ navBar.style.visibility = 'visible'
|
|
|
history.back()
|
|
|
}
|
|
|
|
|
|
- submitBtn.onclick = () => {
|
|
|
- //store.dispatch(actionLogin(log, pass))
|
|
|
- console.log('BABAX')
|
|
|
+ } else {
|
|
|
+ nameField.innerText = payload.sub.login
|
|
|
+ logBtn.style.backgroundColor = 'firebrick'
|
|
|
+ logBtn.innerHTML = 'Выйти'
|
|
|
+ logBtn.onclick = () => {
|
|
|
+ nameField.innerText = ''
|
|
|
+ logBtn.style.backgroundColor = 'mediumaquamarine'
|
|
|
+ logBtn.innerHTML = `<a href="#/login" style="color: white; text-decoration: none;" id="logLink">Войти</a>`
|
|
|
+ actionAuthLogout()
|
|
|
}
|
|
|
-
|
|
|
- logBtn.disabled = true
|
|
|
- }
|
|
|
-
|
|
|
- if(login?.payload && route === 'login') {
|
|
|
- history.back()
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
})
|
|
|
|