# کد اتصال به app.js

این خطوط باید **بعد از session middleware** و **قبل از 404 handler** قرار بگیرند.

## حالت عادی: پنل در `/admin`

```js
const adminRoutes = require('./routes/admin');
app.use('/admin', adminRoutes);
```

در `.env`:

```env
ADMIN_BASE_PATH=/admin
```

## حالت ساب‌دامین: پنل در ریشه `admin.example.com`

در برنامه‌ای که برای ساب‌دامین اجرا می‌شود، ابتدا همان session، view engine، static و DB فعلی را لود کنید، سپس:

```js
const adminRoutes = require('./routes/admin');
app.use('/', adminRoutes);
```

در `.env`:

```env
ADMIN_BASE_PATH=/
```

نمونه حداقلی بخش‌های ضروری برنامه:

```js
const path = require('path');
const express = require('express');
const session = require('express-session');
const adminRoutes = require('./routes/admin');

const app = express();
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
app.use('/assets', express.static(path.join(__dirname, 'public/assets')));

// دقیقا همان تنظیمات session و session store پروژه اصلی را اینجا استفاده کنید.
app.use(session({
  secret: process.env.SESSION_SECRET,
  resave: false,
  saveUninitialized: false,
  // store: همان store پروژه اصلی
}));

// مسیرهای login/logout فعلی باید قبل از پنل در دسترس باشند.
// app.use('/', require('./routes/auth'));

app.use('/', adminRoutes);
```

برای حفظ لاگین بین دامنه اصلی و ساب‌دامین، هر دو برنامه باید از یک session store و یک `SESSION_SECRET` استفاده کنند. در صورت نیاز، cookie را برای دامنه اصلی تنظیم کنید؛ مثلا `.example.com`. این تنظیم را فقط روی HTTPS انجام دهید.
