diff --git a/.eslintrc.js b/.eslintrc.js index aa594fa7..1222f4a1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,11 @@ module.exports = { "sourceType": "module", "parser": "babel-eslint", + "parserOptions": { + "ecmaFeatures": { + "jsx": true + } + }, "extends": "standard", "installedESLint": true, "env": { @@ -13,6 +18,8 @@ module.exports = { "react" ], "rules": { + "react/jsx-uses-react": [2], + "react/jsx-uses-vars": [2], "yoda": [2, "never", { "exceptRange": true }] } } diff --git a/app/assets/images/import-example.png b/app/assets/images/import-example.png new file mode 100644 index 00000000..02d59dcd Binary files /dev/null and b/app/assets/images/import-example.png differ diff --git a/app/assets/images/import.png b/app/assets/images/import.png new file mode 100644 index 00000000..29b5b896 Binary files /dev/null and b/app/assets/images/import.png differ diff --git a/app/assets/javascripts/src/Metamaps.Erb.js.erb b/app/assets/javascripts/src/Metamaps.Erb.js.erb index 75535f82..57f26c98 100644 --- a/app/assets/javascripts/src/Metamaps.Erb.js.erb +++ b/app/assets/javascripts/src/Metamaps.Erb.js.erb @@ -15,6 +15,7 @@ Metamaps.Erb['icons/wildcard.png'] = '<%= asset_path('icons/wildcard.png') %>' Metamaps.Erb['topic_description_signifier.png'] = '<%= asset_path('topic_description_signifier.png') %>' Metamaps.Erb['topic_link_signifier.png'] = '<%= asset_path('topic_link_signifier.png') %>' Metamaps.Erb['synapse16.png'] = '<%= asset_path('synapse16.png') %>' +Metamaps.Erb['import-example.png'] = '<%= asset_path('import-example.png') %>' Metamaps.Erb['sounds/MM_sounds.mp3'] = '<%= asset_path 'sounds/MM_sounds.mp3' %>' Metamaps.Erb['sounds/MM_sounds.ogg'] = '<%= asset_path 'sounds/MM_sounds.ogg' %>' Metamaps.Metacodes = <%= Metacode.all.to_json.gsub(%r[(icon.*?)(\"},)], '\1?purple=stupid\2').html_safe %> diff --git a/app/assets/stylesheets/application.css.erb b/app/assets/stylesheets/application.scss.erb similarity index 98% rename from app/assets/stylesheets/application.css.erb rename to app/assets/stylesheets/application.scss.erb index 97276b9f..5961c633 100644 --- a/app/assets/stylesheets/application.css.erb +++ b/app/assets/stylesheets/application.scss.erb @@ -1526,9 +1526,8 @@ h3.filterBox { background-image: url(<%= asset_data_uri('permissions32_sprite.png') %>); } /* map info box */ -/* map info box */ -.wrapper div.mapInfoBox { +.wrapper .mapInfoBox { display: none; position: absolute; bottom: 40px; @@ -1536,12 +1535,40 @@ h3.filterBox { background-color: #424242; color: #F5F5F5; border-radius: 2px; + box-shadow: 0 3px 3px rgba(0,0,0,0.23), 0px 3px 3px rgba(0,0,0,0.16); + text-align: center; + font-style: normal; +} +.import-dialog{ + button { + margin: 1em 0.5em; + } + .import-blue-button { + display: inline-block; + box-sizing: border-box; + margin: 0.75em; + padding: 0.75em; + height: 3em; + background-color: #AAB0FB; + border-radius: 0.3em; + color: white; + cursor: pointer; + } + .fileupload { + box-sizing: border-box; + margin: 0.75em; + padding: 0.75em; + height: 3em; + border: 3px dashed #AAB0FB; + width: 75%; + text-align: center; + cursor: pointer; + } +} +.wrapper .mapInfoBox { width: 360px; min-height: 300px; padding: 0; - font-style: normal; - text-align: center; - box-shadow: 0 3px 3px rgba(0,0,0,0.23), 0px 3px 3px rgba(0,0,0,0.16); } .requestTitle { display: none; @@ -2028,17 +2055,17 @@ and it won't be important on password protected instances */ left: 0; width: 100%; height: 100%; - position: fixed; + position: absolute; z-index: 1000000; display: none; } #lightbox_main { width: 800px; - height: auto; margin: 0 auto; z-index: 2; position: relative; - top: 50%; + top: 5vh; + height: 90vh; background-color: transparent; color: black; } @@ -2077,8 +2104,11 @@ and it won't be important on password protected instances */ background-position: center center; } #lightbox_content { - width: 552px; - height: 434px; + width: 800px; + height: 500px; + max-height: 90vh; + box-sizing: border-box; + overflow-y: auto; background-color: #e0e0e0; padding: 64px 124px 64px 124px; box-shadow: 0px 6px 3px rgba(0, 0, 0, 0.23), 10px 10px 10px rgba(0, 0, 0, 0.19); diff --git a/app/assets/stylesheets/clean.css.erb b/app/assets/stylesheets/clean.css.erb index b41f14ca..deb2719f 100644 --- a/app/assets/stylesheets/clean.css.erb +++ b/app/assets/stylesheets/clean.css.erb @@ -188,7 +188,7 @@ .upperRightIcon { width: 32px; height: 32px; - background-image: url(<%= asset_data_uri('topright_sprite.png') %>); + background-image: url(<%= asset_path('topright_sprite.png') %>); background-repeat: no-repeat; cursor: pointer; } @@ -325,7 +325,7 @@ } .fullWidthWrapper.withPartners { - background: url(<%= asset_data_uri('homepage_bg_fade.png') %>) no-repeat center -300px; + background: url(<%= asset_path('homepage_bg_fade.png') %>) no-repeat center -300px; } .homeWrapper.homePartners { padding: 64px 0 280px; @@ -364,7 +364,7 @@ cursor: pointer; } .openCheatsheet { - background-image: url(<%= asset_data_uri('help_sprite.png') %>); + background-image: url(<%= asset_path('help_sprite.png') %>); background-repeat:no-repeat; } .openCheatsheet:hover { @@ -373,7 +373,7 @@ .mapInfoIcon { position: relative; top: 56px; /* puts it just offscreen */ - background-image: url(<%= asset_data_uri('mapinfo_sprite.png') %>); + background-image: url(<%= asset_path('mapinfo_sprite.png') %>); background-repeat:no-repeat; } .mapInfoIcon:hover { @@ -382,8 +382,14 @@ .mapPage .mapInfoIcon { top: 0; } +.importDialog { + background-image: url(<%= asset_path('import.png') %>); + background-position: 0 0; + background-repeat: no-repeat; + width: 32px; +} .starMap { - background-image: url(<%= asset_data_uri('starmap_sprite.png') %>); + background-image: url(<%= asset_path('starmap_sprite.png') %>); background-position: 0 0; background-repeat: no-repeat; width: 32px; @@ -437,7 +443,7 @@ .takeScreenshot { margin-bottom: 5px; border-radius: 2px; - background-image: url(<%= asset_data_uri 'screenshot_sprite.png' %>); + background-image: url(<%= asset_path 'screenshot_sprite.png' %>); display: none; } .takeScreenshot:hover { @@ -450,7 +456,7 @@ .zoomExtents { margin-bottom:5px; border-radius: 2px; - background-image: url(<%= asset_data_uri('extents_sprite.png') %>); + background-image: url(<%= asset_path('extents_sprite.png') %>); } .zoomExtents:hover { @@ -458,7 +464,7 @@ } .zoomExtents:hover .tooltips, .zoomIn:hover .tooltips, .zoomOut:hover .tooltips, .takeScreenshot:hover .tooltips, .sidebarFilterIcon:hover .tooltipsUnder, .sidebarForkIcon:hover .tooltipsUnder, .addMap:hover .tooltipsUnder, .authenticated .sidebarAccountIcon:hover .tooltipsUnder, - .mapInfoIcon:hover .tooltipsAbove, .openCheatsheet:hover .tooltipsAbove, .chat-button:hover .tooltips, .starMap:hover .tooltipsAbove, .openMetacodeSwitcher:hover .tooltipsAbove, .pinCarousel:not(.isPinned):hover .tooltipsAbove.helpPin, .pinCarousel.isPinned:hover .tooltipsAbove.helpUnpin { + .mapInfoIcon:hover .tooltipsAbove, .openCheatsheet:hover .tooltipsAbove, .chat-button:hover .tooltips, importDialog:hover .tooltipsAbove, .starMap:hover .tooltipsAbove, .openMetacodeSwitcher:hover .tooltipsAbove, .pinCarousel:not(.isPinned):hover .tooltipsAbove.helpPin, .pinCarousel.isPinned:hover .tooltipsAbove.helpUnpin { display: block; } @@ -623,7 +629,7 @@ } .zoomIn { - background-image: url(<%= asset_data_uri('zoom_sprite.png') %>); + background-image: url(<%= asset_path('zoom_sprite.png') %>); background-position: 0 /…0; border-top-left-radius: 2px; border-top-right-radius: 2px; @@ -632,7 +638,7 @@ background-position: -32px 0; } .zoomOut { - background-image: url(<%= asset_data_uri('zoom_sprite.png') %>); + background-image: url(<%= asset_path('zoom_sprite.png') %>); background-position:0 -32px; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; @@ -740,23 +746,23 @@ left:5px; } .exploreMapsCenter .myMaps .exploreMapsIcon { - background-image: url(<%= asset_data_uri 'exploremaps_sprite.png' %>); + background-image: url(<%= asset_path 'exploremaps_sprite.png' %>); background-position: -32px 0; } .exploreMapsCenter .sharedMaps .exploreMapsIcon { - background-image: url(<%= asset_data_uri 'exploremaps_sprite.png' %>); + background-image: url(<%= asset_path 'exploremaps_sprite.png' %>); background-position: -128px 0; } .exploreMapsCenter .activeMaps .exploreMapsIcon { - background-image: url(<%= asset_data_uri 'exploremaps_sprite.png' %>); + background-image: url(<%= asset_path 'exploremaps_sprite.png' %>); background-position: 0 0; } .exploreMapsCenter .featuredMaps .exploreMapsIcon { - background-image: url(<%= asset_data_uri 'exploremaps_sprite.png' %>); + background-image: url(<%= asset_path 'exploremaps_sprite.png' %>); background-position: -96px 0; } .exploreMapsCenter .starredMaps .exploreMapsIcon { - background-image: url(<%= asset_data_uri 'exploremaps_sprite.png' %>); + background-image: url(<%= asset_path 'exploremaps_sprite.png' %>); background-position: -96px 0; } .myMaps:hover .exploreMapsIcon, .myMaps.active .exploreMapsIcon { diff --git a/app/assets/stylesheets/mobile.scss.erb b/app/assets/stylesheets/mobile.scss.erb index cf416e37..a646fea4 100644 --- a/app/assets/stylesheets/mobile.scss.erb +++ b/app/assets/stylesheets/mobile.scss.erb @@ -56,7 +56,7 @@ width: 100%; } - .wrapper div.mapInfoBox { + .wrapper .mapInfoBox { position: fixed; top: 50px; right: 0px; diff --git a/app/views/layouts/_lowermapelements.html.erb b/app/views/layouts/_lowermapelements.html.erb index fe120219..82ec71f2 100644 --- a/app/views/layouts/_lowermapelements.html.erb +++ b/app/views/layouts/_lowermapelements.html.erb @@ -8,11 +8,11 @@