modified: main_dc/yalarba/easySite/easySite/app/layouts/default.vue
modified: main_dc/yalarba/easySite/easySite/app/pages/admin/objects.vue modified: main_dc/yalarba/easySite/easySite/app/pages/admin/settings.vue modified: main_dc/yalarba/easySite/easySite/app/pages/admin/users.vue modified: main_dc/yalarba/easySite/easySite/app/pages/auth/login.vue modified: main_dc/yalarba/easySite/easySite/app/pages/auth/register.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 modified: main_dc/yalarba/easySite/easySite/app/pages/objects/search.vue modified: main_dc/yalarba/easySite/easySite/app/pages/profile/edit.vue modified: main_dc/yalarba/easySite/easySite/app/pages/profile/index.vue modified: main_dc/yalarba/easySite/easySite/app/pages/profile/settings.vue modified: main_dc/yalarba/easySite/easySite/app/pages/reviews/index.vue modified: main_dc/yalarba/easySite/easySite/app/pages/reviews/write.vue modified: main_dc/yalarba/easySite/easySite/app/pages/support/[id].vue modified: main_dc/yalarba/easySite/easySite/app/pages/support/create.vue modified: main_dc/yalarba/easySite/easySite/app/pages/support/index.vue modified: main_dc/yalarba/easySite/easySite/nuxt.config.ts modified: main_dc/yalarba/easySite/easySite/package-lock.json modified: main_dc/yalarba/easySite/easySite/package.json add project structure easySite
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- Header -->
|
||||
<header class="bg-white shadow-sm">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex justify-between items-center py-4">
|
||||
<NuxtLink to="/" class="text-xl font-bold text-gray-900">
|
||||
EasySite
|
||||
</NuxtLink>
|
||||
<nav class="flex space-x-4">
|
||||
<NuxtLink
|
||||
to="/"
|
||||
class="text-gray-600 hover:text-gray-900"
|
||||
>
|
||||
Главная
|
||||
</NuxtLink>
|
||||
<NuxtLink
|
||||
to="/objects"
|
||||
class="text-gray-600 hover:text-gray-900"
|
||||
>
|
||||
Объекты
|
||||
</NuxtLink>
|
||||
<NuxtLink
|
||||
to="/auth/login"
|
||||
class="text-gray-600 hover:text-gray-900"
|
||||
>
|
||||
Войти
|
||||
</NuxtLink>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main>
|
||||
<NuxtPage />
|
||||
</main>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray-800 text-white mt-12">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
||||
<p>© 2024 EasySite. Все права защищены.</p>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.router-link-active {
|
||||
@apply text-blue-600 font-medium;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,66 @@
|
||||
<template>
|
||||
<div class="min-h-screen flex items-center justify-center bg-gray-50">
|
||||
<div class="max-w-md w-full space-y-8">
|
||||
<div>
|
||||
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900">
|
||||
Вход в систему
|
||||
</h2>
|
||||
</div>
|
||||
<form class="mt-8 space-y-6" @submit.prevent="handleLogin">
|
||||
<div>
|
||||
<label for="email" class="sr-only">Email</label>
|
||||
<input
|
||||
id="email"
|
||||
v-model="form.email"
|
||||
name="email"
|
||||
type="email"
|
||||
required
|
||||
class="relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-md focus:outline-none focus:ring-indigo-500 focus:border-indigo-500"
|
||||
placeholder="Email"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label for="password" class="sr-only">Пароль</label>
|
||||
<input
|
||||
id="password"
|
||||
v-model="form.password"
|
||||
name="password"
|
||||
type="password"
|
||||
required
|
||||
class="relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-md focus:outline-none focus:ring-indigo-500 focus:border-indigo-500"
|
||||
placeholder="Пароль"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<button
|
||||
type="submit"
|
||||
class="group relative w-full flex justify-center py-2 px-4 border border-transparent text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
|
||||
>
|
||||
Войти
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="text-center">
|
||||
<NuxtLink to="/auth/register" class="text-indigo-600 hover:text-indigo-500">
|
||||
Нет аккаунта? Зарегистрируйтесь
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const form = ref({
|
||||
email: '',
|
||||
password: ''
|
||||
})
|
||||
|
||||
const handleLogin = async () => {
|
||||
// Логика входа
|
||||
console.log('Login attempt:', form.value)
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* Стили если нужны */
|
||||
</style>
|
||||
@@ -0,0 +1,65 @@
|
||||
<template>
|
||||
<div class="min-h-screen flex items-center justify-center bg-gray-50">
|
||||
<div class="max-w-md w-full space-y-8">
|
||||
<div>
|
||||
<h2 class="mt-6 text-center text-3xl font-extrabold text-gray-900">
|
||||
Регистрация
|
||||
</h2>
|
||||
</div>
|
||||
<form class="mt-8 space-y-6" @submit.prevent="handleRegister">
|
||||
<div>
|
||||
<input
|
||||
v-model="form.name"
|
||||
type="text"
|
||||
required
|
||||
class="relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-md focus:outline-none focus:ring-indigo-500 focus:border-indigo-500"
|
||||
placeholder="Имя"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<input
|
||||
v-model="form.email"
|
||||
type="email"
|
||||
required
|
||||
class="relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-md focus:outline-none focus:ring-indigo-500 focus:border-indigo-500"
|
||||
placeholder="Email"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<input
|
||||
v-model="form.password"
|
||||
type="password"
|
||||
required
|
||||
class="relative block w-full px-3 py-2 border border-gray-300 placeholder-gray-500 text-gray-900 rounded-md focus:outline-none focus:ring-indigo-500 focus:border-indigo-500"
|
||||
placeholder="Пароль"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<button
|
||||
type="submit"
|
||||
class="group relative w-full flex justify-center py-2 px-4 border border-transparent text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
|
||||
>
|
||||
Зарегистрироваться
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="text-center">
|
||||
<NuxtLink to="/auth/login" class="text-indigo-600 hover:text-indigo-500">
|
||||
Уже есть аккаунт? Войдите
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const form = ref({
|
||||
name: '',
|
||||
email: '',
|
||||
password: ''
|
||||
})
|
||||
|
||||
const handleRegister = async () => {
|
||||
console.log('Register attempt:', form.value)
|
||||
}
|
||||
</script>
|
||||
@@ -1,44 +1,34 @@
|
||||
<!-- pages/index.vue -->
|
||||
<template>
|
||||
<div class="container">
|
||||
<h1>Добро пожаловать в мое приложение!</h1>
|
||||
<div class="links">
|
||||
<NuxtLink to="/register" class="btn">Регистрация</NuxtLink>
|
||||
<NuxtLink to="/login" class="btn">Вход</NuxtLink>
|
||||
<NuxtLink to="/profile" class="btn">Профиль</NuxtLink>
|
||||
<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"
|
||||
>
|
||||
Войти
|
||||
</NuxtLink>
|
||||
<NuxtLink
|
||||
to="/auth/register"
|
||||
class="bg-green-600 text-white px-6 py-3 rounded-lg hover:bg-green-700"
|
||||
>
|
||||
Регистрация
|
||||
</NuxtLink>
|
||||
<NuxtLink
|
||||
to="/objects"
|
||||
class="bg-gray-600 text-white px-6 py-3 rounded-lg hover:bg-gray-700"
|
||||
>
|
||||
Смотреть объекты
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
// Главная страница
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.links {
|
||||
margin-top: 2rem;
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 0.75rem 1.5rem;
|
||||
background: #3b82f6;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
border-radius: 0.5rem;
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
background: #2563eb;
|
||||
}
|
||||
</style>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Страница</h1>
|
||||
<p>Содержимое страницы</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -4,9 +4,13 @@ export default defineNuxtConfig({
|
||||
devtools: { enabled: true },
|
||||
|
||||
modules: [
|
||||
'@nuxt/content',
|
||||
'@nuxt/image',
|
||||
'@nuxt/ui',
|
||||
'@nuxt/eslint'
|
||||
]
|
||||
],
|
||||
runtimeConfig: {
|
||||
public: {
|
||||
apiBase: process.env.API_BASE_URL
|
||||
}
|
||||
}
|
||||
})
|
||||
+105
-2635
File diff suppressed because it is too large
Load Diff
@@ -10,16 +10,16 @@
|
||||
"postinstall": "nuxt prepare"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nuxt/content": "^3.7.1",
|
||||
"@nuxt/eslint": "^1.9.0",
|
||||
"@nuxt/image": "^1.11.0",
|
||||
"@nuxt/ui": "^4.1.0",
|
||||
"@pinia/nuxt": "^0.11.2",
|
||||
"better-sqlite3": "^12.4.1",
|
||||
"eslint": "^9.38.0",
|
||||
"nuxt": "^4.2.0",
|
||||
"pinia": "^3.0.3",
|
||||
"typescript": "^5.9.3",
|
||||
"vue": "^3.5.22",
|
||||
"vue-router": "^4.6.3",
|
||||
"@pinia/nuxt": "^1.0.0",
|
||||
"pinia": "^2.0.0"
|
||||
"vue-router": "^4.6.3"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user