* crayons-btn-group + crayons-btn--icon-alone
* typos
* better padding on outlined buttons
* make ooutlined button border a variable
* hey, pawel - how about not being an idiot??
* Add audit logging for negative reactions
This change saves requests that create negative reactions to the audit
log. We need to be monitoring admin and moderator actions throughout the
app to increase visiblity on how our tools are being used and identify
abuse.
Additionally, this will help east concerns about giving elevated users
more powerful tools.
* Add a basic UI for moderator audit logs
* Log experience level ratings
* Log tag adjustments
* UI tweaks for moderator actions log
* Add logging to internal reactions controller
* Add logging for admin actions on users and articles
* Add searching to the moderator actions table
* Move audit instrumentation out of concern
We are able to use a PORO here instead of using a Rails concern. Moving
this also makes syntax to audit something quite a bit more explicit and
obvious to future developers
* Change moderator logs pagination page length
* Move auditing to after action filters
* Add moderator actions to the internal navbar
* Add request spec for internal moderator actions
* Use request params to populate AuditLog slug
* Add response templates controller, routes, and view
* Add response templates settings page
* Remove dead code
* Use proper variable oops
* Use proper indentation
* Use before action for checking current_user
* Remove index action temporarily
* Use url helpers for redirects
* Use form_with over form_tag and form_for
* Persist previous content if edit fails
* Use exists for performance
* Remove index spec and add CRUD specs
* Memoize @response_template
* Use workaround for sad paths b/c render doesn't work
* Refactor and extract permitted_attributes into var
* Use present over exists to preload into memory
* Use last over first
* Lint for codeclimate
* Use two redirects for happy and sad create path
* Remove proper index route oops
* Codeclimate comma sigh
* Update some test descriptions in notifications_spec
The descriptions of these tests didn't actually match the test's assertions!
* Add welcome_notifications column to users table
Also ensures that welcome_notifications cannot be set to `nil`.
* Show an opt-out message for Welcome broadcast notifications
* Add opt-out link to notifications + welcome notification box to settings
* Allow welcome notification subscription to be updated
* Add tests for unsubscribed to welcome notification users
Also refactor generator specs a bit.
* Fix up paths, copy, tests
Use rails path helpers instead of hardcoding paths. Improve copy in a few locations.
* add tons of colors
* add tons of colors
* moving cheese around and prepping for new theming system
* documenting
* .
* moving theme code to own files
* replacing some variables
* whitespaces
* replacing another batch of variables
* get rid of another variable
* replace loading animation variable with one-fits-all-sizes
* get rid of theme-anchor-color
* remove code colors variables
* another batch of variables replaced
* mostly bringing in variables for haxor theme
* remove invert-image variable for chat
* remove another inver-image variable
* forgot to remove reaction-background variable
* remove border variable
* series
* .
* remove another variable
* remove another variable..
* another batch of variables
* and more...
* header updates
* i forgot to commits things in my PR....
* fix border
* .
* simplifyuing placeholder
* responsiveness
* responsive
* search fix
* fixing prefix-less classes
* increase clickable area
* small style updates for pink theme
* tests
* Fix test
* responsive dropdown
* tiny fixes
* generator rewritten
* dropdown reworked a little
* adjustments
* fix pwa
Co-authored-by: rhymes <rhymesete@gmail.com>
* Add a table for moderator reactions
This is a simplified version of a feature that should be fleshed out
in the near future.
Despite the fact that this project is taking a new direction, I think
this table could be useful in the meantime.
* Add specs for internal mod actions view
* Rename mod actions to negative reactions
* add tons of colors
* add tons of colors
* moving cheese around and prepping for new theming system
* documenting
* .
* moving theme code to own files
* replacing some variables
* whitespaces
* replacing another batch of variables
* get rid of another variable
* replace loading animation variable with one-fits-all-sizes
* get rid of theme-anchor-color
* remove code colors variables
* another batch of variables replaced
* mostly bringing in variables for haxor theme
* remove invert-image variable for chat
* remove another inver-image variable
* forgot to remove reaction-background variable
* remove border variable
* series
* .
* remove another variable
* remove another variable..
* another batch of variables
* and more...
* drop comments
* Update approval file for tweet
Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: benhalpern <bendhalpern@gmail.com>
* JavaScript MVP
- First round of linting
- Use for testing
* Add some default UI error handling
* Add file validation to updating profile image
* Add type validation and fix size bug
* Refactor and add file validation to article cover
* Add file validation to body images
* Add accept field to profile image form
* Add parseInt to maxFileSizeMb
* Add accept and max-file-size-mb to article images
* Change parseInt to Number
* Add file validations to podcast form
* Add accept image to podcasts
* Add file validation and accept field to org form
* Use appendChild for error message
* Add file validation to comment form
* Add JS Docs comments
* Remove redundant format check
* Add documentation to override default values
* Update documention (spelling, formatting, etc.)
* Update max-file-size-mb to 25
* Bump default max file size for images to 25
* Change appendChild to append
* Refactor remove error message
* Refactor JS, remove console logs, update error msg
* Remove video from permitted file types
* Update error messaging
* Update docs for funciton params...oops 🙈
* Fix file size check logic
- Allow for 0 maxFileSizeMb
- Use JSON.parse() for permittedFileTypes to get an Array
* Add specs
* Change blackbox to black box
* Remove wait_for_javascript
* Remove comments from spec
* Create primary_sticker_image_url in SiteConfig
* Adding test for updating primary_sticker_image_url
* typo
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* Add internal response template controller
* Add response template policy and spec
* Add response template views for internal
* Add missing html oops, and some padding
* Use arrays instead of %w because spaces
* Link to user in index list
* Add actual HTML oops
* Allow success flash to be displayed
* Add tag moderator trait
* Remove unnecessary .all
* Use constant to avoid duplication
* Use URL helpers over manual string URLs
* Use appropriate renders and URLs
* Follow conventional CRUD and use form_with
* Add internal request spec for response_templates
* Add missing view file oops
* Use table view for index and bootstrap styles
* Redirect to index after create
* Use clearer messaging for labels
* Validate email types to use only plain text and html
* Adds Podcast Episode metadata as JSON to avoid scraping the HTML
* Uses app_url helper instead of app_protocol_and_domain string interpolation for podcastImageUrl
* Adds podcast_episode#mobile_player_metadata, cleans eslint/codeclimate mess I made & adds tests
* Removes an extra line to fix codeclimate
* Removes unnecessary return
* add tons of colors
* add tons of colors
* moving cheese around and prepping for new theming system
* documenting
* .
* moving theme code to own files
* whitespaces
* Remove unused CSS rules
* Use bootstrap utility class over custom css
* Fix grapical bug with buffer tags
* Fix internal UI highlighting and misc fixes
This commit is a little bit too big.
It fixes a bug with the internal UI that was breaking the highlighting
feature (indicates status of articles and when an AJAX request has been
made).
It also does some reformatting in the internal listings UI. This should
make it a bit easier on anyone writing buffer updates in the listings
UI. I was able to reapply some stimulus I wrote previously for this,
super easy!
There are also a couple of CSS classes I renamed to match Bootstrap's
naming conventions.
* Remove <br> tag
* Update article_controller Stimulus test
The navbar in internal is a bit too much for a horizontal nav.
Because we aren't using breadcrumbs, it also indicates to users where
they are, so it needs to be visible and not collapsed.
Making this a sidebar fixes both of those problems. In this state, it is
definitely a barebones implmentation, but it is also an improvement over
the hornizontal nav.
Co-authored-by: MichaelaHunter <michaela1234@gmail.com>
Co-authored-by: MichaelaHunter <michaela1234@gmail.com>
* Break feedback_messages view into partials
* Standardize capitalization
* Add visual cues for banned and vommitted users
* Use helper methods to construct urls
* Rename vomitted? to vomitted_on?
vomitted_on? is a slightly more clear method name. This change takes
Rhymes' suggestion to use the AR method exists? over where(...).exists?