div.full-size.pdf(ng-controller="PdfController")
	.toolbar.toolbar-tall
		.btn-group(
			dropdown,
			tooltip-html="'#{translate('recompile_pdf')} <span class=\"keyboard-shortcut\">({{modifierKey}} + Enter)</span>'"
			tooltip-class="keyboard-tooltip"
			tooltip-popup-delay="500"
			tooltip-append-to-body="true"
			tooltip-placement="bottom"
		)
			a.btn.btn-info(
				href,
				ng-disabled="pdf.compiling",
				ng-click="recompile()"
			)
				i.fa.fa-refresh(
					ng-class="{'fa-spin': pdf.compiling }"
				)
				| &nbsp;&nbsp;
				span(ng-show="!pdf.compiling") #{translate("recompile")}
				span(ng-show="pdf.compiling") #{translate("compiling")}...
			a.btn.btn-info.dropdown-toggle(
				href,
				ng-disabled="pdf.compiling",
				dropdown-toggle
			)
				span.caret
			ul.dropdown-menu.dropdown-menu-right
				li.dropdown-header #{translate("compile_mode")}
				li
					a(href, ng-click="draft = false")
						i.fa.fa-fw(ng-class="{'fa-check': !draft}")
						| &nbsp;#{translate("normal")}
				li
					a(href, ng-click="draft = true")
						i.fa.fa-fw(ng-class="{'fa-check': draft}")
						| &nbsp;#{translate("fast")}&nbsp;
						span.subdued [draft]
		a.log-btn(
			href
			ng-click="toggleLogs()"
			ng-class="{ 'active': shouldShowLogs == true }"
			tooltip="#{translate('logs_and_output_files')}"
			tooltip-placement="bottom"
		)
			i.fa.fa-file-text-o
			span.label(
				ng-show="pdf.logEntries.warnings.length + pdf.logEntries.errors.length > 0"
				ng-class="{\
					'label-warning': pdf.logEntries.errors.length == 0,\
					'label-danger': pdf.logEntries.errors.length > 0\
				}"
			) {{ pdf.logEntries.errors.length + pdf.logEntries.warnings.length }}
			
		a(
			ng-href="{{pdf.downloadUrl || pdf.url}}"
			target="_blank"
			ng-if="pdf.url"
			tooltip="#{translate('download_pdf')}"
			tooltip-placement="bottom"
		)
			i.fa.fa-download
			
		.toolbar-right
			a(
				href,
				ng-click="switchToFlatLayout()"
				ng-show="ui.pdfLayout == 'sideBySide'"
				tooltip="#{translate('full_screen')}"
				tooltip-placement="bottom"
				tooltip-append-to-body="true"
			)
				i.full-screen
			a(
				href,
				ng-click="switchToSideBySideLayout()"
				ng-show="ui.pdfLayout == 'flat'"
				tooltip="#{translate('split_screen')}"
				tooltip-placement="bottom"
				tooltip-append-to-body="true"
			)
				i.split-screen
				i.split-screen
	// end of toolbar

	// logs view
	.pdf-logs(ng-show="shouldShowLogs")
		.alert.alert-success(ng-show="pdf.logEntries.all.length == 0")
			| #{translate("no_errors_good_job")}

		.alert.alert-danger(ng-show="pdf.failure")
			strong #{translate("compile_error")}. 
			span #{translate("generic_failed_compile_message")}.

		div(ng-repeat="entry in pdf.logEntries.all", ng-controller="PdfLogEntryController")
			.alert(
				ng-class="{\
					'alert-danger':  entry.level == 'error',\
					'alert-warning': entry.level == 'warning',\
					'alert-info':    entry.level == 'typesetting'\
				}"
				ng-click="openInEditor(entry)"
				ng-init="feedbackSent = false;"
			)
				span.line-no
					i.fa.fa-link(aria-hidden="true")
					| &nbsp;
					span(ng-show="entry.file") {{ entry.file }}
					span(ng-show="entry.line") , line {{ entry.line }}
				p.entry-message(ng-show="entry.message") {{ entry.message }}
				.card.card-hint(
					ng-if="entry.humanReadableHint"
					stop-propagation="click"
				)
					figure.card-hint-icon-container
						i.fa.fa-lightbulb-o(aria-hidden="true")
					p.card-hint-text(
						ng-show="entry.humanReadableHint",
						ng-bind-html="wikiEnabled ? entry.humanReadableHint : stripHTMLFromString(entry.humanReadableHint)")
					.card-hint-actions.clearfix
						.card-hint-ext-link(ng-if="wikiEnabled")
							a(ng-href="{{ entry.extraInfoURL }}", target="_blank")
								i.fa.fa-external-link
								|&nbsp;#{translate("log_hint_extra_info")}
						.card-hint-feedback(
							ng-show="!feedbackSent"
							ng-class="entry.ruleId"
						)
							label.card-hint-feedback-label #{translate("log_hint_feedback_label")}
							a.card-hint-feedback-positive(
								ng-click="trackLogHintsPositiveFeedback(entry.ruleId); feedbackSent = true;"
								href
							) #{translate("answer_yes")}
							span &nbsp;/&nbsp;
							a.card-hint-feedback-negative(
								ng-click="trackLogHintsNegativeFeedback(entry.ruleId); feedbackSent = true;"
								href
							) #{translate("answer_no")}
						.card-hint-feedback(ng-show="feedbackSent")
							label.card-hint-feedback-label #{translate("log_hint_feedback_gratitude")}
				p.entry-content(ng-show="entry.content") {{ entry.content.trim() }}

		p
			.pull-right
				a.btn.btn-default.btn-sm(
					href,
					tooltip="#{translate('clear_cached_files')}",
					tooltip-placement="top",
					tooltip-append-to-body="true",
					ng-click="openClearCacheModal()"
				)
					i.fa.fa-trash-o
				| &nbsp;
				div.dropdown(style="display: inline-block;", dropdown)
					a.btn.btn-default.btn-sm(
						href
						dropdown-toggle
					)
						| !{translate("other_logs_and_files")} 
						span.caret
					ul.dropdown-menu.dropdown-menu-right
						li(ng-repeat="file in pdf.outputFiles")
							a(
								href="{{file.url}}"
								target="_blank"
							) {{ file.name }}
			a.btn.btn-info.btn-sm(href, ng-click="toggleRawLog()")
				span(ng-show="!pdf.showRawLog") #{translate("view_raw_logs")}
				span(ng-show="pdf.showRawLog") #{translate("hide_raw_logs")}

		pre(ng-bind="pdf.rawLog", ng-show="pdf.showRawLog")
	
	
	// non-log views (pdf and errors)
	div(ng-show="!shouldShowLogs", ng-switch on="pdf.view")
		.pdf-uncompiled(ng-switch-when="uncompiled" ng-show="!pdf.compiling")
			| &nbsp;
			i.fa.fa-level-up.fa-flip-horizontal.fa-2x
			| &nbsp;&nbsp;#{translate('click_here_to_preview_pdf')}
		
		.pdf-viewer(ng-switch-when="pdf")
			div(
				pdfng
				ng-if="settings.pdfViewer == 'pdfjs'"
				pdf-src="pdf.url"
				key="{{ project_id }}"
				resize-on="layout:main:resize,layout:pdf:resize"
				highlights="pdf.highlights"
				position="pdf.position"
				dbl-click-callback="syncToCode"
			)
			iframe(
				ng-src="{{ pdf.url }}"
				ng-if="settings.pdfViewer == 'native'"
			)

		.pdf-validation-problems(ng-switch-when="validation-problems")

			.alert.alert-danger(ng-show="pdf.validation.duplicatePaths")
				strong #{translate("latex_error")}
				span #{translate("duplicate_paths_found")}


			.alert.alert-danger(ng-show="pdf.validation.sizeCheck")
				strong #{translate("project_too_large")} 
				div #{translate("project_too_large_please_reduce")}
				div
					li(ng-repeat="entry in pdf.validation.sizeCheck.resources") {{ '/'+entry['path'] }} - {{entry['kbSize']}}kb
	
			.alert.alert-danger(ng-show="pdf.validation.conflictedPaths")
				div
					strong #{translate("conflicting_paths_found")}
				div #{translate("following_paths_conflict")}
				div
					li(ng-repeat="entry in pdf.validation.conflictedPaths") {{ '/'+entry['path'] }}


		.pdf-errors(ng-switch-when="errors")
	
			.alert.alert-danger(ng-show="pdf.error")
				strong #{translate("server_error")} 
				span #{translate("somthing_went_wrong_compiling")}

			.alert.alert-danger(ng-show="pdf.renderingError")
				strong #{translate("pdf_rendering_error")} 
				span #{translate("something_went_wrong_rendering_pdf")}
	
			.alert.alert-danger(ng-show="pdf.clsiMaintenance")
				strong #{translate("server_error")} 
				span #{translate("clsi_maintenance")}

			.alert.alert-danger(ng-show="pdf.tooRecentlyCompiled")
				strong #{translate("server_error")} 
				span #{translate("too_recently_compiled")}
	
			.alert.alert-danger(ng-show="pdf.timedout")
				p
					strong #{translate("timedout")}. 
					span #{translate("proj_timed_out_reason")}
				p
					a.text-info(href="https://www.sharelatex.com/learn/Debugging_Compilation_timeout_errors", target="_blank")
						| #{translate("learn_how_to_make_documents_compile_quickly")}

			.alert.alert-success(ng-show="pdf.timedout && !hasPremiumCompile")
				p(ng-if="project.owner._id == user.id")
					strong #{translate("upgrade_for_faster_compiles")}
				p(ng-if="project.owner._id != user.id")
					strong #{translate("ask_proj_owner_to_upgrade_for_faster_compiles")}
				p #{translate("free_accounts_have_timeout_upgrade_to_increase")}
				p Plus:
				p
					ul.list-unstyled
						li
							i.fa.fa-check &nbsp;
							| #{translate("unlimited_projects")}
						li
							i.fa.fa-check &nbsp;
							| #{translate("collabs_per_proj", {collabcount:'Multiple'})}
						li
							i.fa.fa-check &nbsp;
							| #{translate("full_doc_history")}
						li
							i.fa.fa-check &nbsp;
							| #{translate("sync_to_dropbox")}
						li
							i.fa.fa-check &nbsp;
							| #{translate("sync_to_github")}
						li
							i.fa.fa-check &nbsp;
							|#{translate("compile_larger_projects")}
				p(ng-controller="FreeTrialModalController", ng-if="project.owner._id == user.id")
					a.btn.btn-success.row-spaced-small(
						href
						ng-class="buttonClass"
						sixpack-convert="track_changes_feature_info"
						ng-click="startFreeTrial('compile-timeout')"
					) #{translate("start_free_trial")}

			.alert.alert-danger(ng-show="pdf.projectTooLarge")
				strong #{translate("project_too_large")} 
				span #{translate("project_too_large_please_reduce")}


script(type='text/ng-template', id='clearCacheModalTemplate')
	.modal-header
		h3 #{translate("clear_cache")}?
	.modal-body
		p #{translate("clear_cache_explanation")}
		p #{translate("clear_cache_is_safe")}
	.modal-footer
		button.btn.btn-default(
			ng-click="cancel()"
			ng-disabled="state.inflight"
		) #{translate("cancel")}
		button.btn.btn-info(
			ng-click="clear()"
			ng-disabled="state.inflight"
		) 
			span(ng-show="!state.inflight") #{translate("clear_cache")}
			span(ng-show="state.inflight") #{translate("clearing")}...
