много багфикса
This commit is contained in:
parent
e858568e9b
commit
3d178ed486
@ -18,9 +18,9 @@ const registerUser = async (req, res, next) => {
|
|||||||
|
|
||||||
console.log('Начало регистрации пользователя с email:', email);
|
console.log('Начало регистрации пользователя с email:', email);
|
||||||
|
|
||||||
if (!name || !email || !password) {
|
if (!name || !email || !password || !dateOfBirth) {
|
||||||
res.status(400);
|
res.status(400);
|
||||||
throw new Error('Пожалуйста, заполните все обязательные поля: имя, email и пароль.');
|
throw new Error('Пожалуйста, заполните все обязательные поля: имя, email, пароль и дату рождения.');
|
||||||
}
|
}
|
||||||
|
|
||||||
const normalizedEmail = email.toLowerCase();
|
const normalizedEmail = email.toLowerCase();
|
||||||
|
@ -18,12 +18,11 @@ const updateUserProfile = async (req, res, next) => {
|
|||||||
// Обновляем только те поля, которые пользователь может изменять
|
// Обновляем только те поля, которые пользователь может изменять
|
||||||
user.name = req.body.name || user.name;
|
user.name = req.body.name || user.name;
|
||||||
|
|
||||||
// Обрабатываем dateOfBirth, учитывая null и пустые строки
|
// Обрабатываем dateOfBirth, но не позволяем удалять её
|
||||||
if (req.body.dateOfBirth === null || req.body.dateOfBirth === '') {
|
if (req.body.dateOfBirth && req.body.dateOfBirth !== '') {
|
||||||
user.dateOfBirth = undefined; // Удаляем поле, если оно пустое или null
|
|
||||||
} else if (req.body.dateOfBirth) {
|
|
||||||
user.dateOfBirth = req.body.dateOfBirth;
|
user.dateOfBirth = req.body.dateOfBirth;
|
||||||
}
|
}
|
||||||
|
// Примечание: Мы больше не позволяем устанавливать dateOfBirth в undefined
|
||||||
|
|
||||||
// Обрабатываем gender, учитывая null и пустые строки
|
// Обрабатываем gender, учитывая null и пустые строки
|
||||||
if (req.body.gender === null || req.body.gender === '') {
|
if (req.body.gender === null || req.body.gender === '') {
|
||||||
|
@ -27,6 +27,7 @@ const userSchema = new mongoose.Schema(
|
|||||||
},
|
},
|
||||||
dateOfBirth: {
|
dateOfBirth: {
|
||||||
type: Date,
|
type: Date,
|
||||||
|
required: [true, 'Пожалуйста, укажите дату рождения'],
|
||||||
},
|
},
|
||||||
gender: {
|
gender: {
|
||||||
type: String,
|
type: String,
|
||||||
|
@ -66,13 +66,6 @@
|
|||||||
<p v-if="currentUserAge">
|
<p v-if="currentUserAge">
|
||||||
Ваш возраст: {{ currentUserAge }} лет
|
Ваш возраст: {{ currentUserAge }} лет
|
||||||
</p>
|
</p>
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="default-range-btn"
|
|
||||||
@click="setDefaultAgeRange"
|
|
||||||
>
|
|
||||||
Установить ±2 года от моего возраста
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -1403,8 +1403,9 @@ onUnmounted(() => {
|
|||||||
.avatar-section {
|
.avatar-section {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
gap: 1rem;
|
gap: 1.5rem; /* увеличиваем отступ между элементами */
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
|
flex-wrap: wrap; /* позволяет кнопке переноситься на новую строку при необходимости */
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar-container {
|
.avatar-container {
|
||||||
@ -1480,6 +1481,7 @@ onUnmounted(() => {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.3rem;
|
gap: 0.3rem;
|
||||||
|
max-width: calc(100% - 175px); /* ограничиваем ширину, чтобы оставить место для кнопки */
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-main-info {
|
.user-main-info {
|
||||||
@ -1507,6 +1509,7 @@ onUnmounted(() => {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
width: 100%; /* заставляем почту занимать всю доступную ширину */
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-badges {
|
.user-badges {
|
||||||
@ -1689,11 +1692,12 @@ onUnmounted(() => {
|
|||||||
.tabs-container {
|
.tabs-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
|
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-btn {
|
.tab-btn {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 0.8rem 1rem;
|
padding: 0.8rem 0.5rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@ -1707,6 +1711,7 @@ onUnmounted(() => {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 0.4rem;
|
gap: 0.4rem;
|
||||||
|
width: 33.333%; /* Явно задаём ширину каждой вкладке */
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-btn.active {
|
.tab-btn.active {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user