🎨 后台管理UI优化

pull/56/head
ruibaby 2018-11-09 19:33:25 +08:00
parent 59bfbf002b
commit efdde9327c
22 changed files with 47 additions and 58 deletions

View File

@ -84,6 +84,7 @@ public class Comment implements Serializable {
/**
* ua
*/
@Column(length = 512)
private String commentAgent;
/**

View File

@ -25,13 +25,6 @@ $(document).ready(function () {
* pjax
*/
$(document).on('pjax:clicked', function() {
$('.content-wrapper').html("");
});
/**
* pjax
*/
$(document).on('pjax:complete',function () {
initMenu();
});

View File

@ -1 +1 @@
$.extend({halo:function(){}});$(document).ready(function(){if($(window).width()<1024){if($("body").hasClass("layout-boxed")){$("body").removeClass("layout-boxed");}if($("body").hasClass("sidebar-collapse")){$("body").removeClass("sidebar-collapse");}}initMenu();});$(document).on("pjax:clicked",function(){$(".content-wrapper").html("");});$(document).on("pjax:complete",function(){initMenu();});function initMenu(){var pathName=location.pathname;if(pathName=="/admin/posts/edit"){pathName="/admin/posts/new";}if(pathName=="/admin/category/edit"){pathName="/admin/category";}if(pathName=="/admin/tag/edit"){pathName="/admin/tag";}if(pathName=="/admin/page/edit"){pathName="/admin/page/new";}if(pathName=="/admin/page/links"){pathName="/admin/page";}if(pathName=="/admin/page/galleries"){pathName="/admin/page";}if(pathName=="/admin/menus/edit"){pathName="/admin/menus";}$(".sidebar-menu").children().each(function(){var li=$(this);li.find("a").each(function(){var href=$(this).attr("href");if(pathName==href){li.addClass("active");$(this).parent().addClass("active");}else{$(this).parent().removeClass("active");}});});}$.halo.prototype.showMsg=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff"});};$.halo.prototype.showMsgAndReload=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.reload();}});};$.halo.prototype.showMsgAndRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.href=url;}});};$.halo.prototype.showMsgAndParentRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){parent.location.href=url;}});};$.halo.prototype.formatContent=function(a){a=a.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");a=a.replace(/\s/g," ");return a;};$.halo.prototype.layerModal=function(url,title){layer.open({type:2,title:title,shadeClose:true,shade:0.5,maxmin:true,area:["90%","90%"],content:url,scrollbar:false});};function saveOptions(option){var param=$("#"+option).serialize();$.ajax({type:"post",url:"/admin/option/save",data:param,success:function(data){if(data.code==1){halo.showMsg(data.msg,"success",1000);}else{halo.showMsg(data.msg,"error",2000);}}});}
$.extend({halo:function(){}});$(document).ready(function(){if($(window).width()<1024){if($("body").hasClass("layout-boxed")){$("body").removeClass("layout-boxed");}if($("body").hasClass("sidebar-collapse")){$("body").removeClass("sidebar-collapse");}}initMenu();});$(document).on("pjax:clicked",function(){initMenu();});function initMenu(){var pathName=location.pathname;if(pathName=="/admin/posts/edit"){pathName="/admin/posts/new";}if(pathName=="/admin/category/edit"){pathName="/admin/category";}if(pathName=="/admin/tag/edit"){pathName="/admin/tag";}if(pathName=="/admin/page/edit"){pathName="/admin/page/new";}if(pathName=="/admin/page/links"){pathName="/admin/page";}if(pathName=="/admin/page/galleries"){pathName="/admin/page";}if(pathName=="/admin/menus/edit"){pathName="/admin/menus";}$(".sidebar-menu").children().each(function(){var li=$(this);li.find("a").each(function(){var href=$(this).attr("href");if(pathName==href){li.addClass("active");$(this).parent().addClass("active");}else{$(this).parent().removeClass("active");}});});}$.halo.prototype.showMsg=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff"});};$.halo.prototype.showMsgAndReload=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.reload();}});};$.halo.prototype.showMsgAndRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.href=url;}});};$.halo.prototype.showMsgAndParentRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){parent.location.href=url;}});};$.halo.prototype.formatContent=function(a){a=a.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");a=a.replace(/\s/g," ");return a;};$.halo.prototype.layerModal=function(url,title){layer.open({type:2,title:title,shadeClose:true,shade:0.5,maxmin:true,area:["90%","90%"],content:url,scrollbar:false});};function saveOptions(option){var param=$("#"+option).serialize();$.ajax({type:"post",url:"/admin/option/save",data:param,success:function(data){if(data.code==1){halo.showMsg(data.msg,"success",1000);}else{halo.showMsg(data.msg,"error",2000);}}});}

View File

@ -6,7 +6,7 @@
.div-thumbnail{transition:all .5s ease-in-out;padding:10px}
.thumbnail{margin-bottom:0}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.attachments.title' /></h1>
<a class="btn-header" id="showForm" href="#">
<i class="fa fa-cloud-upload" aria-hidden="true"></i><@spring.message code='admin.attachments.btn.upload' />
@ -16,7 +16,7 @@
<li class="active"><@spring.message code='admin.attachments.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row" id="uploadForm" style="display: none;">
<div class="col-md-12">
<div class="form-group">

View File

@ -5,7 +5,7 @@
<style type="text/css" rel="stylesheet">
.resourceType,.databaseType,.postType{list-style:none;float:left;margin:0;padding-bottom:10px}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.backup.title' /></h1>
<a class="btn-header" id="btnBackupOption" href="#">
<@spring.message code='admin.backup.text.setting' />
@ -18,7 +18,7 @@
<li class="active"><@spring.message code='admin.backup.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-lg-12 col-xs-12" id="backupOptionsPanel" style="display: none">
<div class="box box-primary">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.categories.title' /></@head>
<div class="content-wrapper">
<section class="content-header">
<section class="content-header animated fadeIn">
<h1>
<@spring.message code='admin.categories.title' />
<small></small>
@ -16,7 +16,7 @@
<li class="active"><@spring.message code='admin.categories.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -5,7 +5,7 @@
<style type="text/css" rel="stylesheet">
.draft,.publish,.trash{list-style:none;float:left;margin:0;padding-bottom:10px}s
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1><@spring.message code='admin.comments.title' /><small></small></h1>
<ol class="breadcrumb">
<li>
@ -14,7 +14,7 @@
<li class="active"><@spring.message code='admin.comments.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<ul style="list-style: none;padding-left: 0">
<li class="publish">
<a data-pjax="true" href="/admin/comments" <#if status==0>style="color: #000" </#if>><@spring.message code='common.status.published' /><span class="count">(${publicCount})</span></a>&nbsp;|&nbsp;

View File

@ -10,7 +10,7 @@
font-size: 16px;
}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.halo.title' /></h1>
<ol class="breadcrumb">
<li>
@ -19,7 +19,7 @@
<li class="active"><@spring.message code='admin.halo.bread.active' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div id='write' class='is-mac'>
<blockquote style="font-size: 14px;">
<p><@spring.message code='admin.halo.content.p1' />😉</p>

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.index.title' /></@head>
<div class="content-wrapper">
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.index.title' /></h1>
<a class="btn-header" id="btnWidgetsOption" href="#">
<@spring.message code='admin.index.btn.widgets' />
@ -14,7 +14,7 @@
<li class="active"><@spring.message code='admin.index.bread.active' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-lg-12 col-xs-12" id="widgetOptionsPanel" style="display: none">
<div class="box box-primary">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.menus.title' /></@head>
<div class="content-wrapper">
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.menus.title' /></h1>
<ol class="breadcrumb">
<li>
@ -12,7 +12,7 @@
<li class="active"><@spring.message code='admin.menus.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -2,17 +2,11 @@
<@head>${options.blog_title!} | <@spring.message code='admin.setting.title' /></@head>
<div class="content-wrapper">
<style type="text/css" rel="stylesheet">
.form-horizontal .control-label{
text-align: left;
}
.nav-tabs-custom > .nav-tabs > li.active {
border-top-color: #d2d6de;
}
.control-radio{
padding-top: 7px;
}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1>
<@spring.message code='admin.setting.title' />
<small></small>
@ -27,7 +21,7 @@
</ol>
</section>
<!-- tab选项卡 -->
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-custom">
@ -367,12 +361,12 @@
<div class="form-group">
<label class="col-lg-2 col-sm-4 control-label"><@spring.message code='admin.setting.form.attach-choose' /></label>
<div class="col-lg-4 col-sm-8 control-radio">
<div class="pretty p-default p-round">
<input type="radio" name="attach_loc" value="server" ${((options.attach_loc?default('server'))=='server')?string('checked','')}>
<div class="state p-primary">
<label><@spring.message code='admin.setting.form.attach-loc-server' /></label>
</div>
</div>
<#--<div class="pretty p-default p-round">-->
<#--<input type="radio" name="attach_loc" value="server" ${((options.attach_loc?default('server'))=='server')?string('checked','')}>-->
<#--<div class="state p-primary">-->
<#--<label><@spring.message code='admin.setting.form.attach-loc-server' /></label>-->
<#--</div>-->
<#--</div>-->
<div class="pretty p-default p-round">
<input type="radio" name="attach_loc" value="upyun" ${((options.attach_loc?if_exists)=='upyun')?string('checked','')} disabled="disabled">
<div class="state p-primary">
@ -389,9 +383,9 @@
</div>
<!-- 原生设置 -->
<div class="server-options" style="display: none">
<#--<div class="server-options" style="display: none">-->
</div>
<#--</div>-->
<!-- 又拍云选项 -->
<div class="upyun-options" style="display: none">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.pages.title' /></@head>
<div class="content-wrapper">
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.pages.title' /><small></small></h1>
<a class="btn-header" id="btnNewPage" href="/admin/page/new">
<@spring.message code='admin.pages.btn.new-page' />
@ -15,7 +15,7 @@
<li class="active"><@spring.message code='admin.pages.bread.all-pages' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-custom">

View File

@ -6,7 +6,7 @@
.div-thumbnail{transition:all .5s ease-in-out;padding:10px}
.thumbnail{margin-bottom:0}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.pages.galleries.title' /><small></small></h1>
<a class="btn-header" id="btnNewPicture" href="#">
<@spring.message code='admin.pages.galleries.text.add-gallery' />
@ -19,7 +19,7 @@
<li class="active"><@spring.message code='admin.pages.galleries.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-lg-12 col-xs-12" id="newPicturePanel" style="display: none">
<div class="box box-primary">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.pages.links.title' /></@head>
<div class="content-wrapper">
<section class="content-header">
<section class="content-header animated fadeIn">
<h1><@spring.message code='admin.pages.links.title' /><small></small></h1>
<ol class="breadcrumb">
<li><a data-pjax="true" href="/admin"><i class="fa fa-dashboard"></i><@spring.message code='admin.index.bread.index' /></a></li>
@ -10,7 +10,7 @@
<li class="active"><@spring.message code='admin.pages.links.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -10,7 +10,7 @@
.CodeMirror, .CodeMirror-scroll {min-height: 480px;}
.editor-preview-active img,.editor-preview-active-side img{width: 100%;}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;">
<@spring.message code='admin.pages.edit.title' />
</h1>
@ -27,7 +27,7 @@
<li class="active"><@spring.message code='admin.pages.edit.title' /></li>
</ol>
</section>
<section class="content">
<section class="content animated fadeIn">
<div class="row">
<div class="col-md-9">
<#if post??>

View File

@ -6,7 +6,7 @@
.draft,.publish,.trash{list-style:none;float:left;margin:0;padding-bottom:10px}
.pretty{margin: 0;}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.posts.title' /></h1>
<a data-pjax="false" class="btn-header" id="btnNewPost" href="/admin/posts/new">
<@spring.message code='admin.posts.btn.new-post' />
@ -21,7 +21,7 @@
<li class="active"><@spring.message code='admin.posts.bread.all-posts' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-xs-12">
<ul style="list-style: none;padding-left: 0">

View File

@ -11,7 +11,7 @@
.CodeMirror, .CodeMirror-scroll {min-height: 480px;}
.editor-preview-active img,.editor-preview-active-side img{width: 100%;}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.posts.edit.title' /></h1>
<a class="btn-header" id="btnOpenAttach" href="#" onclick="halo.layerModal('/admin/attachments/select?type=post','<@spring.message code="common.js.all-attachment" />')">
<@spring.message code='admin.editor.btn.attachs' />
@ -26,7 +26,7 @@
<li class="active"><@spring.message code='admin.posts.edit.title' /></li>
</ol>
</section>
<section class="content">
<section class="content animated fadeIn">
<div class="row">
<div class="col-md-9">
<#if post??>

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.user.profile.title' /></@head>
<div class="content-wrapper">
<section class="content-header">
<section class="content-header animated fadeIn">
<h1>
<@spring.message code='admin.user.profile.title' />
<small></small>
@ -17,7 +17,7 @@
</ol>
</section>
<!-- tab选项卡 -->
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-custom">

View File

@ -5,7 +5,7 @@
<style>
.tags{zoom:1;margin:0;padding:0}.tags:after,.tags:before{content:'';display:table}.tags:after{clear:both}.tags li{position:relative;float:left;margin:0 0 8px 12px;list-style:none}.tags li:active{margin-top:1px;margin-bottom:7px}.tags li:after{content:'';z-index:2;position:absolute;top:10px;right:-2px;width:5px;height:6px;opacity:.95;background:#eb6b22;border-radius:3px 0 0 3px;-webkit-box-shadow:inset 1px 0 #99400e;box-shadow:inset 1px 0 #99400e}.tags a,.tags span{display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tags a{height:26px;line-height:23px;padding:0 9px 0 8px;font-size:12px;color:#555;text-decoration:none;text-shadow:0 1px #fff;background:#fafafa;border-width:1px 0 1px 1px;border-style:solid;border-color:#dadada #d2d2d2 #c5c5c5;border-radius:3px 0 0 3px;background-image:-webkit-linear-gradient(top,#fcfcfc,#f0f0f0);background-image:-moz-linear-gradient(top,#fcfcfc,#f0f0f0);background-image:-o-linear-gradient(top,#fcfcfc,#f0f0f0);background-image:linear-gradient(to bottom,#fcfcfc,#f0f0f0);-webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 1px 2px rgba(0,0,0,.05)}.tags a:hover span{padding:0 7px 0 6px;max-width:40px;-webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),1px 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),1px 1px 2px rgba(0,0,0,.2)}.tags span{position:absolute;top:1px;left:100%;z-index:2;overflow:hidden;max-width:0;height:24px;line-height:21px;padding:0 0 0 2px;color:#fff;text-shadow:0 -1px rgba(0,0,0,.3);background:#eb6b22;border:1px solid;border-color:#d15813 #c85412 #bf5011;border-radius:0 2px 2px 0;opacity:.95;background-image:-webkit-linear-gradient(top,#ed7b39,#df5e14);background-image:-moz-linear-gradient(top,#ed7b39,#df5e14);background-image:-o-linear-gradient(top,#ed7b39,#df5e14);background-image:linear-gradient(to bottom,#ed7b39,#df5e14);-webkit-transition:.3s ease-out;-moz-transition:.3s ease-out;-o-transition:.3s ease-out;transition:.3s ease-out;-webkit-transition-property:padding,max-width;-moz-transition-property:padding,max-width;-o-transition-property:padding,max-width;transition-property:padding,max-width}.green li:after{background:#65bb34;-webkit-box-shadow:inset 1px 0 #3a6b1e;box-shadow:inset 1px 0 #3a6b1e}.green span{background:#65bb34;border-color:#549b2b #4f9329 #4b8b27;background-image:-webkit-linear-gradient(top,#71ca3f,#5aa72e);background-image:-moz-linear-gradient(top,#71ca3f,#5aa72e);background-image:-o-linear-gradient(top,#71ca3f,#5aa72e);background-image:linear-gradient(to bottom,#71ca3f,#5aa72e)}.blue li:after{background:#56a3d5;-webkit-box-shadow:inset 1px 0 #276f9e;box-shadow:inset 1px 0 #276f9e}.blue span{background:#56a3d5;border-color:#3591cd #318cc7 #2f86be;background-image:-webkit-linear-gradient(top,#6aaeda,#4298d0);background-image:-moz-linear-gradient(top,#6aaeda,#4298d0);background-image:-o-linear-gradient(top,#6aaeda,#4298d0);background-image:linear-gradient(to bottom,#6aaeda,#4298d0)}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1>
<@spring.message code='admin.tags.title' />
<small></small>
@ -19,7 +19,7 @@
<li class="active"><@spring.message code='admin.tags.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -7,7 +7,7 @@
.CodeMirror-fullscreen,.editor-toolbar.fullscreen{z-index: 1030;}
.CodeMirror, .CodeMirror-scroll {min-height: 480px;}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.themes.edit.title' /></h1>
<ol class="breadcrumb">
<li>
@ -17,7 +17,7 @@
<li class="active">主题编辑</li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<div class="col-md-9">
<div class="box box-primary">

View File

@ -33,7 +33,7 @@
color: red;
}
</style>
<section class="content-header">
<section class="content-header animated fadeIn">
<h1 style="display: inline-block;"><@spring.message code='admin.themes.title' /></h1>
<a class="btn-header" id="showForm" href="#" onclick="halo.layerModal('/admin/themes/install','<@spring.message code="admin.themes.js.install-theme" />')">
<i class="fa fa-cloud-upload" aria-hidden="true"></i><@spring.message code='admin.themes.btn.install' />
@ -44,7 +44,7 @@
<li class="active"><@spring.message code='admin.themes.title' /></li>
</ol>
</section>
<section class="content container-fluid">
<section class="content container-fluid animated fadeIn">
<div class="row">
<#if themes?? && (themes?size>0)>
<#list themes as theme>

View File

@ -18,6 +18,7 @@
<link rel="stylesheet" href="/static/plugins/fileinput/fileinput.min.css">
<link rel="stylesheet" href="/static/plugins/OwO/OwO.min.css">
<link rel="stylesheet" href="/static/plugins/pretty-checkbox/pretty-checkbox.min.css">
<link rel="stylesheet" href="/static/plugins/animate/animate.min.css">
<link rel="stylesheet" href="//fonts.loli.net/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
<!--[if lt IE 9]>
<script src="//oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>