Commit Graph

189 Commits

Author SHA1 Message Date
Gabriel De Almeida
b6f1efbbdc web/satellite: fixing linting errors in the FileShareModal
Transitioned all functions into typescript code and changed the vue component to be a class component.

Change-Id: I5ffcca5abb1595d53e880d4ccdfa26e23b1a214d
2021-12-13 17:40:13 +02:00
Gabriel De Almeida
2be56e335c web/satellite: fixing linting errors in the file browser
Transitioning all browser components and the browser files vuex store into typescript code and fixing all linting errors.

Change-Id: I91d166153fcba82a06cdccb04ded963141855239
2021-12-13 15:33:17 +00:00
Vitalii Shpital
82fb0fce04 web/satellite: added charts date range picker for new project dashboard
Created common VDateRangePicker component to be reused.
Reworked it's styling.
Added date range selection logic for new project dashboard.

Change-Id: Ie9bdd173527514924e437ca5bcc9cfbf7793e4dd
2021-12-01 15:55:36 +00:00
Vitalii Shpital
be10ce84f8 web/satellite: implemented charts UI for new project dashboard
Added bandwidth/storage charts (with test data) to new project dashboard.
Added functional buttons to new project dashboard.
Fixed this issue https://github.com/storj/storj/issues/4262.

Change-Id: Ie87370b8f7b6015bc84022a6086ef1db40e16535
2021-12-01 15:55:20 +00:00
Vitalii Shpital
3de7f8d5af satellite/console, web/satellite: feature flag for new project dashboard
Added a feature flag to switch between old and new project dashboard

Change-Id: Ibb1b04ccbddb43e3f41116e3513f917deba95699
2021-11-17 16:02:47 +02:00
Vitalii Shpital
b41e140b26 web/satellite: fixed dropdowns weird behavior
Reworked click-outside behavior.
Fixed bucket names selection and date picker dropdowns.

Change-Id: I1d798139e6bf713650b7071e5a0547d5d576c7a6
2021-11-11 15:45:18 +02:00
Vitalii Shpital
dda6720dd6 web/satellite: added 2 new steps for onb CLI flow
Added 2 new steps to the beginning of onb CLI flow if it is visited from new navigation side bar.
Steps are: Access grant name and Access grant permissions.
Fixed wording for success screen.

Change-Id: If1a7605e0920d1262d13142843df95b438ce7717
2021-11-10 14:36:11 +00:00
Egon Elbre
fe3856ff91 web/satellite: remove ramda dependency
The package was barely used and the amount of code needed to remove it
is minor.

Also remove top-level package-lock, because it's not being used.

Change-Id: Ifb4ec4fe7f4fa36ce6e707a33d47f04c583cbe6c
2021-11-09 13:19:58 +00:00
Vitalii Shpital
696b8f0d8e web/satellite: moved object's passphrase step to be after buckets
Moved passphrase step to be after buckets screen.
Seems like it accidently enabled bucket force delete feature because buckets AG is being generated with empty passphrase.

Change-Id: I7ca0daf4e49045bf4d49b996eb5e2406132caeea
2021-11-08 11:45:35 +00:00
Vitalii Shpital
3c683998f5 satellite/console, web/satellite: feature flag for new objects flow
Added a feature flag to switch between old and new objects flow

Change-Id: Id1802f9fb1230928445f16e4d0a62aecdc91c038
2021-11-08 11:45:22 +00:00
Monty Anderson
804304a75d web/satellite: integrate browser
* create `isInitalized` property to check S3 client exists
* hide FileBrowser until `isInitialized === true`
* change broken reference from `buttonUpload` to `buttonFileUpload`
* add feature flag `new-browser` to switch between external and internal browser
* fix handling of `webkitRelativePath` for folder upload feature
* only load external styles when using external browser via contingent `file-browser` class

Change-Id: Ibdbfa45d8dbe3c6d828473c16e4cdb8694562c1a
2021-11-05 16:30:07 +02:00
Egon Elbre
187e508364 web/satellite/browser: auto-format code
Change-Id: I74504758be935ec5580713bcf8d566c444cfd51e
2021-11-01 17:07:09 +02:00
Monty Anderson
ea8782fcfa web/satellite: move browser from storj/browser
Change-Id: I1ee976ca117307dd1464dd78295b17c790fe8483
2021-11-01 16:48:06 +02:00
Vitalii Shpital
a281adddd5 web/satellite: auto-create first demo bucket for the user
Create first bucket ('demo-bucket') for the user if they have no buckets.
Fixed bucket name validation to include '.' and '-'.

Change-Id: I21ddad63f214b6482ebaad95474ff0b6cf16254f
2021-10-25 15:31:54 +03:00
NickolaiYurchenko
0ed3ef0fe4 web/satellite: registation success page moved
page moved to separate route to be able to track conversion metrics

Change-Id: I1506ac416056d652b9292d62c29f79bd75567c6a
2021-10-25 08:51:41 +00:00
Vitalii Shpital
0aab339d0d web/satellite: links and dropdowns for new navigation sidebar
Added nav links, resources and quick start dropdowns.

Change-Id: I12f2afddd899621749bb00d0fed58f84a45701a3
2021-10-20 13:56:27 +00:00
Vitalii Shpital
0009447773 satellite/console, web/satellite: feature flag for new navigation structure
Change-Id: I6f1fd43ea8154714187c7547ae93de0efe3482e6
2021-10-20 13:51:25 +00:00
Egon Elbre
52c950e429 testsuite/ui/uitest: add Edge testing
Change-Id: I1e592ac755b582d4fa73e95fd999a35a27f8a116
2021-10-15 13:27:13 +00:00
Vitalii Shpital
1d8342ab17 web/satellite: fixed access grant web worker caching issue
Fixed caching issue by using regular Webassembly.instantiate instead of instantizteStreaming which fails to work in chrome sometimes.
Now web worker instantiation is part of initial app loading process. This fixes go-rod test flakiness.

Change-Id: I5300e70d4e0866f2321df86ce729f32b588bc5c4
2021-10-07 14:31:04 +00:00
Vitalii Shpital
8b91c55ec4 web/satellite, satellite/console: return old onboarding flow with feature flag
Added new feature flag for switching between different flows.
Got back old onboarding flow.

Change-Id: Idbf23ba8ff36900a47e3b4ebeb34b78351202e29
2021-09-21 11:37:30 +00:00
Vitalii Shpital
853a7536f6 web/satellite: reworked onb CLI flow to correspond v1.1
Removed useless screens and fixed routing.
Removed useless logic from common component.

Change-Id: I73a1af5803f866526d3ae327e832654501e4f8bd
2021-09-17 15:11:41 +00:00
Vitalii Shpital
b472925c1e web/satellite: hot fix for Onb CLI flow's Create Bucket component's back button
There is a bug with back button of Create Bucket step of new onb CLI flow when proceeding further into flow and trying to come back.

Change-Id: I663a05021824164617ba933815973d8be856539f
2021-09-10 12:36:40 +00:00
Vitalii Shpital
c06424cbf3 web/satellite: fixed inputs to have correct box-sizing
Fixed inputs to have correct box-sizing and fixed stylings for it.
Removed 2 unused components.
Fixed VInfo component's small styling issue.

Change-Id: I268b4b754be477d4e0d36b3946d62d65fd7d6cc8
2021-09-10 11:40:09 +00:00
Vitalii Shpital
390c6b6fc6 web/satellite: cli flow's Encrypt Your Data component
Refactored Generate Passphrase screen to be common for onb and object flows.
Replaced initial Generate Passphrase screen to access grants wizard.
Moved download file functionality to utils.
Implemented Onboarding Encrypt your Data logic.

Change-Id: I46e780a5997c215d53ccd0254964b1c2b39c7c02
2021-09-08 20:09:23 +03:00
Egon Elbre
6daad68735 web/satellite: don't require explicit RootGetter type
There's no need to define RootGetter type on StoreModule,
because Context already should have it defined.
Although the invocation to get that type is rather arcane.

Change-Id: I9525c0e4853f4c5211bdaf1645f0a27c26af8f53
2021-08-25 13:16:24 +03:00
Egon Elbre
ad0b19fb02 web/satellite: fix lint issues
Fix svg.d.ts definition.

Disable no-explicit-any in src/api, because wrangling all the GraphQL
result types properly is not that nice. We can either fix this later
manually, generate GraphQL types or remove the GraphQL endpoints.

Add annotations to src/store/. Currently it still uses any in places and
also defines more types than absolutely necessary. This is an
unfortunate side-effect of the vuex api. There does seem to be an
alternative package that handles them, but to minimize the number of
changes, we'll currently use these types. Due to those decisions it's
also not easily possible to have types instead of any in multiple
places.

StripeCardInput currently uses any, however, if we find the proper
declarations, we can replace them later.

Change-Id: I2ec8bf7fdd8023129d1f8739ce2b6d97de2a58d0
2021-08-25 06:01:19 +00:00
Jeremy Wharton
96e39018c7 satellite/console,web/satellite: Allow disabling MFA with recovery code
This change allows users to disable multi-factor authentication
with a recovery code. Previously, users could only disable MFA
with a passcode.

Change-Id: Iec20bf7d8f6781182b81d1f17d9641491dbc8460
2021-08-18 14:34:17 +00:00
Jeremy Wharton
24b39b7559 web/satellite: Warn user if number of MFA recovery codes is low
Adds a banner at the top of the dashboard warning the user if he
has 3 or less MFA recovery codes.

Change-Id: I3271f1fe33501eaeeeca343bf60ca899e80f0fa1
2021-08-18 13:18:34 +00:00
dlamarmorgan
cc083dbdc9 web/satellite,satellite/console: Allow paid tier users to edit limits
Added editable fields to the project details page for Storage Limit and Bandwidth limit. Leveraged existing types when possible.

Added fixed checking into the limits to prevent reducing limits beyond current usage, as well as limiting usage to less than the default paid tier maximum.

Change-Id: I07ce53470919a8a9d4dce56ade6904ede8daf34c
2021-08-18 00:07:10 +00:00
Jeremy Wharton
ea772a8480 web/satellite: Allow users to see coupon in billing area
This change allows users to see the Stripe coupon applied to their
account in the billing area.

Change-Id: Ie1e810bfb2847f9b0c0bb827d5ca03c16cf5e818
2021-08-14 16:09:54 -05:00
Jeremy Wharton
51ebc564d9 web/satellite,satellite/console: Overhaul password reset
Updates the password reset page to use the new theme.
Adds new endpoint '/api/v0/auth/reset-password'
for password reset.

Additionally, updates the link-clicking mail simulator to only
click links with a specified attribute. Otherwise, the password reset
cancellation link would be clicked before the password reset link
could be accessed, rendering testing impossible.

Change-Id: I8fde74ef7ad980880a7bf6558e3b9ed31509a393
2021-08-12 17:40:53 +00:00
Egon Elbre
6b153192a3 web/satellite: fix lint issues
After migrating to eslint some errors were disabled to make it easier to
migrate.

This enables all the lint rules and treats all warnings as a build
failure. Similarly, CI won't automatically try to fix mistakes.

Change-Id: I80f808af026fc51bed90421b3b24737994a52094
2021-08-10 09:22:19 +00:00
NickolaiYurchenko
cc590343c2 web/satellite: server side encryption acknowledge checkbox added
Change-Id: If57ab6e8fddc34c142d19f754caf1338dfdb0bf6
2021-08-04 16:16:26 +00:00
Egon Elbre
f5ac00f909 web/satellite: switch to eslint, sass, bump deps
tslint has been deprecated so it's nice to switch to eslint.
Currently this uses a minimal eslint, to get things up and running.

node-sass requires C which does not work nicely on all platforms.

Change-Id: I3ca9adf2971475c009e541652b7637c18ad960f4
2021-08-03 15:56:33 +00:00
Vitalii Shpital
c6c2a1daf9 web/satellite: added MFA login step
Added Enter MFA passcode step to login after first attempt.
Connected client-side and server-side.

Change-Id: I4482afde50172bbf2c598aa01bbd220763b4f6d1
2021-07-30 08:50:19 +00:00
Moby von Briesen
149f6f2626 satellite/payments: Implement coupon codes
Full path: satellite/{payments,console},web/satellite

* Adds the ability to apply coupon codes from the billing page in the
satellite UI.
* Flag for coupon code UI is split into two flags - one for the billing
page and one for the signup page. This commit implements the first, but
not the second.
* Update the Stripe dependency to v72, which is necessary to
use Stripe's promo code functionality.

Change-Id: I19d9815c48205932bef68d87d5cb0b000498fa70
2021-07-26 17:15:55 +00:00
Vitalii Shpital
2489b78d22 web/satellite: move user MFA secret generation to server-side
It was decided to move user MFA secret generation to server-side and be fetched by http request

Change-Id: I5e31d35fb78d1d9f3280518fe3eb543bb8ed4377
2021-07-19 13:48:09 +00:00
Vitalii Shpital
22e88c8f0a web/satellite: disable MFA functionality
Added disable user MFA functionality to account settings.
Disable MFA popup where user will have to enter MFA passcode first.
2 buttons (enable, disable)) are visible for now until backend is ready.

Change-Id: Iff8b497a370fc1c6c08c5ccaf01ce1f2dc317126
2021-07-14 17:38:57 +03:00
Vitalii Shpital
e463eb17ac web/satellite: added enabling user MFA functionality to account settings
Added feature flagged functionality for enabling user MFA.
Added new Popup where user will scan qr code and confirm enabling
by entering passcode from MFA app. Also recovery codes will be visible afterwords

Change-Id: Ie8d1bc83c941a08fd8701442601a2d20126c8892
2021-07-14 15:13:59 +03:00
Moby von Briesen
4c912c7479 web/satellite: Update paid tier banner copy
Also, show paid tier banner if a user has not added a credit card,
rather than if they are flagged as "paid_tier" in the database. This
addresses issues where we might display the banner for users who have
already added a credit card before the paid tier commit: e36001b7cf

Change-Id: I0352d48ae9f97ceab81ae065ccb97be3e5516857
2021-07-13 13:34:47 +00:00
Vitalii Shpital
8855c0dff7 web/satellite: added MFA feature flag, updated client-side api and Vuex store module
Added feature flag for MFA
Added new client-side api call to enable MFA returning secret
Updated users Vuex module to include new API call

Change-Id: Ia9e10f68c4a7da39b4f7c1073e657c2de98fb0db
2021-07-12 10:12:59 +00:00
Vitalii Shpital
bbd3efaeed web/satellite: Paid Tier add payment modal implemented
Added new PaidTier-related modal where user can add CC or STORJ Tokens.
Becomes visible on CTA click on Paid Tier banner at the top.

Change-Id: I51015e95d396e21d5c1a1728b8f753798626c09e
2021-07-06 16:16:18 +00:00
Vitalii Shpital
bab43af6ce web/satellite: added Upgrade to Paid Tier banner
Added new info banner to show user their used and total storage values with a button to upgrade to Paid Tier with auto limit increase

Change-Id: I827818dcb5179358df246218a47feb61bc1a1bac
2021-07-01 15:05:03 +00:00
Moby von Briesen
4e95d27033 web,satellite: Remove paywall-related functionality
Because of our free/paid tier plan, we do not need a paywall anymore. We
have not used it in a while, but still have leftover code laying around.

Change-Id: Iaea8c39faf042a2f7a6b837727bb135c8bdf2907
2021-06-29 02:47:48 +02:00
Vitalii Shpital
d30fd77652 satellite/console: new endpoint to get total usage and limits for all the projects user owns
Added new endpoint and service method to return total usage and limits for all the projects that user owns.
It is needed for new paid tier UI

Change-Id: Ic5b67ca7b275ec4930d976a007168235c0500b70
2021-06-25 21:22:59 +00:00
Vitalii Shpital
d9741491a1 web/satellite: added cancel upload warning popup
Added warning popup for when file upload is in progress.
It says that leaving objects page will cancel upload

Change-Id: If49c1ddc898f2e6dbdc86e5a00d604a55b628720
2021-06-22 17:12:04 +03:00
Vitalii Shpital
ed28fa3ff9 web/satellite: added loaders across all the UI. Removed most of the requests from initial load
Added loader spinners across all of the UI to be visible while data is being fetched.
Removed most of the requests from the initial load of the satellite dashboard.
Removed useless requests after creating of new projects.
This should make user's experience much more better since load time of the app is much lower than it was before.

Change-Id: Ib0941ad4eee6b3caf781d132062b55cb17703fe7
2021-06-10 15:16:52 +00:00
Vitalii Shpital
c26d52a538 web/satellite: remove duplicated default project creation code
Moved creation of default project to vuex store to dispatch it in different places.
It removes duplicated code fragments

Change-Id: Ic5e52776727e681797bbd76342b78480812552d1
2021-06-02 08:43:44 +00:00
Vitalii Shpital
2e5e4cb64f web/satellite: access grant wizard refactored
WHAT:
timeouts replaced with promises to make things work faster
removed cli step templates splitting
removed default date caveats for AG
fixed small back button bug

WHY:
improvement

Change-Id: Idc2608c467b7ab11ee4f0337d0b9fa3d282959a2
2021-04-28 17:41:10 +00:00
Moby von Briesen
b317f28fdb web/satellite: Update registration files
Allows us to remove the following files from satellite branding
repo, with an up-to-date single source of truth now in storj/storj:
* web/satellite/src/common/registrationSuccess.html
* web/satellite/src/common/registrationSuccess.scss
* web/satellite/src/views/register/registerArea.html
* web/satellite/src/views/register/registerArea.scss

The registrationSuccess files have been removed from all satellites in
the branding repository. The registerArea files have been removed only
from production satellites in the branding repository.

Importantly, this change enables the "resend email" functionality on
production satellites - previously, this functionality was available in
storj/storj, but not our branding repository.

Removes the config for VerificationPageURL, which redirected users away
from the satellite app to storj.io after creating an account. In order
for the email resend button to work, we cannot leave the app.

Adds a new config value for partner satellites, which replaces the
partner satellite names config. The new config includes name and
address. It is validated on setup/run to ensure it can be parsed.

Change-Id: I67db0702d9b9641f1a37b599f2929d56f3c33aca
2021-04-28 16:16:16 +00:00