diff --git a/app/javascript/styles/gabsocial/components.scss b/app/javascript/styles/gabsocial/components.scss
index 0194a4b4..36ead41d 100644
--- a/app/javascript/styles/gabsocial/components.scss
+++ b/app/javascript/styles/gabsocial/components.scss
@@ -1702,6 +1702,12 @@ a.account__display-name {
font-size: 15px;
padding: 0 20px;
+ &--special {
+ i {
+ color: #30CE7D;
+ }
+ }
+
&:hover {
color: darken($primary-text-color, 14%);
@@ -5356,3 +5362,69 @@ noscript {
margin-left: 2px;
}
}
+
+.sidebar-menu .progress-panel {
+ padding-left: 12px;
+ padding-right: 12px;
+}
+
+.progress-panel {
+ background: none !important;
+ background-color: transparent !important;
+ box-shadow: none !important;
+ margin-top: 15px;
+
+ .progress-panel-header {
+ padding: 5px;
+ margin-bottom: 0;
+ }
+
+ &__content {
+ display: block;
+ padding: 0 5px;
+ box-sizing: border-box;
+ }
+
+ &__text {
+ display: block;
+ margin-bottom: 5px;
+ font-size: 14px;
+ color: $darker-text-color;
+ }
+
+ &__bar-container {
+ display: block;
+ width: 100%;
+ box-sizing: border-box;
+ border-radius: 12px;
+ height: 22px;
+ overflow: hidden;
+ position: relative;
+ background-color: #555;
+ margin-top: 15px;
+ margin-bottom: 15px;
+ }
+
+ &__bar {
+ display: block;
+ width: 100%;
+ background-color: #32a269;
+ box-sizing: border-box;
+ border-radius: 10px;
+ height: 22px;
+ margin: -1px;
+
+ &__text {
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ text-align: center;
+ font-size: 14px;
+ line-height: 22px;
+ font-weight: 600;
+ color: #fff;
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb
index 841ff926..b9c09c08 100644
--- a/app/serializers/initial_state_serializer.rb
+++ b/app/serializers/initial_state_serializer.rb
@@ -37,6 +37,7 @@ class InitialStateSerializer < ActiveModel::Serializer
store[:group_in_home_feed] = object.current_account.user.setting_group_in_home_feed
store[:is_staff] = object.current_account.user.staff?
store[:unread_count] = unread_count object.current_account
+ store[:monthly_expenses_complete] = Redis.current.get("monthly_funding_ammount") || 0
end
store
diff --git a/app/views/settings/expenses/index.html.haml b/app/views/settings/expenses/index.html.haml
new file mode 100644
index 00000000..cfa518f5
--- /dev/null
+++ b/app/views/settings/expenses/index.html.haml
@@ -0,0 +1,6 @@
+- content_for :page_title do
+ = t('monthly_funding.title')
+
+= form_tag settings_expenses_url, :method => :post do
+ = text_field_tag "ammount", "", placeholder: "0-100", :value => @ammount
+ = submit_tag "Submit"
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 5d3ca787..63b95274 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -72,6 +72,8 @@ en:
unfollow: Unfollow
promotions:
title: Promotions
+ monthly_funding:
+ title: Monthly Funding
admin:
account_actions:
action: Perform action
diff --git a/config/navigation.rb b/config/navigation.rb
index f42e3782..e11e0a02 100644
--- a/config/navigation.rb
+++ b/config/navigation.rb
@@ -60,6 +60,7 @@ SimpleNavigation::Configuration.run do |navigation|
s.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url, link_html: { target: 'pghero' }, if: -> { current_user.admin? }
s.item :moderation, safe_join([fa_icon('id-card-o fw'), t('verifications.moderation.title')]), settings_verifications_moderation_url, if: -> { current_user.admin? }
s.item :promotions, safe_join([fa_icon('star fw'), t('promotions.title')]), settings_promotions_url, if: -> { current_user.admin? }
+ s.item :monthly_funding, safe_join([fa_icon('money fw'), t('monthly_funding.title')]), settings_expenses_url, if: -> { current_user.admin? }
end
n.item :logout, safe_join([fa_icon('sign-out fw'), t('auth.logout')]), destroy_user_session_url, link_html: { 'data-method' => 'delete' }
diff --git a/config/routes.rb b/config/routes.rb
index 772ccdfa..74b1b2cd 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -90,6 +90,7 @@ Rails.application.routes.draw do
end
resources :promotions, only: [:index, :new, :create, :edit, :update, :destroy]
+ resources :expenses, only: [:index, :new, :create, :edit, :update, :destroy]
namespace :verifications do
get :moderation, to: 'moderation#index', as: :moderation