Как вам вход в логи ?

Animsall

Участник
Автор темы
55
12
1692294319027.png
 

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,982
2,187
глаза режет. Серый и белый текст на фоне разных цветов (особенно фиолетовый) прям ужасный выбор
 
Последнее редактирование:

oliburn

Известный
307
112
Плохой подбор цветов, я бы сзади сделал палитру цветов, плохое центрирование елементов, видно закон под MoDeRnItY, но чет не прёт
 

Sadow

Известный
1,427
592
Как писали выше плохая цветовая гамма. Также мне не понравилось расположение ввода данных и кнопки. И кажется немного пустоватым это окно авторизации. Хотя и добавить в него больше нечего
 

plalkeo

Известный
825
327
Как писали выше плохая цветовая гамма. Также мне не понравилось расположение ввода данных и кнопки. И кажется немного пустоватым это окно авторизации. Хотя и добавить в него больше нечего
из-за большого размера оно кажется пустым
 

reikton

Потрачен
21
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1692295321176.png

сделай примерно так и глаза резать не будет и выглядит нормально
HTML:
<template>
  <div class="index">
    <Header />
    <main>
      <div class="form-conteiner">
        <div class="form">
          <div class="form-title">
              <section>
                  <h2 class="text-center">Авторизация</h2>
              </section>
          </div>
          <template v-if="errorMessageStyle == false">
            <template v-if="errorMessage != null">
              <template v-if="errorMessageType == 0">
                <div class="form-errors">
                  <ul>
                    <li>{{ errorMessage }}</li>
                  </ul>
                </div>
              </template>
              <template v-else-if="errorMessageType == 1">
                <div class="form-warning">
                  <ul>
                    <li>{{ errorMessage }}</li>
                  </ul>
                </div>
              </template>
              <template v-else-if="errorMessageType == 2">
                <div class="form-success">
                  <ul>
                    <li>{{ errorMessage }}</li>
                  </ul>
                </div>
              </template>
            </template>
          </template>
          <template v-else-if="errorMessageStyle == true">
            <template v-if="errorMessage != null">
              <template v-if="errorMessageType == 0">
                <div class="alert alert-danger">
                  <strong>Ошибка!</strong> {{ errorMessage }}
                </div>
              </template>
              <template v-else-if="errorMessageType == 1">
                <div class="alert alert-warning">
                  <strong>Внимание!</strong> {{ errorMessage }}
                </div>
              </template>
              <template v-else-if="errorMessageType == 2">
                <div class="alert alert-success">
                  <strong>Успешно!</strong> {{ errorMessage }}
                </div>
              </template>
            </template>
          </template>
          <form @submit.prevent="sendLoginData">
            <p style="color: #ccc; margin-top: 1%; margin-bottom: 1%; font-size: 13px;">Имя пользователя:</p>
            <input v-model="username" type="text">

            <p style="color: #ccc; margin-top: 1%; margin-bottom: 1%; font-size: 13px;">Пароль:</p>
            <input v-model="password" type="password">

            <input type="submit" value="Авторизоваться">
            <div class="text-center">
              <router-link to="reset-password" class="reset-message">Забыли пароль? Восстановите его!</router-link>
            </div>
          </form>
        </div>
      </div>
    </main>
  </div>
</template>

<script>
import LoginHandler from '@/services/LoginHandler.js'
import axios from 'axios'
import crypto from 'crypto'
import config from '@/config/config.js'
import Header from '@/components/includes/Header'

export default {
  data () {
    return {
      errorMessageStyle: 1,
      errorMessageType: null,
      logged: false,
      errorMessage: null,
      username: null,
      password: null
    }
  },
  components: {
    Header
  },
  mounted () {
    this.getLoginData()
  },
  methods: {
    async getLoginData () {
      try {
        const response = await LoginHandler.checkUserLoginSession()
        if (response.data.logged === true) {
          this.$router.push('/')
        } else {
          this.errorMessageType = 1
          this.errorMessage = response.data.description
        }
      } catch (ex) {
        console.log(ex)
      }
    },
    async sendLoginData () {
      if (this.username == null || this.username === '') {
        this.errorMessageType = 1
        this.errorMessage = 'Поле для ввода логина не заполнено!'
        return
      }
      if (this.password == null || this.password === '') {
        this.errorMessageType = 1
        this.errorMessage = 'Поле для ввода пароля не заполнено!'
        return
      }
      this.errorMessage = null
      this.password = crypto.createHash('md5').update(this.password).digest('hex')
      const response = await axios({
        url: config.config.serverURL + '/login',
        method: 'POST',
        data: {
          username: this.username,
          password: this.password
        }
      })

      this.logged = response.data.logged
      if (this.logged === true) {
        this.errorMessageType = 2
        this.$cookies.set('username', this.username, new Date(Date.now() + 86400 * 5 * 1000), null, null, false)
        this.$cookies.set('password', this.password, new Date(Date.now() + 86400 * 5 * 1000), null, null, false)
        setTimeout(() => {
          this.$router.push('/')
        }, 1500)
      } else {
        this.errorMessageType = 0
      }
      this.errorMessage = response.data.description
    }
  }
}
</script>
вот тебе код
 

neverlane

t.me/neverlane00
Друг
1,010
1,162
большие отступы и размер кнопки, лучше было бы расположить все по вертикали (инпуты и кнопки), добавил бы скругления к белому боксу, подбор цветов
 
  • Нравится
Реакции: oliburn и Z3roKwq

chapo

tg/inst: @moujeek
Модератор
9,071
12,034
многоуважаемый Артемий Лебедев, я понимаю что за эту работу вам заплатили всего 100.000 рублей, однако я считаю что лучше было бы потратить больше 40 секунд на создание данного шедевра. Я бы сделал все в темных тонах, например фон #222222, основное окно #111111. Затем я бы убрал обводку окошка, сделал бы закругление в 10-15 пикселей и расположил бы все по вертикали. Так же можно уменьшить высоту инпутов и кнопки по вертикали.
 
  • Нравится
Реакции: Улиточка