Commit 5ab09f06 authored by Steffen van Bergerem's avatar Steffen van Bergerem

Merge pull request #6086 from Flaburgan/add-services-mobile

Add Services and Privacy settings page to mobile
parents 93281d28 a7d88add
......@@ -40,6 +40,7 @@ bind to an UNIX socket at `unix:tmp/diaspora.sock`. Please change your local
## Features
* Support color themes [#6033](https://github.com/diaspora/diaspora/pull/6033)
* Add mobile services and privacy settings pages [#6086](https://github.com/diaspora/diaspora/pull/6086)
# 0.5.2.0
......
......@@ -9,6 +9,7 @@
@import "header";
@import "mobile/tags";
@import "mobile/conversations";
@import "mobile/settings";
a {
color: #2489ce;
......@@ -137,6 +138,7 @@ h3 { margin-top: 0; }
}
}
.settings_container,
.stream_element,
#login_form {
border-radius: 5px;
......@@ -149,15 +151,37 @@ h3 { margin-top: 0; }
border-bottom-color: #aaa;
}
.stream_element div.img img.avatar {
margin: 10px;
}
.stream_element {
padding: 0px;
.stream_element .bd {
padding-top: 10px;
}
div.img img.avatar {
margin: 10px;
}
.bd {
padding-top: 10px;
}
.media {
padding: 0;
}
.photo_attachments {
border-radius: 3px 3px 0 0;
border: {
bottom: 1px solid #ccc;
}
.stream_element .media { padding: 0; }
img.big-stream-photo {
border-radius: 3px 3px 0 0;
width: 100%;
}
a {
padding: 0; }
margin-top: 0;
}
}
.photo_attachments {
position: relative;
......@@ -430,22 +454,7 @@ h3 { margin-top: 0; }
}
.floater {
float: right; }
.stream_element .photo_attachments {
border-radius: 3px 3px 0 0;
border: {
bottom: 1px solid #ccc;
}
img.big-stream-photo {
border-radius: 3px 3px 0 0;
width: 100%;
}
a {
padding: 0; }
margin-top: 0;
float: right;
}
.photo_area {
......@@ -602,7 +611,6 @@ select {
overflow: hidden;
}
.stream_element { padding: 0; }
.notifications {
list-style: none;
......@@ -882,20 +890,6 @@ form p.checkbox_select {
}
}
#settings_nav {
font-size: 1em;
ul {
margin: 0;
padding: 0;
text-align: center;
}
li {
display: inline;
}
}
form#update_profile_form {
select {
padding: 3px;
......
#settings_nav {
border-bottom: 1px solid $border-grey;
margin-bottom: 1rem;
padding-bottom: 1rem;
ul {
padding: 0px;
margin: 0px;
}
li {
display: inline;
font-size: 1.7rem;
padding: 0px 0.3rem;
&:first-child { padding-left: 0px; }
&:last-child { padding-right: 0px; }
}
}
.services_page {
h3 {
margin: 1rem 0px;
}
.services_explanation {
border-top: 1px solid $border-grey;
margin-top: 1rem;
padding: 1rem;
}
}
......@@ -6,11 +6,12 @@
= render "shared/settings_nav"
.container-fluid
.col-lg-8.col-lg-offset-2
- content_for :submit_block do
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default"
= submit_tag t(".update_profile"), class: "btn btn-primary pull-right", id: "update_profile"
.row
.col-lg-8.col-lg-offset-2
- content_for :submit_block do
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default"
= submit_tag t(".update_profile"), class: "btn btn-primary pull-right", id: "update_profile"
= form_tag profile_path, method: :put, multipart: true, id: "update_profile_form" do
= render "edit_public", profile: @profile, aspect: @aspect, person: @person, mobile: false
= render "edit_private", person: @person, profile: @profile, aspect: @aspect, step: @step
= form_tag profile_path, method: :put, multipart: true, id: "update_profile_form" do
= render "edit_public", profile: @profile, aspect: @aspect, person: @person, mobile: false
= render "edit_private", person: @person, profile: @profile, aspect: @aspect, step: @step
......@@ -2,13 +2,16 @@
-# licensed under the Affero General Public License version 3 or later. See
-# the COPYRIGHT file.
= render "shared/settings_nav"
.settings_container
= render "shared/settings_nav"
.col-lg-8.col-lg-offset-2
- content_for :submit_block do
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default button"
= submit_tag t(".update_profile"), class: "btn btn-primary pull-right", id: "update_profile"
.container-fluid
.row
.col-lg-8.col-lg-offset-2
- content_for :submit_block do
= link_to t("cancel"), local_or_remote_person_path(current_user.person), class: "btn btn-default"
= submit_tag t(".update_profile"), class: "btn btn-primary pull-right", id: "update_profile"
= form_tag profile_path, method: :put, multipart: true, id: "update_profile_form" do
= render "edit_public", profile: @profile, aspect: @aspect, person: @person, mobile: true
= render "edit_private", person: @person, profile: @profile, aspect: @aspect, step: @step
= form_tag profile_path, method: :put, multipart: true, id: "update_profile_form" do
= render "edit_public", profile: @profile, aspect: @aspect, person: @person, mobile: true
= render "edit_private", person: @person, profile: @profile, aspect: @aspect, step: @step
......@@ -9,11 +9,12 @@
= render 'shared/settings_nav'
.container-fluid
.small-horizontal-spacer
.col-lg-8.col-lg-offset-2
.col-md-7
= render 'add_remove_services'
.row
.col-lg-8.col-lg-offset-2
%h3= t('.title')
.col-md-7
= render 'add_remove_services'
.col-md-5
%p
= t('.services_explanation')
.col-md-5
%p
= t('.services_explanation')
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
-# licensed under the Affero General Public License version 3 or later. See
-# the COPYRIGHT file.
.settings_container.services_page
- content_for :page_title do
= t('.edit_services')
= render 'shared/settings_nav'
.container-fluid
.row
.col-md-12
= render 'add_remove_services'
.row
.col-md-12.services_explanation
= t('.services_explanation')
%h2.container-fluid.col-md-offset-2= t('settings')
#span-24
%h3
#settings_nav
%ul
%li= link_to_unless_current t('profile'), edit_profile_path
|
%li= link_to_unless_current t('account'), edit_user_path
#settings_nav.container-fluid
%h2= t('settings')
%nav
%ul
%li= link_to_unless_current t('profile'), edit_profile_path
%li= link_to_unless_current t('account'), edit_user_path
%li= link_to_unless_current t('privacy'), privacy_settings_path
%li= link_to_unless_current t('_services'), services_path
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
-# licensed under the Affero General Public License version 3 or later. See
-# the COPYRIGHT file.
- content_for :page_title do
= t('.edit_account')
= render 'shared/settings_nav'
.container-fluid
.row
.col-lg-8.col-lg-offset-2
.row
.col-md-6
%h3= t('.your_handle')
%p
%b= current_user.diaspora_handle
.col-md-6
%h3
= t(".your_email")
%i.entypo.lock.gray.settings_visibility{title: t("users.edit.your_email_private")}
= form_for 'user', url: user_path, html: { method: :put, class: "form-horizontal col-md-12" , id: "email-form"} do |f|
= f.error_messages
.form-group
= f.text_field :email, value: @user.unconfirmed_email || @user.email, class: "col-md-7 form-control"
.clearfix= f.submit t('.change_email'), class: "btn btn-primary pull-right"
- if @user.unconfirmed_email.present?
%div= t('.email_awaiting_confirmation', email: @user.email, :unconfirmed_email => @user.unconfirmed_email)
%hr
.row
.col-md-12
%h3= t('.change_password')
= form_for @user, url: user_path, html: { method: :put, class: "form-horizontal" } do |f|
- if (@user.errors.keys & [:password, :password_confirmation, :current_password]).present?
= f.error_messages
.form-group
= f.label :current_password, t('.current_password'), class: "col-sm-6 control-label"
.col-sm-6
= f.password_field :current_password, placeholder: t('.current_password_expl'), class: "form-control"
.form-group
= f.label :password, t('.new_password'), class: "col-sm-6 control-label"
%div.col-sm-6
= f.password_field :password, placeholder: t('.character_minimum_expl'), class: "form-control"
.form-group
= f.label :password_confirmation, t('password_confirmation'), class: "col-sm-6 control-label"
.col-sm-6
= f.password_field :password_confirmation, placeholder: t('.character_minimum_expl'), class: "form-control"
.clearfix
= f.submit t('.change_password'), class: "btn btn-primary pull-right", name: 'change_password'
%hr
.row
.col-md-12
%h3= t('.change_language')
= form_for 'user', url: user_path, html: { method: :put} do |f|
.form-inline.clearfix
= f.select :language, available_language_options, {}, { class: 'form-control form-group' }
= f.submit t('.change_language'), class: "btn btn-primary pull-right"
%hr
.row
.col-md-12
%h3= t(".change_color_theme")
= form_for "user", url: user_path, html: {method: :put} do |f|
.form-inline.clearfix
= f.select :color_theme, available_color_themes, {}, {class: "form-control form-group"}
= f.submit t(".change_color_theme"), class: "btn btn-primary pull-right"
%hr
.row
.col-md-12
%h3#stream-preferences
= t('.stream_preferences')
= form_for current_user, url: user_path, html: { method: :put } do |f|
= f.fields_for :stream_preferences do |type|
#stream_prefs
- if AppConfig.settings.community_spotlight.enable?
= f.label :show_community_spotlight_in_stream, class: "checkbox-inline" do
= f.check_box :show_community_spotlight_in_stream
= t('.show_community_spotlight')
= f.label :getting_started, class: "checkbox-inline" do
= f.check_box :getting_started
= t('.show_getting_started')
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
%hr
.row
.col-md-12
%h3#auto-follow-back-preferences
= t('.following')
= form_for current_user, url: user_path, html: { method: :put, class: "form-horizontal"} do |f|
= f.label :auto_follow_back, class: "checkbox-inline" do
= f.check_box :auto_follow_back
= t('.auto_follow_back')
.small-horizontal-spacer
.form-group.row
%label.col-sm-6.control-label= t('.auto_follow_aspect')
.col-sm-6
= f.select :auto_follow_back_aspect_id, aspect_options_for_select(current_user.aspects), {}, { class: 'form-control' }
.small-horizontal-spacer
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
%hr
.row
.col-md-12
%h3
= t('.receive_email_notifications')
= form_for 'user', url: user_path, html: { method: :put } do |f|
= f.fields_for :email_preferences do |type|
#email_prefs
- if current_user.admin?
= type.label :someone_reported, class: "checkbox-inline" do
= type.check_box :someone_reported, {checked: @email_prefs['someone_reported']}, false, true
= t('.someone_reported')
.small-horizontal-spacer
= type.label :started_sharing, class: "checkbox-inline" do
= type.check_box :started_sharing, {checked: @email_prefs['started_sharing']}, false, true
= t('.started_sharing')
.small-horizontal-spacer
= type.label :mentioned, class: "checkbox-inline" do
= type.check_box :mentioned, {checked: @email_prefs['mentioned']}, false, true
= t('.mentioned')
.small-horizontal-spacer
= type.label :liked, class: "checkbox-inline" do
= type.check_box :liked, {checked: @email_prefs['liked']}, false, true
= t('.liked')
.small-horizontal-spacer
= type.label :reshared, class: "checkbox-inline" do
= type.check_box :reshared, {checked: @email_prefs['reshared']}, false, true
= t('.reshared')
.small-horizontal-spacer
= type.label :comment_on_post, class: "checkbox-inline" do
= type.check_box :comment_on_post, {checked: @email_prefs['comment_on_post']}, false, true
= t('.comment_on_post')
.small-horizontal-spacer
= type.label :also_commented, class: "checkbox-inline" do
= type.check_box :also_commented, {checked: @email_prefs['also_commented']}, false, true
= t('.also_commented')
.small-horizontal-spacer
= type.label :private_message, class: "checkbox-inline" do
= type.check_box :private_message, {checked: @email_prefs['private_message']}, false, true
= t('.private_message')
.small-horizontal-spacer
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right', id: "change_email_preferences"
%hr
.row
#account_data.col-lg-7
.row
.col-md-6
%h3= t('.export_data')
.form-group
- if current_user.exporting
.export-in-progress= t('.export_in_progress')
- elsif current_user.export.present?
= link_to t('.request_export_update'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
.small-horizontal-spacer
= link_to t('.download_export'), download_profile_user_path, class: "btn btn-success btn-block"
.small-horizontal-spacer
%h6
= t('.last_exported_at', timestamp: current_user.exported_at)
- else
= link_to t('.request_export'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
.form-group
- if current_user.exporting_photos
.export-in-progress= t('.export_photos_in_progress')
- elsif current_user.exported_photos_file.present?
= link_to t('.request_export_photos_update'), export_photos_user_path, class: "btn btn-default btn-block"
.small-horizontal-spacer
= link_to t('.download_export_photos'), download_photos_user_path, method: :post, class: "btn btn-success btn-block"
.small-horizontal-spacer
%h6
= t('.last_exported_at', timestamp: current_user.exported_photos_at)
- else
= link_to t('.request_export_photos'), export_photos_user_path, method: :post, class: "btn btn-default btn-block"
.col-lg-5
%h3
= t('.close_account_text')
.form-group
.btn.btn-danger{ id: "close_account", data: {toggle: "modal", target: "#closeAccountModal"}}
= t(".close_account_text")
= render "close_account_modal"
= render 'shared/settings_nav'
.container-fluid
.row
.col-lg-8.col-lg-offset-2
.row
.col-md-12
%h3
= t('.title')
= form_for current_user, url: user_path, html: { method: :put } do |f|
= f.error_messages
= f.fields_for :stream_preferences do |type|
#stream_prefs.checkbox
= f.label :strip_exif do
= f.check_box :strip_exif
= t('.strip_exif')
= f.submit t('users.edit.change'), class: 'btn btn-primary pull-right'
%hr
.row
.col-md-12
%h3
= t('.ignored_users')
- if @blocks.length.zero?
%p
= t('.no_user_ignored_message')
- @blocks.each do |block|
= block.person_name
\-
= link_to t('.stop_ignoring'), block_path(block),
method: :delete
-# Copyright (c) 2010-2011, Diaspora Inc. This file is
-# licensed under the Affero General Public License version 3 or later. See
-# the COPYRIGHT file.
- content_for :page_title do
= t('.edit_account')
.container-fluid
= render 'shared/settings_nav'
.container-fluid
.col-lg-8.col-lg-offset-2
.row
.col-md-6
%h3= t('.your_handle')
%p
%b= current_user.diaspora_handle
.col-md-6
%h3
= t(".your_email")
%i.entypo.lock.gray.settings_visibility{title: t("users.edit.your_email_private")}
= form_for 'user', url: user_path, html: { method: :put, class: "form-horizontal col-md-12" , id: "email-form"} do |f|
= f.error_messages
.form-group
= f.text_field :email, value: @user.unconfirmed_email || @user.email, class: "col-md-7 form-control"
.form-group
.clearfix= f.submit t('.change_email'), class: "btn btn-primary pull-right"
- if @user.unconfirmed_email.present?
%div= t('.email_awaiting_confirmation', email: @user.email, :unconfirmed_email => @user.unconfirmed_email)
%hr
%h3= t('.change_password')
= form_for @user, url: user_path, html: { method: :put, class: "form-horizontal" } do |f|
- if (@user.errors.keys & [:password, :password_confirmation, :current_password]).present?
= f.error_messages
%div.form-group
= f.label :current_password, t('.current_password'), class: "col-sm-6 control-label"
%div.col-sm-6
= f.password_field :current_password, placeholder: t('.current_password_expl'), class: "form-control"
%div.form-group
= f.label :password, t('.new_password'), class: "col-sm-6 control-label"
%div.col-sm-6
= f.password_field :password, placeholder: t('.character_minimum_expl'), class: "form-control"
%div.form-group
= f.label :password_confirmation, t('password_confirmation'), class: "col-sm-6 control-label"
%div.col-sm-6
= f.password_field :password_confirmation, placeholder: t('.character_minimum_expl'), class: "form-control"
.clearfix
= f.submit t('.change_password'), class: "btn btn-primary pull-right", name: 'change_password'
%hr
%h3= t('.change_language')
= form_for 'user', url: user_path, html: { method: :put} do |f|
.form-inline.clearfix
= f.select :language, available_language_options, {}, { class: 'form-control form-group' }
= f.submit t('.change_language'), class: "btn btn-primary pull-right"
%hr
%h3= t(".change_color_theme")
= form_for "user", url: user_path, html: {method: :put} do |f|
.form-inline.clearfix
= f.select :color_theme, available_color_themes, {}, {class: "form-control form-group"}
= f.submit t(".change_color_theme"), class: "btn btn-primary pull-right"
%hr
%h3#stream-preferences
= t('.stream_preferences')
= form_for current_user, url: user_path, html: { method: :put } do |f|
= f.fields_for :stream_preferences do |type|
#stream_prefs
- if AppConfig.settings.community_spotlight.enable?
= f.label :show_community_spotlight_in_stream, class: "checkbox-inline" do
= f.check_box :show_community_spotlight_in_stream
= t('.show_community_spotlight')
= f.label :getting_started, class: "checkbox-inline" do
= f.check_box :getting_started
= t('.show_getting_started')
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
%hr
%h3#auto-follow-back-preferences
= t('.following')
= form_for current_user, url: user_path, html: { method: :put, class: "form-horizontal"} do |f|
= f.label :auto_follow_back, class: "checkbox-inline" do
= f.check_box :auto_follow_back
= t('.auto_follow_back')
.small-horizontal-spacer
%div.form-group.row
%label.col-sm-6.control-label= t('.auto_follow_aspect')
%div.col-sm-6
= f.select :auto_follow_back_aspect_id, aspect_options_for_select(current_user.aspects), {}, { class: 'form-control' }
.small-horizontal-spacer
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right'
%hr
%h3
= t('.receive_email_notifications')
= form_for 'user', url: user_path, html: { method: :put } do |f|
= f.fields_for :email_preferences do |type|
#email_prefs
- if current_user.admin?
= type.label :someone_reported, class: "checkbox-inline" do
= type.check_box :someone_reported, {checked: @email_prefs['someone_reported']}, false, true
= t('.someone_reported')
.small-horizontal-spacer
= type.label :started_sharing, class: "checkbox-inline" do
= type.check_box :started_sharing, {checked: @email_prefs['started_sharing']}, false, true
= t('.started_sharing')
.small-horizontal-spacer
= type.label :mentioned, class: "checkbox-inline" do
= type.check_box :mentioned, {checked: @email_prefs['mentioned']}, false, true
= t('.mentioned')
.small-horizontal-spacer
= type.label :liked, class: "checkbox-inline" do
= type.check_box :liked, {checked: @email_prefs['liked']}, false, true
= t('.liked')
.small-horizontal-spacer
= type.label :reshared, class: "checkbox-inline" do
= type.check_box :reshared, {checked: @email_prefs['reshared']}, false, true
= t('.reshared')
.small-horizontal-spacer
= type.label :comment_on_post, class: "checkbox-inline" do
= type.check_box :comment_on_post, {checked: @email_prefs['comment_on_post']}, false, true
= t('.comment_on_post')
.small-horizontal-spacer
= type.label :also_commented, class: "checkbox-inline" do
= type.check_box :also_commented, {checked: @email_prefs['also_commented']}, false, true
= t('.also_commented')
.small-horizontal-spacer
= type.label :private_message, class: "checkbox-inline" do
= type.check_box :private_message, {checked: @email_prefs['private_message']}, false, true
= t('.private_message')
.small-horizontal-spacer
.clearfix= f.submit t('.change'), class: 'btn btn-primary pull-right', id: "change_email_preferences"
%hr
.row
#account_data.col-lg-7
.row
%h3.col-md-12= t('.export_data')
.col-md-6.form-group
- if current_user.exporting
.export-in-progress= t('.export_in_progress')
- elsif current_user.export.present?
= link_to t('.request_export_update'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
.small-horizontal-spacer
= link_to t('.download_export'), download_profile_user_path, class: "btn btn-success btn-block"
.small-horizontal-spacer
%h6
= t('.last_exported_at', timestamp: current_user.exported_at)
- else
= link_to t('.request_export'), export_profile_user_path, method: :post, class: "btn btn-default btn-block"
.col-md-6.form-group
- if current_user.exporting_photos
.export-in-progress= t('.export_photos_in_progress')
- elsif current_user.exported_photos_file.present?
= link_to t('.request_export_photos_update'), export_photos_user_path, class: "btn btn-default btn-block"
.small-horizontal-spacer
= link_to t('.download_export_photos'), download_photos_user_path, method: :post, class: "btn btn-success btn-block"
.small-horizontal-spacer
%h6
= t('.last_exported_at', timestamp: current_user.exported_photos_at)
- else
= link_to t('.request_export_photos'), export_photos_user_path, method: :post, class: "btn btn-default btn-block"
.col-lg-5
%h3.text-right
= t('.close_account_text')
.btn.btn-danger.pull-right{ id: "close_account", data: {toggle: "modal", target: "#closeAccountModal"}}
= t(".close_account_text")
= render "close_account_modal"
.container-fluid
= render "edit"
.settings_container
= render "edit"
......@@ -6,37 +6,4 @@
= t('.title')
.container-fluid
= render 'shared/settings_nav'
.container-fluid
.col-lg-8.col-lg-offset-2
%h3
= t('.title')
= form_for current_user, url: user_path, html: { method: :put } do |f|
= f.error_messages
= f.fields_for :stream_preferences do |type|
#stream_prefs
= f.label :strip_exif, class: "checkbox" do