about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-01-13 20:14:21 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-01-13 20:16:38 +0100
commitc01dd089ff3149ce6b5bf539143b335a84c08eee (patch)
tree00e23e23befc3e0a783126bb687c70602cc11e02 /app
parente25170f960bdc890e4f8a6b1373ab55192669629 (diff)
Adding about/more page with extended information that can be set up by an admin
Diffstat (limited to 'app')
-rw-r--r--app/assets/images/background-photo.jpegbin128834 -> 894792 bytes
-rw-r--r--app/assets/stylesheets/about.scss177
-rw-r--r--app/controllers/about_controller.rb4
-rw-r--r--app/views/about/index.html.haml1
-rw-r--r--app/views/about/more.html.haml49
5 files changed, 222 insertions, 9 deletions
diff --git a/app/assets/images/background-photo.jpeg b/app/assets/images/background-photo.jpeg
index 4390fca66..b0a88ff35 100644
--- a/app/assets/images/background-photo.jpeg
+++ b/app/assets/images/background-photo.jpeg
Binary files differdiff --git a/app/assets/stylesheets/about.scss b/app/assets/stylesheets/about.scss
index 620c86a67..83b0ee079 100644
--- a/app/assets/stylesheets/about.scss
+++ b/app/assets/stylesheets/about.scss
@@ -26,15 +26,19 @@
   }
 
   h2 {
-    font: 24px/28px 'Judson', sans-serif;
-    font-weight: 300;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 24px;
+    line-height: 28px;// 'Judson', sans-serif;
+    font-weight: 400;
     margin-bottom: 20px;
     color: #fff;
   }
 
   h3 {
-    font: 20px/28px 'Judson', sans-serif;
-    font-weight: 300;
+    font-family: 'Montserrat', sans-serif;
+    font-size: 20px;
+    line-height: 28px;// 'Judson', sans-serif;
+    font-weight: 400;
     margin-bottom: 20px;
     color: #d9e1e8;
   }
@@ -57,8 +61,10 @@
   }
 
   p, li {
-    font: 20px/28px 'Judson', sans-serif;
-    font-weight: 300;
+    font: 16px/28px 'Montserrat', sans-serif;
+    //font-size: 19px;
+    //line-height: 28px;// 'Judson', sans-serif;
+    font-weight: 400;
     margin-bottom: 26px;
 
     a {
@@ -70,6 +76,7 @@
   em {
     display: inline-block;
     padding: 7px 7px 5px 7px;
+    margin: 0 2px;
     background: #9baec8;
     color: #282c37;
     font: 16px/16px 'Montserrat', sans-serif;
@@ -108,3 +115,161 @@
     }
   }
 }
+
+.information-board {
+  margin: 20px 0;
+  display: flex;
+  justify-content: space-between;
+  border-top: 1px solid lighten(#282c37, 10%);
+  border-bottom: 1px solid lighten(#282c37, 10%);
+  padding-right: 14px;
+
+  .section {
+    flex: 1 0 0;
+    padding: 14px;
+    text-align: right;
+    font: 16px/28px 'Montserrat', sans-serif;
+
+    span, strong {
+      display: block;
+    }
+
+    span {
+      font-size: 16px;
+
+      &:last-child {
+        color: #d9e1e8;
+        font-size: 14px;
+      }
+    }
+
+    strong {
+      font-weight: 500;
+      font-size: 48px;
+      line-height: 48px;
+      color: #fff;
+    }
+  }
+}
+
+.owner {
+  text-align: center;
+
+  .avatar {
+    width: 80px;
+    height: 80px;
+    margin: 0 auto;
+    margin-bottom: 15px;
+
+    img {
+      display: block;
+      width: 80px;
+      height: 80px;
+      border-radius: 48px;
+    }
+  }
+
+  .name {
+    font-size: 14px;
+
+    a {
+      display: block;
+      color: #fff;
+      text-decoration: none;
+
+      &:hover {
+        .display_name {
+          text-decoration: underline;
+        }
+      }
+    }
+
+    .username {
+      display: block;
+      color: #9baec8;
+    }
+  }
+}
+
+.contact-email {
+  text-align: center;
+  margin: 40px 0;
+
+  strong {
+    display: block;
+    color: #fff;
+  }
+}
+
+.sidebar-layout {
+  display: flex;
+
+  .main {
+    flex: 1 1 auto;
+    padding: 14px 0;
+
+    .panel {
+      padding-right: 14px;
+    }
+  }
+
+  .sidebar {
+    border-left: 1px solid lighten(#282c37, 10%);
+    width: 140px;
+    flex: 0 0 auto;
+  }
+
+  .panel {
+    .panel-header {
+      background: lighten(#282c37, 10%);
+      padding: 7px 14px;
+      text-transform: uppercase;
+      font-size: 12px;
+      font-weight: 500;
+    }
+
+    .panel-body {
+      padding: 14px;
+    }
+
+    .panel-list {
+      ul {
+        list-style: none;
+        margin: 0;
+
+        li {
+          margin: 0;
+          font-family: inherit;
+          font-size: 13px;
+
+          a {
+            display: block;
+            padding: 7px 14px;
+            color: rgba(255, 255, 255, 0.7);
+            text-decoration: none;
+            transition: all 200ms linear;
+
+            i.fa {
+              margin-right: 5px;
+            }
+
+            &:hover {
+              color: #fff;
+              background-color: darken(#282c37, 5%);
+              transition: all 100ms linear;
+            }
+
+            &.selected {
+              color: #fff;
+              background-color: #2b90d9;
+
+              &:hover {
+                background-color: lighten(#2b90d9, 5%);
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb
index b69c8e790..491036db2 100644
--- a/app/controllers/about_controller.rb
+++ b/app/controllers/about_controller.rb
@@ -8,9 +8,13 @@ class AboutController < ApplicationController
   end
 
   def more
+    @description          = Setting.site_description
     @extended_description = Setting.site_extended_description
     @contact_account      = Account.find_local(Setting.site_contact_username)
     @contact_email        = Setting.site_contact_email
+    @user_count           = Rails.cache.fetch('user_count')            { User.count }
+    @status_count         = Rails.cache.fetch('local_status_count')    { Status.local.count }
+    @domain_count         = Rails.cache.fetch('distinct_domain_count') { Account.distinct.count(:domain) }
   end
 
   def terms; end
diff --git a/app/views/about/index.html.haml b/app/views/about/index.html.haml
index a593ff578..88bfe3d61 100644
--- a/app/views/about/index.html.haml
+++ b/app/views/about/index.html.haml
@@ -29,6 +29,7 @@
 
   .actions
     .info
+      = link_to t('about.learn_more'), about_more_path
       = link_to t('about.terms'), terms_path
       = link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon'
 
diff --git a/app/views/about/more.html.haml b/app/views/about/more.html.haml
index 49a3a0c95..c3ffe195c 100644
--- a/app/views/about/more.html.haml
+++ b/app/views/about/more.html.haml
@@ -2,7 +2,50 @@
   #{Rails.configuration.x.local_domain}
 
 .wrapper
-  = @extended_description.html_safe
+  .sidebar-layout
+    .main
+      .panel
+        %h2= Rails.configuration.x.local_domain
 
-  - if @contact_account
-    = render partial: 'authorize_follow/card', locals: { account: @contact_account }
\ No newline at end of file
+        - unless @description.blank?
+          %p= @description.html_safe
+
+      .information-board
+        .section
+          %span= t 'about.user_count_before'
+          %strong= number_with_delimiter @user_count
+          %span= t 'about.user_count_after'
+        .section
+          %span= t 'about.status_count_before'
+          %strong= number_with_delimiter @status_count
+          %span= t 'about.status_count_after'
+        .section
+          %span= t 'about.domain_count_before'
+          %strong= number_with_delimiter @domain_count
+          %span= t 'about.domain_count_after'
+
+      - unless @extended_description.blank?
+        .panel= @extended_description.html_safe
+
+    .sidebar
+      .panel
+        .panel-header= t 'about.contact'
+        .panel-body
+          .owner
+            .avatar= image_tag @contact_account.avatar.url
+            .name
+              = link_to TagManager.instance.url_for(@contact_account) do
+                %span.display_name.emojify= display_name(@contact_account)
+                %span.username= "@#{@contact_account.acct}"
+
+          .contact-email
+            = t 'about.business_email'
+            %strong= @contact_email
+      .panel
+        .panel-header= t 'about.links'
+        .panel-list
+          %ul
+            %li= link_to t('about.get_started'), new_user_registration_path
+            %li= link_to t('auth.login'), new_user_session_path
+            %li= link_to t('about.terms'), terms_path
+            %li= link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon'