It's not working with our current seed nodes and is confusing to users.
It also prevents us from upgrading transitive dependencies.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Playwright is more flexible and has better developer experience than Cypress.
We add end to end tests covering:
- project source browsing
- tree view
- commit list view
- commit view
- routing
- hash based
- history API based
- clipboard copy paste functionality
- seed view
- project search
- landing page view
- settings
Co-authored-by: Sebastian Martinez <me@sebastinez.dev>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Move constants that are tightly coupled to the implementation of
features and unlikely to change or be user configurable out of `config.json`.
Decouple configuration from wallet state.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
We only use it in one place anyway. And components should be
self-contained, so they're easier to reason about.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Rinkeby has been sunsetted in favour of Goerli after the Ethereum merge.
Deployed `phase0` from radicle-contracts, some vesting contracts and the
faucet from `radicle-faucet` to the Goerli testnet and adjusted the
code.
The `reverseRegistrar` was obtained from:
https://app.ens.domains/name/addr.reverse/details
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Note: We get the following warning in the dev console after upgrading
vite from 3.0.3 -> 3.1.7:
Module "buffer" has been externalized for browser compatibility.
Cannot access "buffer.Buffer" in client code.
It comes from the transitive dependency `bn.js`, only versions 4.11.x are
affected. The warning is harmless and can be ignored. It should go away
once the direct dependencies upgrade to a newer version.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
`Error` is a built-in type in typescript, we don't want to have an
accidental clash.
Bumped into this when doing:
try {
// ...
} catch (error: unknown) {
if(error instanceof Error) {
// ...
}
}
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
- add a link to the faucet page from `Rinkeby` badge in header
- refactor the `<TextInput>` component to include
- a loading indicator
- a keyboard shortcut to submit the input by pressing the `enter` key
- add a keyboard shortcut hint <kbd>⏎</kbd> that shows up whenever the
input is ready to be submitted
- a validation message
- align all pages with a single input form to have a similar look and feel
- improve validation messages and error handling in all forms
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
- type events that are handed between components
- simplify the `resolve` function interface
- before we had return values and exceptions, now just a single union
type as return value
- move navigation to the Search component to reduce its
responsibilities
- flatten and simplify multi-level branching
- shuffle around code
- move the `resolve` function to the `Search` component module,
because it's only used there
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
This gets rid of the testing-library-* and cypress-vite-devserver
dependencies and updates the specs according to the latest Cypress
documentation.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Refactor and inline the MobileNavbar component into Header. This fixes a
bug where it wasn't possible to close the context menu once it was open.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
- remove space between `path` and `filename` in Blob.svelte
- remove top margin from the first element in markdown docs
- fix Seed ID alignment on seed page
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
- Move all global typography styles to its own file. This makes it
easier to find all the typography related definitions for newcomers.
- Prefix all typography related global CSS classes with a unique prefix
`.txt-`. This allows us to grep the codebase and see exactly where
they are applied. Another benefit of this convention is that it helps
to avoid accidentally mixing global and local styles. Having global
CSS classes that sometimes overlap with component CSS classes makes it
very hard to reason about the resulting visuals and making changes
unpredictable.
- Introduce CSS variables for standardised typography sizes and apply
them to the whole codebase consistently. This way we can adjust the
size in one place and it will be applied everywhere.
- Avoid using predefined HTML tags which might have differing styling
from browser to browser, e.g. `<h1>`, `<strong>`. We should stick to
applying styling either by adding a specific global CSS class or using
the predefined CSS variables, this way we can be sure that the styles
won't be overridden by browser defaults.
- Have a minimal set of modifiers `.txt-monospace` and `.txt-bold` and
apply them consistently. Since `.txt-monospace` is defined via a CSS
variable, we'll be able to switch out fonts via a user setting in the
future.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
This prevents from loading indicators flickering for a split second
during a page draw. For requests that take longer than 200ms we show the
loading animation.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
- debounce hover events to prevent flickering when mousing over multiple badges
- keep the card visible while hovering over it
- show verified badge on the Commit page
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
By encapsulating the global `.badge` class into a component we make reasoning
about how badges look a bit easier, because now there's a single place
where it is defined. Otherwise it is not guaranteed that the class is
going to be applied to the correct html tag. This also makes combining
global CSS classes that don't make sense from a design perspective
impossible.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>