diff --git a/app/models/application_integration.rb b/app/models/application_integration.rb index c7797f25..206d1306 100644 --- a/app/models/application_integration.rb +++ b/app/models/application_integration.rb @@ -14,6 +14,10 @@ class ApplicationIntegration < ApplicationRecord 'orange' end + def self.text_color + 'orange-text' + end + def generate_new_access_token! self.update(application_token: SecureRandom.hex(24)) end diff --git a/app/models/documents/document.rb b/app/models/documents/document.rb index 8ab90dcd..a28e3eb8 100644 --- a/app/models/documents/document.rb +++ b/app/models/documents/document.rb @@ -32,10 +32,18 @@ class Document < ApplicationRecord 'teal' end + def self.text_color + 'teal-text' + end + def color Document.color end + def text_color + Document.text_color + end + def self.hex_color '#009688' end diff --git a/app/models/folder.rb b/app/models/folder.rb index 1d5162a7..e3508003 100644 --- a/app/models/folder.rb +++ b/app/models/folder.rb @@ -10,6 +10,10 @@ class Folder < ApplicationRecord 'lighten-1 teal' end + def self.text_color + 'text-lighten-1 teal-text' + end + def self.icon 'folder' end diff --git a/app/models/page_collections/page_collection.rb b/app/models/page_collections/page_collection.rb index 1af449e2..36e9e9a2 100644 --- a/app/models/page_collections/page_collection.rb +++ b/app/models/page_collections/page_collection.rb @@ -74,6 +74,10 @@ class PageCollection < ApplicationRecord 'brown' end + def self.text_color + 'brown-text' + end + def self.hex_color '#795548' end diff --git a/app/models/page_data/attribute_category.rb b/app/models/page_data/attribute_category.rb index edae7874..b868cfc2 100644 --- a/app/models/page_data/attribute_category.rb +++ b/app/models/page_data/attribute_category.rb @@ -24,6 +24,10 @@ class AttributeCategory < ApplicationRecord 'amber' end + def self.text_color + 'amber-text' + end + def icon icon_override || self.class.icon end @@ -62,6 +66,7 @@ class AttributeCategory < ApplicationRecord def backfill_fields_ordering! sorted_fields = attribute_fields.select(&:persisted?).sort do |a, b| + # TODO: we shouldn't need this code anymore a_value = case a.field_type when 'name' then 0 when 'universe' then 1 diff --git a/app/models/page_data/attribute_field.rb b/app/models/page_data/attribute_field.rb index 8a4e1c91..5b4c34dc 100644 --- a/app/models/page_data/attribute_field.rb +++ b/app/models/page_data/attribute_field.rb @@ -31,6 +31,10 @@ class AttributeField < ApplicationRecord 'amber' end + def self.text_color + 'amber-text' + end + def self.icon 'text_fields' end diff --git a/app/models/page_types/building.rb b/app/models/page_types/building.rb index 5fe10076..bca68f64 100644 --- a/app/models/page_types/building.rb +++ b/app/models/page_types/building.rb @@ -26,6 +26,10 @@ class Building < ActiveRecord::Base 'blue-grey' end + def self.text_color + 'blue-grey-text' + end + def self.hex_color '#607D8B' end diff --git a/app/models/page_types/character.rb b/app/models/page_types/character.rb index 13f4b867..10fb2ed7 100644 --- a/app/models/page_types/character.rb +++ b/app/models/page_types/character.rb @@ -52,6 +52,10 @@ class Character < ApplicationRecord 'red' end + def self.text_color + 'red-text' + end + def self.hex_color '#F44336' end diff --git a/app/models/page_types/condition.rb b/app/models/page_types/condition.rb index e9f3193b..4a12af6a 100644 --- a/app/models/page_types/condition.rb +++ b/app/models/page_types/condition.rb @@ -17,6 +17,10 @@ class Condition < ActiveRecord::Base 'text-darken-1 lime' end + def self.text_color + 'text-darken-1 lime-text' + end + def self.hex_color '#CDDC39' end diff --git a/app/models/page_types/content_page.rb b/app/models/page_types/content_page.rb index 007b8864..41581e4a 100644 --- a/app/models/page_types/content_page.rb +++ b/app/models/page_types/content_page.rb @@ -13,4 +13,8 @@ class ContentPage < ApplicationRecord def color self.page_type.constantize.color end + + def text_color + self.page_type.constantize.text_color + end end diff --git a/app/models/page_types/continent.rb b/app/models/page_types/continent.rb index 570df740..b74e62dc 100644 --- a/app/models/page_types/continent.rb +++ b/app/models/page_types/continent.rb @@ -33,6 +33,10 @@ class Continent < ActiveRecord::Base 'lighten-1 text-lighten-1 green' end + def self.text_color + 'text-lighten-1 green-text' + end + def self.hex_color '#66BB6A' end diff --git a/app/models/page_types/country.rb b/app/models/page_types/country.rb index ea40ef2d..72a04a76 100644 --- a/app/models/page_types/country.rb +++ b/app/models/page_types/country.rb @@ -37,6 +37,10 @@ class Country < ApplicationRecord 'lighten-2 text-lighten-2 brown' end + def self.text_color + 'text-lighten-2 brown-text' + end + def self.hex_color '#A1887F' end diff --git a/app/models/page_types/creature.rb b/app/models/page_types/creature.rb index 4c228777..61925486 100644 --- a/app/models/page_types/creature.rb +++ b/app/models/page_types/creature.rb @@ -36,6 +36,10 @@ class Creature < ApplicationRecord 'brown' end + def self.text_color + 'brown-text' + end + def self.hex_color '#795548' end diff --git a/app/models/page_types/deity.rb b/app/models/page_types/deity.rb index 13e48989..696bfc8d 100644 --- a/app/models/page_types/deity.rb +++ b/app/models/page_types/deity.rb @@ -37,6 +37,10 @@ class Deity < ApplicationRecord 'text-lighten-4 blue' end + def self.text_color + 'text-lighten-4 blue-text' + end + def self.hex_color '#BBDEFB' end diff --git a/app/models/page_types/flora.rb b/app/models/page_types/flora.rb index 2777d274..d8249ef3 100644 --- a/app/models/page_types/flora.rb +++ b/app/models/page_types/flora.rb @@ -32,6 +32,10 @@ class Flora < ApplicationRecord 'text-lighten-2 lighten-2 teal' end + def self.text_color + 'text-lighten-2 teal-text' + end + def self.hex_color '#4DB6AC' end diff --git a/app/models/page_types/food.rb b/app/models/page_types/food.rb index af89fa63..2931d350 100644 --- a/app/models/page_types/food.rb +++ b/app/models/page_types/food.rb @@ -17,6 +17,10 @@ class Food < ActiveRecord::Base 'red' end + def self.text_color + 'red-text' + end + def self.hex_color '#F44336' end diff --git a/app/models/page_types/government.rb b/app/models/page_types/government.rb index ae8e244d..fc3e89d2 100644 --- a/app/models/page_types/government.rb +++ b/app/models/page_types/government.rb @@ -27,6 +27,10 @@ class Government < ApplicationRecord 'darken-2 green' end + def self.text_color + 'green-text' + end + def self.hex_color '#388E3C' end diff --git a/app/models/page_types/group.rb b/app/models/page_types/group.rb index dff6d0e2..9875f2a0 100644 --- a/app/models/page_types/group.rb +++ b/app/models/page_types/group.rb @@ -40,6 +40,10 @@ class Group < ApplicationRecord 'cyan' end + def self.text_color + 'cyan-text' + end + def self.hex_color '#00BCD4' end diff --git a/app/models/page_types/item.rb b/app/models/page_types/item.rb index 0d248d4e..4bb42db3 100644 --- a/app/models/page_types/item.rb +++ b/app/models/page_types/item.rb @@ -34,6 +34,10 @@ class Item < ApplicationRecord 'text-darken-2 amber' end + def self.text_color + 'text-darken-2 amber-text' + end + def self.hex_color '#FFA000' end diff --git a/app/models/page_types/job.rb b/app/models/page_types/job.rb index 5109c6a6..9c4b8692 100644 --- a/app/models/page_types/job.rb +++ b/app/models/page_types/job.rb @@ -17,6 +17,10 @@ class Job < ActiveRecord::Base 'text-lighten-1 brown' end + def self.text_color + 'text-lighten-1 brown-text' + end + def self.hex_color '#795548' end diff --git a/app/models/page_types/landmark.rb b/app/models/page_types/landmark.rb index 996c91b5..11047469 100644 --- a/app/models/page_types/landmark.rb +++ b/app/models/page_types/landmark.rb @@ -31,6 +31,10 @@ class Landmark < ApplicationRecord 'text-lighten-1 lighten-1 orange' end + def self.text_color + 'text-lighten-1 orange-text' + end + def self.hex_color '#FFA726' end diff --git a/app/models/page_types/language.rb b/app/models/page_types/language.rb index 7bff56ca..c2e94f6e 100644 --- a/app/models/page_types/language.rb +++ b/app/models/page_types/language.rb @@ -24,6 +24,10 @@ class Language < ApplicationRecord 'blue' end + def self.text_color + 'blue-text' + end + def self.hex_color '#2196F3' end diff --git a/app/models/page_types/location.rb b/app/models/page_types/location.rb index e77f1ec0..b01ab186 100644 --- a/app/models/page_types/location.rb +++ b/app/models/page_types/location.rb @@ -46,6 +46,10 @@ class Location < ApplicationRecord 'green' end + def self.text_color + 'green-text' + end + def self.hex_color '#4CAF50' end diff --git a/app/models/page_types/lore.rb b/app/models/page_types/lore.rb index 19f2080f..914f83e1 100644 --- a/app/models/page_types/lore.rb +++ b/app/models/page_types/lore.rb @@ -47,6 +47,10 @@ class Lore < ActiveRecord::Base 'text-lighten-2 lighten-1 orange' end + def self.text_color + 'text-lighten-2 orange-text' + end + def self.hex_color '#FFB74D' end diff --git a/app/models/page_types/magic.rb b/app/models/page_types/magic.rb index c77b7f85..0486b39a 100644 --- a/app/models/page_types/magic.rb +++ b/app/models/page_types/magic.rb @@ -25,6 +25,10 @@ class Magic < ApplicationRecord 'orange' end + def self.text_color + 'orange-text' + end + def self.hex_color '#FF9800' end diff --git a/app/models/page_types/planet.rb b/app/models/page_types/planet.rb index a9004471..85e5144a 100644 --- a/app/models/page_types/planet.rb +++ b/app/models/page_types/planet.rb @@ -34,6 +34,10 @@ class Planet < ApplicationRecord 'text-lighten-2 blue' end + def self.text_color + 'text-lighten-2 blue-text' + end + def self.hex_color '#64B5F6' end diff --git a/app/models/page_types/race.rb b/app/models/page_types/race.rb index c309a211..dc78c517 100644 --- a/app/models/page_types/race.rb +++ b/app/models/page_types/race.rb @@ -31,6 +31,10 @@ class Race < ApplicationRecord 'darken-2 light-green' end + def self.text_color + 'text-darken-2 light-green-text' + end + def self.hex_color '#689F38' end diff --git a/app/models/page_types/religion.rb b/app/models/page_types/religion.rb index bc0227fd..bff0bd4c 100644 --- a/app/models/page_types/religion.rb +++ b/app/models/page_types/religion.rb @@ -38,6 +38,10 @@ class Religion < ApplicationRecord 'indigo' end + def self.text_color + 'indigo-text' + end + def self.hex_color '#3f51b5' end diff --git a/app/models/page_types/scene.rb b/app/models/page_types/scene.rb index 470f9d30..483884bc 100644 --- a/app/models/page_types/scene.rb +++ b/app/models/page_types/scene.rb @@ -30,6 +30,10 @@ class Scene < ApplicationRecord 'grey' end + def self.text_color + 'grey-text' + end + def self.hex_color '#9E9E9E' end diff --git a/app/models/page_types/school.rb b/app/models/page_types/school.rb index 6a8bd5f0..946d2510 100644 --- a/app/models/page_types/school.rb +++ b/app/models/page_types/school.rb @@ -17,6 +17,10 @@ class School < ActiveRecord::Base 'cyan' end + def self.text_color + 'cyan-text' + end + def self.hex_color '#00BCD4' end diff --git a/app/models/page_types/sport.rb b/app/models/page_types/sport.rb index e7be52e6..cad76ef1 100644 --- a/app/models/page_types/sport.rb +++ b/app/models/page_types/sport.rb @@ -18,6 +18,10 @@ class Sport < ActiveRecord::Base 'orange' end + def self.text_color + 'orange-text' + end + def self.hex_color '#FF9800' end diff --git a/app/models/page_types/technology.rb b/app/models/page_types/technology.rb index 9348a0df..118fe85d 100644 --- a/app/models/page_types/technology.rb +++ b/app/models/page_types/technology.rb @@ -31,6 +31,10 @@ class Technology < ApplicationRecord 'text-darken-2 red' end + def self.text_color + 'text-darken-2 red-text' + end + def self.hex_color '#D32F2F' end diff --git a/app/models/page_types/town.rb b/app/models/page_types/town.rb index 9651dd90..b4283951 100644 --- a/app/models/page_types/town.rb +++ b/app/models/page_types/town.rb @@ -34,6 +34,10 @@ class Town < ApplicationRecord 'text-lighten-3 lighten-3 purple' end + def self.text_color + 'text-lighten-3 purple-text' + end + def self.hex_color '#CE93D8' end diff --git a/app/models/page_types/tradition.rb b/app/models/page_types/tradition.rb index 782600df..31b3fe36 100644 --- a/app/models/page_types/tradition.rb +++ b/app/models/page_types/tradition.rb @@ -17,6 +17,10 @@ class Tradition < ActiveRecord::Base 'text-lighten-3 lighten-3 red' end + def self.text_color + 'text-lighten-3 red-text' + end + def self.hex_color '#EF9A9A' end diff --git a/app/models/page_types/universe.rb b/app/models/page_types/universe.rb index 434b1d31..d7c6cf20 100644 --- a/app/models/page_types/universe.rb +++ b/app/models/page_types/universe.rb @@ -78,6 +78,10 @@ class Universe < ApplicationRecord 'purple' end + def self.text_color + 'purple-text' + end + def self.hex_color '#9C27B0' end diff --git a/app/models/page_types/vehicle.rb b/app/models/page_types/vehicle.rb index 96179c2d..a5feca86 100644 --- a/app/models/page_types/vehicle.rb +++ b/app/models/page_types/vehicle.rb @@ -14,7 +14,11 @@ class Vehicle < ActiveRecord::Base self.authorizer_name = 'ExtendedContentAuthorizer' def self.color - 'text-lighten-2 green' + 'text-lighten-2 lighten-2 green' + end + + def self.text_color + 'text-lighten-2 green-text' end def self.hex_color diff --git a/app/models/stream/content_page_share.rb b/app/models/stream/content_page_share.rb index af5eac20..f2f5350d 100644 --- a/app/models/stream/content_page_share.rb +++ b/app/models/stream/content_page_share.rb @@ -28,6 +28,10 @@ class ContentPageShare < ApplicationRecord 'text-lighten-3 purple' end + def self.text_color + 'text-lighten-3 purple-text' + end + def self.hex_color '#CE93D8' end diff --git a/app/models/timelines/timeline.rb b/app/models/timelines/timeline.rb index c73a8a76..a0d4c94f 100644 --- a/app/models/timelines/timeline.rb +++ b/app/models/timelines/timeline.rb @@ -25,6 +25,10 @@ class Timeline < ApplicationRecord 'green' end + def self.text_color + 'green-text' + end + # Needed because we sometimes munge Timelines in with ContentPages :( def color Timeline.color diff --git a/app/models/users/user.rb b/app/models/users/user.rb index f9e05279..f9f3448a 100644 --- a/app/models/users/user.rb +++ b/app/models/users/user.rb @@ -333,6 +333,10 @@ class User < ApplicationRecord 'green' end + def self.text_color + 'green-text' + end + def favorite_page_type_color return User.color unless favorite_page_type? && Rails.application.config.content_types[:all].map(&:name).include?(favorite_page_type)