Add maintenance mode bundle

pull/14946/head
csubira 5 years ago
parent 5df38e861a
commit a63624f5f6

@ -29,6 +29,12 @@ class Admin::UsersController < Admin::AdminController
end
end
def maintenance
# TODO: Logic to display when user is affected by maintenance
render locals: { breadcrumb: false }
end
private
def setup_user

@ -0,0 +1,16 @@
<%= content_for(:css) do %>
<%= stylesheet_link_tag 'new_dashboard', 'maintenance' %>
<% end %>
<%= content_for(:js) do %>
<script type="text/javascript">
var authenticity_token = "<%= form_authenticity_token %>";
var user_data = <%= safe_js_object @user.data.to_json %>;
// Necessary for Google + actions
var access_token = '';
</script>
<%= javascript_include_tag 'common', 'common_vendor', 'maintenance' -%>
<% end %>
<div id="root"></div>

@ -134,6 +134,7 @@ module CartoDB
organization.js
lockout.js
new_lockout.js
maintenance.js
tipsy.js
modernizr.js
@ -159,6 +160,7 @@ module CartoDB
editor.css
new_lockout.css
new_dashboard.css
maintenance.css
common_editor3.css
editor3.css

@ -124,6 +124,9 @@ CartoDB::Application.routes.draw do
# Lockout
get '(/user/:user_domain)(/u/:user_domain)/lockout' => 'users#lockout', as: :lockout
# Maintenance Mode
get '(/user/:user_domain)(/u/:user_domain)/maintenance-mode' => 'users#maintenance', as: :maintenance
# search
get '(/user/:user_domain)(/u/:user_domain)/dashboard/search/:q' => 'visualizations#index', as: :search
get '(/user/:user_domain)(/u/:user_domain)/dashboard/search/tag/:q' => 'visualizations#index', as: :tag_search

@ -0,0 +1,24 @@
<template>
<div id="app">
<Maintenance />
<Footer :user="user"/>
</div>
</template>
<script>
import Maintenance from 'new-dashboard/pages/Maintenance';
import Footer from 'new-dashboard/components/Footer';
export default {
name: 'MaintenanceApp',
components: {
Maintenance,
Footer
},
computed: {
user () {
return this.$store.state.user;
}
}
};
</script>

@ -0,0 +1,21 @@
import Vue from 'vue';
import VueModal from 'vue-js-modal';
import i18n from 'new-dashboard/i18n';
import store from 'new-dashboard/store';
import MaintenanceApp from './MaintenanceApp';
import 'new-dashboard/plugins/backbone/backbone-core-models';
Vue.config.productionTip = false;
Vue.use(VueModal, { dynamic: true, injectModalsContainer: true });
/* eslint-disable no-new */
new Vue({
el: '#root',
store,
i18n,
components: { MaintenanceApp },
template: '<MaintenanceApp />'
});

@ -0,0 +1,44 @@
<template>
<Page>
<section>
<div class="container warning-container">
<div class="warning-icon">
<img src="../assets/icons/expired-trial/warning-icon.svg" />
</div>
<h2 class="warning-title title is-title is-txtDarkBlue is-bold">
Sorry
</h2>
<p class="text is-body is-txtDarkBlue">
We're down for scheduled maintenance
</p>
</div>
</section>
</Page>
</template>
<script>
import Page from 'new-dashboard/components/Page';
export default {
name: 'Maintenance',
components: {
Page
}
};
</script>
git
<style scoped lang="scss">
@import 'new-dashboard/styles/variables';
.warning-container {
text-align: center;
}
.warning-icon {
margin-bottom: 48px;
}
.warning-title {
margin-bottom: 16px;
}
</style>

@ -1,6 +1,6 @@
{
"name": "cartodb-ui",
"version": "1.0.0-assets.97",
"version": "1.0.0-assets.97-mm",
"description": "CARTO UI frontend",
"repository": {
"type": "git",

@ -103,6 +103,11 @@ module.exports = {
rootDir('lib/assets/javascripts/new-dashboard/bundles/lockout/lockout.js')
],
maintenance: [
'@babel/polyfill',
rootDir('lib/assets/javascripts/new-dashboard/bundles/maintenance/maintenance.js')
],
organization: [
rootDir('lib/assets/javascripts/dashboard/organization.js'),
rootDir('assets/stylesheets/plugins/tagit.scss'),

Loading…
Cancel
Save