New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Twitter embedded timeline: Improve loading phase #9529
Twitter embedded timeline: Improve loading phase #9529
Conversation
The build failures are being caused by CSSLint lacking support for Since CSSLint has gone stale (latest release was in fall 2016), it'll probably be necessary to migrate WET to a more modern CSS linter. I'm gonna try looking into stylelint. On a random side note, the reason |
Pre-approved upon successful testing and after the sasslint exception is added for both selector or the file if not possible. |
Just tried adding inline CSSLint ignore comments ( From what I could surmise from issue discussions in CSSLint/csslint, it looks like its ignore syntax isn't unconditional. Therefore, the things it dislikes about my Btw its ignore syntax isn't formally documented anywhere :S. Closest I found was a wiki link to a non-existent page. As far as ignoring
@duboisp Just to clarify - SASSLint lints SCSS source files and has no trouble with this PR. CSSLint lints compiled CSS and is causing my hurdles. I think migrating to stylelint will be my only viable option to get out of this mess. So this PR will probably need to be held back until next week. |
@EricDunsworth humm, I think it's It need both in order to work. |
@duboisp Just tried Btw good catch on the |
cf3f7c6
to
040a2f6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the build error, meanwhile I am continuing my local testing.
040a2f6
to
b1e63ee
Compare
b1e63ee
to
62c11aa
Compare
Just force-pushed an update :)! Here's what's changed:
Heads up: At one point earlier today, I had them setup like what the requested changes wanted and marked most as resolved. But then I significantly reworked more logic and didn't feel like that way of declaring variables made sense anymore. So I spread-out the declarations and went back to I think we're gonna need to "pick our poison" 😛:
Thoughts? |
Pre-approved upon successful review & testing |
The plugin's loading icon was previously tied to the "twitter-timeline" class... which is used by both the Twitter link and timeline container. That resulted in the following behaviour: 1. The link's loading icon immediately appeared 2. A second loading icon appeared when Twitter's widget script injected an empty timeline container into the page 3. The link's loading icon got removed when the timeline finished loading... leaving the timeline's loading icon in place forever The following issues also occurred: * The empty space to the right of the link was a linked area * The link's loading icon was a linked area * The link's loading icon appeared "on top" of the link in mobile viewports * The loading icon was center-aligned in a full-width overlay... causing it to look like it was in the middle of nowhere in larger viewports * The link's loading icon appeared forever in IE11 This fixes it by reworking the loading phase as follows: * The link's linked area now only covers the link text * The plugin now injects a loading icon div below the link * The loading icon now... * Appears below the link instead of "on top" of it * Is either left/right-aligned or center-aligned relative to the link if a browser supports the :has() pseudo-class * Disappears when Twitter's timeline widget removes the link (CSS immediately hides it, then the plugin removes it behind-the-scenes) * Never appears in IE11 Other: * Only shows one loading icon per plugin container * Plugin containers with extra Twitter links or non-standard structures won't show loading icons * Disables the plugin in IE11 (Twitter's widget script no longer supports that browser) Related: * Fixes wet-boew#9503 * Depends on wet-boew#9539
62c11aa
to
2d007ec
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed and tested locally (in FF and Edge) and work as expected.
Thanks @EricDunsworth
The plugin's loading icon was previously tied to the "twitter-timeline" class... which is used by both the Twitter link and timeline container.
That resulted in the following behaviour:
The following issues also occurred:
This fixes it by reworking the loading phase as follows:
div
below the link:has()
pseudo-classOther:
Related:
Screenshots...
Before:
After:
:has()
is supported)OR