{# templates/manuscripts.html.twig #}
{% extends "base.html.twig" %}
{% block title %}
Submit Manuscript{% if journal is defined and journal is not null and journal.title is defined %} - {{ journal.title }}{% endif %}
{% endblock %}
{% block metas %}
<meta name="description" content="Submit your manuscript to {% if journal is defined and journal is not null and journal.title is defined %}{{ journal.title }}{% else %}Medivance Science Press{% endif %}. Fast, peer-reviewed open access publishing.">
<meta name="keywords" content="Submit Manuscript, Online Submission, Open Access, Peer Review{% if journal is defined and journal is not null and journal.title is defined %}, {{ journal.title }}{% else %}, Medivance Science Press{% endif %}">
{% endblock %}
{% block body %}
{{ include('inc/header.html.twig') }}
{% if journal is defined and journal is not null %}
{{ include('inc/journal-header.html.twig') }}
<section class="journal">
{{ include('inc/journal-menu.html.twig') }}
</section>
{% endif %}
<section class="page manuscript-submission-page">
<section class="block">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="submission-header text-center">
<h2>Submit Manuscript</h2>
{% if journal is defined and journal is not null and journal.title is defined %}
<h4 class="journal-name-sub">{{ journal.title }}</h4>
{% endif %}
<p class="lead-text">Welcome to the online manuscript submission portal. Please fill out the form below and attach your manuscript file for peer review consideration.</p>
</div>
{% if success and manuscriptNumber is defined %}
<div class="alert alert-success submission-success-box">
<div class="success-icon">✔</div>
<h3>Manuscript Submitted Successfully!</h3>
<p>Thank you for submitting your work to <strong>{{ submittedJournalTitle|default(journal is defined and journal is not null ? journal.title : 'Medivance Science Press') }}</strong>.</p>
<p class="tracking-number">Manuscript Tracking Number: <span>#{{ manuscriptNumber }}</span></p>
<p>An official acknowledgment has been sent to your primary email address. Our editorial team will begin the initial editorial evaluation and peer review process.</p>
<a href="{{ absolute_url('/manuscripts') }}" class="btn btn-outline-primary mt-3">Submit Another Manuscript</a>
</div>
{% else %}
{% if error is defined and error is not null %}
<div class="alert alert-danger submission-error-box">
<strong>Submission Error:</strong> {{ error }}
</div>
{% endif %}
<div class="submission-form-container">
<form method="post" enctype="multipart/form-data" action="{{ app.request.requestUri }}" class="manuscript-form" id="manuscriptSubmitForm">
{# Section 1: Target Journal #}
<div class="form-section">
<h3 class="section-title"><span class="step-num">1</span> Target Journal & Article Information</h3>
<div class="form-group mb-3">
<label for="journalId"><strong>Choose Target Journal <span class="text-danger">*</span></strong></label>
<select name="journalId" id="journalId" class="form-control form-select" required>
<option value="">-- Select Target Journal --</option>
{% for item in allJournals %}
<option value="{{ item.id }}"
{% if journal is defined and journal is not null and (item.id == journal.id or item.url == journal.url or (item.abbreviation is defined and journal.abbreviation is defined and item.abbreviation == journal.abbreviation)) %}
selected="selected"
{% endif %}>
{{ item.title }}
</option>
{% endfor %}
</select>
</div>
<div class="form-group mb-3">
<label for="title"><strong>Manuscript Title <span class="text-danger">*</span></strong></label>
<input type="text" name="title" id="title" class="form-control" placeholder="Full title of your manuscript" required>
</div>
<div class="row">
<div class="col-md-6 form-group mb-3">
<label for="articleType"><strong>Article Type</strong></label>
<select name="articleType" id="articleType" class="form-control form-select">
<option value="Research Article">Research Article</option>
<option value="Review Article">Review Article</option>
<option value="Case Report">Case Report</option>
<option value="Short Communication">Short Communication</option>
<option value="Mini-Review">Mini-Review</option>
<option value="Editorial">Editorial</option>
<option value="Letter to Editor">Letter to the Editor</option>
</select>
</div>
<div class="col-md-6 form-group mb-3">
<label for="keywords"><strong>Keywords</strong></label>
<input type="text" name="keywords" id="keywords" class="form-control" placeholder="e.g. Clinical Trial, Malaria, Pathology (comma separated)">
</div>
</div>
<div class="form-group mb-3">
<label for="abstract"><strong>Abstract / Summary</strong></label>
<textarea name="abstract" id="abstract" class="form-control" rows="5" placeholder="Paste your manuscript abstract here..."></textarea>
</div>
</div>
{# Section 2: Corresponding / Primary Author #}
<div class="form-section">
<h3 class="section-title"><span class="step-num">2</span> Primary / Corresponding Author</h3>
<div class="row">
<div class="col-md-2 form-group mb-3">
<label for="primaryAuthorTitle"><strong>Title</strong></label>
<select name="primaryAuthorTitle" id="primaryAuthorTitle" class="form-control form-select">
<option value="Dr.">Dr.</option>
<option value="Prof.">Prof.</option>
<option value="Mr.">Mr.</option>
<option value="Ms.">Ms.</option>
<option value="Mrs.">Mrs.</option>
</select>
</div>
<div class="col-md-5 form-group mb-3">
<label for="primaryAuthorFirstName"><strong>First Name <span class="text-danger">*</span></strong></label>
<input type="text" name="primaryAuthorFirstName" id="primaryAuthorFirstName" class="form-control" placeholder="First Name" required>
</div>
<div class="col-md-5 form-group mb-3">
<label for="primaryAuthorLastName"><strong>Last Name / Other Names <span class="text-danger">*</span></strong></label>
<input type="text" name="primaryAuthorLastName" id="primaryAuthorLastName" class="form-control" placeholder="Last Name" required>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group mb-3">
<label for="primaryAuthorEmail"><strong>Email Address <span class="text-danger">*</span></strong></label>
<input type="email" name="primaryAuthorEmail" id="primaryAuthorEmail" class="form-control" placeholder="author@institution.edu" required>
</div>
<div class="col-md-6 form-group mb-3">
<label for="primaryAuthorPhone"><strong>Phone Number</strong></label>
<input type="text" name="primaryAuthorPhone" id="primaryAuthorPhone" class="form-control" placeholder="+1 (555) 000-0000">
</div>
</div>
<div class="row">
<div class="col-md-6 form-group mb-3">
<label for="primaryAuthorAffiliation"><strong>Affiliation / Department / University</strong></label>
<input type="text" name="primaryAuthorAffiliation" id="primaryAuthorAffiliation" class="form-control" placeholder="e.g. Department of Medicine, University Hospital">
</div>
<div class="col-md-6 form-group mb-3">
<label for="primaryAuthorCountry"><strong>Country</strong></label>
<input type="text" name="primaryAuthorCountry" id="primaryAuthorCountry" class="form-control" placeholder="e.g. United States, Nigeria, India, United Kingdom">
</div>
</div>
</div>
{# Section 3: Co-Authors #}
<div class="form-section">
<div class="d-flex justify-content-between align-items-center mb-3">
<h3 class="section-title mb-0"><span class="step-num">3</span> Co-Authors (Optional)</h3>
<button type="button" class="btn btn-sm btn-outline-secondary" id="btnAddCoAuthor">+ Add Co-Author</button>
</div>
<div id="coAuthorsContainer">
{# Dynamically appended co-authors appear here #}
</div>
</div>
{# Section 4: File Uploads #}
<div class="form-section">
<h3 class="section-title"><span class="step-num">4</span> Manuscript Files</h3>
<div class="form-group mb-4">
<label for="manuscriptFile"><strong>Manuscript Document <span class="text-danger">*</span></strong></label>
<input type="file" name="manuscriptFile" id="manuscriptFile" class="form-control" accept=".doc,.docx,.pdf,.rtf" required>
<small class="text-muted">Accepted file formats: .doc, .docx, .pdf, .rtf (Max size: 50MB)</small>
</div>
<div class="form-group mb-3">
<label for="coverLetterFile"><strong>Cover Letter / Supplementary Material (Optional)</strong></label>
<input type="file" name="coverLetterFile" id="coverLetterFile" class="form-control" accept=".doc,.docx,.pdf,.rtf,.zip,.rar">
<small class="text-muted">Accepted formats: .doc, .docx, .pdf, .zip, .rar</small>
</div>
</div>
{# Section 5: Comments & Declaration #}
<div class="form-section">
<h3 class="section-title"><span class="step-num">5</span> Declaration & Submit</h3>
<div class="form-group mb-3">
<label for="comments"><strong>Comments / Note to Editor (Optional)</strong></label>
<textarea name="comments" id="comments" class="form-control" rows="3" placeholder="Any additional notes or instructions for the editors..."></textarea>
</div>
<div class="form-check mb-4">
<input type="checkbox" class="form-check-input" id="declarationCheck" required>
<label class="form-check-label" for="declarationCheck">
I confirm that this manuscript is original, has not been published previously, is not under consideration for publication elsewhere, and that all named authors have agreed to its submission.
</label>
</div>
<div class="text-center pt-3">
<button type="submit" class="btn btn-submit-manuscript" id="btnSubmit">
Submit Manuscript
</button>
</div>
</div>
</form>
</div>
{% endif %}
</div>
</div>
</div>
</section>
</section>
<style>
.manuscript-submission-page {
padding: 30px 0 60px;
background: #fdfdfd;
}
.submission-header {
margin-bottom: 35px;
}
.submission-header h2 {
font-size: 36px;
font-weight: 700;
color: #222;
margin-bottom: 10px;
}
.journal-name-sub {
color: #d98d37;
font-size: 22px;
margin-bottom: 15px;
font-weight: 600;
}
.lead-text {
font-size: 16px;
color: #666;
max-width: 800px;
margin: 0 auto;
}
.submission-form-container {
background: #ffffff;
border-radius: 10px;
box-shadow: 0 4px 20px rgba(0,0,0,0.06);
border: 1px solid #eef0f2;
padding: 35px;
max-width: 950px;
margin: 0 auto;
}
.form-section {
background: #fafbfc;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 25px 30px;
margin-bottom: 30px;
}
.section-title {
font-size: 20px;
font-weight: 600;
color: #333;
margin-bottom: 20px;
display: flex;
align-items: center;
}
.step-num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
background: #d98d37;
color: #fff;
border-radius: 50%;
margin-right: 12px;
font-size: 16px;
font-weight: 700;
}
.manuscript-form label {
font-size: 14px;
color: #444;
margin-bottom: 6px;
display: block;
}
.manuscript-form input.form-control,
.manuscript-form select.form-control,
.manuscript-form textarea.form-control {
background: #fff;
border: 1px solid #ced4da;
border-radius: 6px;
padding: 10px 14px;
font-size: 15px;
width: 100%;
box-sizing: border-box;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.manuscript-form input.form-control:focus,
.manuscript-form select.form-control:focus,
.manuscript-form textarea.form-control:focus {
border-color: #d98d37;
box-shadow: 0 0 0 3px rgba(217, 141, 55, 0.2);
outline: 0;
}
.btn-submit-manuscript {
background: #d98d37;
color: #fff;
font-size: 18px;
font-weight: 600;
padding: 14px 45px;
border-radius: 30px;
border: none;
cursor: pointer;
box-shadow: 0 4px 15px rgba(217, 141, 55, 0.35);
transition: all 0.25s ease;
}
.btn-submit-manuscript:hover {
background: #c37b29;
color: #fff;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(217, 141, 55, 0.45);
}
.submission-success-box {
background: #f0fdf4;
border: 1px solid #bbf7d0;
border-radius: 12px;
padding: 40px;
text-align: center;
max-width: 800px;
margin: 30px auto;
}
.success-icon {
font-size: 50px;
color: #16a34a;
margin-bottom: 15px;
}
.submission-success-box h3 {
color: #15803d;
font-size: 26px;
font-weight: 700;
margin-bottom: 15px;
}
.tracking-number {
font-size: 18px;
color: #333;
margin: 20px 0;
background: #e2fbe8;
display: inline-block;
padding: 10px 24px;
border-radius: 8px;
border: 1px dashed #22c55e;
}
.tracking-number span {
color: #166534;
font-weight: 800;
font-size: 20px;
}
.co-author-card {
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 20px;
margin-bottom: 15px;
position: relative;
}
.btn-remove-coauthor {
position: absolute;
top: 15px;
right: 15px;
color: #dc3545;
background: transparent;
border: none;
font-size: 14px;
cursor: pointer;
}
.btn-remove-coauthor:hover {
text-decoration: underline;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
var btnAdd = document.getElementById('btnAddCoAuthor');
var container = document.getElementById('coAuthorsContainer');
var coAuthorIndex = 0;
if (btnAdd && container) {
btnAdd.addEventListener('click', function() {
coAuthorIndex++;
var card = document.createElement('div');
card.className = 'co-author-card';
card.innerHTML =
'<button type="button" class="btn-remove-coauthor">× Remove</button>' +
'<h5 class="mb-3">Co-Author #' + coAuthorIndex + '</h5>' +
'<div class="row">' +
'<div class="col-md-2 form-group mb-3">' +
'<label>Title</label>' +
'<select name="coAuthorTitle[]" class="form-control form-select">' +
'<option value="Dr.">Dr.</option>' +
'<option value="Prof.">Prof.</option>' +
'<option value="Mr.">Mr.</option>' +
'<option value="Ms.">Ms.</option>' +
'<option value="Mrs.">Mrs.</option>' +
'</select>' +
'</div>' +
'<div class="col-md-5 form-group mb-3">' +
'<label>First Name</label>' +
'<input type="text" name="coAuthorFirstName[]" class="form-control" placeholder="First Name">' +
'</div>' +
'<div class="col-md-5 form-group mb-3">' +
'<label>Last Name</label>' +
'<input type="text" name="coAuthorLastName[]" class="form-control" placeholder="Last Name">' +
'</div>' +
'</div>' +
'<div class="row">' +
'<div class="col-md-6 form-group mb-3">' +
'<label>Email Address</label>' +
'<input type="email" name="coAuthorEmail[]" class="form-control" placeholder="co-author@institution.edu">' +
'</div>' +
'<div class="col-md-6 form-group mb-3">' +
'<label>Affiliation</label>' +
'<input type="text" name="coAuthorAffiliation[]" class="form-control" placeholder="Department / Institution">' +
'</div>' +
'</div>' +
'<div class="row">' +
'<div class="col-md-6 form-group mb-2">' +
'<label>Country</label>' +
'<input type="text" name="coAuthorCountry[]" class="form-control" placeholder="Country">' +
'</div>' +
'</div>';
var btnRemove = card.querySelector('.btn-remove-coauthor');
btnRemove.addEventListener('click', function() {
card.remove();
});
container.appendChild(card);
});
}
});
</script>
{{ include('inc/footer.html.twig') }}
{% endblock %}