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:
@@ -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>
|
||||
Reference in New Issue
Block a user