modified: main_dc/yalarba/easySite/easySite/app/components/forms/LoginForm.vue

modified:   main_dc/yalarba/easySite/easySite/app/components/forms/ObjectForm.vue
	modified:   main_dc/yalarba/easySite/easySite/app/components/layout/Header.vue
	modified:   main_dc/yalarba/easySite/easySite/app/components/objects/ObjectCard.vue
	new file:   main_dc/yalarba/easySite/easySite/app/composables/objects/TourCard.vue
	modified:   main_dc/yalarba/easySite/easySite/app/composables/useAuth.ts
	modified:   main_dc/yalarba/easySite/easySite/app/composables/useObjects.ts
	modified:   main_dc/yalarba/easySite/easySite/app/layouts/auth.vue
	modified:   main_dc/yalarba/easySite/easySite/app/layouts/default.vue
	modified:   main_dc/yalarba/easySite/easySite/app/middleware/auth.ts
	modified:   main_dc/yalarba/easySite/easySite/app/pages/auth/login.vue
	modified:   main_dc/yalarba/easySite/easySite/app/pages/index.vue
	modified:   main_dc/yalarba/easySite/easySite/app/pages/objects/[id]/edit.vue
	modified:   main_dc/yalarba/easySite/easySite/app/pages/objects/[id]/index.vue
	modified:   main_dc/yalarba/easySite/easySite/app/pages/objects/create.vue
	modified:   main_dc/yalarba/easySite/easySite/app/pages/objects/index.vue
	modified:   main_dc/yalarba/easySite/easySite/app/pages/objects/my-objects.vue
add pages for easysite102.ru and a lot of ather thinks
This commit is contained in:
2025-10-29 01:51:31 +05:00
parent 5c609a3641
commit b3d7de5857
17 changed files with 1720 additions and 150 deletions
@@ -1,34 +1,93 @@
<template>
<div class="min-h-screen bg-gray-50">
<div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8">
<div class="text-center">
<h1 class="text-4xl font-bold text-gray-900 mb-8">
Добро пожаловать в EasySite
</h1>
<p class="text-xl text-gray-600 mb-8">
Платформа для создания страницы в интернете, продивижения туристических услуг
</p>
<div class="space-x-4">
<NuxtLink
to="/auth/login"
class="bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700"
<!-- Hero Section -->
<section class="hero-section">
<div class="container">
<div class="relative z-10 py-20">
<div class="max-w-2xl mx-auto text-center">
<h1 class="text-5xl font-bold mb-6">База объектов для путешествий</h1>
<p class="text-xl mb-8 opacity-90">Добавляйте и находите лучшие места для ваших маршрутов</p>
<!-- Простой поиск -->
<div class="max-w-xl mx-auto mb-12">
<div class="flex gap-2">
<input
type="text"
placeholder="Поиск объектов..."
class="form-input flex-1"
@keyup.enter="handleSearch"
v-model="searchQuery"
>
<button @click="handleSearch" class="btn btn-primary">
Найти
</button>
</div>
</div>
<!-- Кнопки авторизации -->
<div class="flex gap-4 justify-center">
<NuxtLink to="/auth/login" class="btn btn-outline text-lg px-8 py-3">
Войти
</NuxtLink>
<NuxtLink to="/auth/register" class="btn btn-primary text-lg px-8 py-3">
Регистрация
</NuxtLink>
</div>
</div>
</div>
</div>
</section>
<!-- Быстрая навигация -->
<section class="py-16 bg-white">
<div class="container">
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-4xl mx-auto">
<NuxtLink
to="/objects"
class="category-card text-center group"
>
Войти
<div class="category-card__icon group-hover:bg-primary-200">
🔍
</div>
<h3 class="font-semibold text-lg mb-2">Все объекты</h3>
<p class="text-sm text-gray-600">Просмотр всей базы объектов</p>
</NuxtLink>
<NuxtLink
to="/auth/register"
class="bg-green-600 text-white px-6 py-3 rounded-lg hover:bg-green-700"
<NuxtLink
to="/objects/my-objects"
class="category-card text-center group"
>
Регистрация
<div class="category-card__icon group-hover:bg-primary-200">
📝
</div>
<h3 class="font-semibold text-lg mb-2">Мои объекты</h3>
<p class="text-sm text-gray-600">Управление вашими объектами</p>
</NuxtLink>
<NuxtLink
to="/objects"
class="bg-gray-600 text-white px-6 py-3 rounded-lg hover:bg-gray-700"
<NuxtLink
to="/objects/create"
class="category-card text-center group"
>
Смотреть объекты
<div class="category-card__icon group-hover:bg-primary-200">
</div>
<h3 class="font-semibold text-lg mb-2">Добавить объект</h3>
<p class="text-sm text-gray-600">Создать новую запись</p>
</NuxtLink>
</div>
</div>
</div>
</section>
</div>
</template>
</template>
<script setup lang="ts">
const searchQuery = ref('')
const handleSearch = () => {
if (searchQuery.value.trim()) {
navigateTo(`/objects?search=${encodeURIComponent(searchQuery.value)}`)
} else {
navigateTo('/objects')
}
}
</script>