_Layout.cshtml 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. @using Abp.Configuration.Startup
  2. @using Abp.Web.Security.AntiForgery
  3. @using VberAdmin
  4. @using VberAdmin.DomainService.Settings
  5. @using VberAdmin.Resources
  6. @using VberAdmin.Timing
  7. @using VberZero
  8. @using VberZero.Tools.StringModel
  9. @using System.Globalization
  10. @inject AppTimes _appTimes
  11. @inject IAbpAntiForgeryManager AbpAntiForgeryManager
  12. @inject IWebResourceManager WebResourceManager
  13. @inject ILanguageManager LanguageManager
  14. @inject IMultiTenancyConfig MultiTenancyConfig
  15. @{
  16. Layout = null;
  17. AbpAntiForgeryManager.SetCookie(Context);
  18. var lang = CultureInfo.CurrentUICulture.Name == "zh-Hans" ? "zh-CN" : CultureInfo.CurrentUICulture.Name;
  19. var pageTitle = !string.IsNullOrWhiteSpace(ViewBag.Title) ? ViewBag.Title + " / " : "";
  20. pageTitle += "VberAdmin";
  21. }
  22. <!DOCTYPE html>
  23. <html lang="@LanguageManager.CurrentLanguage.Name">
  24. <head>
  25. <meta charset="utf-8">
  26. <meta name="viewport" content="width=device-width, initial-scale=1">
  27. <meta http-equiv="x-ua-compatible" content="ie=edge">
  28. <title>@pageTitle</title>
  29. <environment names="Development">
  30. <link href="/Metronic/assets/plugins/global/plugins.bundle.css" rel="stylesheet" asp-append-version="false"/>
  31. <link href="/Metronic/assets/1/css/style.bundle.css" rel="stylesheet" asp-append-version="false"/>
  32. </environment>
  33. <environment names="Staging,Production">
  34. <link href="/css/_bundles/account.bundle.min.css" rel="stylesheet" asp-append-version="true"/>
  35. </environment>
  36. <style>
  37. *:focus {
  38. outline: none;
  39. }
  40. *{
  41. box-sizing: border-box;
  42. }
  43. html {
  44. background-color: #56baed;
  45. }
  46. body {
  47. font-family: "Poppins", sans-serif;
  48. height: 100vh;
  49. background-color: #56baed;
  50. }
  51. .account-wrapper {
  52. display: flex;
  53. align-items: center;
  54. flex-direction: column;
  55. justify-content: center;
  56. width: 100%;
  57. min-height: 100%;
  58. padding-bottom: 10%;
  59. }
  60. .card {
  61. width: 90%;
  62. padding:0;
  63. background: #fff;
  64. }
  65. .card-footer {
  66. background-color: #f6f6f6;
  67. border-top: 1px solid #dce8f1;
  68. padding: 25px;
  69. text-align: center;
  70. }
  71. button[type=submit] {
  72. background-color: #56baed;
  73. border: none;
  74. color: white;
  75. text-align: center;
  76. text-decoration: none;
  77. display: inline-block;
  78. text-transform: uppercase;
  79. font-weight: 500;
  80. line-height: 1.5;
  81. padding: calc(.75rem + 1px) calc(1.5rem + 1px);
  82. box-shadow: 0 10px 30px 0 #5fbae9;
  83. box-shadow: 0 10px 30px 0 rgba(95,186,233,0.4);
  84. border-radius: .475rem;
  85. transition: all 0.3s ease-in-out;
  86. vertical-align: middle;
  87. cursor: pointer;
  88. user-select: none;
  89. }
  90. button[type=submit]:hover {
  91. background-color: #39ace7;
  92. }
  93. button:active {
  94. transform: scale(0.95);
  95. }
  96. input[type=text], input[type=password] {
  97. background-color: #f6f6f6;
  98. border: none;
  99. color: #0d0d0d;
  100. text-align: center;
  101. text-decoration: none;
  102. border-color: #5fbae9;
  103. }
  104. input[type=text]:focus,input[type=password]:focus,input[type=text]:active ,input[type=password]:active {
  105. background-color: #fff;
  106. border: none!important;
  107. border-bottom: 5px solid #5fbae9!important;
  108. }
  109. input[type=text]::placeholder, input[type=password]::placeholder {
  110. color: #cccccc;
  111. }
  112. </style>
  113. <style>
  114. .fadeInDown {
  115. animation-name: fadeInDown;
  116. animation-duration: 1s;
  117. animation-fill-mode: both;
  118. }
  119. .fadeIn {
  120. opacity:0;
  121. animation:fadeIn ease-in 1;
  122. animation-fill-mode:forwards;
  123. animation-duration:1s;
  124. }
  125. .fadeIn.fadeIn-1 {
  126. animation-delay: 0.4s;
  127. }
  128. .fadeIn.fadeIn-2 {
  129. animation-delay: 0.6s;
  130. }
  131. .fadeIn.fadeIn-3 {
  132. animation-delay: 0.8s;
  133. }
  134. .fadeIn.fadeIn-4 {
  135. animation-delay: 1s;
  136. }
  137. .fadeIn.fadeIn-5 {
  138. animation-delay: 1.2s;
  139. }
  140. .fadeIn.fadeIn-6 {
  141. animation-delay: 1.4s;
  142. }
  143. .fadeIn.fadeIn-7 {
  144. animation-delay: 1.5s;
  145. }
  146. .fadeIn.fadeIn-8 {
  147. animation-delay: 1.6s;
  148. }
  149. @@keyframes fadeInDown {
  150. from {
  151. opacity: 0;
  152. transform: translate3d(0, -100%, 0);
  153. }
  154. to {
  155. opacity: 1;
  156. transform: none;
  157. }
  158. }
  159. @@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
  160. </style>
  161. @await RenderSectionAsync("styles", required: false)
  162. </head>
  163. <body>
  164. <div class="account-wrapper fadeInDown">
  165. <div class="card mw-400px">
  166. <div class="card-body">
  167. @RenderBody()
  168. </div>
  169. @if (VberAdminConsts.MultiLanguageEnabled && (await SettingManager.GetSettingValueAsync(SettingNames.MultiLanguages))==VzDefinition.MultiLanguages.Multi.ToInt()+"")
  170. {
  171. <div class="card-footer">
  172. <vc:account-languages></vc:account-languages>
  173. </div>
  174. }
  175. </div>
  176. @* <div class="row">
  177. <div class="col-md-12 text-center">
  178. <small>&copy; @DateTime.Now.Year VberAdmin. <b>Version </b> @AppVersionHelper.Version [@AppVersionHelper.ReleaseDate.ToString("yyyyMMdd")]</small>
  179. </div>
  180. </div>*@
  181. </div>
  182. <environment names="Development">
  183. <script src="/Metronic/assets/plugins/global/plugins.bundle.js" asp-append-version="false"></script>
  184. <script src="/Metronic/assets/1/js/scripts.bundle.js" asp-append-version="false"></script>
  185. <script src="/libs/sweetalert/sweetalert.min.js" asp-append-version="false"></script>
  186. <script src="/libs/block-ui/jquery.blockUI.js" asp-append-version="false"></script>
  187. <script src="/js/abp/abp.js" asp-append-version="false"></script>
  188. <script src="/js/abp/libs/abp.jquery.js" asp-append-version="false"></script>
  189. <script src="/js/abp/libs/abp.sweet-alert.js" asp-append-version="false"></script>
  190. <script src="/libs/jquery-validate/jquery.validate.js" asp-append-version="false"></script>
  191. <script src="/libs-ext/select2/select2tree.js" asp-append-version="false"></script>
  192. <script src="/js/vber.base.js" asp-append-version="false"></script>
  193. </environment>
  194. <environment names="Staging,Production">
  195. <script src="/Metronic/assets/plugins/global/plugins.bundle.js" asp-append-version="true"></script>
  196. <script src="/Metronic/assets/1/js/scripts.bundle.js" asp-append-version="true"></script>
  197. <script src="/js/_bundles/account.bundle.min.js" asp-append-version="true"></script>
  198. </environment>
  199. <script type="text/javascript">
  200. // This is used to get the application's root path from javascript.
  201. // It's useful if you're running application in a virtual directory under IIS.
  202. var abp = abp || {};
  203. abp.appPath = '@ApplicationPath';
  204. abp.apiPath = '@(VzConsts.ApiAppUrl)';
  205. abp.appUrl = '@(VzConsts.ApiAppUrl)';
  206. var lang = '@(lang)';
  207. abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN-VberAdmin';
  208. //abp.security.antiForgery.tokenHeaderName = 'X-XSRF-TOKEN-VberAdmin';
  209. abp.localization.VberZero = abp.localization.getSource('@(VzConsts.LocalizationSourceName)');
  210. var l = abp.localization.getSource('@(VzConsts.LocalizationSourceName)');
  211. </script>
  212. @if (CultureInfo.CurrentUICulture.Name != "en")
  213. {
  214. switch (lang)
  215. {
  216. case "zh-CN":
  217. <script src="~/libs/jquery-validate/localization/messages_zh.min.js" asp-append-version="false"></script>
  218. <script src="~/libs/flatpickr/dist/l10n/zh.min.js" asp-append-version="false"></script>
  219. <script src="/libs/select2/dist/js/i18n/zh-CN.js" asp-append-version="false"></script>
  220. @*
  221. <script src="~/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js" asp-append-version="false"></script>*@
  222. break;
  223. default:
  224. <script src="~/libs/jquery-validate/localization/messages_@(lang.Replace("-", "_")).min.js" asp-append-version="false"></script>
  225. <script src="~/libs/flatpickr/dist/l10n/@(lang).js" asp-append-version="false"></script>
  226. <script src="/libs/select2/dist/js/i18n/@(lang).js" asp-append-version="false"></script>
  227. @* <script src="~/libs/bootstrap-table/locale/bootstrap-table-@(lang).min.js" asp-append-version="false"></script>*@
  228. break;
  229. }
  230. }
  231. <script type="text/javascript">
  232. // Localizing moment js
  233. moment.locale('@lang');
  234. </script>
  235. <!-- Dynamic scripts of ABP system (They are created on runtime and can not be bundled) -->
  236. <script src="~/AbpServiceProxies/GetAll?v=@(_appTimes.StartupTime.Ticks)" type="text/javascript"></script>
  237. <script src="~/AbpScripts/GetScripts?v=@(_appTimes.StartupTime.Ticks)" type="text/javascript"></script>
  238. @await RenderSectionAsync("scripts", required: false)
  239. @WebResourceManager.RenderScripts()
  240. </body>
  241. </html>