* Repair theming and CSS variables for the rebrand
This separates the CSS variables into three sections
for admin, stream, as well as a shared set between
them.
This also adds injection of the raw colours from the
design team into post css variables.
Lastly, this re-maps the existing theme variables to
a new consolidated set with fallbacks for compatibility.
Since this is a singular commit from various WIP commits,
I am crediting @cvle as well as myself for this work.
Thank you all who helped make this rebrand with theming
possible!
CORL-1155
Co-authored-by: Chi Vinh Le <vinh@vinh.tech>
* Convert old css variables in CallOut
* Rename postive/negative => success/error
CORL-1155
* Change some CSS Variable names
* fix TextField/PasswordField colors
Co-authored-by: Chi Vinh Le <vinh@vinh.tech>
* Create Twitter and YouTube embed components
Uses the `/api/oembed` endpoint to proxy the
oembed requests that the embed components drop
into an iframe.
CORL-1012
* Create preliminary embed link parsing/storage
CORL-1012
* Create preliminary embed section on comments
CORL-1012
* Preliminarily add admin embed config options
CORL-1012
* Show a "missing" message when embed is unavailable
CORL-1012
* Simplify naming of embeds in schema
embedLinks -> embed
CORL-1012
* Rename oEmbedHandler to oembedHandler
CORL-1012
* add backend services for giphy
* search gifs on frontend
* display selected gif
* show gif previews
* display giphy attribution and no results text
* save a gif to a comment
* use embeds feature for gif embeds
* clean up gif/video/tweet display
* style and configure post comment form
* preview and confirm twitter and youtube embeds
* moderate embeds on server
* update reply and edit forms
* update snaps
* fix some of the tests
* fix tests and types
* fix tests
* fix types
* show gifs in moderate cards
* correctly attach embeds to comments
* make gif rating configurable
* make gif rating configurable
* configure giphy api key
* refactor comment form
* only allow embeds if settings enabled
* scale youtube
* resize embeds if necessary
* make tweets and videos responsive
* set maxwidth on tweet embeds
* update copy for embed config
* force gif search results to fit container
* prevent double posting of gifs
* undo hiding html if empmty because now it doesn't contain random break tags
* use downsampled preview images
* update fixtures and snapshots
* remove unused css
* add i18n string
* remove console logs
* Fix styles on logged-out comment form
* click to pause gif in moderation
* style youtube and twitter embeds in mod stream"
* use mp4s for stream gifs
* use mp4 for moderation gifs
* clean up commentform
* fix dom tests
* update rte
* import oembed module with correct casing
* bump rte
* add correct return type for setInterval
* add migration for embeds config
* catch errors from gif search
* return early from iframe container size calculation if width and height are set
* remove unused classnames
* make giphy api key protected
* reorganize tenant embed settings schema
* update schema on backend to support single comment embed instead of array
* move findEmbedLinks to common
* wrap error
* return function for linkify instead of ternary
* remove unused url param
* clean up oembed service
* remove conditional in repeat post check
* use joi to validate giphy responses
* fix types for embeds
* fix optimistic responses
* move attachEmbeds function
* update snapshots
* fix: improved repeatPost checking
* force case change on oembed
* force rename file name
* feat: Rename Embed -> Media
* fix: cleanup of service functions
* fix: moved types
* fix: fixed logic bug
* fix: fixed translation
* show embeds on history comments
* fix: fixed iframe csp and query param bug
* correct validation for twitter oembed
* feat: save youtube still
* fix: typeerror
* fix: fixed errors related to final form
* fix: fixed issue with types
* fix: added docs to the schema
* fix: linting + tests
Co-authored-by: nick-funk <nick.funk@outlook.com>
Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
* [CORL-901] Rebrand comment actions and body (#2889)
* [ADR] Use Relay over Apollo (#2881)
* chore: ADR on Relay and Apollo
* chore: typo
* chore: add neg cons
* chore: add another pos
* chore: remove neg, because apollo needed an introspection query as a build step too..
* chore: fix number
* chore: deco
* chore: typo
* chore: clarification
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* chore: bump 6.0.0 (#2891)
* fix: added more checks to migration (#2894)
* Update stream username to new branding variables
CORL-901
* Update badges/tags to use new v2 controls
CORL-901
* Update timestamps to use new branding stream side
CORL-901
* Update stream edit action to new branding
CORL-901
* Update comment html body to new branding
CORL-901
* Update comment action buttons to new branding
CORL-901
* Update responsive styles for action buttons
CORL-901
* Set comment link colors to new branding blue
CORL-901
* Add children prop on ButtonsBar to align with tests
CORL-901
* Make Reported button text bolded and vivid red
CORL-901
* Make reaction buttons stream blue when reacted
CORL-901
* Make user badges bold text
CORL-901
* Set margins on comment action buttons
CORL-901
* Set aria-labels on reaction buttons
Ensures that we always have a usable aria
even when the reaction button is just an icon.
CORL-901
* Set aria-label's on Reply and Share button's
CORL-901
* Update tests to match stream branding changes
CORL-901
* Update color of "Read More of this conversation"
CORL-901
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* [CORL-942] In-Stream Mod rebranding (#2902)
* [ADR] Use Relay over Apollo (#2881)
* chore: ADR on Relay and Apollo
* chore: typo
* chore: add neg cons
* chore: add another pos
* chore: remove neg, because apollo needed an introspection query as a build step too..
* chore: fix number
* chore: deco
* chore: typo
* chore: clarification
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* chore: bump 6.0.0 (#2891)
* fix: added more checks to migration (#2894)
* Update stream username to new branding variables
CORL-901
* Update badges/tags to use new v2 controls
CORL-901
* Update timestamps to use new branding stream side
CORL-901
* Update stream edit action to new branding
CORL-901
* Update comment html body to new branding
CORL-901
* Update comment action buttons to new branding
CORL-901
* Update responsive styles for action buttons
CORL-901
* Set comment link colors to new branding blue
CORL-901
* Add children prop on ButtonsBar to align with tests
CORL-901
* Make Reported button text bolded and vivid red
CORL-901
* Make reaction buttons stream blue when reacted
CORL-901
* Make user badges bold text
CORL-901
* Set margins on comment action buttons
CORL-901
* Set aria-labels on reaction buttons
Ensures that we always have a usable aria
even when the reaction button is just an icon.
CORL-901
* Set aria-label's on Reply and Share button's
CORL-901
* Update tests to match stream branding changes
CORL-901
* Update color of "Read More of this conversation"
CORL-901
* Update caret container to new branding
CORL-942
* Update moderation menu buttons to new branding
CORL-942
* Update in-stream ban popover to new branding
CORL-942
* Update reject tombstone to new branding
CORL-942
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* [CORL-939] Rebrand RTE and reply (#2904)
* [ADR] Use Relay over Apollo (#2881)
* chore: ADR on Relay and Apollo
* chore: typo
* chore: add neg cons
* chore: add another pos
* chore: remove neg, because apollo needed an introspection query as a build step too..
* chore: fix number
* chore: deco
* chore: typo
* chore: clarification
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* chore: bump 6.0.0 (#2891)
* fix: added more checks to migration (#2894)
* Update stream username to new branding variables
CORL-901
* Update badges/tags to use new v2 controls
CORL-901
* Update timestamps to use new branding stream side
CORL-901
* Update stream edit action to new branding
CORL-901
* Update comment html body to new branding
CORL-901
* Update comment action buttons to new branding
CORL-901
* Update responsive styles for action buttons
CORL-901
* Set comment link colors to new branding blue
CORL-901
* Add children prop on ButtonsBar to align with tests
CORL-901
* Make Reported button text bolded and vivid red
CORL-901
* Make reaction buttons stream blue when reacted
CORL-901
* Make user badges bold text
CORL-901
* Set margins on comment action buttons
CORL-901
* Set aria-labels on reaction buttons
Ensures that we always have a usable aria
even when the reaction button is just an icon.
CORL-901
* Set aria-label's on Reply and Share button's
CORL-901
* Update tests to match stream branding changes
CORL-901
* Update color of "Read More of this conversation"
CORL-901
* Update caret container to new branding
CORL-942
* Update moderation menu buttons to new branding
CORL-942
* Update in-stream ban popover to new branding
CORL-942
* Update reject tombstone to new branding
CORL-942
* Update replyTo and rte to new branding
CORL-939
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* Update message box to new branding
CORL-981
* Update user profile comment history to new branding
CORL-983
* Update stream tabs to new branding
CORL-982
* Update my profile tab bar to new branding
CORL-902
* Update download comments to new branding
CORL-902
* The Lord of the Buttons: Return of the Buttons
* Update the notification settings area to new branding
CORL-984
* Update the ignored users area to new branding
CORL-984
* Update change username to new branding
CORL-984
* Fixing snaps after rebase
* Use label instead of div for InputLabel's
Root element is now a label so that axe
will stop complaining that it can't find
the 'for' id on the label elements.
CORL-984
* More spacing tweaks for change username
CORL-903
* Update change email address to new branding
CORL-984
* Update change password to new branding
CORL-984
* Flesh out colour styles for v3 buttons
CORL-984
* Preliminarily update delete account to new branding
CORL-984
* Ensure client CSS style compatibility
CORL-984
* Update delete flow to new branding
CORL-984
* Add client classes to the delete account modal
CORL-984
* Further tweaks to the delete account modal
Modal callouts updated to new branding.
Deletion request callout updated to new
branding.
Fixing up tests that somehow were passing
before?
Fixing some margins and spacing around
deletion section.
* Move the account deletion callout to top
Puts it at the top of the my profile tab
so that it's clearly visible you are
deleting your account.
CORL-998
* Add first-class icon and title support to callouts
CORL-969
* Bold checkbox text when checked
CORL-984
* Finalize v3 buttons to match spec
This should be the last major change to
v3 buttons as the spec seems to have
solidified.
CORL-969
* Add in new stream red to colours
Use it for the negative v3 callouts
CORL-969
* Touch up some spacing on delete account
CORL-984
* Create tombstone component
Use it for ignored and deleted account
tombstones instead of the old callout.
CORL-969
* Use new tombstones in comment stream
CORL-969
* Update banned callout to new branding
CORL-969
* Set callout body text to regular font weight
CORL-969
* Update suspended callout to new branding
CORL-969
* Update closed stream callouts to new branding
CORL-969
* Update in-moderation callouts to new branding
CORL-969
* Update stream validation message to v3
CORL-969
* Improve ignored commenter management
Show "you are no longer ignoring" a
commenter when you choose to no longer
ignore them.
CORL-457
* Prettier cleanup after rebase off master
Somehow this was missed, probably needed to
kill and reload VSCode before I committed the
rebase.
* Switch previous callouts to use icon and title
CORL-969
* Update configure checkboxes to new branding
CORL-903
* Update Config > Q&A to new branding
CORL-903
* Update Config > Open/Close Stream to new branding
CORL-903
* Add validation message to config stream checkboxes
CORL-903
* Remove double list handling for Pref>Ignored
CORL-969
* Show experimental tag beside Q&A config
CORL-1051
* Move live update setting to its own section
CORL-903
* Remove moderation link from config area
CORL-903
* De-capitalize all the labels in configure
CORL-903
* Update message box config to new branding
Also moves it to new location in config.
CORL-903
* Re-brand the sign in/out field on the stream
CORL-1042
* Update tests for add message flow
CORl-903
* Rebrand Sign In/Up modals
CORL-999
* Re-brand SSO sign in/up modals
CORL-999
* Re-brand stream sorting controls
CORL-1043
* Create new stream focused colorFromMeta variant
* Rebrand go to moderation buttons
CORL-799
* Rebrand stream moderation drop-down
CORL-799
* Rebrand the report comment flow
Expands the report comment dialogs under
the comment instead of as a popover.
Also adds in the new branding styles.
CORL-941
* Rebrand the main stream tab bar
CORL-799
* Add new abusive reporting options
CORL-1009
* Rebrand featured comments
CORL-968
* Rebrand the community guidelines
CORL-1041
* Rebrand the share button
CORL-940
* Update style names on buttons
marginSize -> paddingSize
textSize -> fontSize
* Rebrand single conversation view
CORL-904
* Make indented comments grey coloured
CORL-904
* Make indented comment borders thinner
CORL-904
* Tweak colours/margins on single conversation view
CORL-904
* Add show comment on single conversation tombstones
CORL-412
* Rebrand single conversation view title
CORL-904
* Add clean target to package.json
Allows us to direct call gulp clean easily.
* Rebrand client side not found page
CORL-1025
* Rebrand password reset flow
CORL-1025
* Rebrand unsubscribe from notifications flow
CORL-1025
* Rebrand email confirmation flow
CORL-1025
* Rebrand download comments flow
CORL-1025
* Fix up account tests after rebrand
CORL-1025
* Add COMMENT_REPORTED_ABUSIVE to moderate card fragment
* Rebrand user ignore flow
Somehow this slipped through the cracks, fixed
it up now
* [CORL 1010] Collapse comment threads (#2976)
* toggle open and closed comment + replies
* show username and date for collapsed comment
* toggle comments and replies open and closed
* keep collapsed state of comments in reply list
* style collapsed comment toggle
* add css class overrides
* style answered comments when collapsed
* adjust spacing on collapse button:
* add hover styles
* add aria labels and update snapshots
* Fix tests and snaps after rebase
* Make main stream tabs visible on mobile (iPhone 5)
* Remove double horizontal rule under My Comments
Horizontal rule wasn't conditionally showing
when we toggled ability to let users download
comments on and off.
* Add aria labelling to main stream tabs
Can now pass in a localization id to assign
aria-label/title to the tab.
* Add localization to account not found
* Update snapshots
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
Co-authored-by: Tessa Thornton <tessathornton@gmail.com>
* count things in redis
* add rest routes for daily comment totals
* add route for new commenters
* retrieve hourly totals for new commenters and comments
* add rate limiting
* add routes and components for dashboard
* add top stories component
* add activity charts
* clean up rest responses
* style dashboard components
* make dashboard site-aware
* change new commenters to new signups
* generate new signups by day chart
* update status pie chart
* update status pie chart
* allow site selection in dashboard
* cache daily signups
* count user bans in redis
* clean up route and method names
* clean up comment statuses chart and change from pie to bar
* fix package lock
* make daily counts time zone aware
* count rejected comments
* clean up today counts
* count comments from site
* store hourly keys in utc
* show daily user signups
* move siteID from params to query params
* add average line for daily comments chart
* make average comments count hourly
* show percent values for rejected comments
* style dashboard
* simplify dashboard rest routes
* style today totals and top stories
* style signup and comment activity chart
* add site selector to nav
* feat: redis/mongo refactor
* fix: some small tweaks
- Added comments to magic numbers
- Added errors for missing input
- Consolidated promise resolutions
* Revert "add site selector to nav"
This reverts commit 1c2b1dee34fb2742b04932079fd45f7f3de98418.
* show first site dashboard by default
* style dashboard site switcher
* updte snapshot
* add dashboard 118n keys
* udpate comment activiyt chart with legend and tooltip
* implement refresh button and loading states
* change colours of charts for today
* adjust today values spacing
* remove unused package
* don't pass redis into oauth strat
* remove unused package
* Revert "remove unused package"
This reverts commit 5b7c83a072604810ce7097865655e9ef8114d9e0.
* fix merge conflicts
* Fix icons bug on smaller screens
* resolve merge conflict
Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
* feat: added rudderstack support with events
- Added events for
- Comment Moderated
- Comment Created
- Story Created
- Comment Reaction Created
- User Flagged Comment
* fix: added logging to event tracking
* fix: improve wordlist highlighting and perf
* fix: updated tests
* fix: implmeneted new regexp lib/patterns
* fix: improve comment body css
* fix: take into account the tree shaking is disabled
See: https://github.com/webpack/webpack/issues/7094
Co-authored-by: Chi Vinh Le <vinh@vinh.tech>
Co-authored-by: Kim Gardner <kgardnr@gmail.com>
* use SHORT_NUMBER fluent function to format comment counts
* fix: short number algo
* chore: remove whitespace
* chore: rename var
Co-authored-by: Vinh <vinh@vinh.tech>
* add new commenters config
* fix specs and fixtures, add translation strings
* save whether a commenter is new
* fix specs and snaps
* add admin role to new config options
* Update copy
* remvoe unused ref
* feat: initial impl
* Create preliminary comment moderation slices
CORL-688
* Move slices logic into stacks
CORL-688
* Create user comment counts
CORL-688
* Create naive mutation that initializes user comment counts
CORL-688
* Use bulk updates in user counts migration
CORL-688
* fix: review
* fix: fixed issue with aggregation
* Migrate creating comment into stacks
CORL-688
* Migrate editing a comment to the stacks
CORL-688
* Break publishing comment status out of updateAllCounts
CORL-688
* review: removed variable scoping in favor of export
* revert: feb8e8196cd448f5cd24f1ca2eb0b91fe9bd43c7
* review: simplification of stacks implementation
This simplifies the stacks implementation to better reuse code related
to count management and event publishing. This can be used to great
effect with the upcomming events PR #2738.
* Remove un-necessary isNew flags on users
CORL-664
* review: removed variable scoping in favor of export
* revert: feb8e8196cd448f5cd24f1ca2eb0b91fe9bd43c7
* review: simplification of stacks implementation
This simplifies the stacks implementation to better reuse code related
to count management and event publishing. This can be used to great
effect with the upcomming events PR #2738.
* fix: check if authorID is null before update user counts
CORL-688
* fix: addressed bug in shared count retrival
Co-authored-by: Tessa Thornton <tessathornton@gmail.com>
Co-authored-by: Wyatt Johnson <accounts+github@wyattjoh.ca>
* Create preliminary schema for setting Slack channels
CORL-645
* Implement preliminary slack notification using tenant slack channels
CORL-645
* Very preliminarily get data loading with FieldArray's for slack channels
CORL-645
* Update settings input on schema to allow saving Slack settings to tenant
CORL-645
* Filter off UNMODERATED queue events from slack channels
We don't send these to slack through our filters, we only care
about pending, reported, and featured
CORL-645
* Include a moderation link in comments pushed to Slack
CORL-645
* Hook up proper callback functions for adding/removing slack channels
CORL-645
* Add missing translation for Slack navigation item
CORL-645
* Update snapshots for preliminary Slack configuration changes
CORL-645
* Add some FormField wrappers around slack config elements
Makes the UI appear a little nicer
CORL-645
* Set up slack config to only provide one slack channel
We need to do this until we can get ArrayField's working
in final-form.
CORL-645
* Disable the other trigger checkboxes when "All Comments" is checked
CORL-645
* Clean up the formatting of Slack messages
CORL-645
* Add error handling around sending comments to Slack
CORL-645
* Add links to external Slack setup documentation
CORL-645
* Replace form state with wrapped field element
CORL-645
* Clean up fetch request sending Slack notifications
CORL-645
* Prefer global string replacement over RegEx
CORL-645
* Use URL class to construct comment URL's
CORL-645
* Require slack configuration in schema
CORL-645
* Initialize Slack in fixtures
Also fix up a flaky test that wasn't waiting
on form submission and on-change events.
CORL-645
* Preliminarily fix up styles to match other config pages
CORL-645
* Create placeholder add/remove buttons
* Convert SlackConfigContainer to FunctionalComponent
CORL-645
* Add name field to slack channels
CORL-645
* Disable inner fields on Slack channel when not enabled
CORL-645
* Improve the delete channel button
CORL-645
* Use pureMerge to extract slack channel settings
CORL-645
* Do a bit of cleanup on the add channel button
CORL-645
* Update the styling of the Slack config
- Use sub header for channel headings
- Update add channel button text
- Move the remove channel button down
- Other minor spacing tweaks
CORL-645