* feed cards
* frontend
* preactify
* preactify
* .
* fix
* fixing things and adding dropdown
* whoops.
* whoops 2.
* revert body bg color change
* search snippet
* search snippet
* get rid of featured article
* get rid of featured article...
* cover to its own component
* videos
* videos
* reading time
* small-save-filled asset
* author adjustments
* adjustments
* Author --> Meta
* whoops.
* loader
* logged out state
* .
* dropping what's not needed for now
* better name for cover
* get rid of nav overflow
* bringin comments placeholder back
* bringing comments placeholder back
* publish date
* fix
* date
* .
* save button icon
* ghost button
* lets skip the icon for saving for now
* more buttons
* counting logic
* Display top comments on homepage feed
* Comment list and item components
* Remove 'Top Comments' title
* Remove subscribe button, add reading time
* Update snapshots and tests
* Fix article and follower scrolling
* Added reading time
* (Try) to do flare tags
* Button component from Pawel
* More button styles from Pawel
* Comment count style from Pawel
* Handle empty parens for age on older articles
* Dont show 'more comment' button for more than 2 comments
* cover ratio
* flare tag
* cover fix
* fix buttons
* more button fixes
* tags fix
* responsiveness fix
* reading time + a bit of responsiveness
* Reading time in more places
* snapshots
* default color for flare tag
* Update CommentsList test snapshot with new styles
* fixing search results
* fixing buttons
* Fix podcast card tests by updating snapshots
* Line clamping for top comments
* Reflect save button state after click before mouseout
* Now the entire feed card is clickable. (#7638)
* Now pointer cursor is only on feed posts. (#7727)
* Revert podcast card styling
* Update test snapshot
* merge
* Fix rspec on feed page
* Reduce complexity of class check for feed card clicking
* PR feedback/fixes
* Fix featured article test and snapshot
* Last minute test tweaks
* clean up crayons
* padding issue + empty div
* Correct merge error
* Fix search results tests
* Test fixes and snapshot updates
* themes
* podcasts colors
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* Feature 🚀 : Ability to delete messages in chat channels
- Sending message ID to frontend
- Deleting Message
- Use pusher to delete message realtime
* Minor Bug 🐞: Show message action only for current user
- User can delete or edit their own messages
* Test cases added
* Bug 🐞: Update message id for receiver
Message id was not sent to receiver by pusher
* Refactoring🛠: Message controller refactoring
* Test Cases📝 : Specs for Delete message added
* Feature 🚀 : Ability to edit messages
* Test Cases📝 : Specs for Edit message added
* added new column discoverable for public channel and changes in elasticsearch
* fix corrections
* changes in serializer file, added channel_discoverable
* added checkbox with discoverable policy
* changes in code for discoverable channels
* accept and reject member invitation by mod
* add joining request to closed groups
* fixed merge error
* changes in joining member to closed groups
* join to closed group
* changes in message action of joining
* changes in chat upopened json
* 🚀Feature : Ability to search Global Channels
* touch updated_at in after commit update
* 🚀Feature : Ability to send request to discoverable channel
* 🚀Feature : Ability to send request to discoverable channel
* created new route for joining closed channel
* 🚀 Success handle on joining request sent
* removed redundant code
* join_channel improvement, removed authorization for join channel
* list of joining requests
* added joining_request status channels on search list
* changes in mailer and query builder optimized
* 🛠 Adding filter for new Query
* added rspec for add membership method in controller
* rspec for sending join channel request
* invite join request channel list rspec
* test case for query builder discoverable
* viewable and discoverable channel list
* refactored logic for search channels
* 🚀 Check if Request already sent
* 🛠 Optimizing code and making channelButton Component
* 🛠 Optimizing codefor SVG problem
* 🛠 Optimized action.js
* changes in search controller query
* hot fix
* removed unwanted code
* 🛠 Fix the Channel Name problem
* 🛠 Optimizing code further for CodeClimate
* added new column discoverable for public channel and changes in elasticsearch
* fix corrections
* changes in serializer file, added channel_discoverable
* added checkbox with discoverable policy
* changes in code for discoverable channels
* accept and reject member invitation by mod
* add joining request to closed groups
* fixed merge error
* changes in joining member to closed groups
* join to closed group
* changes in message action of joining
* changes in chat upopened json
* touch updated_at in after commit update
* 🚀Feature : Ability to search Global Channels
* 🚀Feature : Ability to send request to discoverable channel
* 🚀Feature : Ability to send request to discoverable channel
* created new route for joining closed channel
* 🚀 Success handle on joining request sent
* removed redundant code
* join_channel improvement, removed authorization for join channel
* list of joining requests
* added joining_request status channels on search list
* changes in mailer and query builder optimized
* added rspec for add membership method in controller
* rspec for sending join channel request
* invite join request channel list rspec
* 🛠 Adding filter for new Query
* test case for query builder discoverable
* viewable and discoverable channel list
* refactored logic for search channels
* 🚀 Check if Request already sent
* 🛠 Optimizing code and making channelButton Component
* 🛠 Optimizing codefor SVG problem
* 🛠 Optimized action.js
* changes in search controller query
* hot fix
* 🛠 Fix the Channel Name problem
* 🛠 Fixing merge problem
* 🛠 Optimizing code further for CodeClimate
* updated UI for membership edit
* fixed test casses and fixed UI for chat_channel_edit
* 🛠napshots added
* test cases fixed
* 🛠 Test cases added for new component
* channel settings accesible only by mod
* 🛠 More Test cases added
* 🛠 Svg code optimized
* 🛠 Svg code optimized in videocontent
* optimized code for search query
* fix test case for query builder
* changes in joining closed channel logic
* refactored join channel
* redirect to edit channel after joining request
* changes in test case for redirect
* optimized code
* 🛠 Eslint bugs fixed
* test case fixed
* optimization
* olving channel repetition problem
* optimization of code for query builder
* changes in query builder
* test cases fixed
* 🛠 Handling reduntant data on frontend
* 🛠 Don't show data if no filter query
* 🛠 Optimized code for fixing bugs and code coverage
* 🛠 Optimizing code further for CodeClimate
Co-authored-by: Parasgr-code <paras.gaur@skynox.tech>
* Comment out redirect
* Back to where we were
* Add basic generalization to onboarding
* Update app/javascript/onboarding/Onboarding.jsx
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Update app/javascript/onboarding/components/IntroSlide.jsx
* Update app/javascript/onboarding/components/ProfileForm.jsx
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* wip
* Right aligned the comment subscription panel.
* Cleaned up the comment area on the article page so it uses crayon margin classes.
* Updated tests
* Removed old UI for comment subscriptions.
* Made Discussion text bigger and bolder.
* Fixed some layout issues as per PR comments.
* Fixed some layout issues as per PR comments.
* Updated Storybook stories, tests and snapshots
* wip
* Everything works now, just need to integrate snackbar.
* Removed setTimeout I was debugging with.
* Using the new utilities/http/request utility now.
* Added the <SnackbarPoller />
* Now when unsubscribed, the subscription type resets to all comments.
* Removed overflow hidden from .home CSS class so comment subscription component displays properly.
* Now unsuccessful subscribes/unsubscribes error properly.
* Changed button text from Done to Subscribe
* Merged the <SnackbarPoller /> component into the <Snackbar /> component.
* Fixed a propType issue.
* Fixed a test.
* Removed snackbar tests for now. Need to figure out polling in tests.
* Now comment subscription component is only loaded for logged on users.
* Added a comment.
* Updated some storybook stories.
* Fixed a small formatting issue.
* Reduced snackbar item lifespans to 3 seconds.
* Extracted <CogIcon /> to it's own file because other features are going to need it.
* Added some Storybook stories and tests for the <CogIcon /> component.
* Revert "Extracted <CogIcon /> to it's own file because other features are going to need it."
This reverts commit b30406a50e491c53c3dce5be03bcdf8112b043df.
* Put back <CogIcon /> component.
* Added some error handling if the component doesn't load.
* Moving some things around.
* Rename the article pack file.
* Changed wording from "article" to "post".
* Fixed false negative CSS issue. It was a dangling div tag.
* Add the option to add an optional close button to snackbar items.
* Fixed z-index of subscription type options panel so it is always visible on mobile.
* Reworked the comment subsciption utilities a bit.
* Added test for comment subscription utilities.
* Fixed a broken test from a refactor.
* Added more tests for comment subscription utiltities.
* Fixed comments footer bottom padding.
* Fixed issue with stale find in comment subscription test.
* Update app/javascript/packs/articlePage.jsx
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
* Update app/assets/stylesheets/article-show.scss
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
* Changed close button wording to Dismiss.
* Fixed padding to use utility variable instead.
* Added missing import for SASS file.
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
* refactor: set the email_from to use in teh defaults
* chore: remove some new lines
* feat: add a mail link helper that can be used in the views
* feat: returns the default if it doesn't understand the parameter
* feat: Quick replacement of links
* feat: allow subject to be passed through
* chore: update all hrefs
* chore: remove rel attribute
* chore: mail link
* update spec
* chore: space
* chore: update some whitespaces and emails
* style
* chore: PR mail_link to email_link and the comment
* feat: PR suggestions for encoding
* feat: use mail_to
* 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>
* 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
* wip
* Removed reference to cached_tag_list as the feed enpoint only returns tag_list now.
* Removed reference to cached_properties.
* Updated <CommentsCount /> and <TagList /> to support additinal className
* wip
* wip
* Undid init scrolling for Algolia articles
* Converted homePageFeed.jsx to an ERB template to access Sprockets.
* Now the homePageFeed.jsx files is an ERB so it can load Sprockets assets.
* wip
* Removed accidental commit of debugger statement in ERB.
* Now different feed time frames are loaded based on the homepage feed tab clicked.
* Prevent default Algolia paging when on the homepage.
* Added a tiny comment about feed time frame.
* Now feed loads properly for each time frame on home page.
* prop name refactor.
* Reneabled default Algolia scrolling.
* On the homepage, we no longer overwrite article HTML with Algolia data for initial articles.
* Assumption is the proper URL for main_image of featured article will be sent in the feed.
* Fixed Google Analytics for featured article.
* No longer need the new-feed ID for checking if we're on the homepage.
* Trying to make codeclimate happy.
* wip
* Removed reference to cached_tag_list as the feed enpoint only returns tag_list now.
* Removed reference to cached_properties.
* Updated <CommentsCount /> and <TagList /> to support additinal className
* wip
* wip
* Undid init scrolling for Algolia articles
* Converted homePageFeed.jsx to an ERB template to access Sprockets.
* Now the homePageFeed.jsx files is an ERB so it can load Sprockets assets.
* wip
* Removed accidental commit of debugger statement in ERB.
* Now different feed time frames are loaded based on the homepage feed tab clicked.
* Prevent default Algolia paging when on the homepage.
* Added a tiny comment about feed time frame.
* Now feed loads properly for each time frame on home page.
* prop name refactor.
* Reneabled default Algolia scrolling.
* On the homepage, we no longer overwrite article HTML with Algolia data for initial articles.
* Assumption is the proper URL for main_image of featured article will be sent in the feed.
* Fixed Google Analytics for featured article.
* No longer need the new-feed ID for checking if we're on the homepage.
* Added postcst episodes to <Feed /> state.
* Breaking up Article.jsx to make codeclimate happy.
* wip
* Created the <TodaysPodcastEpisodes /> and <PodcastEpisode /> components.
* Fixed issues with some components that were updated for the <FeaturedArticle />
* Added tests for <FeaturedArticle />
* Barreled up <FeaturedArticle />
* Added Storybook stories for <FeaturedArticle />
* Featured articles don't display org, so removed that test.
* Added proper today's podcasts components to feed.
* Converted some leftover ERB + removed pro checkmark as it doesn't exist yet.
* Now logic is same as master for feed timeframe.
* Updated <FeaturedArticle /> snapshots.
* On frontpage, bookmark button state is managed by Preact components now.
* bookmarkedFeedItems is now a prop on <Feed />.
* Fixed logic check for initializing reading list icons.
* Now <Article /> and <FeaturedArticle /> receive a bookmarkClick prop.
* Removed beginnings of scroll handler in <Feed /> as we're using what's there already for now.
* Removed logic to not show main image on other time frame feeds as it was not correct.
* Fixed issue with 0 rendering when no podcast episodes in feed.
* Converted <SaveButton /> to a stateful component.
* wip - <Feed /> render prop now passes bookmarked feed item ID set and a click event.
* Moved FEED_ICONS to an export so it's easier to use JSX/JS in <Feed />
* Moved <Feed /> into article components.
* Now reading list save buttons work properly in Preact components.
* Fixed issue with Save buttons in Algolia paging/<Feed />
* Updated snapshots.
* Took <Feed /> out of articles barrel file as jest was trying to import FEED_ICONs which is an ERB template.
* Now the Preact feed is dynamically imported.
* Now the Preact <Feed /> only loads for a logged on user.
* Fixed <FeaturedArticle /> so that the save button behaves properly now.
* Updated article stories for Storybook.
* Putting this back to the order it was because I've removed my code changes for this block.
* Fixed when renderFeed is imported for a logged on user.
* Add podcasts to feed and render home from server
* Add padding to feature laoding div
* Update tests
* Add more loading articles
* Fix conflicts
* Add readinglist javascript to initscrolling
* Ensure first article is one with image
* Organize feed items outside of feed instead of in it
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
Co-authored-by: Josh Puetz <josh@grorichpuetz.com>
* SASS formatting in action.
* Unnested .sidebar-nav-element in SASS
* Created the <TagsFollowed /> component.
* Mini refactor.
* Left side bar uses <TagsFollowed /> component now.
* Accomodating InstantClick
* Small refactor and added some comments.
* The homepage webpacker pack only needs to be loaded once.
* Added tests for the <TagsFollowed /> component.
* Modified the receive InstantClick callback as per their docs.
* Reverted the data-no-instant on he homepage bundle. It seems to cause issues in certain scenarios.
* Just some tweaks to <TagsFollowed /> component.
* Removed CSS for general img tag in context of sidebar as it does not appear to be used.
* Fixed copy paste error from JSX to HTML.
* Fixed <img /> styles for arbitrary sponsorship widget.
* Fixed a regression that a Capybara test caught.
* Fixed user followed tags on home page tests.
* Fixed logic for loading user data on homepage.
* Add StimulusJS 1.1.1
Because:
- Internal will likely need more interactivity going forward
- Vanilla JS and jQuery are great, but aren't quite as organized as we
might like
- Stimulus fits our model of what internal should be (imo)
- Adopting Preact or something with templating would require rewriting a
bunch of erb (that is currently working just fine)
Stimulus is a JavaScript framework that directly compliments turbolinks
and the approach vanilla Rails takes to JavaScript. I've set it up to
specifically be used in the internal views where we are currently using
jQuery and vanilla JS. I think we should chip away at the vanilla JS
currently in place with this, which appears to be both scalable and
pragmatic exactly the sort of tool we want for building our internal
tools.
* Replace crufty article JS with Stimulus
I'm swapping out some of the stuff going on in article_script.erb with
some StimulusJS, it seems like a good test case for Stimulus.
This lets us organize the code a little more intentionally and hopefully
fixes a small performance complaint that Michael had.
* Rename uncommunicative methods
* Add unit tests for Stimulus classes
* Move Stimulus code to javascript/internal
* Hide blocked users' content appropriately
* Use RESTful create route
* Update functionality to block the user
* Fix specs for new route
* Use const instead of var
* Add noopener and noreferrer
* Remove caching for blocked user ids
* Add new rule for lack of noopener noreferrer
* Update snapshot
* Prevent need for eager loading
* Add initial implementation of user block
* Remove debugger oops
* Add index and foreign keys for user_block table
* Use private method instead of exists
* Move channel handling logic to service object
* Update styling a bit
* Use profileDropdown file for future proofing
* Remove commented out code
* Render json: { result } for all endpoints
* Add statuses for sad paths
* Add better sad path handling in the JS
* Remove accidentally committed spec file
* Don't wait for DOM to load block button
* Use equality for accuracy in slug query
* Add status code for unauthorized requests
* Add missing comma sigh
Changes:
- Refactored articleForm.jsx by moving loadForm() before document.ready.then()
- Removed 'function' in .then() and modified to .then(() => {
- Removed unused function 'isUserSignedIn' in Onboarding.jsx
See: #2470
* set up refactored onboarding
* create onboarding page
* add in first slide and change slide functionality
* fix test suite
* profile refactor
* profile refactor
* refactor to api
* add checkbox fields
* add checkbox fields
* remove puts
* add basic css
* add styling
* add redirect
* hide back and next at first and last slides
* test refactored onboarding
* test refactored onboarding
* remove article edits
* Fix schema
* Add deleted file back in
* Add default value for checked_t&c column
* Adjust HTML structure to keep nav buttons in place
* Fix ESLint issues on Onboarding.jsx file
* Handling for undefined or empty followedTags on getUserTags
* Fix codeclimate issues
* Fix codeclimate issues
* Fix more codeclimate issues
* Fix more codeclimate issues
* Update Onboarding snapshots
* Uncheck the CoC and T&C checkboxes on render
* Update snapshots
* Return false instead of raising error
* Update spec to use new onboarding
* Redirect to onboarding if haven't seen it yet
* Prevent redirect to onboarding from /signout_confirm
* Use assign_attributes instead of saving twice
* Move COC and T&C checkbox page to second slide
* Add 'go back to original page' functionality
* Reuse ready prototype logic
* Keep track of the last visited onboarding page
* Fix email subscription bug
* Fix overflow issue for tags page
* Remove height to prevent page container scrolling
* Check for CoC and T&C for displaying onboarding
* Add InstantClick redirect and preserve referrer in client
* Fix async update + check by using localStorage
* Turn off onboarding for tests
* Finalize design for onboarding
* Finalize design for onboarding
* Make bulk follows during onboarding
* Fix bulk follow test