mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-25 17:51:36 +01:00
Add extended about page stub
This commit is contained in:
parent
2939e9898b
commit
e25170f960
10 changed files with 44 additions and 15 deletions
|
@ -7,6 +7,12 @@ class AboutController < ApplicationController
|
||||||
@description = Setting.site_description
|
@description = Setting.site_description
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def more
|
||||||
|
@extended_description = Setting.site_extended_description
|
||||||
|
@contact_account = Account.find_local(Setting.site_contact_username)
|
||||||
|
@contact_email = Setting.site_contact_email
|
||||||
|
end
|
||||||
|
|
||||||
def terms; end
|
def terms; end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Settings
|
module Settings
|
||||||
module Extend
|
module Extend
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
def settings
|
def settings
|
||||||
ScopedSettings.for_thing(self)
|
ScopedSettings.for_thing(self)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Settings
|
module Settings
|
||||||
class ScopedSettings < ::Setting
|
class ScopedSettings < ::Setting
|
||||||
def self.for_thing(object)
|
def self.for_thing(object)
|
||||||
|
@ -9,4 +11,4 @@ module Settings
|
||||||
unscoped.where(thing_type: @object.class.base_class.to_s, thing_id: @object.id)
|
unscoped.where(thing_type: @object.class.base_class.to_s, thing_id: @object.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -159,6 +159,7 @@ class Account < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_remote!(username, domain)
|
def find_remote!(username, domain)
|
||||||
|
return if username.blank?
|
||||||
where(arel_table[:username].matches(username.gsub(/[%_]/, '\\\\\0'))).where(domain.nil? ? { domain: nil } : arel_table[:domain].matches(domain.gsub(/[%_]/, '\\\\\0'))).take!
|
where(arel_table[:username].matches(username.gsub(/[%_]/, '\\\\\0'))).where(domain.nil? ? { domain: nil } : arel_table[:domain].matches(domain.gsub(/[%_]/, '\\\\\0'))).take!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,9 @@ class Setting < RailsSettings::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
|
|
||||||
def [](key)
|
def [](key)
|
||||||
return super(key) unless rails_initialized?
|
return super(key) unless rails_initialized?
|
||||||
|
|
||||||
val = Rails.cache.fetch(cache_key(key, @object)) do
|
val = Rails.cache.fetch(cache_key(key, @object)) do
|
||||||
db_val = object(key)
|
db_val = object(key)
|
||||||
|
|
||||||
|
@ -25,7 +24,7 @@ class Setting < RailsSettings::Base
|
||||||
default_settings[key]
|
default_settings[key]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
val
|
val
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module Web
|
module Web
|
||||||
def self.table_name_prefix
|
def self.table_name_prefix
|
||||||
'web_'
|
'web_'
|
||||||
|
|
8
app/views/about/more.html.haml
Normal file
8
app/views/about/more.html.haml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
- content_for :page_title do
|
||||||
|
#{Rails.configuration.x.local_domain}
|
||||||
|
|
||||||
|
.wrapper
|
||||||
|
= @extended_description.html_safe
|
||||||
|
|
||||||
|
- if @contact_account
|
||||||
|
= render partial: 'authorize_follow/card', locals: { account: @contact_account }
|
|
@ -9,6 +9,12 @@
|
||||||
%th Setting
|
%th Setting
|
||||||
%th Click to edit
|
%th Click to edit
|
||||||
%tbody
|
%tbody
|
||||||
|
%tr
|
||||||
|
%td{ rowspan: 2 }
|
||||||
|
%strong Contact information
|
||||||
|
%td= best_in_place @settings['site_contact_username'], :value, url: admin_setting_path(@settings['site_contact_username']), place_holder: 'Enter a username'
|
||||||
|
%tr
|
||||||
|
%td= best_in_place @settings['site_contact_email'], :value, url: admin_setting_path(@settings['site_contact_email']), place_holder: 'Enter a public e-mail address'
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
%strong Site description
|
%strong Site description
|
||||||
|
@ -21,8 +27,10 @@
|
||||||
%code= '<em>'
|
%code= '<em>'
|
||||||
%td= best_in_place @settings['site_description'], :value, as: :textarea, url: admin_setting_path(@settings['site_description'])
|
%td= best_in_place @settings['site_description'], :value, as: :textarea, url: admin_setting_path(@settings['site_description'])
|
||||||
%tr
|
%tr
|
||||||
%td{ rowspan: 2 }
|
%td
|
||||||
%strong Contact information
|
%strong Extended site description
|
||||||
%td= best_in_place @settings['site_contact_username'], :value, url: admin_setting_path(@settings['site_contact_username']), place_holder: 'Enter a username'
|
%br/
|
||||||
%tr
|
Displayed on extended information page
|
||||||
%td= best_in_place @settings['site_contact_email'], :value, url: admin_setting_path(@settings['site_contact_email']), place_holder: 'Enter a public e-mail address'
|
%br/
|
||||||
|
You can use HTML tags
|
||||||
|
%td= best_in_place @settings['site_extended_description'], :value, as: :textarea, url: admin_setting_path(@settings['site_extended_description'])
|
|
@ -143,9 +143,10 @@ Rails.application.routes.draw do
|
||||||
|
|
||||||
get '/web/(*any)', to: 'home#index', as: :web
|
get '/web/(*any)', to: 'home#index', as: :web
|
||||||
|
|
||||||
get :about, to: 'about#index'
|
get '/about', to: 'about#index'
|
||||||
get :terms, to: 'about#terms'
|
get '/about/more', to: 'about#more'
|
||||||
|
get '/terms', to: 'about#terms'
|
||||||
|
|
||||||
root 'home#index'
|
root 'home#index'
|
||||||
|
|
||||||
match '*unmatched_route', via: :all, to: 'application#raise_not_found'
|
match '*unmatched_route', via: :all, to: 'application#raise_not_found'
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# config/app.yml for rails-settings-cached
|
# config/app.yml for rails-settings-cached
|
||||||
defaults: &defaults
|
defaults: &defaults
|
||||||
site_description: ''
|
site_description: ''
|
||||||
|
site_extended_description: ''
|
||||||
site_contact_username: ''
|
site_contact_username: ''
|
||||||
site_contact_email: ''
|
site_contact_email: ''
|
||||||
notification_emails:
|
notification_emails:
|
||||||
|
@ -12,7 +13,6 @@ defaults: &defaults
|
||||||
interactions:
|
interactions:
|
||||||
must_be_follower: false
|
must_be_follower: false
|
||||||
must_be_following: false
|
must_be_following: false
|
||||||
|
|
||||||
development:
|
development:
|
||||||
<<: *defaults
|
<<: *defaults
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue