Anders Kaseorg
ea9ca6b7d0
js: Use jQuery as a module.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-12 10:08:25 -08:00
Anders Kaseorg
aa650a4c88
js: Escape strings interpolated into CSS selectors with CSS.escape.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-02-04 11:00:06 -08:00
Anders Kaseorg
552f4e3d22
eslint: Fix unicorn/no-array-for-each.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-01-25 14:53:19 -08:00
Vishnu KS
358b4f6438
apps: Link android download button directly to APK file.
2020-10-28 23:04:14 -07:00
Vishnu KS
fdea49742c
apps: Use GitHub API for generating the web app download link.
2020-10-28 23:04:14 -07:00
Anders Kaseorg
279e4b819e
js: Elide .js and .ts extensions from imports and requires.
...
This will be required for TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-09-01 16:43:02 -07:00
Anders Kaseorg
bc7bec9a95
landing-page: Clean up ready callbacks.
...
jQuery’s $(callback) already checks document.readyState to decide
whether to run the callback immediately (that’s like, jQuery’s entire
value proposition). We probably don’t need ready callbacks at all
anymore thanks to <script defer>, but that’s a larger change.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-22 15:48:33 -07:00
Anders Kaseorg
e9df82ac31
landing-page: Remove onunload hack.
...
This was there for the page transition animation that was removed in
commit a0dacea811
(#9334 ).
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-22 15:48:33 -07:00
Anders Kaseorg
611f2a4321
js: Replace deprecated $.unbind method.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-22 12:20:23 -07:00
Anders Kaseorg
4e42137bd9
js: Replace deprecated jQuery event handler shorthand.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-21 12:01:26 -07:00
Anders Kaseorg
b65d2e063d
js: Reformat with Prettier.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-17 14:31:25 -07:00
Anders Kaseorg
883e2fd325
js: Remove inner spacing from object literals.
...
We’re configuring Prettier with bracketSpacing: false. Generated by
ESLint.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-17 14:31:25 -07:00
Anders Kaseorg
f3726db89a
js: Normalize strings to double quotes.
...
Prettier would do this anyway, but it’s separated out for a more
reviewable diff. Generated by ESLint.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-17 14:31:24 -07:00
Anders Kaseorg
a79322bc94
eslint: Enable prefer-arrow-callback.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-03 16:55:50 -07:00
Tim Abbott
7b8ba5ebd9
docs: Update most remaining references to zulipchat.com.
...
In some cases, the cleanest tweak is to replace references to the
domain with Zulip Cloud, the product.
2020-06-08 18:10:45 -07:00
Anders Kaseorg
4362cceffb
portico: Add setting to put Google Analytics on selected portico pages.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-11 23:22:50 -07:00
Tim Abbott
737a36a9f8
portico: Use a backend variable to determine desktop version.
...
This makes it possible to change this parameter without rebuilding all
the server's static assets.
2020-03-27 01:37:56 -07:00
Tim Abbott
68274cae74
apps: Fix broken desktop download links.
...
This was introduced by my failing to properly test the recent bundle
of changes to this logic.
2020-03-10 14:38:23 -07:00
Siddharth Varshney
2a3038797b
portico: Update google play and app store badges.
...
This updates update the download android and ios app button on
/apps/android and /apps/ios routes respectively to use the official
badges provided by the google and apple.
We also clean up some of the JavaScript implementing the page.
Fixes #14061 .
2020-03-06 12:12:02 -08:00
Akash Nimare
97947bc381
desktop: Update desktop app to v4.0.3.
2020-02-28 12:04:18 -08:00
Anders Kaseorg
719546641f
js: Convert a.indexOf(…) !== -1 to a.includes(…).
...
Babel polyfills this for us for Internet Explorer.
import * as babelParser from "recast/parsers/babel";
import * as recast from "recast";
import * as tsParser from "recast/parsers/typescript";
import { builders as b, namedTypes as n } from "ast-types";
import K from "ast-types/gen/kinds";
import fs from "fs";
import path from "path";
import process from "process";
const checkExpression = (node: n.Node): node is K.ExpressionKind =>
n.Expression.check(node);
for (const file of process.argv.slice(2)) {
console.log("Parsing", file);
const ast = recast.parse(fs.readFileSync(file, { encoding: "utf8" }), {
parser: path.extname(file) === ".ts" ? tsParser : babelParser,
});
let changed = false;
recast.visit(ast, {
visitBinaryExpression(path) {
const { operator, left, right } = path.node;
if (
n.CallExpression.check(left) &&
n.MemberExpression.check(left.callee) &&
!left.callee.computed &&
n.Identifier.check(left.callee.property) &&
left.callee.property.name === "indexOf" &&
left.arguments.length === 1 &&
checkExpression(left.arguments[0]) &&
((["===", "!==", "==", "!=", ">", "<="].includes(operator) &&
n.UnaryExpression.check(right) &&
right.operator == "-" &&
n.Literal.check(right.argument) &&
right.argument.value === 1) ||
([">=", "<"].includes(operator) &&
n.Literal.check(right) &&
right.value === 0))
) {
const test = b.callExpression(
b.memberExpression(left.callee.object, b.identifier("includes")),
[left.arguments[0]]
);
path.replace(
["!==", "!=", ">", ">="].includes(operator)
? test
: b.unaryExpression("!", test)
);
changed = true;
}
this.traverse(path);
},
});
if (changed) {
console.log("Writing", file);
fs.writeFileSync(file, recast.print(ast).code, { encoding: "utf8" });
}
}
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-10 14:08:12 -08:00
Anders Kaseorg
28f3dfa284
js: Automatically convert var to let and const in most files.
...
This commit was originally automatically generated using `tools/lint
--only=eslint --fix`. It was then modified by tabbott to contain only
changes to a set of files that are unlikely to result in significant
merge conflicts with any open pull request, excluding about 20 files.
His plan is to merge the remaining changes with more precise care,
potentially involving merging parts of conflicting pull requests
before running the `eslint --fix` operation.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-11-03 12:42:39 -08:00
Anders Kaseorg
042c558bb3
eslint: Enable sort-imports rule.
...
I figure we should enable this before we have lots of imports.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-10-30 13:10:25 -07:00
Akash Nimare
2e47e35edc
desktop: Update desktop app to v4.0.0.
2019-08-13 12:36:40 -07:00
Anders Kaseorg
82828bdba4
HTML validation: Remove invalid <button href> attribute.
...
For .start-button, Bootstrap carousel already supports <button
data-target> as a valid alternative to <button href>. For
.call-to-action, the margin is decreased to exactly offset the lack of
margin collapsing with display: inline-block. There should be no
visual change.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-07-23 16:16:22 -07:00
Tim Abbott
4aeb399315
apps: Fix buggy toggling with version_info.show_instructions.
...
We were doing the seemingly innocent
.toggle(version_info.show_instructions) to show the instructions if
and only if show_instructions was true. However, our data structures
that should have been false didn't set a value, and `.toggle` with no
arguments just flips the state, rather than unconditionally hiding.
2019-07-11 11:48:24 -07:00
Rohitt Vashishtha
f507a1a1d9
portico: Remove scroll-to attribute support.
...
This feature was added in 3b55519b11
without any uses of it in the markup, and we do not appear to use
scroll-to anywhere in our portico pages.
2019-07-10 13:12:07 -07:00
Rohitt Vashishtha
d649dce468
portico: Remove event handler on anchor tags.
...
We added custom event handlers on anchor tags to show transitions
when switching between pages, a behaviour we have since removes in
commit a0dacea811
.
Our approach didn't respect the target attribute for links and other
defaults that browsers offer with links.
We can now safely remove the event handler and restore the default
behavior of anchor tags.
2019-07-10 13:12:00 -07:00
Thomas Ip
b72f30bd06
jQuery: Replace positional selectors at the end of multiple selectors.
...
A selector like `$('.elem1 .elem2:first')` selects the first descendant
with class name `.elem2` under `.elem1`. This is the same as saying
`$('.elem1 .elem2').first()`. See example here:
https://jsbin.com/bohehesari/edit?html,js,output
2019-06-06 15:21:26 -07:00
Kanishk Kakar
68d3b9f5ca
docs: Update desktop app version to 3.0.0.
2019-05-21 15:16:06 -07:00
Kanishk Kakar
77ab9a0eb0
docs: Update desktop repo URL.
2019-05-20 11:01:11 -07:00
Tim Abbott
8e1dff708e
apps: Simplify rendering logic using $.toggle.
2019-03-15 10:11:39 -07:00
theredcap
3aa16dcd73
templates: Add "Download APK" button in apps.html.
...
This allows user to download the latest version of android apk from
the apps/android.
This will help the users who use Android without Google Play to
download the app and install it with ease.
To implement this I added a Download APK link on the apps.html page
which always points to the latest released version.
Fixes part of #11647 .
2019-03-15 10:11:39 -07:00
Adarsh Patel
f7b18bf68c
portico: Deduplicate code for detecting browser OS.
...
We apparently had two copies of this in different files.
2019-01-14 14:33:22 -08:00
Akash Nimare
f60e6d7c20
desktop: Update app to v2.3.82.
2018-10-12 10:32:58 -07:00
Akash Nimare
f426d2cb22
desktop: Update desktop app link to v2.3.8.
2018-09-28 00:20:45 -07:00
Eeshan Garg
2443919a7e
user docs: Use tabbed instructions on desktop-app-install-guide.
...
Note that the correct tab is automatically activated depending on
the user's OS.
2018-09-18 13:49:34 -07:00
Akash Nimare
fe39ad04e1
desktop: Update desktop app to v2.3.6.
2018-08-29 11:11:17 -07:00
Akash Nimare
edf23cd743
desktop: Update desktop app to v2.3.5.
2018-08-03 10:19:33 -07:00
Abhigyan Khaund
29a95f3cbf
desktop: Update app version to v2.3.3.
2018-07-19 10:54:58 -07:00
Anders Kaseorg
ecb4fd2193
HTML validation: Rename custom on-page attribute to data-on-page.
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2018-07-09 09:45:42 +05:30
Akash Nimare
ac93281cfe
portico: Update advance clicking on tour carousel.
...
We shouldn't move the slide forward if the user is
on the last slide. This commit adds an exception for
the same.
2018-06-04 15:07:54 -07:00
Shubham Dhama
4b42a1207a
portico: Fix `/plans` link in the tour carousel.
2018-06-04 08:54:52 -07:00
Shubham Dhama
06d00b0dfe
portico: Fix clicking of carousel-container to move to next slide.
2018-06-04 08:54:52 -07:00
Shubham Dhama
e59fcddb13
portico: Stop wraping of slides in landing page carousel.
2018-06-04 08:54:52 -07:00
Shubham Padia
f6f4a3f50a
browser-support: Replace occurrences of `.includes` in static/js/*.
...
Fixes #9649 .
`.includes` is not supported in Internet Explorer.
Replace `.includes` with `.indexOf() !== -1`.
2018-06-03 14:30:22 -07:00
Akash Nimare
873cd23811
desktop: Update app version to v2.3.2.
2018-05-30 15:08:06 -07:00
Akash Nimare
683fbf68ce
portico: Move carousel forward on clicking inside tour container.
...
Fixes : #9540 .
2018-05-25 18:49:20 +05:30
Akash Nimare
dc54260cce
desktop: Update app version to v2.3.1.
2018-05-24 12:19:43 -07:00
Max Nussenbaum
a0dacea811
portico: Remove transition on page load.
...
Removes the fade in and fade out that used to happen when a
page was loaded.
2018-05-08 09:28:39 -07:00