* fix: use certification hours consistently
Since the value appearing on the /learn map was hardcoded, it could have
gone out of sync with the certifications, which were relying on
certification-settings.
Also, for simplicity (and because it's hard to estimate accurately), all
the certifications are set to 300 hours. Fullstack being the exception,
as it is a set of certifications.
* feat: remove the hours from the map
* refactor: stop spreading challenge over the node
Instead of creating a Gatsby node with id of challenge.id, we create a
single node field that has all the challenge data.
While this makes the GraphQL queries more verbose, it means we're free
to create multiple nodes with the same challenge.id.
* test: update time-line test for new GQL schema
* test: update mocks with new GQL schema
* chore(tools): test curriculum order
* chore: update orders
* fix(tests): temporarily ignore cert super
The Relational Databases cert being 'upcomingChanges' is breaking
the tests.
* fix: graphql query here
* fix: use only one meta
* chore: remove unnecessary superOrders
* chore: zero-based indexing
* fix: update mock
* refactor: remove unused fixture
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: use constants for superblocks
* add prettier ts dec to challenge-helper-scripts
* config/ to ts. broken
* typescripterise tools/ and config/
* create global tsconfig, remove alternate configs
* delete temp ts->js, add to gitignore
* fix gitignore
* re-import SuperBlocks in super-block-intro.tsx
* remove renamed files added again
* fix config
* remove accidental files
* remove snap
* delete built files
* adjust eslintrc for enums
* add node types to root
* ignore build files in lint and prettier
* fix tools/ in tsconfig
* ignore annoying ts warnings
* prettierise Map/index.tsx
* fix enum to match lint rule
* rejig Map to render RWD superblock
* 'pretty minor' - implicitly tsc within root
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix client/package.json for Gitpod
* broken: migrate @types to root
* fix: use typeRoots to prevent duplication
* fix show.tsx, try typeroots in root
* silly fix for duplicate node_modules types
* remove typeRoots from root
* fix: tsconfig or not tsconfig, that is the...
* fix: ...question: Whether 'tis nobler in the mind
to suffer the slings and arrows of outrageous configs...
* fix: Or to take Arms against a Sea of lint errors
And by opposing end them
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: remove circular dependency
redux depended on templates/Challenges/redux and vice versa. This
meant that import order mattered and confusing bugs could arise.
(cherry picked from commit 7d67a4e70922bbb3051f2f9982dcc69e240d43dc)
* feat: require imports to be in alphabetical order
Import order generally does not matter, but there are edge cases
(circular imports and css imports, for example) where changing order
changes behaviour
(cherry picked from commit b8d1393a91ec6e068caf8e8498a5c95df68c2b2c)
* chore: order imports
* fix: lift up challenge description + title comps
This brings the classic Show closer to the others as they
now all create the description and title components
* fix: remove donation-saga/index circular import
(cherry picked from commit 51a44ca668a700786d2744feffeae4fdba5fd207)
* refactor: extract action-types from settings
(cherry picked from commit 25e26124d691c84a0d0827d41dafb761c686fadd)
* fix: lint errors
* feat: prevent useless renames
* migrate files and update tests
fix: use more memory for gatsby develop (#42433)
feat(client): remove whitespace from calculated values (#42400)
* feat(client?): remove whitespace for calculated values
* feat(client): remove whitespace from styledeclaration
* do not automatically strip
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: include all properties of CSSStyleDeclaration
* fix test for getPropVal
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
fix: get showUpcomingChange from env.json (#42440)
fix(client): display legacy certs like current ones (#42038)
* fix: display legacy certs like the current ones
* fix: link projects in legacy certs to project pages
* fix: update tests to changed legacy cert display
* fix: update tests for removed legacy certs forms
* fix: display legacy certs like the current ones
* fix: submit projects for cert on projects pages
* fix: remove legacy certs form submitting handling
* fix: move claiming cert setup before both tests
* fix: remove legacy cert update props and actions
* fix: remove legacy cert updates from api
* fix: correct merge conflict
fix(curriculum): rework Project Euler 98 (#42423)
* fix: rework challenge to use argument in function
* fix: add solution
* fix: use MathJax to improve math notation
fix(curriculum): rework Project Euler 56 (#42364)
* fix: rework challenge to use argument in function
* fix: add solution
* fix: use MathJax to improve look of math notation
fix(curriculum): correct small english typo (#42447)
chore: group together monaco-editor and plugin (#42443)
This should get renovate to create PRs where both are modified.
fix(deps): update dependency algoliasearch to v4.9.2 (#42432)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
migrate files and update tests
Algorithm moved to TSX
first ten files renamed to tsx
first 10 migration complete
first 20 files renamed
migrate some files. rename all
test
index.tsx forced to ignore ts issues
rename and migrate all files
update tests
* remove missed propType declarations
* kebab-caseify
* fi xlinting
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Parth Parth <thecodingaviator@users.noreply.github.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* revert: disable portuguese
First certification is not 100% yet. Shipped too soon. :(
* feat: enable portuguese curriculum
Curriculum can build in portuguese, leaving client disabled to
prevent language from appearing in nav bar.
* feat: move audited cert list
Moves the audited cert list to the config, instead of the utils.
Modifies the translation flow for the certification buttons on the
learn/landing map to pass the superBlock title to the string as a
placeholder. This will allow translators to restructure the order
of the sentence (i.e. certification and hours) based on language-
specific grammar structures.
* feat/ add smooth scroll from landing to map
* feat: scroll to currentChallengeId if it exist
* fix: update tests
* refactor: migrate from componentWillMount
* fix: update Map and Block's tests and mocks
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>