Commit Graph

377 Commits

Author SHA1 Message Date
Wilfred Asomani
6e3da022e0 web/satellite: add pagination to billing history
This change adds pagination to the billing history table. It uses the
new invoice-history endpoint since we only list invoices in this table.

Issue: https://github.com/storj/storj/issues/5479

Change-Id: I192d58503434203808a23a7c18e8d1feb6afc73f
2023-08-30 03:19:31 +00:00
Wilfred Asomani
d10ce19f50 web/satellite: remove Graphql dependency
This change removes unused GraphQL code and dependencies.

Issue: https://github.com/storj/storj/issues/6142

Change-Id: Ib2346c7a034f26b46af1bc6113e007b6adcbdd51
2023-08-21 22:17:41 +00:00
Jeremy Wharton
9e00d495c4 web/satellite: use get buckets http endpoint instead of graphql
This change causes the satellite frontend to use the HTTP endpoint for
retrieving bucket usage totals rather than its GraphQL counterpart.

Resolves #6141

Change-Id: I9a42080c8344aa617a910a8782dc61101a6734c8
2023-08-08 21:59:25 +00:00
Vitalii
ece0cc5785 web/satellite: fix bottom spacing for all pages
Fixed bottom spacing for all pages. Basically removed bottom padding override in dashboard wrapper.
Removed a couple of unused components and icons.
Made pagination size changer dropdown to appear on top of selector to not extend page height.

This change fixes pagination issue on Team page:
https://github.com/storj/storj/issues/6012

Change-Id: I707dd1bf9d61b05742b7f97a757a2a8f5f9f93fd
2023-07-06 19:57:43 +00:00
Jeremy Wharton
99f4a34a1d web/satellite: add button for resending expired project invitations
A button has been added to the Team page for resending expired project
member invitations. It appears when one or more of such invitations
have been selected.

Additionally, styling for certain search fields and the Team page's
header has been updated to align more closely with our designs.

Resolves #5752

Change-Id: I623fed5f50e60beca2f82136f8771dde5aa684f4
2023-06-23 23:46:15 -05:00
Jeremy Wharton
8ee7d104a0 web/satellite: show project invitations in the Team page
The Team page now displays project member invitations alongside project
members. These invitations can be removed in the same manner that
members can.

References #5855

Change-Id: Iade690757d4430deee3378066d7dc19766f53936
2023-06-13 19:00:33 +00:00
Wilfred Asomani
62c29ee9de web/satellite: use new invite functionality
This change uses the new project invite endpoint in place of the former
that adds invited users directly to a project's members. LoginArea
is updated to make the region/email from an invite email link uneditable.
VInput.vue's composition api code has also been updated to match other
components.

Issue: https://github.com/storj/storj/issues/5741

Change-Id: Ia3f82f5675fba442bb079dc8659b5396a25b9f03
2023-06-13 16:00:39 +00:00
Vitalii
782811c634 web/satellite: check if AG name is free to use at the beginning of creation flow
By this change we check if provided access grant name is free to use at the very beginning of the creation flow.

Issue:
https://github.com/storj/storj/issues/5693

Change-Id: I06583bf458cea977cb0a920d55df50f2d19e1599
2023-06-13 14:24:16 +00:00
Vitalii
e83e98e46a web/satellite: vuetify POC
Built side Vuetify subproject inside web/satellite with limited functinality.
For now it has navigation side bar, simple project dashboard and team page (where you can list/add team members).

Issue:
https://github.com/storj/storj/issues/5854

Change-Id: I9ff3e80b8ace1dc31de6a788174c5ffc19f050f8
2023-06-10 00:59:40 +00:00
Jeremy Wharton
cafa6db971 web/satellite: show project invitations in all projects dashboard
This change allows users to view and interact with their project member
invitations from within the All Projects Dashboard.

References #5855

Change-Id: If5b4af46924530c91f8a5c16bfb5134de313dc90
2023-06-06 08:34:01 -05:00
Vitalii
e6959004c9 web/satellite: migrate webpack to vite
Migrated webpack to vite.
Replaced jest with vitest (because I couldn't resolve 'import.meta' issue)
Replaced legacy vue-svg-loader with vite-svg-loader
Replaced bip39 dep with bip39-english (it includes only english wordlist)
Replaced aws-sdk v2 with aws-sdk V3 (because v2 was throwing some weird error in console. Ref: https://stackoverflow.com/questions/75107933/aws-sdk-contributes-to-build-error-uncaught-typeerror-e-is-not-a-constructor)
Renamed VUE_APP_ENDPOINT_URL env variable to VITE_ENDPOINT_URL
Removed a ton of dependencies (like babel and jest-related stuff).

Tested in Chrome, Safari, Brave, Firefox and Opera browsers.

Additionally fixed logout errors from buckets and object browser routes.

TODO: try to remove util and stream-browserify dependencies and see if it works

Change-Id: I4562649a59eb0ba80c1a672d55c59fceb8c80b23
2023-05-30 09:25:30 +00:00
Vitalii
ace0ef89a2 web/satellite: migrated Vue 2 to Vue 3
Finally migrated web/satellite UI to use Vue 3.

Issue:
https://github.com/storj/storj/issues/5862

Change-Id: I609e2332142b9092d6efeb2d4b931e34cce846cc
2023-05-17 17:31:03 +00:00
Jeremy Wharton
50afaa411e web/satellite: update naming of Team page
References to the Team page have been modified to refer to its new
name. Previously, it was called Project Members or Users.

Resolves #5761

Change-Id: I71ababe48847d7573f6abbbdb6b24c621b0abd4f
2023-04-20 14:57:08 +00:00
Vitalii
19e9ca921a web/satellite: migrate last 2 components to use composition api and clean up dependencies
Migrated last 2 vue components.
Removed class component and vuex dependencies.

Change-Id: I54a82cfae35a1c7eea6efbc07f89bf416a689e79
2023-04-20 13:53:58 +03:00
Vitalii
4ae05afb24 web/satellite: use notifications pinia module instead of old vuex module
Change-Id: I03f14995d5315068582d357375365f0af8d63b8b
2023-04-18 17:51:24 +00:00
Vitalii
27d9d9f6d4 web/satellite: use pinia projects module instead of old vuex module
Start using new pinia module instead of old vuex module

Change-Id: I6bb5d4a5cf0eeb4d0a86afce760f5c258c20c1e5
2023-04-18 15:30:49 +00:00
Vitalii
1373bdb169 web/satellite: use new buckets pinia module instead of old vuex modules
Start using new buckets pinia module instead of old objects and buckets vuex modules

Change-Id: I1afa9b1f0e057b870796498d0e061c89a4a669ee
2023-04-18 13:30:55 +00:00
Jeremy Wharton
6e866856c4 web/satellite: remove unused references to meta config values
All values derived from meta tag config values have been removed.
They were unused because references to them were modified to instead
refer to the frontend config fetched through the satellite API.

References #5494

Change-Id: Iab6c5e18eac85e2f757e9e731e23239fa267ee0a
2023-04-14 14:09:23 -05:00
Jeremy Wharton
e2abbc3800 web/satellite: use frontend config in store modules
References to the meta tag config values in Vuex store modules and
Pinia stores have been modified to instead refer to the frontend config
fetched through the satellite API.

References #5494

Change-Id: I2d16d8fa8f3159c45f00f506825b0c2119e475ff
2023-04-14 14:09:04 -05:00
Vitalii
7dc2a5e20b web/satellite: use access grants pinia module instead of old vuex module
Start using new pinia module instead of old vuex module

Change-Id: I72e98fcf6910b1a601d005ecc24cec37a8016478
2023-04-13 23:59:48 +00:00
Vitalii
fc3d31e732 web/satellite: use app pinia module instead of vuex module
Use new pinia module instead of old vuex module.
Removed 'do you want to leave object browser with ongoing uploads?' feature for now because it doesn't make sense with project level passphrase

Change-Id: I2249ee9a497d3fa7c59b583849e70366491c3eeb
2023-04-12 17:08:50 +00:00
Vitalii
64c798e912 web/satellite: use billing pinia module instead of vuex module
Use new billing pinia module instead of old payments vuex module

Change-Id: I03ee443345259ca96414bfb0771ace751ad36e58
2023-04-12 11:07:39 +00:00
Vitalii
e25da61b11 web/satellite: use project members pinia module instead of vuex module
Start using pinia module instead of vuex module

Change-Id: Ic51ecbf58583957360d4b5ac9c6e21885fbb0522
2023-04-12 11:06:17 +00:00
Vitalii
9c20c4ecb4 web/satellite: use pinia users module instead of vuex users module
Start using pinia users module instead of vuex pinia module.

Change-Id: I2a61aafa4b8f71cccd2a5825e11b315f59767289
2023-04-11 07:55:40 +00:00
Wilfred Asomani
6f8dff5832 web/satellite: enable session timeout setting
This change adds a new setting on the account settings page to change
session timeout duration. The old settings page is replaced with a new
one used on the all projects dashboard page. Also, onboarding API
endpoints and store action have been changed to be generic to include
session timeout setting.

Issue: https://github.com/storj/storj/issues/5560

Change-Id: I9026e61c6f86e4be5f9357e5d20e280eab2c29ea
2023-04-07 00:03:17 +00:00
Vitalii
66541e600b web/satellite: migrate ProjectMembersArea component to use SFC composition api
Change-Id: I503fb6d69bab73e7fb478c5c7cbdd47e7b578db6
2023-04-06 12:28:25 +03:00
Vitalii
a5d9caa5a5 web/satellite: migrate ProjectMemberListItem component to use SFC composition api
Change-Id: I232f06b5828c9f93917070621de66463c479d8fe
2023-04-06 08:38:07 +00:00
Vitalii
d0620405e5 web/satellite: migrate HeaderArea component to use SFC composition api
Change-Id: I75c77bd410058fd5ee8bf553871cb3852d0b033c
2023-04-06 11:35:49 +03:00
Vitalii
3336a24c5d web/satellite: migrate NotificationItem to use SFC composition api
Change-Id: I649e93e4e9251fcb871acae89f4c1b91b6450fbb
2023-04-05 21:22:36 +00:00
Vitalii
3f4ad197b0 web/satellite: migrate OnboardingTourArea component to use SFC composition api
Change-Id: Iaef3818880911bf0310ffafb43e970374952dae1
2023-04-05 18:51:00 +00:00
Vitalii
bb38418e97 web/satellite: migrate OverviewStep onboarding component to use SFC composition api
Change-Id: I77b2766d6fe43072f4a94471bd1832decf0d4ebd
2023-04-05 18:48:46 +00:00
Vitalii
599baf947e web/satellite: migrate EditProjectDetails component to use SFC composition api
Change-Id: If799efb9cbbdbfe5f269df0c555e47b3d767052a
2023-04-05 17:04:49 +03:00
Vitalii
68c016ad50 web/satellite: migrate NotificationArea component to use SFC composition api
Change-Id: I8ac32f49f5e4afb1f5dd75b193054b27f3222769
2023-04-04 23:19:43 +00:00
Jeremy Wharton
f2ae202024 satellite/payments,web/satellite: separate UI cost estimates by partner
Components related to project usage costs have been updated to show
different estimations for each partner, and the satellite has been
updated to send the client the information it needs to do this.

Previously, project costs in the satellite frontend were estimated
using only the price model corresponding to the partner that the user
registered with. This caused users who had a project containing
differently-attributed buckets to see an incorrect price estimation.

Resolves storj/storj-private#186

Change-Id: I2531643bc49f24fcb2e5f87e528b552285b6ff20
2023-04-04 15:56:16 +00:00
Wilfred Asomani
6857a48a0b web/satellite: change onboarding trigger
This change uses the onboarding user settings for whether to show
 onboarding (pricing plan) or not.
This change also fixes an issue where a new user is prompted for
passphrase once from onboarding and a second time on the dashboard.

Issue: https://github.com/storj/storj/issues/5661
https://github.com/storj/storj/issues/5675

Change-Id: I8e92c732260116de830cfbbbe0545f7e7c8997b0
2023-03-28 08:47:13 +00:00
Vitalii
e4d9f8686d satellite/{web, console}: remove old access grant and billing flows
Removed old flows along with feature flags.

Issue: https://github.com/storj/storj/issues/5694

Change-Id: Ib3a1cbb12435500bdc2c540bb67615c64ca19e5e
2023-03-27 19:08:35 +00:00
Jeremy Wharton
be567021d9 web/satellite: fetch frontend config from the satellite
This change updates the satellite frontend to retrieve its
configuration from the satellite.

References #5494

Change-Id: I1eb961f8a32f7d88173006117d41eddb57624692
2023-03-24 02:10:12 -05:00
Vitalii
2922eeed07 web/satellite: migrated components to use pinia ab testing module instead of Vuex
Migrated components to use new pinia ab testing module instead of old Vuex module.

Change-Id: Ib71ff1ad8d08829d939dee2ae87f4349bd4c33cf
2023-03-23 14:51:56 +02:00
Jeremy Wharton
e0c3f66040 web/satellite: display correct prices in account upgrade modal
The account upgrade modal has been updated to display prices according
to the the user's price model. Previously, the modal displayed only the
default prices which were incorrect for users with price overrides.

Resolves storj/storj-private#187

Change-Id: I58206cc8ea7e7742a37f759a84dbb24ca40dd8eb
2023-03-17 10:15:28 -05:00
Cameron
355f800916 web/satellite: create default project during onboarding
When a user logs in, we check if they have zero projects at the
dashboard. If so, the default project is created and they are sent to
the onboarding flow. However, this allows a user to skip onboarding if
they close out and log back in, since the dashboard is loaded first.
This change moves the default project creation to the beginning of the
overview step of onboarding to make sure any important preliminary
onboarding steps are not skippable.

Change-Id: I4fd1efc6ccd26b972fe57425efe268f8ba135c26
2023-03-16 18:19:32 -04:00
Wilfred Asomani
52abe8ddb4 web/satellite: add all projects onboarding
This change implements onboarding for the all projects dashboard.

Issue: https://github.com/storj/storj/issues/5514

Change-Id: If8a48c21e6df264c84d362d17bf01d770d9ca768
2023-03-09 19:55:34 +00:00
Vitalii
a01d47b3ed satellite:{console, web}: remove old project dashboard
Removed old project dashboard along with a feature flag.

Change-Id: I9292b19caf101a84042d8c3006c27bc44db8d6b5
2023-03-07 13:34:59 +02:00
Jeremy Wharton
662e916194 web/satellite: skip pricing plan step if no available packages
The pricing plan selection step of the onboarding tour is skipped if
there are no pricing packages configured for a user's partner.

Change-Id: I14bacbfaa10acf4cb97db04724749111a73e3928
2023-03-03 09:09:15 +00:00
Jeremy Wharton
31ec4fae9e web/satellite: add pricing plan selection to onboarding tour
A pricing plan selection step for users with a recognized partner has
been added to the beginning of the onboarding tour. Once visited, users
have the option of purchasing the pricing plan associated with their
partner or proceeding as a paid or free tier user.

Resolves storj-private#118
Resolves storj-private#126

Change-Id: I3b423194d96deaf87cf9807a766bf4d04fbcf86d
2023-02-28 20:49:59 -06:00
Vitalii
430b9646dc web/{satellite, storagenode, multinode}: more linter fixes
Added rule to restrict trailing white spaces.
Added rule to always use '===' instead of '=='.
Added rule to have correct spacing around commas.
Added rule to have spaces around '=>'.
Added rule to not have spaces in parentheses.
Added rule to have space before blocks '{}'.

Change-Id: Ibdbd204d591f0356e0745d89672e0e0579b59ce1
2023-02-27 12:37:32 +00:00
Wilfred Asomani
81d7f751da web/satellite: clean up popup constants
This change removes unused modal and dropdown action/mutation constants

Change-Id: Ib4f789ec967727d3619e9fd7769caf99dc9531ac
2023-02-21 23:11:02 +00:00
Malcolm Bouzi
109da3c798 web/satellite: refactor appstate store module to use enum for popups
This change refactors appstate, removing the big list of booleans
Previously used to toggle modals and dropdowns, replacing them with enums.

Issue: https://github.com/storj/storj/issues/5244

Change-Id: I4cffb7ab3ad7712f7ff79dd7486df938ca63830e
2023-02-15 09:25:39 +00:00
Wilfred Asomani
3a714cefcf satellite: remove rewards package
Affected packages admin,attribution,console,metainfo,satellitedb,web,payments
This change removes the satellite/rewards package and its related usages.
It removes references to APIKeyInfo/PartnerID, Project/PartnerID
 and User/PartnerID.

Issue: https://github.com/storj/storj/issues/5432

Change-Id: Ieaa352ee848db45e94f85556febdbcf1444d8c3e
2023-01-31 11:46:50 +00:00
NickolaiYurchenko
facbd65882 web/satellite: EstimatedCostsAndCredits components migrated to use composition api
Change-Id: I11ee04880a5dbdc5494f7a51c0b4077e88827a11
2023-01-30 09:22:25 +00:00
NickolaiYurchenko
a53849f874 web/satellite: PeriodSelection, SmallDepositHistory, SortingHeader migrated to use composition api
Change-Id: I029b8daa8268aae1fd9a12ab83a368f5e6862ba7
2023-01-25 22:17:52 +00:00