Commit graph

396 commits

Author SHA1 Message Date
Alejandro Celaya
83791157ce Fixed inputs colors in dark theme when they are outside of cards 2021-02-21 21:05:30 +01:00
Alejandro Celaya
9dbf790cc8 Added components and logic to dynamically change theme 2021-02-21 21:05:30 +01:00
Alejandro Celaya
f313a39b81 Added brand color and input styles to dark theme 2021-02-21 21:05:30 +01:00
Alejandro Celaya
53f16ac8b5 Added primary color alfa and tables color 2021-02-21 21:05:30 +01:00
Alejandro Celaya
13c681dc39 Added first bits of the dark theme styles 2021-02-21 21:05:30 +01:00
Alejandro Celaya
c95cb144a8 Added margin option to QR code component 2021-02-14 10:16:30 +01:00
Alejandro Celaya
f9da22c5a1 Added support for margin param in buildQrCodeUrl function 2021-02-14 09:50:26 +01:00
Alejandro Celaya
ecefa22204 Replace nested ternary conditions with ramda's cond 2021-01-24 18:21:04 +01:00
Alejandro Celaya
3546a17575 Improved QR code modal, to allow selecting size, format and copy URL 2021-01-24 17:37:31 +01:00
Alejandro Celaya
a22274f382 Increased breakpoint in which short URLs table collapses 2020-12-30 20:05:04 +01:00
Alejandro Celaya
da484374a1 Renamed Dropdnown.scss to DropdownBtn.scss for consistency with component 2020-12-25 11:21:39 +01:00
Alejandro Celaya
93b4de60f6 Improved sorting dropdown to display order field and order dir 2020-12-25 11:06:10 +01:00
Alejandro Celaya
16f4f7eac8 Reused dropdown-btn styles in sorting dropdown 2020-12-25 10:54:49 +01:00
Alejandro Celaya
90d4fe72db Renamed Dropdown component to DropdownBtn 2020-12-25 10:43:36 +01:00
Alejandro Celaya
e1298cfa81 Created Dropdown test 2020-12-25 10:39:54 +01:00
Alejandro Celaya
6be3a1223f Created common Dropdown component for style consistency 2020-12-25 10:29:25 +01:00
Alejandro Celaya
b2abfd543e Moved Shlink API services to api module 2020-12-22 09:57:09 +01:00
Alejandro Celaya
8c6eaf2f1d Moved API types and type helpers to api module 2020-12-22 09:49:18 +01:00
Alejandro Celaya
6a354c277c Set API response as per Shlink v2 2020-12-21 23:55:54 +01:00
Alejandro Celaya
51379eb2a0 Created component holding the logic to render Shlink API errors 2020-12-21 21:19:02 +01:00
Alejandro Celaya
f69f791790 Improved handling of short URL deletion errors 2020-12-21 21:02:30 +01:00
Alejandro Celaya
54b1ab12cd Passed API error while creating URLs to display proper error messages 2020-12-21 20:55:52 +01:00
Alejandro Celaya
94d2f3167b Created Result test 2020-12-21 18:14:11 +01:00
Alejandro Celaya
344f5e9b0d Updated Result component so that it has the text centered by default 2020-12-21 17:58:46 +01:00
Alejandro Celaya
b211a29fc5 Created new Result component to display operation result messages consistently 2020-12-21 17:54:20 +01:00
Alejandro Celaya
c25355c531 Added Message test 2020-12-21 09:57:46 +01:00
Alejandro Celaya
5cf0c86a14 Normalized Message component, making it autocontained 2020-12-21 09:22:13 +01:00
Alejandro Celaya
83221c1066 Added routes to subsections in visits 2020-12-20 19:28:14 +01:00
Alejandro Celaya
9e63c463ca Styled scroll in servers list for home page 2020-12-20 12:25:17 +01:00
Alejandro Celaya
260a6c4940 Improved welcome screen 2020-12-20 12:17:12 +01:00
Alejandro Celaya
0491694839 Set fixed width to aside menu 2020-12-15 17:57:24 +01:00
Alejandro Celaya
d39512732a Fixed DateRangeSelector focus state 2020-12-15 09:54:45 +01:00
Alejandro Celaya
61a1087d91 Added date range selector to short URLs list 2020-12-14 23:35:31 +01:00
Alejandro Celaya
3f245a757e Created DateRangeSelector test 2020-12-14 23:15:06 +01:00
Alejandro Celaya
4e236a80de Created new dropdown component to select relative or absolute date ranges 2020-12-14 22:58:15 +01:00
Alejandro Celaya
6090f97347 Updated tabs in visits section to be sticky 2020-12-12 21:05:54 +01:00
Alejandro Celaya
a013d40bf1 More standardization color changes 2020-12-12 16:55:01 +01:00
Alejandro Celaya
df6f1b984f Dropped support for Shlink 1 2020-12-12 13:43:16 +01:00
Alejandro Celaya
526fa14dce Improved NoMenuLayout, using a container-xl style 2020-12-12 12:04:20 +01:00
Alejandro Celaya
4d969b994e Improved server form 2020-12-12 11:43:16 +01:00
Alejandro Celaya
143a05cab1 Restyled cards, background and shadows 2020-12-12 10:56:10 +01:00
Alejandro Celaya
2017ee7456 Created SimpleCard component to reduce duplicated code when rendering cards 2020-12-08 19:10:29 +01:00
Alejandro Celaya
20a9259109 Minor style improvements in overview page 2020-12-08 11:39:16 +01:00
Alejandro Celaya
d9e39eee2b Added new reducer for visits overview, and added it to overview page 2020-12-07 12:12:39 +01:00
Alejandro Celaya
dba0ac6442 Created Overview page as default page after connecting to a server 2020-12-06 18:37:22 +01:00
Alejandro Celaya
8f7e356e54 Added support to enable/disable validating the URL while it is created 2020-12-06 13:07:44 +01:00
Alejandro Celaya
369fcf2f6a Improved design on domains dropdown 2020-11-28 09:34:41 +01:00
Alejandro Celaya
983e4db3b1 Created component to allow selecting from existing domains list 2020-11-25 21:05:27 +01:00
Alejandro Celaya
c54f314424 Updated react-datepicker to latest version 2020-11-14 12:10:42 +01:00
Alejandro Celaya
6c90d7072f #325 Updated to react 17 2020-11-13 22:44:26 +01:00
Alejandro Celaya
ff1fb0dd12 Removed hardcoded display: inline for BooleanControls 2020-10-31 17:18:51 +01:00
Alejandro Celaya
421cc5b718 Put together all chart-related helper functions 2020-09-20 11:46:07 +02:00
Alejandro Celaya
78d97a64aa Added visits highlightning capabilities to line chart 2020-09-20 11:43:24 +02:00
Alejandro Celaya
51556d76ac Fixed tests 2020-09-17 18:05:26 +02:00
Alejandro Celaya
871868f0a4 Moved common rendering chart labels code to external module for reuse 2020-09-15 22:30:31 +02:00
Alejandro Celaya
3fea8b5505 Ensured page numbers in paginators are prettified 2020-09-13 10:03:02 +02:00
Alejandro Celaya
9b45513684 Added form controls to set real time updates interval 2020-09-09 19:16:04 +02:00
Alejandro Celaya
b814f500de Moved shlink versions to the outer element so that's always visible 2020-09-06 12:36:17 +02:00
Alejandro Celaya
58c9ef9b51 Updated dependencies 2020-09-06 10:17:46 +02:00
Alejandro Celaya
3cec2efbbd Removed no longer used dependencies 2020-09-05 08:57:50 +02:00
Alejandro Celaya
73b854037d Migrated to TS all visits components except the biggest two 2020-09-04 19:33:16 +02:00
Alejandro Celaya
d0d664ef79 Migrated VisitsParser to TS 2020-09-02 19:32:07 +02:00
Alejandro Celaya
16d96efa4a Finished migrating all remaining utils to TS 2020-08-31 18:38:27 +02:00
Alejandro Celaya
8a9c694fbc Migrated all remaining short-url elements to TS 2020-08-30 19:45:17 +02:00
Alejandro Celaya
4b33d39d44 Finished migrating ll short-url helpers to TS 2020-08-30 09:59:14 +02:00
Alejandro Celaya
ef630af154 Migrated ShlinkApiClient to TS 2020-08-29 19:51:14 +02:00
Alejandro Celaya
ebd7a76896 Migrated to TS main services except ShlinkApiClient 2020-08-29 18:51:03 +02:00
Alejandro Celaya
64a968711c Migrated all servers services to TS 2020-08-29 14:16:37 +02:00
Alejandro Celaya
f40ad91ea9 Migrated some common components and their dependencies to TS 2020-08-29 09:19:15 +02:00
Alejandro Celaya
a96539129d Migrated more common components to TS 2020-08-28 20:05:01 +02:00
Alejandro Celaya
dcf72e6818 Finished migrating remaining reducers to TS 2020-08-28 18:33:37 +02:00
Alejandro Celaya
54290d4c9a Migrated ShlinkApiClientBuilder to TS 2020-08-27 22:09:16 +02:00
Alejandro Celaya
eb3775859a Migrated tags reducers to typescripts 2020-08-27 19:12:09 +02:00
Alejandro Celaya
f283dc8569 Migrated short URL helper modal components to TS 2020-08-26 20:37:36 +02:00
Alejandro Celaya
b19bbee7fc More components migrated to TS 2020-08-26 20:03:23 +02:00
Alejandro Celaya
1b03d04318 Migrated more short-url reducers to TS 2020-08-26 18:55:40 +02:00
Alejandro Celaya
6696fb13d6 Created redux test 2020-08-25 20:23:12 +02:00
Alejandro Celaya
f04aece7df Removed dependency on redux-actions for all reducers already migrated to typescript 2020-08-25 19:42:15 +02:00
Alejandro Celaya
d8f3952920 Migrated first short URL reducers to typescript 2020-08-24 18:52:52 +02:00
Alejandro Celaya
1b7e1e2b5b Tweaked server types and data 2020-08-23 10:51:42 +02:00
Alejandro Celaya
87e64e5899 Migrated first reducer to typescript, adding also type for the shared app state 2020-08-23 09:52:09 +02:00
Alejandro Celaya
e193a692e8 Migrated all service providers to typescript 2020-08-23 09:03:44 +02:00
Alejandro Celaya
2eba607874 More elements migrated to typescript 2020-08-22 19:03:25 +02:00
Alejandro Celaya
62df46d648 Refactored many helpers to Typescript 2020-08-22 18:32:48 +02:00
Alejandro Celaya
7c67fa4149 Migrate CreateServer component to Typescript 2020-08-22 17:58:44 +02:00
Alejandro Celaya
d65a6ba970 Migrated to Typescript a file which is imported in JS files 2020-08-22 09:48:55 +02:00
Alejandro Celaya
343a93b984 Installed TS and updated linter 2020-08-22 08:06:41 +02:00
Alejandro Celaya
d2f818c1ea Moved common code between Checkbox and ToggleSwitch to child component 2020-07-14 16:14:16 +02:00
Alejandro Celaya
a675d60d59 Added new ToggleSwitch component 2020-07-14 16:05:00 +02:00
Alejandro Celaya
ebe649aaac Updated EditTagModal to be a functional component 2020-05-31 11:06:23 +02:00
Alejandro Celaya
61867366e7 Created first version of the time-based visits chart 2020-05-30 09:25:15 +02:00
Alejandro Celaya
bfbb21e1cc Created page for tag visit stats 2020-05-10 19:02:58 +02:00
Alejandro Celaya
6fd30ed51a Improved how tags are exposed by the ApiClient when listing tags 2020-05-10 11:20:40 +02:00
Alejandro Celaya
18e026e4ca Updated tags list to display visits and short URLs when remote shlink version allows it 2020-05-10 10:57:49 +02:00
Alejandro Celaya
a22a1938c1 Added automatic refresh on mercure events 2020-04-18 10:50:01 +02:00
Alejandro Celaya
37e6c27461 Created mercure info reducer and loaded info when server is reachable 2020-04-17 15:51:18 +02:00
Alejandro Celaya
faf5d0bf7b Unified function parsing user agent for browser and os 2020-04-10 19:22:13 +02:00
Alejandro Celaya
6fede88072 Added dependency on bowser to have a more accurate browser and OS detection 2020-04-10 19:16:44 +02:00
Alejandro Celaya
73256dcf5b Handled toggling between highlighted chart bars 2020-04-10 12:53:54 +02:00
Alejandro Celaya
c67a23c988 Added support to disable date inputs 2020-04-10 12:25:06 +02:00
Alejandro Celaya
b79333393b Converted SearchField component into funcitonal component 2020-04-05 16:18:08 +02:00
Alejandro Celaya
cb7062bb95 Created fake border with before and after pseudoelements for sticky table cells 2020-04-05 16:02:42 +02:00
Alejandro Celaya
94c5b2c471 Improved useToggle hook so that it also returns enabler and disabler 2020-04-05 12:18:41 +02:00
Alejandro Celaya
bd4255108d Improved VisitsTable performance by memoizing visits lists 2020-04-04 12:58:04 +02:00
Alejandro Celaya
2bd70fb9e6 Fixed unit tests 2020-04-04 10:36:38 +02:00
Alejandro Celaya
e6034dfb14 Created VisitsTable 2020-04-03 23:00:57 +02:00
Alejandro Celaya
bd29670108 Added short code length field to form to create short URLs 2020-03-29 18:55:41 +02:00
Alejandro Celaya
d7da8521ce Created helper functions to determine the key and if a page is disabled on a progressive paginator 2020-03-28 17:43:09 +01:00
Alejandro Celaya
7f05c5c2da Split utils module into several helpers modules 2020-03-28 17:33:27 +01:00
Alejandro Celaya
2d5c2779c3 Moved helper functions to render progressive paginators to a common place 2020-03-28 17:25:12 +01:00
Alejandro Celaya
0aebaa4da1 Extracted logic to render horizontal form groups to their own components 2020-03-15 10:50:05 +01:00
Alejandro Celaya
febecab33c Migrated Home component to a functional component 2020-03-08 11:35:06 +01:00
Alejandro Celaya
99042c0979 Extracted servers list group from home component to a reusable component 2020-03-08 11:16:57 +01:00
Alejandro Celaya
f4cc8d3a0c Fixed default value for vertically aligned items 2020-03-07 12:07:51 +01:00
Alejandro Celaya
f55d3a66aa Converted ShortUrlsRow component into a functional component 2020-03-06 21:44:03 +01:00
Alejandro Celaya
fba156b271 Moved copy-to-clipboard control next to short URL 2020-03-06 21:25:30 +01:00
Alejandro Celaya
be50b24504 Added mechanism to provide a version to shlink-web-client 2020-03-05 12:53:32 +01:00
Alejandro Celaya
1e949b3a22 Added shlink versions to side menu 2020-03-05 11:11:26 +01:00
Alejandro Celaya
fa0d3d4047 Removed no longer needed async/await when building api client 2020-03-05 09:23:53 +01:00
Alejandro Celaya
bc8905ee7f Ensured server is properly loaded before trying to render any children component 2020-03-05 08:59:07 +01:00
Alejandro Celaya
853032ac7f Displayed preloader when a server is being loaded 2020-03-05 08:41:55 +01:00
Alejandro Celaya
c67ce3918b Removed redundant function call 2020-02-08 10:03:24 +01:00
Alejandro Celaya
dc672bf0f0 Ensured domain is passed when loading visits for a short URL on a specific domain 2020-02-08 09:07:55 +01:00
Alejandro Celaya
c53520ae56 Moved logic to dynamically render components based on server version to a separated component 2020-01-28 19:46:36 +01:00
Alejandro Celaya
207a8cef20 Updated tests from modified code 2020-01-19 13:20:46 +01:00
Alejandro Celaya
d44a4b260e Finished component to allow metadata to be edited on existing short URLs 2020-01-19 13:07:33 +01:00
Alejandro Celaya
80a8e0b55c Created component to edit short URLs meta 2020-01-17 21:07:59 +01:00
Alejandro Celaya
c90cd46095 Removed old ExternalLink component in favor of external one 2020-01-15 18:16:12 +01:00
Alejandro Celaya
5eb4a3adec Fixed tests and typos 2020-01-14 20:12:30 +01:00
Alejandro Celaya
b60908a5e9 Added filtering by date to short URLs list 2020-01-14 19:59:25 +01:00
Alejandro Celaya
0f51bf95e3 Updated ShlinkApiClient so that it retries API version when v2 is not supported 2020-01-11 13:55:37 +01:00
Alejandro Celaya
ba8cade6fc When handling API errors, use the type prop and fallback to error if not found 2020-01-11 12:24:45 +01:00
Alejandro Celaya
12f6b94ece Ensured server version is properly parsed to avoid errors due to invalid semver 2019-10-18 17:39:38 +02:00
Alejandro Celaya
ce9ecd7b93 Defined custom function to compare versions which defines the operator in the middle 2019-10-05 11:03:17 +02:00
Alejandro Celaya
6d996baf5d Added tests for new logics 2019-10-05 10:40:32 +02:00
Alejandro Celaya
4120d09220 Loaded version of selected server and created component to filter content based on that version 2019-10-05 10:20:33 +02:00
Alejandro Celaya
2fe923678e Installed react-external-links 2019-08-29 17:47:18 +02:00
Alejandro Celaya
4c11d9c6d5 Catched error when loading servers from a servers.json file 2019-04-28 13:07:55 +02:00
Alejandro Celaya
7b80d78dc5 Removed duplicated code when building ShlinkApiClient 2019-04-21 11:31:40 +02:00
Alejandro Celaya
ce0f036bef Created custom react hook that can be used to handle toggles 2019-03-17 18:35:47 +01:00
Alejandro Celaya
2e452993ff Created Checkbox test 2019-03-17 18:09:10 +01:00
Alejandro Celaya
f4dbd03c7e Added checkbox to control the findIfExists shlink flag 2019-03-17 17:48:05 +01:00
Alejandro Celaya
61480abd2e Updated charts to allow optional pagination 2019-03-10 08:28:14 +01:00
Alejandro Celaya
c094a27c97 Created PaginationDropdown component 2019-03-09 13:20:43 +01:00
Alejandro Celaya
83704ca4b5 Created rangeOf helper function which does a range + map 2019-03-09 12:19:33 +01:00
Alejandro Celaya
e303a80683 Updated bootstrap to solve security issue 2019-03-04 21:05:30 +01:00
Alejandro Celaya
0c1f533747 Updated short URL visits loading so that it loads visits in several requests 2019-01-10 19:50:25 +01:00
Alejandro Celaya
23af0de34a Simplified ShlinkApiCLient by using the new simplified authentication approach 2019-01-10 19:17:15 +01:00
Alejandro Celaya
8b8be2d7ca Updated stateFlagTimeout to get the setTimeout function injected as a dependency 2019-01-08 20:49:47 +01:00
Alejandro Celaya
4870801f8f Implemented map to show visits from every city 2019-01-07 21:00:28 +01:00
Alejandro Celaya
2be771cbcc Improved styles 2019-01-07 13:45:16 +01:00
Alejandro Celaya
835d54e90c Updated dependencies and source code 2019-01-05 22:25:54 +01:00
Alejandro Celaya
03f409a803 Updated linting dependencies 2018-12-31 18:23:47 +01:00
Alejandro Celaya
eec79043cc Moved common and utils services to their own service providers 2018-12-18 20:19:22 +01:00
Alejandro Celaya
4b1f5e9f4c Extracted short-url related services to its own service provider 2018-12-18 20:00:23 +01:00
Alejandro Celaya
70ebb0362a Converted DateInput into functional component 2018-11-01 09:16:18 +01:00
Alejandro Celaya
cccf57a35a Moved DateInput from common to utils 2018-11-01 09:05:20 +01:00
Alejandro Celaya
7a63f737ac Updated sort icons in SortingDropdown 2018-10-30 07:35:35 +01:00
Alejandro Celaya
05936c52b3 Added sorting to referrers bar graph 2018-10-28 23:04:52 +01:00
Alejandro Celaya
368de2b4c7 Added order control to countries graph 2018-10-28 22:54:08 +01:00
Alejandro Celaya
4ad8e909d4 Extracted sorting dropdown to its own component 2018-10-28 21:26:47 +01:00
Alejandro Celaya
644caf7dfb Ensured ColorGenerator matches keys in a case insensitive way 2018-10-07 08:59:25 +02:00
Alejandro Celaya
d37e7ca7ce Created VisitsHeader test 2018-09-08 09:31:44 +02:00
Alejandro Celaya
b454810357 Moved tag helper components from utils to tags/helpers folder 2018-09-02 11:10:59 +02:00
Alejandro Celaya
fd57d70a0b Fixed tags input autofocus 2018-09-02 11:10:59 +02:00
Alejandro Celaya
b0bce7498a Added first autocomplete implementation on tags selector 2018-09-02 11:10:59 +02:00
Alejandro Celaya
1519f89318 Created different functions which load tags always or only once 2018-09-02 11:10:59 +02:00
Alejandro Celaya
0b089e24de Moved propTypes and defaultProps as static properties in class components 2018-09-02 11:10:59 +02:00
Alejandro Celaya
34c5a0ef8f Removed duplicated code by creating a helper function 2018-08-27 16:45:46 +02:00
Alejandro Celaya
3d39fa724c Created App test 2018-08-26 19:48:21 +02:00
Alejandro Celaya
6a016d8e6f Updated styles in javascript to fulfill adidas rules 2018-08-25 23:39:27 +02:00
Alejandro Celaya
ed0aa68452 Fixed linting issues in stylesheets 2018-08-25 15:59:51 +02:00
Alejandro Celaya
9b063a4616 Implemented importing servers from CSV file 2018-08-21 20:33:12 +02:00
Alejandro Celaya
d84bf01937 Replaced anchor by span to prevent accessibility error 2018-08-20 10:04:17 +02:00
Alejandro Celaya
84d012d7af Fixed accessibility issue 2018-08-19 20:56:55 +02:00
Alejandro Celaya
96adb227d9 Added search bar to tags list 2018-08-19 20:52:33 +02:00
Alejandro Celaya
843c121285 Extracted SearchField from SearchBar component to its own component 2018-08-19 20:29:23 +02:00
Alejandro Celaya
878e336ba1 Simplified ColorGenerator and exposed method to set colors for a key 2018-08-18 17:51:44 +02:00
Alejandro Celaya
ec7b47fb32 Allowed MuttedMessage to define a margin 0 2018-08-16 19:22:54 +02:00
Alejandro Celaya
f7f0d8c7c1 Improved tags list section 2018-08-16 19:19:57 +02:00
Alejandro Celaya
49290b56ee Created tags list page 2018-08-16 18:59:00 +02:00
Alejandro Celaya
854851fefc Created common component to handle tags and modal to edit tags 2018-08-15 11:14:44 +02:00
Alejandro Celaya
b3be7df890 Improved tags filtering control 2018-08-10 22:27:50 +02:00
Alejandro Celaya
b25cb6c170 Added more responsive improvements 2018-08-05 08:49:07 +02:00
Alejandro Celaya
bbeaf01319 Created filtering by tag feature 2018-08-01 19:04:58 +02:00
Alejandro Celaya
0a5c20e3ee Connected creation form with redux, and created reducer for short URL creation 2018-07-28 10:41:05 +02:00
Alejandro Celaya
842b1a7590 Added preview modal component 2018-07-27 18:21:10 +02:00
Alejandro Celaya
3eaa66435a Fixed tests 2018-07-22 22:49:51 +02:00
Alejandro Celaya
d382ee8d95 Added create short URL form 2018-07-21 10:38:54 +02:00
Alejandro Celaya
168b24344e Added modal window for server deletion 2018-07-20 22:14:17 +02:00
Alejandro Celaya
3ea33d0e38 Implemented left menu 2018-07-18 20:01:56 +02:00
Alejandro Celaya
6494f04d25 Added structure and some stylings to CreateServer component 2018-07-15 11:06:53 +02:00
Alejandro Celaya
6587a08ed1 Created more components for the short URLs list 2018-06-17 10:59:04 +02:00
Alejandro Celaya
b008c37a5b Implemented first elements of short codes list 2018-06-16 11:24:42 +02:00
Alejandro Celaya
2cad352045 Added sections via react router 2018-06-03 13:15:52 +02:00
Alejandro Celaya
e62416e9bb Added some improvements 2018-05-13 09:48:21 +02:00