Files
uldp-degree-mangement-system/models/hero.js
r2xrzh9q2z-lab d1b931d547 first commit
2026-02-02 11:07:09 +07:00

97 lines
2.6 KiB
JavaScript

const mongoose = require('mongoose');
const heroSchema = new mongoose.Schema({
hero: {
title: {
type: String,
required: true
},
description: {
type: String,
required: true
},
backgroundImage: {
type: String,
required: true
},
overlayColor: {
type: String,
default: 'rgba(0, 0, 0, 0.35)'
},
enableScrollspy: {
type: Boolean,
default: true
},
backgroundPosition: {
type: String,
default: 'center center'
},
containerStyles: {
width: { type: String, default: '98%' },
height: { type: String, default: '130vh' },
margin: { type: String, default: '0 auto' },
borderRadius: { type: String, default: '2vw' },
overflow: { type: String, default: 'hidden' },
position: { type: String, default: 'relative' },
top: { type: String, default: '-10vh' }
},
titleClass: {
type: String,
default: 'uk-heading-large uk-text-center uk-text-white'
},
titleStyles: {
fontSize: { type: String, default: 'clamp(2rem, 5vw, 4.5rem)' },
fontWeight: { type: String, default: 'bold' },
lineHeight: { type: String, default: '1.2' },
marginBottom: { type: String, default: '1.5rem' },
color: { type: String, default: 'white' },
textShadow: { type: String, default: '0 2px 10px rgba(0, 0, 0, 0.3)' }
},
descriptionClass: {
type: String,
default: 'uk-text-white'
},
descriptionStyles: {
fontSize: { type: String, default: 'clamp(1rem, 1.5vw, 1.25rem)' },
maxWidth: { type: String, default: '800px' },
margin: { type: String, default: '0 auto 2rem' },
lineHeight: { type: String, default: '1.6' },
color: { type: String, default: 'white' },
textShadow: { type: String, default: '0 1px 5px rgba(0, 0, 0, 0.3)' }
}
},
button: {
label: {
type: String,
default: 'Book Your Adventure'
},
href: {
type: String,
default: '/booking'
},
type: {
type: String,
default: 'magic'
}
},
contactBox: {
enabled: {
type: Boolean,
default: true
},
position: {
position: { type: String, default: 'absolute' },
bottom: { type: String, default: '3rem' },
left: { type: String, default: '50%' },
transform: { type: String, default: 'translateX(-50%)' },
width: { type: String, default: '100%' },
zIndex: { type: Number, default: 3 },
padding: { type: String, default: '0 1rem' }
}
}
}, {
timestamps: true
});
module.exports = mongoose.model('Hero', heroSchema);