From d71a243cca7a114ad6b933d03828e81d47fa872a Mon Sep 17 00:00:00 2001 From: Tim Hostetler <6970899+thostetler@users.noreply.github.com> Date: Wed, 2 Dec 2020 21:03:10 +0000 Subject: [PATCH 1/7] updates to dockerfile --- .devcontainer/Dockerfile | 3 --- .devcontainer/docker-compose.yml | 2 +- .vscode/settings.json | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index c145d967f..ce21d877a 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -17,6 +17,3 @@ RUN apt-get update && apt-get install -y \ libxtst6 \ xauth \ xvfb - -# Install doppler during build phase -RUN (curl -Ls https://cli.doppler.com/install.sh || wget -qO- https://cli.doppler.com/install.sh) | sh diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 895bd6aaa..1fc744142 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.8' +version: '3.3' services: app: diff --git a/.vscode/settings.json b/.vscode/settings.json index 17700620f..942615c49 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { "debug.node.autoAttach": "off" -} \ No newline at end of file +} From c8c35650cf8c01ac277878ae2c1ea6dc0903063a Mon Sep 17 00:00:00 2001 From: Tim Hostetler <6970899+thostetler@users.noreply.github.com> Date: Wed, 2 Dec 2020 21:59:12 +0000 Subject: [PATCH 2/7] fix testing errors, add react imports --- .../__snapshots__/numfound.test.tsx.snap | 4 +-- components/__tests__/numfound.test.tsx | 8 +++++ components/base/checkbox.tsx | 9 +++--- components/base/radio.tsx | 9 +++--- components/base/textarea.tsx | 2 +- components/base/textbox.tsx | 2 +- components/footer.tsx | 1 + components/numfound.tsx | 4 +-- package.json | 2 ++ yarn.lock | 32 +++++++++++++++++-- 10 files changed, 55 insertions(+), 18 deletions(-) diff --git a/components/__tests__/__snapshots__/numfound.test.tsx.snap b/components/__tests__/__snapshots__/numfound.test.tsx.snap index 02cda7260..b06653d24 100644 --- a/components/__tests__/__snapshots__/numfound.test.tsx.snap +++ b/components/__tests__/__snapshots__/numfound.test.tsx.snap @@ -2,7 +2,7 @@ exports[`renders correctly 1`] = `
-
@@ -14,6 +14,6 @@ exports[`renders correctly 1`] = ` 10 results -
+

`; diff --git a/components/__tests__/numfound.test.tsx b/components/__tests__/numfound.test.tsx index 97a9cf90a..0036e43b8 100644 --- a/components/__tests__/numfound.test.tsx +++ b/components/__tests__/numfound.test.tsx @@ -1,9 +1,17 @@ import { render } from '@testing-library/react'; +import { axe, toHaveNoViolations } from 'jest-axe'; import React from 'react'; import NumFound from '../numfound'; +expect.extend(toHaveNoViolations); test('renders correctly', async () => { const { container } = render(); expect(container).toMatchSnapshot(); expect(container).toHaveTextContent('Your search returned 10 results'); }); + +test('Has no accessibility violations', async () => { + render(); + const results = await axe(document.body); + expect(results).toHaveNoViolations(); +}); diff --git a/components/base/checkbox.tsx b/components/base/checkbox.tsx index a1466c1f9..a5b51758d 100644 --- a/components/base/checkbox.tsx +++ b/components/base/checkbox.tsx @@ -1,9 +1,8 @@ -import { DetailedHTMLProps, InputHTMLAttributes } from 'react'; +import React, { DetailedHTMLProps, InputHTMLAttributes } from 'react'; -const Checkbox: React.FC, - HTMLInputElement ->> = (props) => { +const Checkbox: React.FC< + DetailedHTMLProps, HTMLInputElement> +> = (props) => { const { children, ...inputProps } = props; return ( diff --git a/components/base/radio.tsx b/components/base/radio.tsx index 52225686f..48cb3c941 100644 --- a/components/base/radio.tsx +++ b/components/base/radio.tsx @@ -1,9 +1,8 @@ -import { DetailedHTMLProps, InputHTMLAttributes } from 'react'; +import React, { DetailedHTMLProps, InputHTMLAttributes } from 'react'; -const Radio: React.FC, - HTMLInputElement ->> = (props) => { +const Radio: React.FC< + DetailedHTMLProps, HTMLInputElement> +> = (props) => { const { children, ...inputProps } = props; return ( diff --git a/components/base/textarea.tsx b/components/base/textarea.tsx index 00d4f76b9..8293a5833 100644 --- a/components/base/textarea.tsx +++ b/components/base/textarea.tsx @@ -1,4 +1,4 @@ -import { DetailedHTMLProps, TextareaHTMLAttributes } from 'react'; +import React, { DetailedHTMLProps, TextareaHTMLAttributes } from 'react'; interface ITextareaProps extends DetailedHTMLProps< diff --git a/components/base/textbox.tsx b/components/base/textbox.tsx index fb07a2865..9f1b20515 100644 --- a/components/base/textbox.tsx +++ b/components/base/textbox.tsx @@ -1,4 +1,4 @@ -import { DetailedHTMLProps, InputHTMLAttributes } from 'react'; +import React, { DetailedHTMLProps, InputHTMLAttributes } from 'react'; interface ITextboxProps extends DetailedHTMLProps< diff --git a/components/footer.tsx b/components/footer.tsx index 6841032e4..d0f4550ba 100644 --- a/components/footer.tsx +++ b/components/footer.tsx @@ -11,6 +11,7 @@ import { import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import Image from 'next/image'; import Link from 'next/link'; +import React from 'react'; const SimpleLink: React.FC<{ href: string; icon?: IconProp }> = ({ children, diff --git a/components/numfound.tsx b/components/numfound.tsx index a18d484dc..f3dfb063a 100644 --- a/components/numfound.tsx +++ b/components/numfound.tsx @@ -2,10 +2,10 @@ import React from 'react'; const NumFound: React.FC = React.memo(({ numFound = 0 }) => { return ( -
+

Your search returned{' '} {numFound.toLocaleString()} results -

+

); }); diff --git a/package.json b/package.json index 88601bc60..9e795f351 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "@types/express": "^4.17.8", "@types/express-rate-limit": "^5.1.0", "@types/jest": "^26.0.15", + "@types/jest-axe": "^3.5.1", "@types/morgan": "^1.9.1", "@types/node": "^14.6.1", "@types/qs": "^6.9.4", @@ -63,6 +64,7 @@ "express": "^4.17.1", "express-rate-limit": "^5.1.3", "jest": "^26.6.3", + "jest-axe": "^4.1.0", "morgan": "^1.10.0", "next": "^10.0.2-canary.2", "next-compose-plugins": "^2.2.0", diff --git a/yarn.lock b/yarn.lock index f9ad78688..d460512b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -937,6 +937,14 @@ dependencies: "@types/istanbul-lib-report" "*" +"@types/jest-axe@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@types/jest-axe/-/jest-axe-3.5.1.tgz#122c3864e361c8d699e60814a6a7f6851101d263" + integrity sha512-yelGgELc6iJEPShJ3/XEu6uUr5rCGi/Md0QzMuoo53y0WpR2lyFM3mjdpo8Q+PPd3onHOpIw6BBzEAIU65ZFSA== + dependencies: + "@types/jest" "*" + axe-core "^3.5.5" + "@types/jest@*", "@types/jest@26.x", "@types/jest@^26.0.15": version "26.0.15" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.15.tgz#12e02c0372ad0548e07b9f4e19132b834cb1effe" @@ -1712,7 +1720,12 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axe-core@^4.0.2: +axe-core@^3.5.5: + version "3.5.5" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227" + integrity sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q== + +axe-core@^4.0.1, axe-core@^4.0.2: version "4.1.1" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.1.tgz#70a7855888e287f7add66002211a423937063eaf" integrity sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ== @@ -4894,6 +4907,16 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +jest-axe@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jest-axe/-/jest-axe-4.1.0.tgz#5e73069c6517ffa106f31bb6a589a09250e4a04c" + integrity sha512-TPWRbwQYwdt1jtvM0DRi//0e51omWirMkyf99paeY7kYS5XsUZ9IcyP4omrqPKJ46xHDxs1AYqIwVz/minBoFw== + dependencies: + axe-core "^4.0.1" + chalk "^4.0.0" + jest-matcher-utils "^26.0.1" + lodash.merge "^4.6.2" + jest-changed-files@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" @@ -5057,7 +5080,7 @@ jest-leak-detector@^26.6.2: jest-get-type "^26.3.0" pretty-format "^26.6.2" -jest-matcher-utils@^26.6.2: +jest-matcher-utils@^26.0.1, jest-matcher-utils@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== @@ -5599,6 +5622,11 @@ lodash.memoize@4.x: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" From 971804682fbf5f1bbf0b7fe8ca2d89cd2f5f2dc3 Mon Sep 17 00:00:00 2001 From: Tim Hostetler <6970899+thostetler@users.noreply.github.com> Date: Thu, 3 Dec 2020 00:25:42 -0500 Subject: [PATCH 3/7] Delete index.css --- styles/index.css | 1676 ---------------------------------------------- 1 file changed, 1676 deletions(-) delete mode 100644 styles/index.css diff --git a/styles/index.css b/styles/index.css deleted file mode 100644 index 4e3769745..000000000 --- a/styles/index.css +++ /dev/null @@ -1,1676 +0,0 @@ -/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ - -/* -Document -======== -*/ - -/** -Use a better box model (opinionated). -*/ - -*, -*::before, -*::after { - box-sizing: border-box; -} - -/** -Use a more readable tab size (opinionated). -*/ - -:root { - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; -} - -/** -1. Correct the line height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -*/ - -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* -Sections -======== -*/ - -/** -Remove the margin in all browsers. -*/ - -body { - margin: 0; -} - -/** -Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) -*/ - -body { - font-family: - system-ui, - -apple-system, /* Firefox supports this but not yet `system-ui` */ - 'Segoe UI', - Roboto, - Helvetica, - Arial, - sans-serif, - 'Apple Color Emoji', - 'Segoe UI Emoji'; -} - -/* -Grouping content -================ -*/ - -/** -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -*/ - -hr { - height: 0; /* 1 */ - color: inherit; /* 2 */ -} - -/* -Text-level semantics -==================== -*/ - -/** -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr[title] { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/** -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/** -1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) -2. Correct the odd 'em' font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: - ui-monospace, - SFMono-Regular, - Consolas, - 'Liberation Mono', - Menlo, - monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/** -Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -Tabular data -============ -*/ - -/** -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -*/ - -table { - text-indent: 0; /* 1 */ - border-color: inherit; /* 2 */ -} - -/* -Forms -===== -*/ - -/** -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** -Remove the inheritance of text transform in Edge and Firefox. -1. Remove the inheritance of text transform in Firefox. -*/ - -button, -select { /* 1 */ - text-transform: none; -} - -/** -Correct the inability to style clickable types in iOS and Safari. -*/ - -button, -[type='button'], -[type='submit'] { - -webkit-appearance: button; -} - -/** -Remove the inner border and padding in Firefox. -*/ - -/** -Restore the focus styles unset by the previous rule. -*/ - -/** -Remove the additional ':invalid' styles in Firefox. -See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 -*/ - -/** -Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. -*/ - -legend { - padding: 0; -} - -/** -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/** -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -/** -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** -Remove the inner padding in Chrome and Safari on macOS. -*/ - -/** -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to 'inherit' in Safari. -*/ - -/* -Interactive -=========== -*/ - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/** - * Manually forked from SUIT CSS Base: https://github.com/suitcss/base - * A thin layer on top of normalize.css that provides a starting point more - * suitable for web applications. - */ - -/** - * Removes the default spacing and border for appropriate elements. - */ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -button { - background-color: transparent; - background-image: none; -} - -/** - * Work around a Firefox/IE bug where the transparent `button` background - * results in a loss of the default `button` focus styles. - */ - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -fieldset { - margin: 0; - padding: 0; -} - -ol, -ul { - list-style: none; - margin: 0; - padding: 0; -} - -/** - * Tailwind custom reset styles - */ - -/** - * 1. Use the user's configured `sans` font-family (with Tailwind's default - * sans-serif font stack as a fallback) as a sane default. - * 2. Use Tailwind's default "normal" line-height so the user isn't forced - * to override it to ensure consistency even when using the default theme. - */ - -html { - font-family: Roboto, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */ - line-height: 1.5; /* 2 */ -} - -/** - * Inherit font-family and line-height from `html` so users can set them as - * a class directly on the `html` element. - */ - -body { - font-family: inherit; - line-height: inherit; -} - -/** - * 1. Prevent padding and border from affecting element width. - * - * We used to set this in the html element and inherit from - * the parent element for everything else. This caused issues - * in shadow-dom-enhanced elements like
where the content - * is wrapped by a div with box-sizing set to `content-box`. - * - * https://github.com/mozdevs/cssremedy/issues/4 - * - * - * 2. Allow adding a border to an element by just adding a border-width. - * - * By default, the way the browser specifies that an element should have no - * border is by setting it's border-style to `none` in the user-agent - * stylesheet. - * - * In order to easily add borders to elements by just setting the `border-width` - * property, we change the default border-style for all elements to `solid`, and - * use border-width to hide them instead. This way our `border` utilities only - * need to set the `border-width` property instead of the entire `border` - * shorthand, making our border utilities much more straightforward to compose. - * - * https://github.com/tailwindcss/tailwindcss/pull/116 - */ - -*, -::before, -::after { - box-sizing: border-box; /* 1 */ - border-width: 0; /* 2 */ - border-style: solid; /* 2 */ - border-color: #eeeeee; /* 2 */ -} - -/* - * Ensure horizontal rules are visible by default - */ - -hr { - border-top-width: 1px; -} - -/** - * Undo the `border-style: none` reset that Normalize applies to images so that - * our `border-{width}` utilities have the expected effect. - * - * The Normalize reset is unnecessary for us since we default the border-width - * to 0 on all elements. - * - * https://github.com/tailwindcss/tailwindcss/issues/362 - */ - -img { - border-style: solid; -} - -textarea { - resize: vertical; -} - -input::-moz-placeholder, textarea::-moz-placeholder { - color: #bdbdbd; -} - -input::placeholder, -textarea::placeholder { - color: #bdbdbd; -} - -button, -[role="button"] { - cursor: pointer; -} - -table { - border-collapse: collapse; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/** - * Reset links to optimize for opt-in styling instead of - * opt-out. - */ - -a { - color: inherit; - text-decoration: inherit; -} - -/** - * Reset form element properties that are easy to forget to - * style explicitly so you don't inadvertently introduce - * styles that deviate from your design system. These styles - * supplement a partial reset that is already applied by - * normalize.css. - */ - -button, -input, -optgroup, -select, -textarea { - padding: 0; - line-height: inherit; - color: inherit; -} - -/** - * Use the configured 'mono' font family for elements that - * are expected to be rendered with a monospace font, falling - * back to the system monospace stack if there is no configured - * 'mono' font family. - */ - -pre, -code, -kbd, -samp { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -/** - * Make replaced elements `display: block` by default as that's - * the behavior you want almost all of the time. Inspired by - * CSS Remedy, with `svg` added as well. - * - * https://github.com/mozdevs/cssremedy/issues/14 - */ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - vertical-align: middle; -} - -/** - * Constrain images and videos to the parent width and preserve - * their instrinsic aspect ratio. - * - * https://github.com/mozdevs/cssremedy/issues/14 - */ - -img, -video { - max-width: 100%; - height: auto; -} - -.container { - width: 100%; -} - -@media (min-width: 640px) { - .container { - max-width: 640px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 768px; - } -} - -@media (min-width: 1024px) { - .container { - max-width: 1024px; - } -} - -@media (min-width: 1280px) { - .container { - max-width: 1280px; - } -} - -@media (min-width: 1536px) { - .container { - max-width: 1536px; - } -} - -.form-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #ffffff; - border-color: #d2d6dc; - border-radius: 0.375rem; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - font-size: [object Object]; - line-height: 1.5; -} - -.form-input::-moz-placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-input::placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-input:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #ffffff; - border-color: #d2d6dc; - border-radius: 0.375rem; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - font-size: [object Object]; - line-height: 1.5; -} - -.form-textarea::-moz-placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-textarea::placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-textarea:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-checkbox:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -@media not print { - .form-checkbox::-ms-check { - color: transparent; - background: inherit; - border-color: inherit; - border-radius: inherit; - } -} - -.form-checkbox { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-print-color-adjust: exact; - color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #3f83f8; - background-color: #ffffff; - border-color: #d2d6dc; -} - -.form-checkbox:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-checkbox:checked:focus { - border-color: transparent; -} - -.form-radio:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -@media not print { - .form-radio::-ms-check { - color: transparent; - background: inherit; - border-color: inherit; - border-radius: inherit; - } -} - -.form-radio { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-print-color-adjust: exact; - color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-shrink: 0; - border-radius: 100%; - height: 1rem; - width: 1rem; - color: #3f83f8; - background-color: #ffffff; - border-color: #d2d6dc; -} - -.form-radio:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-radio:checked:focus { - border-color: transparent; -} - -.form-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #ffffff; - border-color: #d2d6dc; - border-radius: 0.375rem; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - font-size: [object Object]; - line-height: 1.5; -} - -.form-input::-moz-placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-input::placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-input:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #ffffff; - border-color: #d2d6dc; - border-radius: 0.375rem; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - font-size: [object Object]; - line-height: 1.5; -} - -.form-textarea::-moz-placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-textarea::placeholder { - color: #9fa6b2; - opacity: 1; -} - -.form-textarea:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-checkbox:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -@media not print { - .form-checkbox::-ms-check { - color: transparent; - background: inherit; - border-color: inherit; - border-radius: inherit; - } -} - -.form-checkbox { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-print-color-adjust: exact; - color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #3f83f8; - background-color: #ffffff; - border-color: #d2d6dc; -} - -.form-checkbox:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-checkbox:checked:focus { - border-color: transparent; -} - -.form-radio:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -@media not print { - .form-radio::-ms-check { - color: transparent; - background: inherit; - border-color: inherit; - border-radius: inherit; - } -} - -.form-radio { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-print-color-adjust: exact; - color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; - flex-shrink: 0; - border-radius: 100%; - height: 1rem; - width: 1rem; - color: #3f83f8; - background-color: #ffffff; - border-color: #d2d6dc; -} - -.form-radio:focus { - outline: none; - box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45); - border-color: #a4cafe; -} - -.form-radio:checked:focus { - border-color: transparent; -} - -.divide-x-0 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 0; - border-right-width: calc(0px * var(--tw-divide-x-reverse)); - border-left-width: calc(0px * calc(1 - var(--tw-divide-x-reverse))); -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.focus\:not-sr-only:focus { - position: static; - width: auto; - height: auto; - padding: 0; - margin: 0; - overflow: visible; - clip: auto; - white-space: normal; -} - -.appearance-none { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.bg-white { - --tw-bg-opacity: 1; - background-color: rgba(255, 255, 255, var(--tw-bg-opacity)); -} - -.bg-black { - --tw-bg-opacity: 1; - background-color: rgba(0, 0, 0, var(--tw-bg-opacity)); -} - -.bg-gray-200 { - --tw-bg-opacity: 1; - background-color: rgba(238, 238, 238, var(--tw-bg-opacity)); -} - -.bg-gray-700 { - --tw-bg-opacity: 1; - background-color: rgba(97, 97, 97, var(--tw-bg-opacity)); -} - -.bg-gray-900 { - --tw-bg-opacity: 1; - background-color: rgba(33, 33, 33, var(--tw-bg-opacity)); -} - -.bg-blue-500 { - --tw-bg-opacity: 1; - background-color: rgba(63, 131, 248, var(--tw-bg-opacity)); -} - -.hover\:bg-gray-50:hover { - --tw-bg-opacity: 1; - background-color: rgba(249, 250, 251, var(--tw-bg-opacity)); -} - -.hover\:bg-gray-200:hover { - --tw-bg-opacity: 1; - background-color: rgba(238, 238, 238, var(--tw-bg-opacity)); -} - -.hover\:bg-gray-500:hover { - --tw-bg-opacity: 1; - background-color: rgba(158, 158, 158, var(--tw-bg-opacity)); -} - -.hover\:bg-gray-800:hover { - --tw-bg-opacity: 1; - background-color: rgba(66, 66, 66, var(--tw-bg-opacity)); -} - -.hover\:bg-blue-700:hover { - --tw-bg-opacity: 1; - background-color: rgba(26, 86, 219, var(--tw-bg-opacity)); -} - -.focus\:bg-white:focus { - --tw-bg-opacity: 1; - background-color: rgba(255, 255, 255, var(--tw-bg-opacity)); -} - -.focus\:bg-gray-500:focus { - --tw-bg-opacity: 1; - background-color: rgba(158, 158, 158, var(--tw-bg-opacity)); -} - -.focus\:bg-gray-800:focus { - --tw-bg-opacity: 1; - background-color: rgba(66, 66, 66, var(--tw-bg-opacity)); -} - -.active\:bg-blue-500:active { - --tw-bg-opacity: 1; - background-color: rgba(63, 131, 248, var(--tw-bg-opacity)); -} - -.bg-opacity-75 { - --tw-bg-opacity: 0.75; -} - -.hover\:bg-opacity-100:hover { - --tw-bg-opacity: 1; -} - -.focus\:bg-opacity-100:focus { - --tw-bg-opacity: 1; -} - -.border-gray-200 { - --tw-border-opacity: 1; - border-color: rgba(238, 238, 238, var(--tw-border-opacity)); -} - -.border-gray-300 { - --tw-border-opacity: 1; - border-color: rgba(224, 224, 224, var(--tw-border-opacity)); -} - -.border-blue-700 { - --tw-border-opacity: 1; - border-color: rgba(26, 86, 219, var(--tw-border-opacity)); -} - -.focus\:border-gray-500:focus { - --tw-border-opacity: 1; - border-color: rgba(158, 158, 158, var(--tw-border-opacity)); -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-md { - border-radius: 0.375rem; -} - -.rounded-lg { - border-radius: 0.5rem; -} - -.border-dotted { - border-style: dotted; -} - -.border { - border-width: 1px; -} - -.block { - display: block; -} - -.flex { - display: flex; -} - -.inline-flex { - display: inline-flex; -} - -.table { - display: table; -} - -.hidden { - display: none; -} - -.flex-col { - flex-direction: column; -} - -.items-center { - align-items: center; -} - -.justify-end { - justify-content: flex-end; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.justify-evenly { - justify-content: space-evenly; -} - -.flex-1 { - flex: 1 1 0%; -} - -.flex-grow { - flex-grow: 1; -} - -.font-light { - font-weight: 300; -} - -.font-medium { - font-weight: 500; -} - -.font-bold { - font-weight: 700; -} - -.h-5 { - height: 1.25rem; -} - -.h-10 { - height: 2.5rem; -} - -.h-12 { - height: 3rem; -} - -.h-28 { - height: 7rem; -} - -.text-xs { - font-size: 0.75rem; - line-height: 1rem; -} - -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; -} - -.leading-relaxed { - line-height: 1.625; -} - -.leading-loose { - line-height: 2; -} - -.m-4 { - margin: 1rem; -} - -.mx-1 { - margin-left: 0.25rem; - margin-right: 0.25rem; -} - -.my-4 { - margin-top: 1rem; - margin-bottom: 1rem; -} - -.my-6 { - margin-top: 1.5rem; - margin-bottom: 1.5rem; -} - -.mx-auto { - margin-left: auto; - margin-right: auto; -} - -.mt-1 { - margin-top: 0.25rem; -} - -.mr-1 { - margin-right: 0.25rem; -} - -.mb-1 { - margin-bottom: 0.25rem; -} - -.ml-1 { - margin-left: 0.25rem; -} - -.mr-2 { - margin-right: 0.5rem; -} - -.ml-2 { - margin-left: 0.5rem; -} - -.mt-3 { - margin-top: 0.75rem; -} - -.mr-3 { - margin-right: 0.75rem; -} - -.mb-3 { - margin-bottom: 0.75rem; -} - -.mt-4 { - margin-top: 1rem; -} - -.mb-4 { - margin-bottom: 1rem; -} - -.mt-6 { - margin-top: 1.5rem; -} - -.max-w-2xl { - max-width: 42rem; -} - -.outline-none { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.focus\:outline-none:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.overflow-hidden { - overflow: hidden; -} - -.p-1 { - padding: 0.25rem; -} - -.p-2 { - padding: 0.5rem; -} - -.p-4 { - padding: 1rem; -} - -.p-10 { - padding: 2.5rem; -} - -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.px-5 { - padding-left: 1.25rem; - padding-right: 1.25rem; -} - -.py-6 { - padding-top: 1.5rem; - padding-bottom: 1.5rem; -} - -.px-7 { - padding-left: 1.75rem; - padding-right: 1.75rem; -} - -.pl-2 { - padding-left: 0.5rem; -} - -.pr-28 { - padding-right: 7rem; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.inset-y-0 { - top: 0; - bottom: 0; -} - -.bottom-0 { - bottom: 0; -} - -.right-1 { - right: 0.25rem; -} - -.right-20 { - right: 5rem; -} - -.top-1\/2 { - top: 50%; -} - -.left-1\/2 { - left: 50%; -} - -* { - --tw-shadow: 0 0 #0000; -} - -.shadow { - --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-md { - --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-xl { - --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.hover\:shadow-md:hover { - --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -* { - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgba(63, 131, 248, 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; -} - -.text-center { - text-align: center; -} - -.text-white { - --tw-text-opacity: 1; - color: rgba(255, 255, 255, var(--tw-text-opacity)); -} - -.text-gray-100 { - --tw-text-opacity: 1; - color: rgba(245, 245, 245, var(--tw-text-opacity)); -} - -.text-gray-500 { - --tw-text-opacity: 1; - color: rgba(158, 158, 158, var(--tw-text-opacity)); -} - -.text-gray-700 { - --tw-text-opacity: 1; - color: rgba(97, 97, 97, var(--tw-text-opacity)); -} - -.text-blue-500 { - --tw-text-opacity: 1; - color: rgba(63, 131, 248, var(--tw-text-opacity)); -} - -.text-blue-600 { - --tw-text-opacity: 1; - color: rgba(28, 100, 242, var(--tw-text-opacity)); -} - -.text-blue-700 { - --tw-text-opacity: 1; - color: rgba(26, 86, 219, var(--tw-text-opacity)); -} - -.hover\:text-white:hover { - --tw-text-opacity: 1; - color: rgba(255, 255, 255, var(--tw-text-opacity)); -} - -.focus\:text-white:focus { - --tw-text-opacity: 1; - color: rgba(255, 255, 255, var(--tw-text-opacity)); -} - -.uppercase { - text-transform: uppercase; -} - -.capitalize { - text-transform: capitalize; -} - -.hover\:underline:hover { - text-decoration: underline; -} - -.focus\:underline:focus { - text-decoration: underline; -} - -.tracking-wide { - letter-spacing: 0.025em; -} - -.w-5 { - width: 1.25rem; -} - -.w-10 { - width: 2.5rem; -} - -.w-80 { - width: 20rem; -} - -.w-3\/4 { - width: 75%; -} - -.w-full { - width: 100%; -} - -.transform { - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-translate-x-1\/2 { - --tw-translate-x: -50%; -} - -.-translate-y-13 { - --tw-translate-y: -3.25rem; -} - -.transition { - transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-colors { - transition-property: background-color, border-color, color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -@-webkit-keyframes spin { - to { - transform: rotate(360deg); - } -} - -@keyframes spin { - to { - transform: rotate(360deg); - } -} - -@-webkit-keyframes ping { - 75%, 100% { - transform: scale(2); - opacity: 0; - } -} - -@keyframes ping { - 75%, 100% { - transform: scale(2); - opacity: 0; - } -} - -@-webkit-keyframes pulse { - 50% { - opacity: .5; - } -} - -@keyframes pulse { - 50% { - opacity: .5; - } -} - -@-webkit-keyframes bounce { - 0%, 100% { - transform: translateY(-25%); - -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1); - animation-timing-function: cubic-bezier(0.8,0,1,1); - } - - 50% { - transform: none; - -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1); - animation-timing-function: cubic-bezier(0,0,0.2,1); - } -} - -@keyframes bounce { - 0%, 100% { - transform: translateY(-25%); - -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1); - animation-timing-function: cubic-bezier(0.8,0,1,1); - } - - 50% { - transform: none; - -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1); - animation-timing-function: cubic-bezier(0,0,0.2,1); - } -} - -@media (min-width: 640px) { - .sm\:leading-5 { - line-height: 1.25rem; - } - - .sm\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } -} - -@media (min-width: 768px) { - .md\:rounded-t { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - } - - .md\:block { - display: block; - } - - .md\:flex { - display: flex; - } - - .md\:hidden { - display: none; - } - - .md\:flex-row { - flex-direction: row; - } - - .md\:flex-none { - flex: none; - } - - .md\:h-14 { - height: 3.5rem; - } - - .md\:text-lg { - font-size: 1.125rem; - line-height: 1.75rem; - } - - .md\:text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; - } - - .md\:mx-0 { - margin-left: 0; - margin-right: 0; - } - - .md\:mr-1 { - margin-right: 0.25rem; - } - - .md\:mr-2 { - margin-right: 0.5rem; - } - - .md\:px-0 { - padding-left: 0; - padding-right: 0; - } - - .md\:py-3 { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - } - - .md\:px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; - } - - .md\:px-5 { - padding-left: 1.25rem; - padding-right: 1.25rem; - } - - .md\:w-14 { - width: 3.5rem; - } - - .md\:w-1\/3 { - width: 33.333333%; - } - - .md\:w-2\/12 { - width: 16.666667%; - } - - .md\:w-5\/12 { - width: 41.666667%; - } -} - -@media (min-width: 1024px) { - .lg\:h-20 { - height: 5rem; - } - - .lg\:h-40 { - height: 10rem; - } - - .lg\:text-5xl { - font-size: 3rem; - line-height: 1; - } - - .lg\:px-8 { - padding-left: 2rem; - padding-right: 2rem; - } - - .lg\:w-20 { - width: 5rem; - } - - .lg\:-translate-y-2\/3 { - --tw-translate-y: -66.666667%; - } -} From 2439921e3caf6617b89f30730764440060864409 Mon Sep 17 00:00:00 2001 From: Tim Hostetler <6970899+thostetler@users.noreply.github.com> Date: Thu, 3 Dec 2020 05:39:55 +0000 Subject: [PATCH 4/7] update travis config --- .gitignore | 2 +- .travis.yml | 2 ++ .vscode/launch.json | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9b268283b..de255ebe5 100644 --- a/.gitignore +++ b/.gitignore @@ -34,7 +34,7 @@ yarn-error.log* .env # compiled styles -styles/index.css +/styles/index.css # compiled server /dist diff --git a/.travis.yml b/.travis.yml index 9ac23cfcc..f391b6480 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,8 @@ cache: npm: true directories: - ~/.cache +env: + - PORT=8000 NEXT_PUBLIC_API_HOST=https://devapi.adsabs.harvard.edu/v1 HOST=http://localhost:8000 git: submodules: false install: diff --git a/.vscode/launch.json b/.vscode/launch.json index 2a7a1805c..cb109fb4f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,7 +6,8 @@ "name": "Next.js Server (debug)", "runtimeExecutable": "/usr/local/share/npm-global/bin/ts-node", "env": { - "NODE_OPTIONS": "--inspect" + "NODE_OPTIONS": "--inspect", + "NODE_ENV": "production" }, "runtimeArgs": ["--project", "tsconfig.server.json", "server/index.ts"], "port": 9229 From 2b1fc8bfd42d4aa4a2ab2cab36d4affdb610225a Mon Sep 17 00:00:00 2001 From: Tim Hostetler <6970899+thostetler@users.noreply.github.com> Date: Thu, 3 Dec 2020 17:04:44 +0000 Subject: [PATCH 5/7] move all code under src directory --- jest.config.ts | 4 +- .../__snapshots__/numfound.test.tsx.snap | 0 .../components}/__tests__/numfound.test.tsx | 0 .../components}/base/button.tsx | 0 .../components}/base/checkbox.tsx | 0 {components => src/components}/base/radio.tsx | 0 .../components}/base/textarea.tsx | 0 .../components}/base/textbox.tsx | 0 {components => src/components}/footer.tsx | 0 .../components}/landinghero.tsx | 0 {components => src/components}/layout.tsx | 0 {components => src/components}/navbar.tsx | 0 {components => src/components}/numfound.tsx | 0 .../components}/searchbar/index.ts | 0 .../components}/searchbar/machine.ts | 0 .../components}/searchbar/searchbar.tsx | 55 ------------------- {pages => src/pages}/404.tsx | 0 {pages => src/pages}/_app.tsx | 2 +- {pages => src/pages}/_error.tsx | 0 {pages => src/pages}/abs/[id]/index.tsx | 0 {pages => src/pages}/api/search.ts | 0 {pages => src/pages}/classic-form.tsx | 0 {pages => src/pages}/index.tsx | 0 {pages => src/pages}/login.tsx | 0 {pages => src/pages}/paper-form.tsx | 0 {pages => src/pages}/search.tsx | 0 {recoil => src/recoil}/atoms.ts | 0 tsconfig.json | 11 ++-- tsconfig.test.json | 6 +- 29 files changed, 12 insertions(+), 66 deletions(-) rename {components => src/components}/__tests__/__snapshots__/numfound.test.tsx.snap (100%) rename {components => src/components}/__tests__/numfound.test.tsx (100%) rename {components => src/components}/base/button.tsx (100%) rename {components => src/components}/base/checkbox.tsx (100%) rename {components => src/components}/base/radio.tsx (100%) rename {components => src/components}/base/textarea.tsx (100%) rename {components => src/components}/base/textbox.tsx (100%) rename {components => src/components}/footer.tsx (100%) rename {components => src/components}/landinghero.tsx (100%) rename {components => src/components}/layout.tsx (100%) rename {components => src/components}/navbar.tsx (100%) rename {components => src/components}/numfound.tsx (100%) rename {components => src/components}/searchbar/index.ts (100%) rename {components => src/components}/searchbar/machine.ts (100%) rename {components => src/components}/searchbar/searchbar.tsx (60%) rename {pages => src/pages}/404.tsx (100%) rename {pages => src/pages}/_app.tsx (94%) rename {pages => src/pages}/_error.tsx (100%) rename {pages => src/pages}/abs/[id]/index.tsx (100%) rename {pages => src/pages}/api/search.ts (100%) rename {pages => src/pages}/classic-form.tsx (100%) rename {pages => src/pages}/index.tsx (100%) rename {pages => src/pages}/login.tsx (100%) rename {pages => src/pages}/paper-form.tsx (100%) rename {pages => src/pages}/search.tsx (100%) rename {recoil => src/recoil}/atoms.ts (100%) diff --git a/jest.config.ts b/jest.config.ts index 8b2b48eeb..d56f7ef9c 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -4,7 +4,7 @@ const config: Config.InitialOptions = { testEnvironment: 'jsdom', preset: 'ts-jest', verbose: true, - roots: ['components'], + roots: ['src/components'], transform: { '^.+\\.tsx?$': 'ts-jest', }, @@ -15,7 +15,7 @@ const config: Config.InitialOptions = { tsconfig: 'tsconfig.test.json', }, }, - collectCoverageFrom: ['components/**/*.tsx'], + collectCoverageFrom: ['src/components/**/*.tsx'], coverageThreshold: { global: { lines: 0, diff --git a/components/__tests__/__snapshots__/numfound.test.tsx.snap b/src/components/__tests__/__snapshots__/numfound.test.tsx.snap similarity index 100% rename from components/__tests__/__snapshots__/numfound.test.tsx.snap rename to src/components/__tests__/__snapshots__/numfound.test.tsx.snap diff --git a/components/__tests__/numfound.test.tsx b/src/components/__tests__/numfound.test.tsx similarity index 100% rename from components/__tests__/numfound.test.tsx rename to src/components/__tests__/numfound.test.tsx diff --git a/components/base/button.tsx b/src/components/base/button.tsx similarity index 100% rename from components/base/button.tsx rename to src/components/base/button.tsx diff --git a/components/base/checkbox.tsx b/src/components/base/checkbox.tsx similarity index 100% rename from components/base/checkbox.tsx rename to src/components/base/checkbox.tsx diff --git a/components/base/radio.tsx b/src/components/base/radio.tsx similarity index 100% rename from components/base/radio.tsx rename to src/components/base/radio.tsx diff --git a/components/base/textarea.tsx b/src/components/base/textarea.tsx similarity index 100% rename from components/base/textarea.tsx rename to src/components/base/textarea.tsx diff --git a/components/base/textbox.tsx b/src/components/base/textbox.tsx similarity index 100% rename from components/base/textbox.tsx rename to src/components/base/textbox.tsx diff --git a/components/footer.tsx b/src/components/footer.tsx similarity index 100% rename from components/footer.tsx rename to src/components/footer.tsx diff --git a/components/landinghero.tsx b/src/components/landinghero.tsx similarity index 100% rename from components/landinghero.tsx rename to src/components/landinghero.tsx diff --git a/components/layout.tsx b/src/components/layout.tsx similarity index 100% rename from components/layout.tsx rename to src/components/layout.tsx diff --git a/components/navbar.tsx b/src/components/navbar.tsx similarity index 100% rename from components/navbar.tsx rename to src/components/navbar.tsx diff --git a/components/numfound.tsx b/src/components/numfound.tsx similarity index 100% rename from components/numfound.tsx rename to src/components/numfound.tsx diff --git a/components/searchbar/index.ts b/src/components/searchbar/index.ts similarity index 100% rename from components/searchbar/index.ts rename to src/components/searchbar/index.ts diff --git a/components/searchbar/machine.ts b/src/components/searchbar/machine.ts similarity index 100% rename from components/searchbar/machine.ts rename to src/components/searchbar/machine.ts diff --git a/components/searchbar/searchbar.tsx b/src/components/searchbar/searchbar.tsx similarity index 60% rename from components/searchbar/searchbar.tsx rename to src/components/searchbar/searchbar.tsx index 4d47e39c3..1464d25fa 100644 --- a/components/searchbar/searchbar.tsx +++ b/src/components/searchbar/searchbar.tsx @@ -63,63 +63,8 @@ const SearchBar: React.FC = () => { ); - - // const classes = useStyles(); - - // return ( - // ( - // - // - // - // - // - // - // - // )} - // /> - // ); }; interface ISearchBarProps extends React.InputHTMLAttributes {} -// const useStyles = makeStyles((theme: Theme) => -// createStyles({ -// root: { -// padding: 0, -// display: 'flex', -// alignItems: 'center', -// width: '100%', -// }, -// input: { -// marginLeft: theme.spacing(1), -// flex: 1, -// }, -// iconButton: { -// padding: 10, -// }, -// searchButton: { -// borderRadius: '0 4px 4px 0', -// color: theme.palette.getContrastText(theme.palette.secondary.main), -// backgroundColor: theme.palette.secondary.main, -// '&:hover': { -// backgroundColor: theme.palette.secondary.dark, -// }, -// }, -// }) -// ); - export default SearchBar; diff --git a/pages/404.tsx b/src/pages/404.tsx similarity index 100% rename from pages/404.tsx rename to src/pages/404.tsx diff --git a/pages/_app.tsx b/src/pages/_app.tsx similarity index 94% rename from pages/_app.tsx rename to src/pages/_app.tsx index feb833bd3..d587ed70c 100644 --- a/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,9 +1,9 @@ import Layout from '@components/layout'; +import '@styles/index.css'; import { AppProps } from 'next/app'; import Head from 'next/head'; import React from 'react'; import { RecoilRoot } from 'recoil'; -import '../styles/index.css'; const NectarApp = ({ Component, pageProps }: AppProps) => { return ( diff --git a/pages/_error.tsx b/src/pages/_error.tsx similarity index 100% rename from pages/_error.tsx rename to src/pages/_error.tsx diff --git a/pages/abs/[id]/index.tsx b/src/pages/abs/[id]/index.tsx similarity index 100% rename from pages/abs/[id]/index.tsx rename to src/pages/abs/[id]/index.tsx diff --git a/pages/api/search.ts b/src/pages/api/search.ts similarity index 100% rename from pages/api/search.ts rename to src/pages/api/search.ts diff --git a/pages/classic-form.tsx b/src/pages/classic-form.tsx similarity index 100% rename from pages/classic-form.tsx rename to src/pages/classic-form.tsx diff --git a/pages/index.tsx b/src/pages/index.tsx similarity index 100% rename from pages/index.tsx rename to src/pages/index.tsx diff --git a/pages/login.tsx b/src/pages/login.tsx similarity index 100% rename from pages/login.tsx rename to src/pages/login.tsx diff --git a/pages/paper-form.tsx b/src/pages/paper-form.tsx similarity index 100% rename from pages/paper-form.tsx rename to src/pages/paper-form.tsx diff --git a/pages/search.tsx b/src/pages/search.tsx similarity index 100% rename from pages/search.tsx rename to src/pages/search.tsx diff --git a/recoil/atoms.ts b/src/recoil/atoms.ts similarity index 100% rename from recoil/atoms.ts rename to src/recoil/atoms.ts diff --git a/tsconfig.json b/tsconfig.json index 96363b252..9b6bf5c5a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,15 +17,12 @@ "jsx": "preserve", "baseUrl": ".", "paths": { - "@components/*": ["components/*"], - "@src/*": ["src/*"], - "@mocks/*": ["mocks/*"], + "@components/*": ["src/components/*"], "@api/*": ["api/*"], - "@recoil/*": ["recoil/*"], - "@utils/*": ["utils/*"], - "@machines/*": ["machines/*"] + "@recoil/*": ["src/recoil/*"], + "@styles/*": ["styles/*"] } }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules", "cypress", "components/__tests__"] + "exclude": ["node_modules", "cypress", "src/components/__tests__"] } diff --git a/tsconfig.test.json b/tsconfig.test.json index 5049a01ed..f0fdee255 100644 --- a/tsconfig.test.json +++ b/tsconfig.test.json @@ -3,6 +3,10 @@ "compilerOptions": { "jsx": "react" }, - "include": ["./components/**/*.test.tsx", "jest.config.ts", "jest.setup.ts"], + "include": [ + "./src/components/**/*.test.tsx", + "jest.config.ts", + "jest.setup.ts" + ], "exclude": ["node_modules"] } From 29d9ca8aa12b11272593ef52b439504f6aad3d39 Mon Sep 17 00:00:00 2001 From: Tim Hostetler <6970899+thostetler@users.noreply.github.com> Date: Thu, 3 Dec 2020 18:02:03 +0000 Subject: [PATCH 6/7] update numfound test to increase coverage --- .../__tests__/__snapshots__/numfound.test.tsx.snap | 4 ++-- src/components/__tests__/numfound.test.tsx | 11 ++++++++--- src/components/numfound.tsx | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/__tests__/__snapshots__/numfound.test.tsx.snap b/src/components/__tests__/__snapshots__/numfound.test.tsx.snap index b06653d24..cb76a3900 100644 --- a/src/components/__tests__/__snapshots__/numfound.test.tsx.snap +++ b/src/components/__tests__/__snapshots__/numfound.test.tsx.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`renders correctly 1`] = ` +exports[`renders correctly with no props 1`] = `

- 10 + 0 results

diff --git a/src/components/__tests__/numfound.test.tsx b/src/components/__tests__/numfound.test.tsx index 0036e43b8..531a171d7 100644 --- a/src/components/__tests__/numfound.test.tsx +++ b/src/components/__tests__/numfound.test.tsx @@ -4,14 +4,19 @@ import React from 'react'; import NumFound from '../numfound'; expect.extend(toHaveNoViolations); -test('renders correctly', async () => { - const { container } = render(); +test('renders correctly with no props', async () => { + const { container } = render(); expect(container).toMatchSnapshot(); + expect(container).toHaveTextContent('Your search returned 0 results'); +}); + +test('renders correctly with prop', async () => { + const { container } = render(); expect(container).toHaveTextContent('Your search returned 10 results'); }); test('Has no accessibility violations', async () => { - render(); + render(); const results = await axe(document.body); expect(results).toHaveNoViolations(); }); diff --git a/src/components/numfound.tsx b/src/components/numfound.tsx index f3dfb063a..11dcfa72c 100644 --- a/src/components/numfound.tsx +++ b/src/components/numfound.tsx @@ -10,7 +10,7 @@ const NumFound: React.FC = React.memo(({ numFound = 0 }) => { }); interface INumFoundProps { - numFound: number; + numFound?: number; } export default NumFound; From 9691f6c7ebfb817b6ce26148bfd2ed345db61396 Mon Sep 17 00:00:00 2001 From: Tim Hostetler <6970899+thostetler@users.noreply.github.com> Date: Thu, 3 Dec 2020 19:28:53 +0000 Subject: [PATCH 7/7] add favicon --- public/favicon.ico | Bin 15086 -> 5430 bytes public/img/favicon-16x16.png | Bin 746 -> 0 bytes public/img/favicon.ico | Bin 5430 -> 0 bytes src/components/footer.tsx | 2 +- src/pages/classic-form.tsx | 2 +- src/pages/index.tsx | 30 ------------------------------ tailwind.config.js | 2 +- 7 files changed, 3 insertions(+), 33 deletions(-) delete mode 100755 public/img/favicon-16x16.png delete mode 100644 public/img/favicon.ico diff --git a/public/favicon.ico b/public/favicon.ico index 4965832f2c9b0605eaa189b7c7fb11124d24e48a..5318d9e0377867a8254787b63bad025ba553375e 100644 GIT binary patch literal 5430 zcmcIo2~ZSQ5FG=Gq7f3URHCLN9+*UpNTQW^p`yeKP$NW5MU$w2qLko$fHMDcPiAL#M<{iw{`{-EU;q9+-Tx26 z^kLp$tgRVR+b~|{3}eeMjE#-1e}RmLld%uU7-Y7*-{|62C{Q8x_0_?BEyN5fonl~ggD#9KRL7%Xz5Va!NZ3SA@{eFkQwL+ zvNMrHUJ=Wm^XqXAAN56>=KIWhKzXt5e%1l_)Sf*I(oJ(&`n;5jI{tI9di=OAj}N+Z z^7%XN$yk0(V?8w8JO!m;TUcFiJ+iaWdi>YO-U|8UL93vxAO$onjjSAeDdcjvefu`Z zP9HPi&lBk1`13w^df_N2B0WJK{4F$|J^-4hPoTB674ptT>hYgiIkhsxd6J&}+V5nr zxX&Km1!a^MC}X^#OIgc~Dbjv{bgwy_44;{{adiKv4H}O75*w;ndj6}ss}maHec|uD zi&=iUf9M0m_Yx>S*2?Hjpvt)f>Z(FeR~CXwmJG^RZ*Gsvwl84)7Y}PFr4sGIlZmX4?MpZ9eQoUtWGg3u{q@R_4_tGi`;>Aq z*}a)daQp1eu)#gE#n_>P>@TjJF7J)}p3oA1k&hW_I!~cpaNVy1o9dUecADIjPvCyP zN}E$mVV&qUrA!!OaP0@?e;g{?Omd=$94*d$WKXz+~hNm6?X{IwmNe> z*p_Tt25Ek-?0A~bB1rYpl31chf{`EWxZiU57%?v4eJMr}aqTM@er@YDCN5yg)sIqSim#Y$tibgaGjh8})* zcQ>?Vo(Fl*YN#e>(=2b@_mz2cvmySzZ$$Ai){(VnD3-BW5$OTijy63Vu+y#Sg3g*M zQ04y#<;M?#G}zY=-^jN|{U7Ta9uA!^!bhDNPVNFtlfpm;{(!Q+4oXT&^mM@UJ|9om zM*Ii67m3=Rv&j*6XucB7p8K?_CO$ORZfk3Uva&Kx2g!~VqWEZkiPvmV|Ksp^cL^Mm zhpb`kf;x5F&4O;Nmer%PvlA*RDp(ybW((KM@1y@6d%^eDloSFT<=N0tCWZFD(%Cbw zF`ZP|7dbm%tf;E00tv|jd^}+r&qymi86g^fn*WI5UO9j`$W#$Mr}aj zFXn(KBl(BFKFk5VeQ>`}#=riqT#Vq`pXMLLXY;SW{(X^;FArG@UGkb9tDtFCfFfcY zw?~-M`S&x-zru4+;DU*vd`w|mesmSNd;L!A+-gz}t*RN?axb&rhLFE%H#v(ukJsc( ztatuE8w}`cW|_U&v0TV!&=35I-Sg&45zulyku6P^&=>sR$&bsqH5>4ey(so|f&{lI zcksUkVhSJf-@x|%u7z@Aysu*H-p+;fBj2**&OJhW>`xkIZTC8KsMxtsPVVFe_e^6t zj2bd<49RO{uVT$8;}((i!P^5x*Dcfo@9qI#jt{OC{731HPRJYJG(HGr3FY^+kG6<# zot!{&y{f0!)%%yI!d>kWM)h*dVmiHPVLo`-#1ZcJFM|9d$tU|+|JdIJ{}ZXPO>${| zsIy(%(h0-e2N7B^S^PO@vH}R`1KkYcuVEMmHN%W-BFExthOv+`j2V^y@(Y0$<^>O> V!&>^BznaKGnJ61E5DPI8`#-y7Lbw0` literal 15086 zcmeHOOH5Q(7(R0cc?bh2AT>N@1PWL!LLfZKyG5c!MTHoP7_p!sBz0k$?pjS;^lmgJ zU6^i~bWuZYHL)9$wuvEKm~qo~(5=Lvx5&Hv;?X#m}i|`yaGY4gX+&b>tew;gcnRQA1kp zBbm04SRuuE{Hn+&1wk%&g;?wja_Is#1gKoFlI7f`Gt}X*-nsMO30b_J@)EFNhzd1QM zdH&qFb9PVqQOx@clvc#KAu}^GrN`q5oP(8>m4UOcp`k&xwzkTio*p?kI4BPtIwX%B zJN69cGsm=x90<;Wmh-bs>43F}ro$}Of@8)4KHndLiR$nW?*{Rl72JPUqRr3ta6e#A z%DTEbi9N}+xPtd1juj8;(CJt3r9NOgb>KTuK|z7!JB_KsFW3(pBN4oh&M&}Nb$Ee2 z$-arA6a)CdsPj`M#1DS>fqj#KF%0q?w50GN4YbmMZIoF{e1yTR=4ablqXHBB2!`wM z1M1ke9+<);|AI;f=2^F1;G6Wfpql?1d5D4rMr?#f(=hkoH)U`6Gb)#xDLjoKjp)1;Js@2Iy5yk zMXUqj+gyk1i0yLjWS|3sM2-1ECc;MAz<4t0P53%7se$$+5Ex`L5TQO_MMXXi04UDIU+3*7Ez&X|mj9cFYBXqM{M;mw_ zpw>azP*qjMyNSD4hh)XZt$gqf8f?eRSFX8VQ4Y+H3jAtvyTrXr`qHAD6`m;aYmH2zOhJC~_*AuT} zvUxC38|JYN94i(05R)dVKgUQF$}#cxV7xZ4FULqFCNX*Forhgp*yr6;DsIk=ub0Hv zpk2L{9Q&|uI^b<6@i(Y+iSxeO_n**4nRLc`P!3ld5jL=nZRw6;DEJ*1z6Pvg+eW|$lnnjO zjd|8>6l{i~UxI244CGn2kK@cJ|#ecwgSyt&HKA2)z zrOO{op^o*-KT)&+B3SuMAwVmwl(dw#bmqC36x+gCz1*C8&VA>-OOS%>qH2rS&}GXn zYibb;B_bHG>0gw*3m?X$Z-ads?kPtipTrLw)d@9iw|h->=Pnb%rRo9z7*pW-{;YrE z)vX&!EF9Vq;HgeH-ZeCmXF7Ir&(0KhrBC*cgJ)ZnSR}*)K<$~k4~whXI^u-l93CBw z0<1>_oH(e1SVZ9qC4xjw%n*~UY4r)+P>2~lrTRz%Tr!2oRS0c7=(5F|0igY8I<#p7Q&JRH?)z~4fe*{R7&MfipC8_h3kYDsh&b%gO{CIZP5Lny)^7E)+oT6a*}#t}7c3>4 zs6CJdevjAXLjENwu~1*31po{TyYcje1Cvet>>U8&`!iwgLapeL%htdLy;1E8f(vMy|KD!cTBtCU!Am140pFGa#a1wjLF-7X5S5I(hY@~ zc@=deC9F6YV_2OT>7O3G)2YbO|I3t!%-nK|(QLIDiY+a=tU^&u+as;7IL20g4)+Cp cb4ly`51PCO{baJY(*OVf07*qoM6N<$f)v0^>i_@% diff --git a/public/img/favicon.ico b/public/img/favicon.ico deleted file mode 100644 index 5318d9e0377867a8254787b63bad025ba553375e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5430 zcmcIo2~ZSQ5FG=Gq7f3URHCLN9+*UpNTQW^p`yeKP$NW5MU$w2qLko$fHMDcPiAL#M<{iw{`{-EU;q9+-Tx26 z^kLp$tgRVR+b~|{3}eeMjE#-1e}RmLld%uU7-Y7*-{|62C{Q8x_0_?BEyN5fonl~ggD#9KRL7%Xz5Va!NZ3SA@{eFkQwL+ zvNMrHUJ=Wm^XqXAAN56>=KIWhKzXt5e%1l_)Sf*I(oJ(&`n;5jI{tI9di=OAj}N+Z z^7%XN$yk0(V?8w8JO!m;TUcFiJ+iaWdi>YO-U|8UL93vxAO$onjjSAeDdcjvefu`Z zP9HPi&lBk1`13w^df_N2B0WJK{4F$|J^-4hPoTB674ptT>hYgiIkhsxd6J&}+V5nr zxX&Km1!a^MC}X^#OIgc~Dbjv{bgwy_44;{{adiKv4H}O75*w;ndj6}ss}maHec|uD zi&=iUf9M0m_Yx>S*2?Hjpvt)f>Z(FeR~CXwmJG^RZ*Gsvwl84)7Y}PFr4sGIlZmX4?MpZ9eQoUtWGg3u{q@R_4_tGi`;>Aq z*}a)daQp1eu)#gE#n_>P>@TjJF7J)}p3oA1k&hW_I!~cpaNVy1o9dUecADIjPvCyP zN}E$mVV&qUrA!!OaP0@?e;g{?Omd=$94*d$WKXz+~hNm6?X{IwmNe> z*p_Tt25Ek-?0A~bB1rYpl31chf{`EWxZiU57%?v4eJMr}aqTM@er@YDCN5yg)sIqSim#Y$tibgaGjh8})* zcQ>?Vo(Fl*YN#e>(=2b@_mz2cvmySzZ$$Ai){(VnD3-BW5$OTijy63Vu+y#Sg3g*M zQ04y#<;M?#G}zY=-^jN|{U7Ta9uA!^!bhDNPVNFtlfpm;{(!Q+4oXT&^mM@UJ|9om zM*Ii67m3=Rv&j*6XucB7p8K?_CO$ORZfk3Uva&Kx2g!~VqWEZkiPvmV|Ksp^cL^Mm zhpb`kf;x5F&4O;Nmer%PvlA*RDp(ybW((KM@1y@6d%^eDloSFT<=N0tCWZFD(%Cbw zF`ZP|7dbm%tf;E00tv|jd^}+r&qymi86g^fn*WI5UO9j`$W#$Mr}aj zFXn(KBl(BFKFk5VeQ>`}#=riqT#Vq`pXMLLXY;SW{(X^;FArG@UGkb9tDtFCfFfcY zw?~-M`S&x-zru4+;DU*vd`w|mesmSNd;L!A+-gz}t*RN?axb&rhLFE%H#v(ukJsc( ztatuE8w}`cW|_U&v0TV!&=35I-Sg&45zulyku6P^&=>sR$&bsqH5>4ey(so|f&{lI zcksUkVhSJf-@x|%u7z@Aysu*H-p+;fBj2**&OJhW>`xkIZTC8KsMxtsPVVFe_e^6t zj2bd<49RO{uVT$8;}((i!P^5x*Dcfo@9qI#jt{OC{731HPRJYJG(HGr3FY^+kG6<# zot!{&y{f0!)%%yI!d>kWM)h*dVmiHPVLo`-#1ZcJFM|9d$tU|+|JdIJ{}ZXPO>${| zsIy(%(h0-e2N7B^S^PO@vH}R`1KkYcuVEMmHN%W-BFExthOv+`j2V^y@(Y0$<^>O> V!&>^BznaKGnJ61E5DPI8`#-y7Lbw0` diff --git a/src/components/footer.tsx b/src/components/footer.tsx index d0f4550ba..597baa4c1 100644 --- a/src/components/footer.tsx +++ b/src/components/footer.tsx @@ -86,7 +86,7 @@ const Footer: React.FC = () => {
-

Resources

+

Resources

About ADS diff --git a/src/pages/classic-form.tsx b/src/pages/classic-form.tsx index 8c7243e1a..713081257 100644 --- a/src/pages/classic-form.tsx +++ b/src/pages/classic-form.tsx @@ -98,7 +98,7 @@ const renderCollectionCheckboxes = (selected: string[]) => { Limit query to: <> {['astronomy', 'physics', 'general'].map((label) => ( -