* chore: make the icons dynamic from site config
* feat: update the navbar icons
* feat: update the descriptions
* chore: update the icons
* chore: update the names to be more reflective
* chore: freeze mutable objects assigned to constants
* chore: update Line is too long.
* icons
* update lightning icon
* chore: read from file
* path here is relative, so use Rails root
* revert to original icons and run svgo on it
* no newline
* feat: update height, width
* Create "blank" EmailSubscriptionTag
* Refactor liquid_tags_used with spec
* Create /user_subscriptions#create
- Update liquid tag name to UserSubscriptionTag
* Add rate limiting and specs
* Add counter_culture for user_subscriptions
* Update /async_info/base_data
- Alphabetize user_data
- Add email
- Add subscription_source_article_ids
- Cache subscription_source_article_ids on User model
* Add stale email check and specs
* Change user_email to subscriber_email for clarity
* Restrict UserSubscriptionTag
* Rename RESTRICTED_TAGS to RESTRICTED_LIQUID_TAGS
* Make TODO comment more clear
* Refactor error responses and update specs
* Update type to source_type in error message
* Use constantize over safe_constantize
* Add check for active source
* Refactor checking of current_user's subscriptions
- Remove data from async_info
- Create a new service to fetch/cache a user's existing subscriptions
* Restrict email in base_data to admin roles
* Oops! Rename liquid tag file
* Change error back to result...oops!
* It's not goodbye, it's see you later. RIP email :/
* Add current_email to /user_subscriptions/base_data
* Revert adding current_email
* Undo async_info_controller changes/fix conflict
* Move params to constant
* Refactor SubscriptionCacheChecker
* Remove duplicate status code in JSON response
* Remove duplicate status code for #subscribed
* Use response.parsed_body
* Remove user guard in SubscriptionCacheChecker
* Display Jobs Banner if User Searches jobs or job
* Add period to end of sentence
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
* reword site config description
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
* Change SiteConfig display field name to display_jobs_banner
* dont forget the specs
Co-authored-by: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com>
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
* feat: alphabetize the site config page
* chore: move twitter hashtag into social media and rename Mailchimp list ID's to Newsletter
* chore: reorder the site config
* fix: don't show a broken image when the value does not exist
* if there are 3 or more parameters lets move it to its own method
* chore: empty line
* fix: seems like we couldn't update the token
* chore: amend the test to mimic the order on the site config
* chore: oops - add back the welcome_notifications_live_at
* Allow admins to suggest default users to follow during onboarding
Allows the onboarding "follow users" slide to be configured by admins.
Closes https://github.com/thepracticaldev/dev.to/issues/7106.
* Remove redundant safety checks, refactor specs
* Add explicit note about how suggested users are used in onboarding
* Some configs_controller cleanup and fix copypasta in configs/show template
* Fetch SiteConfig.suggested_users via before_action
* Use presence instead of empty?
* Move onboarding-related configs into new onboarding section
* Extract mascot-related configs into a mascot section
* Update order of fields in SiteConfig model to match order in view
* Update ordering of specs for onboarding/mascot config changes
* Added configurable meta keywords
* Replaced hardcoded meta-keywords with the configurable ones
* Added tests for configurable meta_keywords
* Improve info for configuring meta-keywords
* feat: add base site config
* chore: rename developer/developers
* feat: update to use community_member_label
* chore: amend text
* chore: update spec
* chore: extra space
* feat: update the email addresses in the site config
* chore: update the default email address everywhere
* feat: update the template for the config
* chore: remove default_site_mail as an allowed parameter
* feat: change biz@dev.to to teh business email address and with a subject
* feat: update partners@dev.to to use SiteConfig.email_addresses[:business]
* feta: update to business email address
* feat: update members@dev.to to use the site config
* feat: update privacy email
* chore: Anna's suggestion to loop through object instead of keys
* feat: define the different social media handles
* feat: dynamically render all the social media fields
* feat: ensure that the social media handles are permitter and dealt in a separate path from the rest
* test: update social_networks_handle to social_media_handles
* feat: update the sidebar to use different social media
* feat: update the twitter:site meta handle to be SiteConfig.social_media_handles["twitter"]
* feat: update the a links to tweets
* feat: make the links dynamic and only show those that there is a value for
* refactor: make @ThePracticalDev dynamic
* refactor: make @ThePracticalDev dynamic
* feat: add dynamic social media handles
* chore: rename values
* chore: remove extra social handles
* chore: some spacing
* chore: remove lines
* rafector: user rails-settings-cached type: :hash to set the type and the defaults
* feat: use nil and blank instead of "" and empty
* chore: move the social media handles into the right box
* refactor: rearrange model placement based on the UI
* chore: code climate
* refactor: comments from PR
* chore: rename the ff
* chore: amended twitter username
* chore: add a temporary rake task
* feat: update names
* chore: why am i using the old syntax :(
* chore: revert dynamic erb variable in offline.html
* Add community_member_description, tagline and mascot_image_url to SiteConfig
* extra space
* Add mascot_image_description field to SiteConfig
* Fix test
* Create primary_sticker_image_url in SiteConfig
* Adding test for updating primary_sticker_image_url
* typo
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>