Commit Graph

54 Commits

Author SHA1 Message Date
Jeremy Wharton
4e0acba9ba web/{multinode,satellite,storagenode}: Fix SVG styling
Our SVG loader was recently reworked so that snapshots of UI tests
are smaller, but this broke some SVG styles because SVG paths no longer
contain a scoped CSS attribute. This change adds deep selectors where
appropriate to repair the broken styles.

A scoped CSS attribute is added by Vue Loader to elements of components
with scoped styles to identify which component the element belongs to
and restrict CSS rules accordingly. Paths within imported SVGs no longer
contain this type of attribute, so the deep selector must be used to
style the SVG as if it were a child component.

Change-Id: If4beb903fa3b40aa208efa549b8fe23ccf2a547b
2022-06-08 21:54:59 +00:00
Egon Elbre
ff64e9ffb3 web/{multinode,storagenode,satellite}: update stylelint
Also reset package-lock.json files to workaround issue
of npm auto-updating storj eslint plugin dependency to ssh.

Change-Id: Iaba102d713dc596d5814bdc4cc54c9b911398d64
2022-05-05 15:47:44 +03:00
Egon Elbre
37ad60b89b web/{multinode,storagenode}: fix callback default props
The default property for callbacks needs to be a func that returns
the appropriate callback.

Change-Id: Ia36222e600db41b3ddc79a25686ae998d1daf221
2022-05-05 14:33:52 +03:00
Óscar de Arriba
bbe7c30936
web/multinode: fix My Nodes in multinode dashboard menu
It is currently spelled as `MyNodes` whereas it should be `My Nodes`.
2022-05-05 14:23:46 +03:00
Egon Elbre
37c18bf790 web/multinode: components must not have constructor
Per https://class-component.vuejs.org/guide/caveats.html we always
must use lifecycle hooks intead of constructor. Otherwise some
of the props might not be initialized.

Change-Id: Ic6242cae61cd0775c3b0295850c267ee875cb0e0
2022-05-02 09:06:36 +00:00
Egon Elbre
9d3c886f35 web/multinode: update dependencies
Change-Id: If575d8d9b481476203cc08c80d95d49273d45c29
2022-04-06 14:48:21 +00:00
Marlon Spangenberg
7609bb9515
web/multinode: UI clarification to also add port (#4602)
Add "port" to the placeholder text because it accepts and addresses with port.
2022-03-14 18:49:11 +01:00
Khushal Shah
4535da96ee
web/multinode: removed conversion for Expectations (#4216)
What: 
Removed the `convertToCents` methods from the `Expectation` class, since the expectations were already in cents.

Why:
Fixes https://github.com/storj/storj/issues/4202
The `/expectations` endpoint already returns the amounts for `currentMonthEstimation` and `undistributed` in cents. So there is no need to convert them again to cents before the dollar conversion.

This change removes the `convertToCents` from the `Expectation` class.
2021-10-14 12:12:24 +00:00
Egon Elbre
84539f5798 web/: disallow warnings and errors in tests
* all: fix missing Vue.use(Router)
* multinode: having same state and module names is not allowed
* multinode: simplify store definition
* storagenode: add or fix any annotations

Change-Id: If8a63ae46049fc77fc6cd7a7ad912d4ad74d23ac
2021-09-07 13:43:26 +00:00
Egon Elbre
7d5d555264 web/: disallow unregistered and unused components
The components used in templates should always be included in the
component declaration. Similarly, it shouldn't contain extra components
to avoid compiling in components that aren't needed.

Change-Id: I8c47ceffa8bcbcca223ac0f538f9e30d1e849829
2021-08-31 21:25:49 +03:00
Egon Elbre
0889866b17 web/: add @vue/component annotations
Some linters do not work properly without those annotations.
This was done with a batch replace.

Also needed to turn off two lint rules, they will be re-enabled in the
followup change. This way the batch change can be clearly separated from
manual modifications.

Change-Id: I891ae09689520edaba5588c1f2206766db2d2b90
2021-08-31 21:25:49 +03:00
Clement Sam
d0596c060d web/multinode: remove links to empty pages from navigation panel
The navigation panel on the multinode dashboard contains links to reputations and notifications pages which are empty and not ready yet.
This change removes the links to these empty pages from the navigation panel

Change-Id: I4cd386a143ace257904161d76402cd5f66daed7d
2021-08-30 08:46:04 +00:00
NickolaiYurchenko
1e02504be6 web/multinode: satellite, node, and usage request handling fix
Change-Id: Ica315fa9b78bd8e4d2d0db0f4f05f295b8991053
2021-08-20 21:33:26 +00:00
Egon Elbre
e43af5eb3d web/: enable more vue eslint rules
Fixes two things:

All button tags must have type field specified, otherwise it defaults to
submit, which is mostly not correct for our site.

Disallows unused refs.

Change-Id: I28bb44aab9c153f83fec16fc4023a453444c3926
2021-08-12 16:56:37 +03:00
Egon Elbre
5d8cbf0871 web/multinode: enable vue/recommended linting
Change-Id: Ice51a66d8c73596133e10aa969a6ca973441e46e
2021-08-11 11:10:51 +03:00
Egon Elbre
a3e78491b9 web/multinode: 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: I6d5ef39d476a38dd9a6ab98e3fb94da4c3ab2e57
2021-08-04 17:00:00 +03:00
Egon Elbre
5e24060b25 web/multinode: switch to eslint
tslint has been deprecated so it's nice to switch to eslint.
Currently this uses a minimal eslint, to get things up and running.

Change-Id: If0ca6413b534b0aa15f6130a0a809e002d817356
2021-08-03 13:00:15 +03:00
NickolaiYurchenko
8c052048b6 web/multinode: redirect fix before route enters dashboard
makink node/infos request if trying to reach protected routes

Change-Id: I34af0437437f8c670ac2a6eb61902fbc9114e540
2021-07-08 19:08:24 +03:00
crawter
0495703848 web/multinode: reputation domain and api created
Change-Id: I9bf92015f32cdec1ef15f8d4a02b94987de12462
2021-07-07 16:07:47 +00:00
Yaroslav Vorobiov
818f6c6ea6 multinode/console: add summary to storage usage API
Change-Id: Ia8a1e598d667f25461f73f1626da22113cb7caeb
2021-07-07 15:00:05 +03:00
NickolaiYurchenko
4d418c13c3 web/multinode: routes restriction in no node added
checks if there is a try to navigate to some of internal route and no nodes added so far.
redirects to add first node screen if so.

Change-Id: Ibde47c5b81ae33462afe00f2fd7a54e8b295933a
2021-07-06 15:52:46 +00:00
crawter
b8e6e5c6c8 web/multinode/nodes: status calculation placed to backend
Change-Id: Id3ee876155d64485e115458a079617ac2db5310a
2021-07-06 15:06:56 +00:00
NickolaiYurchenko
1230cde317 web/multinode: disk space usage and stat charts
Change-Id: Ib2b1d6f2b78d57bd43ae1152921d98a1d6c31243
2021-07-01 14:21:08 +00:00
NickolaiYurchenko
8686267e06 web/multinode: storage api, service and store module created
Change-Id: Ieb3dbcd9c967388315f5203598ff56a848477476
2021-07-01 12:32:09 +00:00
NickolaiYurchenko
cece8e4110 web/multinode: bandwidth charts added
bandwidth/egress/ingress chart and api/vuex connection

Change-Id: I16ba2bb82854a1d198384b3b8e6ffc4e58d8bb91
2021-07-01 12:31:58 +00:00
NickolaiYurchenko
cc5de4288b web/multinode: bandwidth api and store module created
Change-Id: I5a280f836d73ca9c34bab7dd5371bf1dce5a3974
2021-07-01 12:31:53 +00:00
crawter
a89e20895d web/multinode/operator: wallets features type changed to support null
Change-Id: I4e5a3aed9488747d10cd795e81d52e689fd08be0
2021-06-15 19:54:23 +03:00
Yaroslav Vorobiov
b23a782c6b multinode/console: held amount summary use satellite address
Change-Id: I7816a263579831eaaeb808e3cdd49b3b7b0a07b8
2021-06-10 15:55:43 +03:00
crawter
962f81433f web/multinode: operator entity extended with nodeID and undistributed amount
Change-Id: I683e53bc4c669728caae3521597a5fd2d6372921
2021-06-09 08:51:15 +00:00
crawter
be16f4b68b web/multinode: wallets logic
Change-Id: Ib9b469cb968978acb784252022e94d619f88e7a0
2021-06-08 16:39:11 +00:00
NickolaiYurchenko
c0b170149d web/multinode: wallets page markup
Change-Id: I01cb973196d4be8d5cc959a3129c238236736538
2021-06-08 18:47:43 +03:00
NickolaiYurchenko
8c0a0f019c web/multinode: payouts by node
vuex store types added, markup and logic connected, unused components hidden, tests added

Change-Id: I42c573be3d05fc13521033b089f3f2d3126c36f8
2021-06-03 15:04:59 +00:00
NickolaiYurchenko
49662e98c2 web/multinode: node selection component added
node selection dropdown component, fixed minor bugs, bandwidth route added

Change-Id: I87fd1bf6c6a59d895b14524ab7c0fa5d80955cd5
2021-06-02 19:48:16 +03:00
NickolaiYurchenko
20b98d31b8 web/multinode: expectations block added
added displaying of undistributed balance and current month expectations

contains changes from https://review.dev.storj.io/c/storj/storj/+/4867 to be workable

Change-Id: I9cb00d2db5b819a71ceeddf91d6863a6b4fa9034
2021-05-31 14:33:03 +00:00
NickolaiYurchenko
f2842a27e2 web/multinode: by node payouts page markup
Change-Id: I4d760a9965d28afc37f4cfa971d95254bfcb1d7e
2021-05-24 17:28:25 +03:00
Yaroslav Vorobiov
1ff2e1a474 web/multinode: update test snapshots
Change-Id: I8a7adeba1b48c754dc50e68c479f89903cd98486
2021-05-21 15:46:46 +03:00
NickolaiYurchenko
e0f3166343 web/multinode: store and payouts components tests added
WHAT: unit tests for vue components and vuex store and environment for it

WHY: to cover frontend part with tests

Change-Id: I2aeaadb200176d4ba0a1406068304785e95d92cd
2021-05-14 12:45:10 +00:00
NickolaiYurchenko
2ccbb32e14 web/multinode: payouts page markup
WHAT: total payouts table, period calendar, details area and payout history area markup
also this component fumctionally connected to api and vuex store

Change-Id: Id3abc87bc7545aa3fc0a7ef2e480a8ed73974b76
2021-05-14 12:06:16 +00:00
NickolaiYurchenko
ce075a1d53 web/multinode: payout api
WHAT: multinode payout types, api and store

WHY: preparation of logic for mnd payouts page implementation

Change-Id: I4f2ea78056eab84c482853ef7a6c4cab4fb4c04f
2021-05-14 14:00:48 +03:00
NickolaiYurchenko
5616795f70 web/multinode: update node name modal
WHAT: markup and logic for set/update node name

WHY: to have abitity to change node name for future purposes like filtering or grouping

Change-Id: I44c679df43d34355efc4c6cff260faa1c3ff480e
2021-03-10 09:44:18 +00:00
NickolaiYurchenko
ed1caede97 web: size package fixed
Change-Id: Ie07666d6a9d7e72c61a3c2b842295da9076f9407
2021-02-15 17:15:08 +02:00
NickolaiYurchenko
12fde343c1 web/multinode: delete node option added to context menu
Change-Id: I56d362fc319b4785714bd45877e6f37755530033
2021-02-05 13:56:42 +00:00
crawter
93e8413617 web/mnd: my nodes page ui
Change-Id: I96403a6ae6ce232eee08208895e03c6a7aed74cb
2021-01-26 17:45:07 +00:00
crawter
9820145e14 web/mnd: nodes domain, api and store
Change-Id: I022c5153dfc85a25eebce6e8ba91b97e906736cb
2021-01-26 17:25:57 +00:00
NickolaiYurchenko
889d2eaaea web/multinode: svg type error on build fix
Change-Id: If6249d36bd42790cdf37f5f99def5fadc956a935
2021-01-13 18:21:19 +00:00
NickolaiYurchenko
f925d99d39 web/multinode: MyNodes page markup
Change-Id: Ie1bf57cde2dee6b72238ce7188a12dfb741bc031
2021-01-05 15:54:03 +00:00
NickolaiYurchenko
857155f5ac web/multinode: navigation panel added
Change-Id: Ia8d56cfce14476e1f4b59f4d13f239dda4a87b4f
2021-01-05 15:33:27 +00:00
NickolaiYurchenko
69a491aa6f web/multinode: add new node modal added
Change-Id: I337b39be065665cd531310171757ad8aab6be799
2021-01-05 15:10:54 +00:00
NickolaiYurchenko
16a8b1da35 web/multinode: onboarding pages and common components
Change-Id: I71910108ff1cd40b7718dba1944589a2cc4852ef
2021-01-05 16:23:40 +02:00
NickolaiYurchenko
7703b4b691 web/multinode: common dropdown component added
Change-Id: I9e8b76abb73c561939daf9758ace0f82eed4f443
2021-01-05 13:17:31 +00:00