<%= title %>

<%= isEdit ? 'Update activity details' : 'Create a new activity' %>

Back to List
<% if (!isEdit) { %>
Hero Section
Title for the activities page header
<% } %>
Basic Information
$
Leave empty to auto-generate
/
Season & Age
>
>
>
>
Min
Max
<% for (let i=1; i <=5; i++) { %> > <% } %>
Locations
<% const allLocations=['vietnam', 'thailand' , 'philippines' , 'malaysia' , 'china' , 'portugal' ]; %> <% allLocations.forEach(loc=> { %>
>
<% }) %>

Featured Image
Path to the main activity image (used in listings)
Camp Details

Use the editor above to add, edit, or remove menu items. The JSON will be saved automatically.
Use the editor above to add, edit, or remove upcoming tours. The JSON will be saved automatically.

Use the editor above to manage slides. JSON is saved automatically.

Manage all camp sections with visual editors. Changes are automatically synchronized to JSON.
Overview Section
Location Section
Accommodation Section
Program Section
Meals Section
Team Section
Insurance Section
Insurance Package
Cancellation Policy
Booking Sessions
<% if (isEdit && data._id) { %>
Booking Submissions
<% } %>
Image
<% // Hiển thị camp image: data.image và campDetail.hero.bgImage luôn đồng bộ // Ưu tiên data.image (main field), fallback campDetail/camp-detail hero bgImage let tipImg = (data && data.image) || (data && data.campDetail && data.campDetail.hero && data.campDetail.hero.bgImage) || (data && data['camp-detail'] && data['camp-detail'].hero && data['camp-detail'].hero.bgImage) || '/images/placeholder.png'; let tipImgSrc = (tipImg && tipImg.startsWith && (tipImg.startsWith('http') || tipImg.startsWith('/'))) ? tipImg : ('/uploads/activity/' + tipImg); %>
Camp Image
Camp image (synchronized with camp record)
<% if (isEdit) { %>
Settings
Lower numbers appear first
>

<% if (data.createdAt) { %> <% } %> <% if (data.updatedAt) { %> <% } %>
ID: <%= data._id %>
Created: <%= new Date(data.createdAt).toLocaleDateString('vi-VN') %>
Updated: <%= new Date(data.updatedAt).toLocaleDateString('vi-VN') %>
<% } %>