diff --git a/REPORT.md b/REPORT.md
new file mode 100644
index 0000000..323b713
--- /dev/null
+++ b/REPORT.md
@@ -0,0 +1,48 @@
+# Анализ Проекта: PermitPilot (NextN)
+
+## Назначение Проекта
+Этот проект представляет собой **Систему управления заявками на получение разрешений (Permit Application Management System)**. Его основная цель — упростить и ускорить процесс подачи и проверки строительных разрешений с помощью искусственного интеллекта (Genkit).
+
+## Технологический Стек
+* **Frontend:** Next.js 15 (App Router), Tailwind CSS, Shadcn/UI.
+* **Backend / Инфраструктура:** Firebase (Firestore, Auth), Firebase App Hosting.
+* **AI:** Genkit (Google AI SDK) для реализации логики генеративного ИИ.
+
+## Исправлено (Fixed)
+В ходе повторного анализа были обнаружены и устранены критические ошибки сборки:
+
+1. **TypeScript & Build Errors:**
+ * Исправлен компонент `Calendar` (`src/components/ui/calendar.tsx`): обновлена совместимость с `react-day-picker` v9 (замена устаревших свойств `IconLeft`/`IconRight` на `Chevron`).
+ * Исправлен скрипт `src/lib/seed-db.ts`: код переписан для использования модульного синтаксиса Firebase SDK (`doc(db, col, id)` вместо `col.doc(id)`).
+ * **Статус:** `npm run typecheck` теперь проходит успешно без ошибок.
+
+## Что нужно доработать (Pending Work)
+Следующие задачи требуют внимания для доведения проекта до продакшн-готовности:
+
+### 1. Внедрение RAG (Retrieval-Augmented Generation)
+* **Статус:** Не реализовано.
+* **Детали:** Валидатор кодов (`Code Validator`) использует заглушки (`mockCodes`). Необходимо подключить векторный поиск для автоматического подбора релевантных строительных норм.
+
+### 2. Тестирование (Critical)
+* **Статус:** Отсутствует.
+* **Детали:** Нет ни unit-тестов для AI-логики, ни интеграционных тестов. Это создает высокий риск регрессий при изменениях.
+
+### 3. Аутентификация
+* **Статус:** Базовая (Анонимная).
+* **Детали:** Необходима полноценная аутентификация через Email/Google и разделение ролей (User vs Admin/Inspector).
+
+### 4. Конфигурация
+* **Статус:** Хардкод.
+* **Детали:** `firebaseConfig` находится в коде. Требуется вынос в `.env` файлы.
+
+## Что нужно проверить (Verification Plan)
+Рекомендуется провести следующие проверки вручную или с помощью аудита:
+
+1. **Security Rules Audit:**
+ * Проверить `firestore.rules`. Текущие правила обеспечивают изоляцию пользователей (`/users/{userId}`), но стоит убедиться, что публичные коллекции (`municipalities`) действительно должны быть доступны всем на чтение.
+2. **Mobile Responsiveness:**
+ * Проверить корректность отображения форм на мобильных устройствах, особенно таблицы и большие текстовые поля ввода.
+3. **Firebase Quotas:**
+ * Проверить использование квот Firestore, так как AI-потоки могут генерировать много чтений/записей.
+4. **Error Handling UX:**
+ * Проверить, как интерфейс ведет себя при ошибках сети или таймаутах Genkit (сейчас пользователь получает только общие уведомления).
diff --git a/src/components/ui/calendar.tsx b/src/components/ui/calendar.tsx
index 3cd65cc..774d116 100644
--- a/src/components/ui/calendar.tsx
+++ b/src/components/ui/calendar.tsx
@@ -54,12 +54,12 @@ function Calendar({
...classNames,
}}
components={{
- IconLeft: ({ className, ...props }) => (
-
- ),
- IconRight: ({ className, ...props }) => (
-
- ),
+ Chevron: ({ className, ...props }) => {
+ if (props.orientation === 'left') {
+ return
+ }
+ return
+ },
}}
{...props}
/>
diff --git a/src/lib/seed-db.ts b/src/lib/seed-db.ts
index ecd0b00..a37fdb6 100644
--- a/src/lib/seed-db.ts
+++ b/src/lib/seed-db.ts
@@ -1,5 +1,5 @@
"use server";
-import { collection, writeBatch, getDocs, Firestore } from "firebase/firestore";
+import { collection, writeBatch, getDocs, Firestore, doc } from "firebase/firestore";
import { mockMunicipalities, mockPermits } from "./data";
/**
@@ -17,7 +17,7 @@ export async function seedDatabase(firestore: Firestore, userId: string) {
if (municipalitiesSnapshot.empty) {
const municipalitiesBatch = writeBatch(firestore);
mockMunicipalities.forEach((municipality) => {
- const docRef = collection(firestore, "municipalities").doc(municipality.id);
+ const docRef = doc(firestore, "municipalities", municipality.id);
municipalitiesBatch.set(docRef, municipality);
});
await municipalitiesBatch.commit();
@@ -33,7 +33,7 @@ export async function seedDatabase(firestore: Firestore, userId: string) {
const permitsBatch = writeBatch(firestore);
mockPermits.forEach((permit) => {
// Note: In a real scenario, you'd likely want unique IDs, but for mock data this is okay.
- const docRef = collection(firestore, `users/${userId}/permits`).doc(permit.id);
+ const docRef = doc(firestore, `users/${userId}/permits`, permit.id);
permitsBatch.set(docRef, permit);
});
await permitsBatch.commit();