{"version":3,"sources":["common/img/ShlinkLogo.tsx","servers/helpers/withSelectedServer.tsx","common/NotFound.tsx","servers/ServersListGroup.tsx","utils/helpers/hooks.ts","common/services/provideServices.ts","common/ScrollToTop.tsx","common/ErrorHandler.tsx","common/services/ImageDownloader.ts","common/services/ReportExporter.ts","utils/services/provideServices.ts","utils/services/LocalStorage.ts","utils/services/ColorGenerator.ts","common/ShlinkVersions.tsx","common/ShlinkVersionsContainer.tsx","common/MainHeader.tsx","common/Home.tsx","common/MenuLayout.tsx","common/AsideMenu.tsx","utils/helpers/redux.ts","servers/data/index.ts","utils/utils.ts","utils/SimpleCard.tsx","utils/SearchField.tsx","utils/helpers/ordering.ts","api/services/ShlinkApiClient.ts","api/services/ShlinkApiClientBuilder.ts","api/services/provideServices.ts","tags/helpers/Tag.tsx","utils/DropdownBtn.tsx","utils/helpers/date.ts","utils/dates/types/index.ts","utils/DateInput.tsx","utils/dates/DateRangeRow.tsx","utils/dates/DateIntervalDropdownItems.tsx","utils/dates/DateRangeSelector.tsx","utils/BooleanControl.tsx","utils/ToggleSwitch.tsx","utils/TooltipToggleSwitch.tsx","utils/OrderingDropdown.tsx","short-urls/helpers/hooks.ts","short-urls/data/index.ts","short-urls/ShortUrlsFilteringBar.tsx","mercure/helpers/boundToMercureHub.tsx","mercure/helpers/index.ts","mercure/helpers/Topics.ts","utils/table/TableOrderIcon.tsx","visits/VisitsStats.tsx","settings/reducers/settings.ts","utils/helpers/numbers.ts","utils/helpers/pagination.ts","short-urls/Paginator.tsx","short-urls/ShortUrlsList.tsx","utils/CopyToClipboardIcon.tsx","utils/Time.tsx","short-urls/helpers/ShortUrlDetailLink.tsx","short-urls/helpers/ShortUrlVisitsCount.tsx","short-urls/helpers/ShortUrlsRow.tsx","utils/DropdownBtnMenu.tsx","short-urls/helpers/ShortUrlsRowMenu.tsx","short-urls/CreateShortUrl.tsx","utils/Result.tsx","api/utils/index.ts","api/ShlinkApiError.tsx","short-urls/helpers/DeleteShortUrlModal.tsx","short-urls/helpers/CreateShortUrlResult.tsx","short-urls/helpers/index.ts","visits/reducers/visitCreation.ts","short-urls/reducers/shortUrlDeletion.ts","short-urls/reducers/shortUrlCreation.ts","short-urls/reducers/shortUrlEdition.ts","short-urls/reducers/shortUrlsList.ts","short-urls/ShortUrlsTable.tsx","short-urls/helpers/qr-codes/QrFormatDropdown.tsx","short-urls/helpers/qr-codes/QrErrorCorrectionDropdown.tsx","short-urls/helpers/QrCodeModal.tsx","utils/helpers/qrCodes.ts","utils/Checkbox.tsx","short-urls/UseExistingIfFoundInfoIcon.tsx","utils/InfoTooltip.tsx","short-urls/helpers/ShortUrlFormCheckboxGroup.tsx","short-urls/ShortUrlForm.tsx","short-urls/EditShortUrl.tsx","short-urls/reducers/shortUrlDetail.ts","utils/ExportBtn.tsx","short-urls/helpers/ExportShortUrlsBtn.tsx","short-urls/services/provideServices.ts","utils/forms/LabeledFormGroup.tsx","utils/forms/InputFormGroup.tsx","servers/helpers/ServerForm.tsx","servers/helpers/DuplicatedServersModal.tsx","servers/CreateServer.tsx","servers/ServersDropdown.tsx","servers/DeleteServerModal.tsx","servers/DeleteServerButton.tsx","servers/EditServer.tsx","servers/helpers/ImportServersBtn.tsx","servers/reducers/selectedServer.ts","servers/reducers/servers.ts","servers/reducers/remoteServers.ts","servers/helpers/ForServerVersion.tsx","servers/helpers/ServerError.tsx","servers/helpers/HighlightCard.tsx","servers/Overview.tsx","servers/ManageServers.tsx","servers/ManageServersRow.tsx","servers/ManageServersRowDropdown.tsx","servers/services/ServersImporter.ts","servers/services/ServersExporter.ts","servers/services/provideServices.ts","visits/helpers/MapModal.tsx","visits/VisitsHeader.tsx","visits/ShortUrlVisitsHeader.tsx","utils/NavPills.tsx","utils/helpers/visits.ts","utils/helpers/charts.ts","visits/charts/LineChartCard.tsx","common/SimplePaginator.tsx","visits/VisitsTable.tsx","visits/helpers/OpenMapModalBtn.tsx","visits/types/helpers.ts","visits/services/VisitsParser.ts","visits/helpers/VisitsFilterDropdown.tsx","visits/charts/DoughnutChartLegend.tsx","visits/charts/DoughnutChart.tsx","visits/charts/ChartCard.tsx","visits/charts/DoughnutChartCard.tsx","utils/PaginationDropdown.tsx","visits/charts/HorizontalBarChart.tsx","visits/charts/SortableBarChartCard.tsx","visits/ShortUrlVisits.tsx","visits/TagVisitsHeader.tsx","visits/TagVisits.tsx","visits/OrphanVisitsHeader.tsx","visits/OrphanVisits.tsx","visits/NonOrphanVisitsHeader.tsx","visits/NonOrphanVisits.tsx","visits/reducers/common.ts","visits/reducers/shortUrlVisits.ts","visits/reducers/tagVisits.ts","visits/reducers/orphanVisits.ts","visits/reducers/nonOrphanVisits.ts","visits/reducers/visitsOverview.ts","visits/services/provideServices.ts","tags/helpers/TagBullet.tsx","tags/helpers/TagsSelector.tsx","tags/TagCard.tsx","tags/helpers/DeleteTagConfirmModal.tsx","tags/helpers/EditTagModal.tsx","tags/data/TagsListChildrenProps.ts","tags/TagsModeDropdown.tsx","tags/TagsList.tsx","tags/reducers/tagDelete.ts","tags/reducers/tagEdit.ts","tags/reducers/tagsList.ts","tags/TagsCards.tsx","tags/TagsTable.tsx","tags/TagsTableRow.tsx","tags/services/provideServices.ts","mercure/reducers/mercureInfo.ts","mercure/services/provideServices.ts","utils/forms/FormText.tsx","settings/RealTimeUpdatesSettings.tsx","settings/Settings.tsx","settings/ShortUrlCreationSettings.tsx","settings/UserInterfaceSettings.tsx","utils/dates/DateIntervalSelector.tsx","settings/VisitsSettings.tsx","settings/TagsSettings.tsx","settings/ShortUrlsListSettings.tsx","settings/services/provideServices.ts","utils/helpers/uri.ts","domains/reducers/domainRedirects.ts","domains/reducers/domainsList.ts","domains/DomainSelector.tsx","domains/helpers/EditDomainRedirectsModal.tsx","domains/helpers/DomainStatusIcon.tsx","domains/DomainRow.tsx","domains/ManageDomains.tsx","domains/services/provideServices.ts","app/reducers/appUpdates.ts","common/AppUpdateBanner.tsx","utils/helpers/sw.ts","app/App.tsx","app/services/provideServices.ts","container/index.ts","reducers/index.ts","container/store.ts","settings/helpers/index.ts","serviceWorkerRegistration.ts","utils/helpers/leaflet.ts","index.tsx","utils/helpers/features.ts","utils/theme/index.ts","utils/helpers/query.ts","utils/Message.tsx","common/NoMenuLayout.tsx","utils/helpers/version.ts","servers/helpers/withoutSelectedServer.tsx","utils/helpers/files.ts","common/reducers/sidebar.ts"],"names":["ShlinkLogo","color","MAIN_COLOR","className","viewBox","version","xmlns","fill","d","withSelectedServer","WrappedComponent","ServerError","props","params","useParams","selectServer","selectedServer","useEffect","serverId","isNotFoundServer","loading","NotFound","to","children","ServerListItem","id","name","tag","Link","icon","chevronIcon","ServersListGroup","servers","embedded","length","classNames","map","useStateFlagTimeout","setTimeout","clearTimeout","initialValue","delay","useState","flag","setFlag","timeout","useRef","undefined","callback","current","useToggle","useSwipeable","showSidebar","hideSidebar","swipeMenuIfNoModalExists","e","event","composedPath","some","classList","contains","document","querySelector","useReactSwipeable","delta","onSwipedLeft","onSwipedRight","useQueryState","paramName","initialState","value","setValue","window","location","history","query","parseQuery","search","pushState","pathname","stringifyQuery","useEffectExceptFirstTime","deps","isFirstLoad","useGoBack","navigate","useNavigate","provideServices","bottle","connect","constant","global","console","axios","service","ImageDownloader","ReportExporter","serviceFactory","ScrollToTop","MainHeader","Home","decorator","withoutSelectedServer","MenuLayout","AsideMenu","ShlinkVersionsContainer","ErrorHandler","sidebarPresent","sidebarNotPresent","useLocation","scrollTo","error","state","hasError","this","outline","onClick","reload","Component","imgUrl","filename","get","responseType","data","url","URL","createObjectURL","saveUrl","csvjson","exportVisits","visits","exportCsv","exportShortUrls","shortUrls","rows","csv","toCSV","headers","wrap","saveCsv","localStorage","LocalStorage","ColorGenerator","buildPath","path","key","item","getItem","JSON","parse","set","setItem","stringify","HEX_DIGITS","floor","Math","random","sqrt","round","normalizeKey","toLowerCase","trim","perceivedLightness","r","g","b","storage","colors","lights","getColorForKey","normalizedKey","setColorForKey","rangeOf","join","isColorLightForKey","colorHex","substring","isNil","rgb","match","hex","parseInt","hexColorToRgbArray","normalizeVersion","pipe","versionToSemVer","versionToPrintable","VersionLink","project","href","ShlinkVersions","clientVersion","normalizedClientVersion","isReachableServer","printableVersion","sidebar","classes","ServersDropdown","isOpen","toggleOpen","close","settingsPath","toggleClass","dark","fixed","expand","arrowIcon","navbar","active","startsWith","cogsIcon","serversList","values","hasServers","isEmpty","autoConnectServer","find","autoConnect","faPlus","faExternalLinkAlt","TagsList","ShortUrlsList","CreateShortUrl","ShortUrlVisits","TagVisits","OrphanVisits","NonOrphanVisits","Overview","EditShortUrl","ManageDomains","sidebarVisible","toggleSidebar","showContent","addOrphanVisitsRoute","supportsOrphanVisits","addNonOrphanVisitsRoute","supportsNonOrphanVisits","addManageDomainsRoute","supportsDomainRedirects","burgerClasses","swipeableProps","burgerIcon","showOnMobile","index","element","replace","AsideMenuItem","rest","isActive","DeleteServerButton","hasId","isServerWithId","addManageDomainsLink","asideClass","suffix","fixedWidth","overviewIcon","listIcon","createIcon","flip","tagsIcon","domainsIcon","editIcon","textClassName","server","buildReducer","action","type","actionHandler","currentState","buildActionCreator","hasServerData","apiKey","hasOwnProperty","getServerId","serverWithIdToServerData","omit","size","mappingFn","startAt","range","hasValue","handleEventPreventingDefault","handler","preventDefault","nonEmptyValueOrNull","capitalize","charAt","toUpperCase","slice","SimpleCard","title","bodyClassName","timer","determineOrderDir","currentField","newField","currentOrderDir","ASC","DESC","sortList","list","field","dir","sort","a","greaterThan","smallerThan","orderToString","order","buildShlinkBaseUrl","rejectNilProps","reject","normalizeOrderByInParams","orderBy","ShlinkApiClient","baseUrl","listShortUrls","performRequest","then","createShortUrl","options","filteredOptions","resp","getShortUrlVisits","shortCode","getTagVisits","getOrphanVisits","getNonOrphanVisits","getVisitsOverview","getShortUrl","domain","deleteShortUrl","updateShortUrlTags","tags","updateShortUrl","listTags","withStats","stats","deleteTags","editTag","oldName","newName","health","mercureInfo","listDomains","domains","editDomainRedirects","domainRedirects","method","body","paramsSerializer","apiClients","buildShlinkApiClient","getStateOrSelectedServer","getState","isGetState","prop","Error","clientKey","SearchField","onChange","large","noBorder","searchTerm","setSearchTerm","resetTimer","searchTermChanged","newSearchTerm","placeholder","target","searchIcon","hidden","Tag","text","clearable","colorGenerator","onClose","style","backgroundColor","cursor","DropdownBtn","disabled","dropdownClassName","right","minWidth","toggle","toggleClasses","caret","end","isDateObject","date","formatDateFromFormat","theFormat","format","formatISO","formatIsoDate","formatInternational","formatDate","parseISO","stdParseISO","isBetween","start","isWithinInterval","isBeforeOrEqual","dateToCompare","isEqual","isBefore","dateRangeIsEmpty","dateRange","filter","Boolean","rangeIsInterval","INTERVAL_TO_STRING_MAP","today","yesterday","last7Days","last30Days","last90Days","last180Days","last365Days","all","DATE_INTERVALS","Object","keys","rangeOrIntervalToString","startDate","endDate","dateRangeToString","startOfDaysAgo","daysAgo","startOfDay","subDays","Date","endingToday","endOfDay","intervalToDateRange","dateInterval","dateToMatchingInterval","theDate","cond","T","DateInput","isClearable","selected","showCalendarIcon","ref","dateFormat","calendarIcon","input","focus","DateRangeRow","onStartDateChange","onEndDateChange","placeholderText","maxDate","minDate","DateIntervalDropdownItems","allText","divider","interval","DateRangeSelector","onDatesChange","initialDateRange","defaultText","updatable","initialIntervalIsRange","activeInterval","setActiveInterval","activeDateRange","setActiveDateRange","updateDateRange","updateInterval","isDateInterval","header","BooleanControl","checked","identity","inline","uuid","typeClasses","display","htmlFor","ToggleSwitch","TooltipToggleSwitch","tooltip","el","OrderingDropdown","items","isButton","handleItemClick","fieldKey","newOrderDir","toPairs","fieldValue","sortAscIcon","sortDescIcon","useShortUrlsQuery","useMemo","parsedOrderBy","split","stringToOrder","parsedTags","extra","mergedQuery","normalizedQuery","evolvedQuery","queryString","SHORT_URLS_ORDERABLE_FIELDS","dateCreated","longUrl","dateOrNull","ShortUrlsFilteringBar","ExportShortUrlsBtn","shortUrlsAmount","handleOrderBy","tagsMode","toFirstPage","setDates","setSearch","removeTag","selectedTag","updateTags","canChangeTagsMode","supportsAllTagsFiltering","toggleTagsMode","amount","placement","boundToMercureHub","getTopicsForProps","pendingUpdates","Set","createNewVisits","loadMercureInfo","topics","closeEventSource","onMessage","onTokenExpired","mercureHubUrl","token","onEventSourceMessage","onEventSourceError","status","subscriptions","topic","hubUrl","searchParams","append","es","EventSource","Authorization","onmessage","onerror","forEach","bindToMercureTopic","visit","add","setInterval","clear","clearInterval","Topics","TableOrderIcon","currentOrder","caretUpIcon","caretDownIcon","orphanVisits","shortUrlVisits","selectedBar","SET_SETTINGS","DEFAULT_SHORT_URLS_ORDERING","realTimeUpdates","enabled","shortUrlCreation","validateUrls","ui","theme","defaultInterval","shortUrlsList","defaultOrdering","mergeDeepRight","dissoc","toggleRealTimeUpdates","setRealTimeUpdatesInterval","setShortUrlCreationSettings","settings","setShortUrlsListSettings","setUiSettings","setVisitsSettings","setTagsSettings","ceil","formatter","Intl","NumberFormat","prettify","number","Number","ELLIPSIS","progressivePagination","currentPage","pageCount","pages","max","min","unshift","push","pageIsEllipsis","pageNumber","prettifyPageNumber","keyForPage","Paginator","paginator","currentQueryString","pagesCount","urlForPage","listClassName","previous","next","ShortUrlsTable","page","actualOrderBy","setActualOrderBy","pagination","addTag","newTag","updatedTags","totalItems","orderByColumn","renderOrderIcon","onTagClick","CopyToClipboardIcon","onCopy","copyIcon","Time","relative","dateObject","dateTime","getUnixTime","formatDistance","buildUrl","ShortUrlDetailLink","shortUrl","ShortUrlVisitsCount","visitsCount","maxVisits","meta","visitsLink","prettifiedMaxVisits","tooltipRef","infoIcon","ShortUrlsRow","ShortUrlsRowMenu","copiedToClipboard","setCopiedToClipboard","setActive","isFirstRun","data-th","DropdownBtnMenu","menuIcon","DeleteShortUrlModal","QrCodeModal","isQrModalOpen","toggleQrCode","isDeleteModalOpen","toggleDelete","pieChartIcon","qrIcon","deleteIcon","ShortUrlForm","CreateShortUrlResult","shortUrlCreationResult","resetCreateShortUrl","basicMode","shortUrlCreationSettings","customSlug","shortCodeLength","validSince","validUntil","findIfExists","validateUrl","forwardQuery","getInitialState","saving","mode","onSave","canBeClosed","Result","small","parseApiError","response","isInvalidDeletionError","ShlinkApiError","errorData","fallbackMessage","detail","invalidElements","shortUrlDeletion","resetDeleteShortUrl","inputValue","setInputValue","handleDeleteUrl","catch","centered","onSubmit","result","showCopyTooltip","setShowCopyTooltip","closeIcon","shortUrlMatches","CREATE_VISITS","createdVisits","DELETE_SHORT_URL_START","DELETE_SHORT_URL_ERROR","SHORT_URL_DELETED","RESET_DELETE_SHORT_URL","dispatch","CREATE_SHORT_URL_START","CREATE_SHORT_URL_ERROR","CREATE_SHORT_URL","RESET_CREATE_SHORT_URL","_","EDIT_SHORT_URL_START","EDIT_SHORT_URL_ERROR","SHORT_URL_EDITED","editShortUrl","sendTagsSeparately","supportsTagsInPatch","Promise","LIST_SHORT_URLS_START","LIST_SHORT_URLS_ERROR","LIST_SHORT_URLS","assocPath","currentShortUrl","lastVisit","last","assoc","ITEMS_IN_OVERVIEW_PAGE","editedShortUrl","actionableFieldClasses","orderableColumnsClasses","tableClasses","supportsTitle","supportsShortUrlTitle","colSpan","QrFormatDropdown","setFormat","QrErrorCorrectionDropdown","errorCorrection","setErrorCorrection","imageDownloader","ForServerVersion","setSize","margin","setMargin","capabilities","useSizeInPath","supportsQrCodeSizeInQuery","marginIsSupported","supportsQrCodeMargin","errorCorrectionIsSupported","supportsQrErrorCorrection","willRenderThreeControls","qrCodeUrl","buildQrCodeUrl","totalSize","modalSize","step","src","alt","minVersion","block","saveImage","downloadIcon","Checkbox","InfoModal","UseExistingIfFoundInfoIcon","isModalOpen","toggleModal","InfoTooltip","ShortUrlFormCheckboxGroup","infoTooltip","normalizeTag","toDate","dynamicColClasses","TagsSelector","DomainSelector","shortUrlData","setShortUrlData","isEdit","isBasicMode","hadTitleOriginally","resolveNewTitle","hasNewTitle","matcher","submit","renderOptionalInput","fromGroupProps","renderDateInput","basicComponents","bsSize","required","selectedTags","showCustomizeCard","limitAccessCardClasses","showCrawlableControl","supportsCrawlableVisits","showForwardQueryControl","supportsForwardQuery","showBehaviorCard","extraChecksCardClasses","crawlable","shortUrlDetail","getShortUrlDetail","shortUrlEdition","goBack","savingError","savingErrorData","savingSucceeded","isSuccessful","isNotSuccessful","Message","faArrowLeft","GET_SHORT_URL_DETAIL_START","GET_SHORT_URL_DETAIL_ERROR","GET_SHORT_URL_DETAIL","ExportBtn","faFileDownload","startLoading","stopLoading","exportAllUrls","totalPages","loadAllUrls","itemsPerPage","concat","createdAt","LabeledFormGroup","label","labelClassName","noMargin","InputFormGroup","ServerForm","initialValues","setName","setUrl","setApiKey","handleSubmit","DuplicatedServersModal","duplicatedServers","onDiscard","hasMultipleServers","ImportResult","CreateServer","ImportServersBtn","createServer","serversImported","setServersImported","errorImporting","setErrorImporting","isConfirmModalOpen","toggleConfirmModal","serverData","setServerData","save","NoMenuLayout","tooltipPlacement","onImport","onImportError","nav","inNavbar","serverIcon","plusIcon","DeleteServerModal","deleteServer","redirectHome","showModal","hideModal","EditServer","editServer","serversFiltering","importServersFromFile","createServers","fileRef","serversToCreate","setServersToCreate","setDuplicatedServers","create","createAllServers","createNonDuplicatedServers","complement","onFile","files","existingServers","hasDuplicatedServers","click","importIcon","accept","SELECT_SERVER","RESET_SELECTED_SERVER","toSemVer","getServerVersion","memoizeWith","_serverId","resetSelectedServer","serverNotFound","serverNotReachable","EDIT_SERVER","DELETE_SERVER","CREATE_SERVERS","SET_AUTO_CONNECT","newServers","fromPairs","evaluatedServerId","serversListToMap","reduce","acc","setAutoConnect","responseToServersList","Array","isArray","fetchServers","homepage","remoteList","maxVersion","versionMatch","fullWidth","HighlightCard","link","buildExtraProps","linkIcon","tagsList","loadVisitsOverview","visitsOverview","loadingTags","loadingVisits","orphanVisitsCount","linkToOrphanVisits","linkToNonOrphanVisits","encodeURIComponent","ManageServers","serversExporter","ManageServersRow","allServers","setServersList","hasAutoConnect","exportServers","exportIcon","width","ManageServersRowDropdown","checkIcon","isMenuOpen","toggleMenu","serverUrl","isAutoConnect","autoConnectIcon","toggleOffIcon","toggleOnIcon","connectIcon","validateServer","validateServers","every","ServersImporter","csvJson","fileReaderFactory","file","reader","resolve","addEventListener","content","toString","toObject","readAsText","ServersExporter","FileReader","OpenStreetMapTile","TileLayer","attribution","calculateMapProps","locations","bounds","zoom","center","latLong","MapModal","contentClassName","MapContainer","cityName","count","Marker","position","Popup","VisitsHeader","ShortUrlVisitsHeader","shortLink","longLink","visitsStatsTitle","NavPillItem","RouterNavLink","NavPills","pills","Children","child","isValidElement","DEFAULT","BROWSERS_WHITELIST","extractDomain","includes","fillTheGaps","labels","zipObj","pointerOnHover","native","firstElement","renderChartLabel","dataset","formattedValue","renderPieChartLabel","STEPS_MAP","monthly","weekly","daily","hourly","STEP_TO_DURATION_MAP","hours","days","weeks","months","STEP_TO_DIFF_FUNC_MAP","differenceInHours","differenceInDays","differenceInWeeks","differenceInMonths","STEP_TO_DATE_FORMAT","firstWeekDay","startOfISOWeek","lastWeekDay","endOfISOWeek","groupVisitsByStep","countBy","generateLabelsAndGroupedVisits","groupedVisitsWithGaps","skipNoElements","diffFunc","newerDate","oldestDate","duration","num","generateLabels","generateDataset","tension","borderColor","selectedLabel","chartElementAtEvent","datasetsByPoint","setSelectedVisits","chart","LineChartCard","highlightedVisits","highlightedLabel","oldestVisitDate","now","always","determineInitialStep","setStep","skipNoVisits","toggleSkipNoVisits","visitsToDatasetGroups","reverse","groupedVisits","groupedHighlighted","generateChartDatasets","mainDataset","HIGHLIGHTED_COLOR","maintainAspectRatio","plugins","legend","intersect","axis","callbacks","scales","y","beginAtZero","ticks","precision","x","onHover","renderLineChart","datasets","getElementAtEvent","entries","menuText","SimplePaginator","setCurrentPage","searchVisits","browser","os","referer","country","city","visitedUrl","visitMatchesSearch","calculateVisits","allVisits","sortedVisits","sortVisits","total","visitsGroups","splitEvery","VisitsTable","selectedVisits","matchMedia","isOrphanVisits","headerCellsClass","matchMobile","matches","isMobileDevice","setIsMobileDevice","setOrder","resultSet","setPage","supportsBots","supportsBotVisits","fullSizeColSpan","listener","removeEventListener","flat","botIcon","isSelected","v","potentialBot","OpenMapModalBtn","modalTitle","activeCities","mapIsOpened","openMap","closeMap","dropdownIsOpened","toggleDropdown","openDropdown","locationsToShow","setLocationsToShow","buttonRef","openMapWithLocations","filtered","mapIcon","isOrphanVisit","groupNewVisitsByType","groupBy","newVisit","regularVisits","highlightedVisitsToStats","property","toApiParams","excludeBots","visitHasProperty","propertyName","optionalNumericToNumber","numeric","parseFloat","updateLocationsStatsForVisit","updateCountriesStatsForVisit","updateCitiesStatsForVisit","processStatsFromVisits","osStats","updateOsStatsForVisit","browsersStats","updateBrowsersStatsForVisit","browsers","referrersStats","updateReferrersStatsForVisit","referrers","countries","cities","citiesForMapStats","latitude","longitude","currentCity","updateCitiesForMapForVisit","citiesForMap","visitedUrlsStats","isNormalizedOrphanVisit","updateVisitedUrlsForVisit","visitedUrls","normalizeVisits","userAgent","visitLocation","common","bowser","parseUserAgent","countryName","VisitsFilterDropdown","botsSupported","orphanVisitsType","propsForOrphanVisitsTypeItem","DoughnutChartLegend","config","defaultColor","isDarkThemeEnabled","PRIMARY_DARK_COLOR","PRIMARY_LIGHT_COLOR","borderWidth","DoughnutChart","memo","chartRef","setChartRef","chartData","generateChartData","height","ChartCard","footer","DoughnutChartCard","PaginationDropdown","toggleClassName","ranges","Infinity","dropLabelIfHidden","highlightedData","MAIN_COLOR_ALPHA","HIGHLIGHTED_COLOR_ALPHA","HorizontalBarChart","highlightedStats","statsAreDefined","highlightedKey","stacked","indexAxis","determineHeight","renderChartComponent","customKey","toLowerIfString","toLower","pickKeyFromPair","pickValueFromPair","SortableBarChartCard","sortingItems","extraHeaderContent","withPagination","setItemsPerPage","determineCurrentPagePairs","firstPageLength","i","sortedPairs","pairs","sortBy","getSortedPairsForStats","sortedKeys","sortedHighlightedPairs","currentPageStats","currentPageHighlightedStats","highlightedPages","determineStats","sections","byTime","subPath","faCalendarAlt","byContext","faChartPie","byLocation","faMapMarkedAlt","faList","VisitsStats","visitsInfo","getVisits","cancelGetVisits","loadingLarge","progress","fallbackInterval","initialInterval","setInitialInterval","setDateRange","setHighlightedVisits","setHighlightedLabel","visitsFilter","setVisitsFilter","buildSectionUrl","normalizedVisits","mapLocations","highlightVisitsForProp","newSelectedBar","propEq","striped","cancelGetShortUrlVisits","doIntervalFallback","TagVisitsHeader","tagVisits","cancelGetTagVisits","OrphanVisitsHeader","cancelGetOrphanVisits","NonOrphanVisitsHeader","nonOrphanVisits","cancelGetNonOrphanVisits","ITEMS_PER_PAGE","isLastPage","calcProgress","getVisitsWithLoader","visitsLoader","lastVisitLoader","extraFinishActionData","actionMap","shouldCancel","loadVisitsInParallel","flatten","loadPagesBlocks","pagesBlocks","loadVisits","pagesRange","fallbackToInterval","finish","lastVisitLoaderForLoader","loader","GET_SHORT_URL_VISITS_START","GET_SHORT_URL_VISITS_ERROR","GET_SHORT_URL_VISITS","GET_SHORT_URL_VISITS_LARGE","GET_SHORT_URL_VISITS_CANCEL","GET_SHORT_URL_VISITS_PROGRESS_CHANGED","GET_SHORT_URL_VISITS_FALLBACK_TO_INTERVAL","cancelLoad","newVisits","GET_TAG_VISITS_START","GET_TAG_VISITS_ERROR","GET_TAG_VISITS","GET_TAG_VISITS_LARGE","GET_TAG_VISITS_CANCEL","GET_TAG_VISITS_PROGRESS_CHANGED","GET_TAG_VISITS_FALLBACK_TO_INTERVAL","GET_ORPHAN_VISITS_START","GET_ORPHAN_VISITS_ERROR","GET_ORPHAN_VISITS","GET_ORPHAN_VISITS_LARGE","GET_ORPHAN_VISITS_CANCEL","GET_ORPHAN_VISITS_PROGRESS_CHANGED","GET_ORPHAN_VISITS_FALLBACK_TO_INTERVAL","matchesType","GET_NON_ORPHAN_VISITS_START","GET_NON_ORPHAN_VISITS_ERROR","GET_NON_ORPHAN_VISITS","GET_NON_ORPHAN_VISITS_LARGE","GET_NON_ORPHAN_VISITS_CANCEL","GET_NON_ORPHAN_VISITS_PROGRESS_CHANGED","GET_NON_ORPHAN_VISITS_FALLBACK_TO_INTERVAL","GET_OVERVIEW_START","GET_OVERVIEW_ERROR","GET_OVERVIEW","visitsParser","TagBullet","toComponentTag","searchMode","tagFilteringMode","tagComponent","onDelete","suggestions","suggestionComponent","allowNew","addOnBlur","minQueryLength","delimiters","suggestionsTransform","removedTagIndex","tagsCopy","splice","onAddition","TagCard","DeleteTagConfirmModal","EditTagModal","displayed","isEditModalOpen","toggleEdit","hasTitle","displayTitle","titleRef","scrollWidth","clientWidth","faLink","faEye","deleteTag","tagDelete","tagDeleted","deleting","doDelete","tagEdited","tagEdit","newTagName","setNewTagName","setColor","showColorPicker","toggleColorPicker","hideColorPicker","editing","saveTag","onClosed","colorIcon","hideArrow","popperClassName","TAGS_ORDERABLE_FIELDS","TagsModeDropdown","renderTitle","cardsIcon","TagsCards","TagsTable","filterTags","forceListTags","defaultMode","setMode","resolveSortedTags","filteredTags","shortUrlsCount","normalizedTags","sortedTags","renderContent","DELETE_TAG_START","DELETE_TAG_ERROR","DELETE_TAG","TAG_DELETED","EDIT_TAG_START","EDIT_TAG_ERROR","EDIT_TAG","TAG_EDITED","pick","LIST_TAGS_START","LIST_TAGS_ERROR","LIST_TAGS","FILTER_TAGS","renameTag","rejectTag","tagToReject","calculateVisitsPerTag","increase","tagStats","stateTags","displayedTag","setDisplayedTag","tagsCount","tagsGroups","group","TagsTableRow","pageFromQuery","showPaginator","isDropdownOpen","listTagsActionFactory","force","processedStats","factory","GET_MERCURE_INFO_START","GET_MERCURE_INFO_ERROR","GET_MERCURE_INFO","info","FormText","RealTimeUpdatesSettings","SettingsSections","Settings","RealTimeUpdates","ShortUrlCreation","UserInterface","Visits","Tags","tagFilteringModeText","ShortUrlCreationSettings","changeTagsFilteringMode","UserInterfaceSettings","faMoon","faSun","useDarkTheme","changeThemeInMarkup","DateIntervalSelector","VisitsSettings","TagsSettings","ShortUrlsListSettings","replaceAuthorityFromUri","uri","newAuthority","schema","pathParts","normalizedPath","EDIT_DOMAIN_REDIRECTS","redirects","LIST_DOMAINS_START","LIST_DOMAINS_ERROR","LIST_DOMAINS","FILTER_DOMAINS","VALIDATE_DOMAIN","filteredDomains","replaceRedirectsOnDomain","replaceStatusOnDomain","defaultRedirects","filterDomains","checkDomainHealth","domainsList","inputDisplayed","showInput","hideInput","valueIsEmpty","unselectDomain","faUndo","trigger","isDefault","FormGroup","isLast","EditDomainRedirectsModal","baseUrlRedirect","setBaseUrlRedirect","regular404Redirect","setRegular404Redirect","invalidShortUrlRedirect","setInvalidShortUrlRedirect","DomainStatusIcon","matchesMobile","isMobile","setIsMobile","loadingStatusIcon","spin","invalidIcon","autohide","Nr","fallback","DefaultDomain","defaultDomainIcon","DomainRow","authority","canEditDomain","supportsDefaultDomainRedirectsEdition","forbiddenIcon","resolvedDefaultRedirects","column","APP_UPDATE_AVAILABLE","RESET_APP_UPDATE","appUpdateAvailable","resetAppUpdate","AppUpdateBanner","forceUpdate","isUpdating","setUpdating","reloadIcon","navigator","serviceWorker","getRegistrations","registrations","registration","waiting","postMessage","App","appUpdated","isHome","Bottle","container","mapActionService","actionName","serviceName","lazyService","propsFromState","actionServiceNames","reduxConnect","provideAppServices","provideCommonServices","provideApiServices","provideShortUrlsServices","provideServersServices","provideTagsServices","provideVisitsServices","provideUtilsServices","provideMercureServices","provideSettingsServices","provideDomainsServices","combineReducers","serversReducer","selectedServerReducer","shortUrlsListReducer","shortUrlCreationReducer","shortUrlDeletionReducer","shortUrlEditionReducer","shortUrlVisitsReducer","tagVisitsReducer","orphanVisitsReducer","nonOrphanVisitsReducer","shortUrlDetailReducer","tagsListReducer","tagDeleteReducer","tagEditReducer","mercureInfoReducer","settingsReducer","domainsListReducer","visitsOverviewReducer","appUpdatesReducer","sidebarReducer","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","localStorageConfig","states","namespace","namespaceSeparator","debounce","preloadedState","migrateDeprecatedSettings","load","store","createStore","reducers","applyMiddleware","ReduxThunk","isLocalhost","hostname","registerValidSW","swUrl","register","onupdatefound","installingWorker","installing","onstatechange","controller","log","onUpdate","onSuccess","L","Icon","Default","prototype","_getIconUrl","mergeOptions","iconRetinaUrl","marker2x","iconUrl","marker","shadowUrl","markerShadow","render","basename","getElementById","process","origin","fetch","contentType","indexOf","ready","unregister","checkValidServiceWorker","registerServiceWorker","serverMatchesVersions","versions","getElementsByTagName","setAttribute","getAttribute","qs","ignoreQueryPrefix","arrayFormat","getClassForType","default","getTextClassForType","preloader","versionToMatch","matchesMinVersion","compare","versionIsValidSemVer","defaultValue","createElement","visibility","appendChild","removeChild","blob","Blob","SIDEBAR_PRESENT","SIDEBAR_NOT_PRESENT"],"mappings":"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","file":"static/js/main.7bd31f28.chunk.js","sourcesContent":["import { MAIN_COLOR } from '../../utils/theme';\n\nexport interface ShlinkLogoProps {\n color?: string;\n className?: string;\n}\n\nexport const ShlinkLogo = ({ color = MAIN_COLOR, className }: ShlinkLogoProps) => (\n \n \n \n \n \n \n \n \n);\n","import { FC, useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\nimport Message from '../../utils/Message';\nimport { isNotFoundServer, SelectedServer } from '../data';\nimport { NoMenuLayout } from '../../common/NoMenuLayout';\n\ninterface WithSelectedServerProps {\n selectServer: (serverId: string) => void;\n selectedServer: SelectedServer;\n}\n\nexport function withSelectedServer(WrappedComponent: FC, ServerError: FC) {\n return (props: WithSelectedServerProps & T) => {\n const params = useParams<{ serverId: string }>();\n const { selectServer, selectedServer } = props;\n\n useEffect(() => {\n params.serverId && selectServer(params.serverId);\n }, [ params.serverId ]);\n\n if (!selectedServer) {\n return (\n \n \n \n );\n }\n\n if (isNotFoundServer(selectedServer)) {\n return ;\n }\n\n return ;\n };\n}\n","import { FC } from 'react';\nimport { Link } from 'react-router-dom';\nimport { SimpleCard } from '../utils/SimpleCard';\n\ninterface NotFoundProps {\n to?: string;\n}\n\nconst NotFound: FC = ({ to = '/', children = 'Home' }) => (\n
\n \n

Oops! We could not find requested route.

\n

\n Use your browser's back button to navigate to the page you have previously come from, or just press this\n button.\n

\n
\n {children}\n
\n
\n);\n\nexport default NotFound;\n","import { FC } from 'react';\nimport { ListGroup, ListGroupItem } from 'reactstrap';\nimport { Link } from 'react-router-dom';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronRight as chevronIcon } from '@fortawesome/free-solid-svg-icons';\nimport { ServerWithId } from './data';\nimport './ServersListGroup.scss';\n\ninterface ServersListGroupProps {\n servers: ServerWithId[];\n embedded?: boolean;\n}\n\nconst ServerListItem = ({ id, name }: { id: string; name: string }) => (\n \n {name}\n \n \n);\n\nconst ServersListGroup: FC = ({ servers, children, embedded = false }) => (\n <>\n {children &&
{children}
}\n {servers.length > 0 && (\n \n {servers.map(({ id, name }) => )}\n \n )}\n \n);\n\nexport default ServersListGroup;\n","import { useState, useRef, EffectCallback, DependencyList, useEffect } from 'react';\nimport { useSwipeable as useReactSwipeable } from 'react-swipeable';\nimport { useNavigate } from 'react-router-dom';\nimport { parseQuery, stringifyQuery } from './query';\n\nconst DEFAULT_DELAY = 2000;\n\nexport type StateFlagTimeout = (initialValue?: boolean, delay?: number) => [ boolean, () => void ];\n\nexport const useStateFlagTimeout = (\n setTimeout: (callback: Function, timeout: number) => number,\n clearTimeout: (timer: number) => void,\n): StateFlagTimeout => (initialValue = false, delay = DEFAULT_DELAY) => {\n const [ flag, setFlag ] = useState(initialValue);\n const timeout = useRef(undefined);\n const callback = () => {\n setFlag(!initialValue);\n\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n\n timeout.current = setTimeout(() => setFlag(initialValue), delay);\n };\n\n return [ flag, callback ];\n};\n\ntype ToggleResult = [ boolean, () => void, () => void, () => void ];\n\nexport const useToggle = (initialValue = false): ToggleResult => {\n const [ flag, setFlag ] = useState(initialValue);\n\n return [ flag, () => setFlag(!flag), () => setFlag(true), () => setFlag(false) ];\n};\n\nexport const useSwipeable = (showSidebar: () => void, hideSidebar: () => void) => {\n const swipeMenuIfNoModalExists = (callback: () => void) => (e: any) => {\n const swippedOnVisitsTable = (e.event.composedPath() as HTMLElement[]).some( // eslint-disable-line @typescript-eslint/no-unsafe-call\n ({ classList }) => classList?.contains('visits-table'),\n );\n\n if (swippedOnVisitsTable || document.querySelector('.modal')) {\n return;\n }\n\n callback();\n };\n\n return useReactSwipeable({\n delta: 40,\n onSwipedLeft: swipeMenuIfNoModalExists(hideSidebar),\n onSwipedRight: swipeMenuIfNoModalExists(showSidebar),\n });\n};\n\nexport const useQueryState = (paramName: string, initialState: T): [ T, (newValue: T) => void ] => {\n const [ value, setValue ] = useState(initialState);\n const setValueWithLocation = (value: T) => {\n const { location, history } = window;\n const query = parseQuery(location.search);\n\n query[paramName] = value;\n history.pushState(null, '', `${location.pathname}?${stringifyQuery(query)}`);\n setValue(value);\n };\n\n return [ value, setValueWithLocation ];\n};\n\nexport const useEffectExceptFirstTime = (callback: EffectCallback, deps: DependencyList): void => {\n const isFirstLoad = useRef(true);\n\n useEffect(() => {\n !isFirstLoad.current && callback();\n isFirstLoad.current = false;\n }, deps);\n};\n\nexport const useGoBack = () => {\n const navigate = useNavigate();\n\n return () => navigate(-1);\n};\n","import axios from 'axios';\nimport Bottle from 'bottlejs';\nimport ScrollToTop from '../ScrollToTop';\nimport MainHeader from '../MainHeader';\nimport Home from '../Home';\nimport MenuLayout from '../MenuLayout';\nimport AsideMenu from '../AsideMenu';\nimport ErrorHandler from '../ErrorHandler';\nimport ShlinkVersionsContainer from '../ShlinkVersionsContainer';\nimport { ConnectDecorator } from '../../container/types';\nimport { withoutSelectedServer } from '../../servers/helpers/withoutSelectedServer';\nimport { sidebarNotPresent, sidebarPresent } from '../reducers/sidebar';\nimport { ImageDownloader } from './ImageDownloader';\nimport { ReportExporter } from './ReportExporter';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Services\n bottle.constant('window', (global as any).window);\n bottle.constant('console', global.console);\n bottle.constant('axios', axios);\n\n bottle.service('ImageDownloader', ImageDownloader, 'axios', 'window');\n bottle.service('ReportExporter', ReportExporter, 'window', 'csvjson');\n\n // Components\n bottle.serviceFactory('ScrollToTop', ScrollToTop);\n\n bottle.serviceFactory('MainHeader', MainHeader, 'ServersDropdown');\n\n bottle.serviceFactory('Home', () => Home);\n bottle.decorator('Home', withoutSelectedServer);\n bottle.decorator('Home', connect([ 'servers' ], [ 'resetSelectedServer' ]));\n\n bottle.serviceFactory(\n 'MenuLayout',\n MenuLayout,\n 'TagsList',\n 'ShortUrlsList',\n 'AsideMenu',\n 'CreateShortUrl',\n 'ShortUrlVisits',\n 'TagVisits',\n 'OrphanVisits',\n 'NonOrphanVisits',\n 'ServerError',\n 'Overview',\n 'EditShortUrl',\n 'ManageDomains',\n );\n bottle.decorator('MenuLayout', connect([ 'selectedServer' ], [ 'selectServer', 'sidebarPresent', 'sidebarNotPresent' ]));\n\n bottle.serviceFactory('AsideMenu', AsideMenu, 'DeleteServerButton');\n\n bottle.serviceFactory('ShlinkVersionsContainer', () => ShlinkVersionsContainer);\n bottle.decorator('ShlinkVersionsContainer', connect([ 'selectedServer', 'sidebar' ]));\n\n bottle.serviceFactory('ErrorHandler', ErrorHandler, 'window', 'console');\n\n // Actions\n bottle.serviceFactory('sidebarPresent', () => sidebarPresent);\n bottle.serviceFactory('sidebarNotPresent', () => sidebarNotPresent);\n};\n\nexport default provideServices;\n","import { FC, useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nconst ScrollToTop = (): FC => ({ children }) => {\n const location = useLocation();\n\n useEffect(() => {\n scrollTo(0, 0);\n }, [ location ]);\n\n return <>{children};\n};\n\nexport default ScrollToTop;\n","import { Component, ReactNode } from 'react';\nimport { Button } from 'reactstrap';\nimport { SimpleCard } from '../utils/SimpleCard';\n\ninterface ErrorHandlerState {\n hasError: boolean;\n}\n\nconst ErrorHandler = (\n { location }: Window,\n { error }: Console,\n) => class ErrorHandler extends Component {\n public constructor(props: object) {\n super(props);\n this.state = { hasError: false };\n }\n\n public static getDerivedStateFromError(): ErrorHandlerState {\n return { hasError: true };\n }\n\n public componentDidCatch(e: Error): void {\n if (process.env.NODE_ENV !== 'development') {\n error(e);\n }\n }\n\n public render(): ReactNode {\n if (this.state.hasError) {\n return (\n
\n \n

Oops! This is awkward :S

\n

It seems that something went wrong. Try refreshing the page or just click this button.

\n
\n \n
\n
\n );\n }\n\n return this.props.children;\n }\n};\n\nexport default ErrorHandler;\n","import { AxiosInstance } from 'axios';\nimport { saveUrl } from '../../utils/helpers/files';\n\nexport class ImageDownloader {\n public constructor(private readonly axios: AxiosInstance, private readonly window: Window) {}\n\n public async saveImage(imgUrl: string, filename: string): Promise {\n const { data } = await this.axios.get(imgUrl, { responseType: 'blob' });\n const url = URL.createObjectURL(data);\n\n saveUrl(this.window, url, filename);\n }\n}\n","import { CsvJson } from 'csvjson';\nimport { NormalizedVisit } from '../../visits/types';\nimport { ExportableShortUrl } from '../../short-urls/data';\nimport { saveCsv } from '../../utils/helpers/files';\n\nexport class ReportExporter {\n public constructor(\n private readonly window: Window,\n private readonly csvjson: CsvJson,\n ) {}\n\n public readonly exportVisits = (filename: string, visits: NormalizedVisit[]) => {\n if (!visits.length) {\n return;\n }\n\n this.exportCsv(filename, visits);\n };\n\n public readonly exportShortUrls = (shortUrls: ExportableShortUrl[]) => {\n if (!shortUrls.length) {\n return;\n }\n\n this.exportCsv('short_urls.csv', shortUrls);\n };\n\n private readonly exportCsv = (filename: string, rows: object[]) => {\n const csv = this.csvjson.toCSV(rows, { headers: 'key', wrap: true });\n\n saveCsv(this.window, csv, filename);\n };\n}\n","import Bottle from 'bottlejs';\nimport { useStateFlagTimeout } from '../helpers/hooks';\nimport LocalStorage from './LocalStorage';\nimport ColorGenerator from './ColorGenerator';\n\nconst provideServices = (bottle: Bottle) => {\n bottle.constant('localStorage', (global as any).localStorage);\n bottle.service('Storage', LocalStorage, 'localStorage');\n bottle.service('ColorGenerator', ColorGenerator, 'Storage');\n\n bottle.constant('setTimeout', global.setTimeout);\n bottle.constant('clearTimeout', global.clearTimeout);\n bottle.serviceFactory('useStateFlagTimeout', useStateFlagTimeout, 'setTimeout', 'clearTimeout');\n};\n\nexport default provideServices;\n","const PREFIX = 'shlink';\nconst buildPath = (path: string) => `${PREFIX}.${path}`;\n\nexport default class LocalStorage {\n public constructor(private readonly localStorage: Storage) {}\n\n public readonly get = (key: string): T | undefined => {\n const item = this.localStorage.getItem(buildPath(key));\n\n return item ? JSON.parse(item) as T : undefined;\n };\n\n public readonly set = (key: string, value: any) => this.localStorage.setItem(buildPath(key), JSON.stringify(value));\n}\n","import { isNil } from 'ramda';\nimport { rangeOf } from '../utils';\nimport LocalStorage from './LocalStorage';\n\nconst HEX_COLOR_LENGTH = 6;\nconst HEX_DIGITS = '0123456789ABCDEF';\nconst LIGHTNESS_BREAKPOINT = 128;\n\nconst { floor, random, sqrt, round } = Math;\nconst buildRandomColor = () =>\n `#${rangeOf(HEX_COLOR_LENGTH, () => HEX_DIGITS[floor(random() * HEX_DIGITS.length)]).join('')}`;\nconst normalizeKey = (key: string) => key.toLowerCase().trim();\nconst hexColorToRgbArray = (colorHex: string): number[] =>\n (colorHex.match(/../g) ?? []).map((hex) => parseInt(hex, 16) || 0);\n// HSP by Darel Rex Finley https://alienryderflex.com/hsp.html\nconst perceivedLightness = (r = 0, g = 0, b = 0) => round(sqrt(0.299 * r ** 2 + 0.587 * g ** 2 + 0.114 * b ** 2));\n\nexport default class ColorGenerator {\n private readonly colors: Record;\n private readonly lights: Record;\n\n public constructor(private readonly storage: LocalStorage) {\n this.colors = this.storage.get>('colors') ?? {};\n this.lights = {};\n }\n\n public readonly getColorForKey = (key: string) => {\n const normalizedKey = normalizeKey(key);\n const color = this.colors[normalizedKey];\n\n // If a color has not been set yet, generate a random one and save it\n if (!color) {\n return this.setColorForKey(normalizedKey, buildRandomColor());\n }\n\n return color;\n };\n\n public readonly setColorForKey = (key: string, color: string) => {\n const normalizedKey = normalizeKey(key);\n\n this.colors[normalizedKey] = color;\n this.storage.set('colors', this.colors);\n\n return color;\n };\n\n public readonly isColorLightForKey = (key: string): boolean => {\n const colorHex = this.getColorForKey(key).substring(1);\n\n if (isNil(this.lights[colorHex])) {\n const rgb = hexColorToRgbArray(colorHex);\n\n this.lights[colorHex] = perceivedLightness(...rgb) >= LIGHTNESS_BREAKPOINT;\n }\n\n return this.lights[colorHex];\n };\n}\n","import { pipe } from 'ramda';\nimport { ExternalLink } from 'react-external-link';\nimport { versionToPrintable, versionToSemVer } from '../utils/helpers/version';\nimport { isReachableServer, SelectedServer } from '../servers/data';\n\nconst SHLINK_WEB_CLIENT_VERSION = '%_VERSION_%';\nconst normalizeVersion = pipe(versionToSemVer(), versionToPrintable);\n\nexport interface ShlinkVersionsProps {\n selectedServer: SelectedServer;\n clientVersion?: string;\n}\n\nconst VersionLink = ({ project, version }: { project: 'shlink' | 'shlink-web-client'; version: string }) => (\n \n {version}\n \n);\n\nconst ShlinkVersions = ({ selectedServer, clientVersion = SHLINK_WEB_CLIENT_VERSION }: ShlinkVersionsProps) => {\n const normalizedClientVersion = normalizeVersion(clientVersion);\n\n return (\n \n {isReachableServer(selectedServer) &&\n <>Server: - \n }\n Client: \n \n );\n};\n\nexport default ShlinkVersions;\n","import classNames from 'classnames';\nimport { SelectedServer } from '../servers/data';\nimport ShlinkVersions from './ShlinkVersions';\nimport { Sidebar } from './reducers/sidebar';\nimport './ShlinkVersionsContainer.scss';\n\nexport interface ShlinkVersionsContainerProps {\n selectedServer: SelectedServer;\n sidebar: Sidebar;\n}\n\nconst ShlinkVersionsContainer = ({ selectedServer, sidebar }: ShlinkVersionsContainerProps) => {\n const classes = classNames('text-center', {\n 'shlink-versions-container--with-sidebar': sidebar.sidebarPresent,\n });\n\n return (\n
\n \n
\n );\n};\n\nexport default ShlinkVersionsContainer;\n","import { faChevronDown as arrowIcon, faCogs as cogsIcon } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { FC, useEffect } from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nimport { Collapse, Nav, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink } from 'reactstrap';\nimport classNames from 'classnames';\nimport { useToggle } from '../utils/helpers/hooks';\nimport { ShlinkLogo } from './img/ShlinkLogo';\nimport './MainHeader.scss';\n\nconst MainHeader = (ServersDropdown: FC) => () => {\n const [ isOpen, toggleOpen, , close ] = useToggle();\n const location = useLocation();\n const { pathname } = location;\n\n useEffect(close, [ location ]);\n\n const settingsPath = '/settings';\n const toggleClass = classNames('main-header__toggle-icon', { 'main-header__toggle-icon--opened': isOpen });\n\n return (\n \n \n Shlink\n \n\n \n \n \n\n \n \n \n \n );\n};\n\nexport default MainHeader;\n","import { useEffect } from 'react';\nimport { isEmpty, values } from 'ramda';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { Card, Row } from 'reactstrap';\nimport { ExternalLink } from 'react-external-link';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faExternalLinkAlt, faPlus } from '@fortawesome/free-solid-svg-icons';\nimport ServersListGroup from '../servers/ServersListGroup';\nimport { ServersMap } from '../servers/data';\nimport { ShlinkLogo } from './img/ShlinkLogo';\nimport './Home.scss';\n\nexport interface HomeProps {\n servers: ServersMap;\n}\n\nconst Home = ({ servers }: HomeProps) => {\n const navigate = useNavigate();\n const serversList = values(servers);\n const hasServers = !isEmpty(serversList);\n\n useEffect(() => {\n // Try to redirect to the first server marked as auto-connect\n const autoConnectServer = serversList.find(({ autoConnect }) => autoConnect);\n\n autoConnectServer && navigate(`/server/${autoConnectServer.id}`);\n }, []);\n\n return (\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n

Welcome!

\n
\n \n {!hasServers && (\n
\n

This application will help you manage your Shlink servers.

\n

\n \n Add a server\n \n

\n

\n \n \n Learn more about Shlink \n \n \n

\n
\n )}\n
\n
\n
\n
\n
\n );\n};\n\nexport default Home;\n","import { FC, useEffect } from 'react';\nimport { Navigate, Route, Routes, useLocation } from 'react-router-dom';\nimport { faBars as burgerIcon } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport { withSelectedServer } from '../servers/helpers/withSelectedServer';\nimport { useSwipeable, useToggle } from '../utils/helpers/hooks';\nimport { supportsDomainRedirects, supportsNonOrphanVisits, supportsOrphanVisits } from '../utils/helpers/features';\nimport { isReachableServer } from '../servers/data';\nimport NotFound from './NotFound';\nimport { AsideMenuProps } from './AsideMenu';\nimport './MenuLayout.scss';\n\ninterface MenuLayoutProps {\n sidebarPresent: Function;\n sidebarNotPresent: Function;\n}\n\nconst MenuLayout = (\n TagsList: FC,\n ShortUrlsList: FC,\n AsideMenu: FC,\n CreateShortUrl: FC,\n ShortUrlVisits: FC,\n TagVisits: FC,\n OrphanVisits: FC,\n NonOrphanVisits: FC,\n ServerError: FC,\n Overview: FC,\n EditShortUrl: FC,\n ManageDomains: FC,\n) => withSelectedServer(({ selectedServer, sidebarNotPresent, sidebarPresent }) => {\n const location = useLocation();\n const [ sidebarVisible, toggleSidebar, showSidebar, hideSidebar ] = useToggle();\n const showContent = isReachableServer(selectedServer);\n\n useEffect(() => hideSidebar(), [ location ]);\n useEffect(() => {\n showContent && sidebarPresent();\n\n return () => sidebarNotPresent();\n }, []);\n\n if (!showContent) {\n return ;\n }\n\n const addOrphanVisitsRoute = supportsOrphanVisits(selectedServer);\n const addNonOrphanVisitsRoute = supportsNonOrphanVisits(selectedServer);\n const addManageDomainsRoute = supportsDomainRedirects(selectedServer);\n const burgerClasses = classNames('menu-layout__burger-icon', { 'menu-layout__burger-icon--active': sidebarVisible });\n const swipeableProps = useSwipeable(showSidebar, hideSidebar);\n\n return (\n <>\n \n\n
\n
\n \n
hideSidebar()}>\n
\n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n {addOrphanVisitsRoute && } />}\n {addNonOrphanVisitsRoute && } />}\n } />\n {addManageDomainsRoute && } />}\n List short URLs}\n />\n \n
\n
\n
\n
\n \n );\n}, ServerError);\n\nexport default MenuLayout;\n","import {\n faList as listIcon,\n faLink as createIcon,\n faTags as tagsIcon,\n faPen as editIcon,\n faHome as overviewIcon,\n faGlobe as domainsIcon,\n} from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { FC } from 'react';\nimport { NavLink, NavLinkProps, useLocation } from 'react-router-dom';\nimport classNames from 'classnames';\nimport { DeleteServerButtonProps } from '../servers/DeleteServerButton';\nimport { isServerWithId, SelectedServer } from '../servers/data';\nimport { supportsDomainRedirects } from '../utils/helpers/features';\nimport './AsideMenu.scss';\n\nexport interface AsideMenuProps {\n selectedServer: SelectedServer;\n className?: string;\n showOnMobile?: boolean;\n}\n\ninterface AsideMenuItemProps extends NavLinkProps {\n to: string;\n}\n\nconst AsideMenuItem: FC = ({ children, to, className, ...rest }) => (\n classNames('aside-menu__item', className, { 'aside-menu__item--selected': isActive })}\n to={to}\n {...rest}\n >\n {children}\n \n);\n\nconst AsideMenu = (DeleteServerButton: FC) => (\n { selectedServer, showOnMobile = false }: AsideMenuProps,\n) => {\n const hasId = isServerWithId(selectedServer);\n const serverId = hasId ? selectedServer.id : '';\n const { pathname } = useLocation();\n const addManageDomainsLink = supportsDomainRedirects(selectedServer);\n const asideClass = classNames('aside-menu', {\n 'aside-menu--hidden': !showOnMobile,\n });\n const buildPath = (suffix: string) => `/server/${serverId}${suffix}`;\n\n return (\n \n );\n};\n\nexport default AsideMenu;\n","import { Action } from 'redux';\n\ntype ActionHandler = (currentState: State, action: AT) => State;\ntype ActionHandlerMap = Record>;\n\nexport const buildReducer = (map: ActionHandlerMap, initialState: State) => (\n state: State | undefined,\n action: AT,\n): State => {\n const { type } = action;\n const actionHandler = map[type];\n const currentState = state ?? initialState;\n\n return actionHandler ? actionHandler(currentState, action) : currentState;\n};\n\nexport const buildActionCreator = (type: T) => (): Action => ({ type });\n","import { omit } from 'ramda';\nimport { SemVer } from '../../utils/helpers/version';\n\nexport interface ServerData {\n name: string;\n url: string;\n apiKey: string;\n}\n\nexport interface ServerWithId extends ServerData {\n id: string;\n autoConnect?: boolean;\n}\n\nexport interface ReachableServer extends ServerWithId {\n version: SemVer;\n printableVersion: string;\n}\n\nexport interface NonReachableServer extends ServerWithId {\n serverNotReachable: true;\n}\n\nexport interface NotFoundServer {\n serverNotFound: true;\n}\n\nexport type RegularServer = ReachableServer | NonReachableServer;\n\nexport type SelectedServer = RegularServer | NotFoundServer | null;\n\nexport type ServersMap = Record;\n\nexport const hasServerData = (server: SelectedServer | ServerData): server is ServerData =>\n !!(server as ServerData)?.url && !!(server as ServerData)?.apiKey;\n\nexport const isServerWithId = (server: SelectedServer | ServerWithId): server is ServerWithId =>\n !!server?.hasOwnProperty('id');\n\nexport const isReachableServer = (server: SelectedServer): server is ReachableServer =>\n !!server?.hasOwnProperty('version');\n\nexport const isNotFoundServer = (server: SelectedServer): server is NotFoundServer =>\n !!server?.hasOwnProperty('serverNotFound');\n\nexport const getServerId = (server: SelectedServer) => isServerWithId(server) ? server.id : '';\n\nexport const serverWithIdToServerData = (server: ServerWithId): ServerData =>\n omit([ 'id', 'autoConnect' ], server);\n","import { isEmpty, isNil, pipe, range } from 'ramda';\nimport { SyntheticEvent } from 'react';\n\nexport const rangeOf = (size: number, mappingFn: (value: number) => T, startAt = 1): T[] =>\n range(startAt, size + 1).map(mappingFn);\n\nexport type Empty = null | undefined | '' | never[];\n\nexport const hasValue = (value: T | Empty): value is T => !isNil(value) && !isEmpty(value);\n\nexport const handleEventPreventingDefault = (handler: () => T) => pipe(\n (e: SyntheticEvent) => e.preventDefault(),\n handler,\n);\n\nexport type Nullable = {\n [P in keyof T]: T[P] | null\n};\n\ntype Optional = T | null | undefined;\n\nexport type OptionalString = Optional;\n\nexport type RecursivePartial = {\n [P in keyof T]?: RecursivePartial;\n};\n\nexport const nonEmptyValueOrNull = (value: T): T | null => isEmpty(value) ? null : value;\n\nexport const capitalize = (value: T): string => `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n","import { Card, CardBody, CardHeader, CardProps } from 'reactstrap';\nimport { ReactNode } from 'react';\n\ninterface SimpleCardProps extends Omit {\n title?: ReactNode;\n bodyClassName?: string;\n}\n\nexport const SimpleCard = ({ title, children, bodyClassName, ...rest }: SimpleCardProps) => (\n \n {title && {title}}\n {children}\n \n);\n","import { useState } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSearch as searchIcon } from '@fortawesome/free-solid-svg-icons';\nimport classNames from 'classnames';\nimport './SearchField.scss';\n\nconst DEFAULT_SEARCH_INTERVAL = 500;\nlet timer: NodeJS.Timeout | null;\n\ninterface SearchFieldProps {\n onChange: (value: string) => void;\n className?: string;\n large?: boolean;\n noBorder?: boolean;\n initialValue?: string;\n}\n\nconst SearchField = ({ onChange, className, large = true, noBorder = false, initialValue = '' }: SearchFieldProps) => {\n const [ searchTerm, setSearchTerm ] = useState(initialValue);\n\n const resetTimer = () => {\n timer && clearTimeout(timer);\n timer = null;\n };\n const searchTermChanged = (newSearchTerm: string, timeout = DEFAULT_SEARCH_INTERVAL) => {\n setSearchTerm(newSearchTerm);\n\n resetTimer();\n\n timer = setTimeout(() => {\n onChange(newSearchTerm);\n resetTimer();\n }, timeout);\n };\n\n return (\n
\n searchTermChanged(e.target.value)}\n />\n \n
\n );\n};\n\nexport default SearchField;\n","export type OrderDir = 'ASC' | 'DESC' | undefined;\n\nexport interface Order {\n field?: Fields;\n dir?: OrderDir;\n}\n\nexport const determineOrderDir = (\n currentField: T,\n newField?: T,\n currentOrderDir?: OrderDir,\n): OrderDir => {\n if (currentField !== newField) {\n return 'ASC';\n }\n\n const newOrderMap: Record<'ASC' | 'DESC', OrderDir> = {\n ASC: 'DESC',\n DESC: undefined,\n };\n\n return currentOrderDir ? newOrderMap[currentOrderDir] : 'ASC';\n};\n\nexport const sortList = (list: List[], { field, dir }: Order>) => !field || !dir\n ? list\n : list.sort((a, b) => {\n const greaterThan = dir === 'ASC' ? 1 : -1;\n const smallerThan = dir === 'ASC' ? -1 : 1;\n\n return a[field] > b[field] ? greaterThan : smallerThan;\n });\n\nexport const orderToString = (order: Order): string | undefined =>\n order.dir ? `${order.field}-${order.dir}` : undefined;\n\nexport const stringToOrder = (order: string): Order => {\n const [ field, dir ] = order.split('-') as [ T | undefined, OrderDir | undefined ];\n\n return { field, dir };\n};\n","import { isEmpty, isNil, reject } from 'ramda';\nimport { AxiosInstance, AxiosResponse, Method } from 'axios';\nimport { ShortUrl, ShortUrlData } from '../../short-urls/data';\nimport { OptionalString } from '../../utils/utils';\nimport {\n ShlinkHealth,\n ShlinkMercureInfo,\n ShlinkShortUrlsResponse,\n ShlinkTags,\n ShlinkTagsResponse,\n ShlinkVisits,\n ShlinkVisitsParams,\n ShlinkShortUrlData,\n ShlinkDomainsResponse,\n ShlinkVisitsOverview,\n ShlinkEditDomainRedirects,\n ShlinkDomainRedirects,\n ShlinkShortUrlsListParams,\n ShlinkShortUrlsListNormalizedParams,\n} from '../types';\nimport { stringifyQuery } from '../../utils/helpers/query';\nimport { orderToString } from '../../utils/helpers/ordering';\n\nconst buildShlinkBaseUrl = (url: string) => url ? `${url}/rest/v2` : '';\nconst rejectNilProps = reject(isNil);\nconst normalizeOrderByInParams = (params: ShlinkShortUrlsListParams): ShlinkShortUrlsListNormalizedParams => {\n const { orderBy = {}, ...rest } = params;\n\n return { ...rest, orderBy: orderToString(orderBy) };\n};\n\nexport default class ShlinkApiClient {\n public constructor(\n private readonly axios: AxiosInstance,\n private readonly baseUrl: string,\n private readonly apiKey: string,\n ) {\n }\n\n public readonly listShortUrls = async (params: ShlinkShortUrlsListParams = {}): Promise =>\n this.performRequest<{ shortUrls: ShlinkShortUrlsResponse }>('/short-urls', 'GET', normalizeOrderByInParams(params))\n .then(({ data }) => data.shortUrls);\n\n public readonly createShortUrl = async (options: ShortUrlData): Promise => {\n const filteredOptions = reject((value) => isEmpty(value) || isNil(value), options as any);\n\n return this.performRequest('/short-urls', 'POST', {}, filteredOptions)\n .then((resp) => resp.data);\n };\n\n public readonly getShortUrlVisits = async (shortCode: string, query?: ShlinkVisitsParams): Promise =>\n this.performRequest<{ visits: ShlinkVisits }>(`/short-urls/${shortCode}/visits`, 'GET', query)\n .then(({ data }) => data.visits);\n\n public readonly getTagVisits = async (tag: string, query?: Omit): Promise =>\n this.performRequest<{ visits: ShlinkVisits }>(`/tags/${tag}/visits`, 'GET', query)\n .then(({ data }) => data.visits);\n\n public readonly getOrphanVisits = async (query?: Omit): Promise =>\n this.performRequest<{ visits: ShlinkVisits }>('/visits/orphan', 'GET', query)\n .then(({ data }) => data.visits);\n\n public readonly getNonOrphanVisits = async (query?: Omit): Promise =>\n this.performRequest<{ visits: ShlinkVisits }>('/visits/non-orphan', 'GET', query)\n .then(({ data }) => data.visits);\n\n public readonly getVisitsOverview = async (): Promise =>\n this.performRequest<{ visits: ShlinkVisitsOverview }>('/visits', 'GET')\n .then(({ data }) => data.visits);\n\n public readonly getShortUrl = async (shortCode: string, domain?: OptionalString): Promise =>\n this.performRequest(`/short-urls/${shortCode}`, 'GET', { domain })\n .then(({ data }) => data);\n\n public readonly deleteShortUrl = async (shortCode: string, domain?: OptionalString): Promise =>\n this.performRequest(`/short-urls/${shortCode}`, 'DELETE', { domain })\n .then(() => {});\n\n // eslint-disable-next-line valid-jsdoc\n /**\n * @deprecated. If using Shlink 2.6.0 or greater, use updateShortUrl instead\n */\n public readonly updateShortUrlTags = async (\n shortCode: string,\n domain: OptionalString,\n tags: string[],\n ): Promise =>\n this.performRequest<{ tags: string[] }>(`/short-urls/${shortCode}/tags`, 'PUT', { domain }, { tags })\n .then(({ data }) => data.tags);\n\n public readonly updateShortUrl = async (\n shortCode: string,\n domain: OptionalString,\n data: ShlinkShortUrlData,\n ): Promise =>\n this.performRequest(`/short-urls/${shortCode}`, 'PATCH', { domain }, data)\n .then(({ data }) => data);\n\n public readonly listTags = async (): Promise =>\n this.performRequest<{ tags: ShlinkTagsResponse }>('/tags', 'GET', { withStats: 'true' })\n .then((resp) => resp.data.tags)\n .then(({ data, stats }) => ({ tags: data, stats }));\n\n public readonly deleteTags = async (tags: string[]): Promise<{ tags: string[] }> =>\n this.performRequest('/tags', 'DELETE', { tags })\n .then(() => ({ tags }));\n\n public readonly editTag = async (oldName: string, newName: string): Promise<{ oldName: string; newName: string }> =>\n this.performRequest('/tags', 'PUT', {}, { oldName, newName })\n .then(() => ({ oldName, newName }));\n\n public readonly health = async (): Promise =>\n this.performRequest('/health', 'GET')\n .then((resp) => resp.data);\n\n public readonly mercureInfo = async (): Promise =>\n this.performRequest('/mercure-info', 'GET')\n .then((resp) => resp.data);\n\n public readonly listDomains = async (): Promise =>\n this.performRequest<{ domains: ShlinkDomainsResponse }>('/domains', 'GET').then(({ data }) => data.domains);\n\n public readonly editDomainRedirects = async (\n domainRedirects: ShlinkEditDomainRedirects,\n ): Promise =>\n this.performRequest('/domains/redirects', 'PATCH', {}, domainRedirects).then(({ data }) => data);\n\n private readonly performRequest = async (url: string, method: Method = 'GET', query = {}, body = {}): Promise> =>\n this.axios({\n method,\n url: `${buildShlinkBaseUrl(this.baseUrl)}${url}`,\n headers: { 'X-Api-Key': this.apiKey },\n params: rejectNilProps(query),\n data: body,\n paramsSerializer: stringifyQuery,\n });\n}\n","import { AxiosInstance } from 'axios';\nimport { prop } from 'ramda';\nimport { hasServerData, SelectedServer, ServerWithId } from '../../servers/data';\nimport { GetState } from '../../container/types';\nimport ShlinkApiClient from './ShlinkApiClient';\n\nconst apiClients: Record = {};\n\nconst isGetState = (getStateOrSelectedServer: GetState | ServerWithId): getStateOrSelectedServer is GetState =>\n typeof getStateOrSelectedServer === 'function';\nconst getSelectedServerFromState = (getState: GetState): SelectedServer => prop('selectedServer', getState());\n\nexport type ShlinkApiClientBuilder = (getStateOrSelectedServer: GetState | ServerWithId) => ShlinkApiClient;\n\nconst buildShlinkApiClient = (axios: AxiosInstance): ShlinkApiClientBuilder => (\n getStateOrSelectedServer: GetState | ServerWithId,\n) => {\n const server = isGetState(getStateOrSelectedServer)\n ? getSelectedServerFromState(getStateOrSelectedServer)\n : getStateOrSelectedServer;\n\n if (!hasServerData(server)) {\n throw new Error('There\\'s no selected server or it is not found');\n }\n\n const { url, apiKey } = server;\n const clientKey = `${url}_${apiKey}`;\n\n if (!apiClients[clientKey]) {\n apiClients[clientKey] = new ShlinkApiClient(axios, url, apiKey);\n }\n\n return apiClients[clientKey];\n};\n\nexport default buildShlinkApiClient;\n","import Bottle from 'bottlejs';\nimport buildShlinkApiClient from './ShlinkApiClientBuilder';\n\nconst provideServices = (bottle: Bottle) => {\n bottle.serviceFactory('buildShlinkApiClient', buildShlinkApiClient, 'axios');\n};\n\nexport default provideServices;\n","import { FC, MouseEventHandler } from 'react';\nimport classNames from 'classnames';\nimport ColorGenerator from '../../utils/services/ColorGenerator';\nimport './Tag.scss';\n\ninterface TagProps {\n colorGenerator: ColorGenerator;\n text: string;\n className?: string;\n clearable?: boolean;\n onClick?: MouseEventHandler;\n onClose?: MouseEventHandler;\n}\n\nconst Tag: FC = ({ text, children, clearable, className = '', colorGenerator, onClick, onClose }) => (\n \n {children ?? text}\n {clearable && ×}\n \n);\n\nexport default Tag;\n","import { FC } from 'react';\nimport { Dropdown, DropdownMenu, DropdownToggle } from 'reactstrap';\nimport { useToggle } from './helpers/hooks';\nimport './DropdownBtn.scss';\n\nexport interface DropdownBtnProps {\n text: string;\n disabled?: boolean;\n className?: string;\n dropdownClassName?: string;\n right?: boolean;\n minWidth?: number;\n}\n\nexport const DropdownBtn: FC = (\n { text, disabled = false, className = '', children, dropdownClassName, right = false, minWidth },\n) => {\n const [ isOpen, toggle ] = useToggle();\n const toggleClasses = `dropdown-btn__toggle btn-block ${className}`;\n const style = { minWidth: minWidth && `${minWidth}px` };\n\n return (\n \n {text}\n {children}\n \n );\n};\n","import { format, formatISO, isBefore, isEqual, isWithinInterval, parse, parseISO as stdParseISO } from 'date-fns';\nimport { OptionalString } from '../utils';\n\nexport type DateOrString = Date | string;\n\ntype NullableDate = DateOrString | null;\n\nexport const isDateObject = (date: DateOrString): date is Date => typeof date !== 'string';\n\nconst formatDateFromFormat = (date?: NullableDate, theFormat?: string): OptionalString => {\n if (!date || !isDateObject(date)) {\n return date;\n }\n\n return theFormat ? format(date, theFormat) : formatISO(date);\n};\n\nexport const formatDate = (format = 'yyyy-MM-dd') => (date?: NullableDate) => formatDateFromFormat(date, format);\n\nexport const formatIsoDate = (date?: NullableDate) => formatDateFromFormat(date, undefined);\n\nexport const formatInternational = formatDate();\n\nexport const parseDate = (date: string, format: string) => parse(date, format, new Date());\n\nexport const parseISO = (date: DateOrString): Date => isDateObject(date) ? date : stdParseISO(date);\n\nexport const isBetween = (date: DateOrString, start?: DateOrString, end?: DateOrString): boolean => {\n try {\n return isWithinInterval(parseISO(date), { start: parseISO(start ?? date), end: parseISO(end ?? date) });\n } catch (e) {\n return false;\n }\n};\n\nexport const isBeforeOrEqual = (date: Date | number, dateToCompare: Date | number) =>\n isEqual(date, dateToCompare) || isBefore(date, dateToCompare);\n","import { subDays, startOfDay, endOfDay } from 'date-fns';\nimport { cond, filter, isEmpty, T } from 'ramda';\nimport { DateOrString, formatInternational, isBeforeOrEqual, parseISO } from '../../helpers/date';\n\nexport interface DateRange {\n startDate?: Date | null;\n endDate?: Date | null;\n}\n\nexport type DateInterval = 'all' | 'today' | 'yesterday' | 'last7Days' | 'last30Days' | 'last90Days' | 'last180Days' | 'last365Days';\n\nexport const dateRangeIsEmpty = (dateRange?: DateRange): boolean => dateRange === undefined\n || isEmpty(filter(Boolean, dateRange as any));\n\nexport const rangeIsInterval = (range?: DateRange | DateInterval): range is DateInterval =>\n typeof range === 'string';\n\nconst INTERVAL_TO_STRING_MAP: Record = {\n today: 'Today',\n yesterday: 'Yesterday',\n last7Days: 'Last 7 days',\n last30Days: 'Last 30 days',\n last90Days: 'Last 90 days',\n last180Days: 'Last 180 days',\n last365Days: 'Last 365 days',\n all: undefined,\n};\n\nexport const DATE_INTERVALS = Object.keys(INTERVAL_TO_STRING_MAP).filter((value) => value !== 'all') as DateInterval[];\n\nconst dateRangeToString = (range?: DateRange): string | undefined => {\n if (!range || dateRangeIsEmpty(range)) {\n return undefined;\n }\n\n if (range.startDate && !range.endDate) {\n return `Since ${formatInternational(range.startDate)}`;\n }\n\n if (!range.startDate && range.endDate) {\n return `Until ${formatInternational(range.endDate)}`;\n }\n\n return `${formatInternational(range.startDate)} - ${formatInternational(range.endDate)}`;\n};\n\nexport const rangeOrIntervalToString = (range?: DateRange | DateInterval): string | undefined => {\n if (!range || range === 'all') {\n return undefined;\n }\n\n if (!rangeIsInterval(range)) {\n return dateRangeToString(range);\n }\n\n return INTERVAL_TO_STRING_MAP[range];\n};\n\nconst startOfDaysAgo = (daysAgo: number) => startOfDay(subDays(new Date(), daysAgo));\nconst endingToday = (startDate: Date): DateRange => ({ startDate, endDate: endOfDay(new Date()) });\n\nexport const intervalToDateRange = (dateInterval?: DateInterval): DateRange => {\n if (!dateInterval || dateInterval === 'all') {\n return {};\n }\n\n switch (dateInterval) {\n case 'today':\n return endingToday(startOfDay(new Date()));\n case 'yesterday':\n return { startDate: startOfDaysAgo(1), endDate: endOfDay(subDays(new Date(), 1)) };\n case 'last7Days':\n return endingToday(startOfDaysAgo(7));\n case 'last30Days':\n return endingToday(startOfDaysAgo(30));\n case 'last90Days':\n return endingToday(startOfDaysAgo(90));\n case 'last180Days':\n return endingToday(startOfDaysAgo(180));\n case 'last365Days':\n return endingToday(startOfDaysAgo(365));\n }\n\n return {};\n};\n\nexport const dateToMatchingInterval = (date: DateOrString): DateInterval => {\n const theDate: Date = parseISO(date);\n\n return cond([\n [ () => isBeforeOrEqual(startOfDay(new Date()), theDate), () => 'today' ],\n [ () => isBeforeOrEqual(startOfDaysAgo(1), theDate), () => 'yesterday' ],\n [ () => isBeforeOrEqual(startOfDaysAgo(7), theDate), () => 'last7Days' ],\n [ () => isBeforeOrEqual(startOfDaysAgo(30), theDate), () => 'last30Days' ],\n [ () => isBeforeOrEqual(startOfDaysAgo(90), theDate), () => 'last90Days' ],\n [ () => isBeforeOrEqual(startOfDaysAgo(180), theDate), () => 'last180Days' ],\n [ () => isBeforeOrEqual(startOfDaysAgo(365), theDate), () => 'last365Days' ],\n [ T, () => 'all' ],\n ])();\n};\n","import { useRef } from 'react';\nimport { isNil } from 'ramda';\nimport DatePicker, { ReactDatePickerProps } from 'react-datepicker';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCalendarAlt as calendarIcon } from '@fortawesome/free-regular-svg-icons';\nimport classNames from 'classnames';\nimport './DateInput.scss';\n\nexport type DateInputProps = ReactDatePickerProps;\n\nconst DateInput = (props: DateInputProps) => {\n const { className, isClearable, selected } = props;\n const showCalendarIcon = !isClearable || isNil(selected);\n const ref = useRef<{ input: HTMLInputElement }>();\n\n return (\n
\n \n {showCalendarIcon && (\n ref.current?.input.focus()}\n />\n )}\n
\n );\n};\n\nexport default DateInput;\n","import DateInput from '../DateInput';\nimport { DateRange } from './types';\n\ninterface DateRangeRowProps extends DateRange {\n onStartDateChange: (date: Date | null) => void;\n onEndDateChange: (date: Date | null) => void;\n disabled?: boolean;\n}\n\nconst DateRangeRow = (\n { startDate = null, endDate = null, disabled = false, onStartDateChange, onEndDateChange }: DateRangeRowProps,\n) => (\n
\n
\n \n
\n
\n \n
\n
\n);\n\nexport default DateRangeRow;\n","import { DropdownItem } from 'reactstrap';\nimport { FC } from 'react';\nimport { DATE_INTERVALS, DateInterval, rangeOrIntervalToString } from './types';\n\nexport interface DateIntervalDropdownProps {\n active?: DateInterval;\n allText: string;\n onChange: (interval: DateInterval) => void;\n}\n\nexport const DateIntervalDropdownItems: FC = ({ active, allText, onChange }) => (\n <>\n onChange('all')}>\n {allText}\n \n \n {DATE_INTERVALS.map(\n (interval) => (\n onChange(interval)}>\n {rangeOrIntervalToString(interval)}\n \n ),\n )}\n \n);\n","import { useState } from 'react';\nimport { DropdownItem } from 'reactstrap';\nimport { DropdownBtn } from '../DropdownBtn';\nimport { useEffectExceptFirstTime } from '../helpers/hooks';\nimport {\n DateInterval,\n DateRange,\n rangeOrIntervalToString,\n intervalToDateRange,\n rangeIsInterval,\n dateRangeIsEmpty,\n} from './types';\nimport DateRangeRow from './DateRangeRow';\nimport { DateIntervalDropdownItems } from './DateIntervalDropdownItems';\n\nexport interface DateRangeSelectorProps {\n initialDateRange?: DateInterval | DateRange;\n disabled?: boolean;\n onDatesChange: (dateRange: DateRange) => void;\n defaultText: string;\n updatable?: boolean;\n}\n\nexport const DateRangeSelector = (\n { onDatesChange, initialDateRange, defaultText, disabled, updatable = false }: DateRangeSelectorProps,\n) => {\n const initialIntervalIsRange = rangeIsInterval(initialDateRange);\n const [ activeInterval, setActiveInterval ] = useState(initialIntervalIsRange ? initialDateRange : undefined);\n const [ activeDateRange, setActiveDateRange ] = useState(initialIntervalIsRange ? undefined : initialDateRange);\n\n const updateDateRange = (dateRange: DateRange) => {\n setActiveInterval(dateRangeIsEmpty(dateRange) ? 'all' : undefined);\n setActiveDateRange(dateRange);\n onDatesChange(dateRange);\n };\n const updateInterval = (dateInterval: DateInterval) => {\n setActiveInterval(dateInterval);\n setActiveDateRange(undefined);\n onDatesChange(intervalToDateRange(dateInterval));\n };\n\n updatable && useEffectExceptFirstTime(() => {\n const isDateInterval = rangeIsInterval(initialDateRange);\n\n isDateInterval && updateInterval(initialDateRange);\n initialDateRange && !isDateInterval && updateDateRange(initialDateRange);\n }, [ initialDateRange ]);\n\n return (\n \n \n \n Custom:\n \n updateDateRange({ ...activeDateRange, startDate })}\n onEndDateChange={(endDate) => updateDateRange({ ...activeDateRange, endDate })}\n />\n \n \n );\n};\n","import { ChangeEvent, FC, useRef } from 'react';\nimport classNames from 'classnames';\nimport { v4 as uuid } from 'uuid';\nimport { identity } from 'ramda';\n\nexport interface BooleanControlProps {\n checked?: boolean;\n onChange?: (checked: boolean, e: ChangeEvent) => void;\n className?: string;\n inline?: boolean;\n}\n\ninterface BooleanControlWithTypeProps extends BooleanControlProps {\n type: 'switch' | 'checkbox';\n}\n\nconst BooleanControl: FC = (\n { checked = false, onChange = identity, className, children, type, inline = false },\n) => {\n const { current: id } = useRef(uuid());\n const onChecked = (e: ChangeEvent) => onChange(e.target.checked, e);\n const typeClasses = {\n 'form-switch': type === 'switch',\n 'form-checkbox': type === 'checkbox',\n };\n const style = inline ? { display: 'inline-block' } : {};\n\n return (\n \n \n \n \n );\n};\n\nexport default BooleanControl;\n","import { FC } from 'react';\nimport BooleanControl, { BooleanControlProps } from './BooleanControl';\n\nconst ToggleSwitch: FC = (props) => ;\n\nexport default ToggleSwitch;\n","import { FC, useRef } from 'react';\nimport { UncontrolledTooltip, UncontrolledTooltipProps } from 'reactstrap';\nimport { BooleanControlProps } from './BooleanControl';\nimport ToggleSwitch from './ToggleSwitch';\n\nexport type TooltipToggleSwitchProps = BooleanControlProps & { tooltip?: Omit };\n\nexport const TooltipToggleSwitch: FC = ({ children, tooltip = {}, ...rest }) => {\n const ref = useRef();\n\n return (\n <>\n {\n ref.current = el ?? undefined;\n }}\n >\n \n \n ref.current) as any} {...tooltip}>{children}\n \n );\n};\n","import { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { toPairs } from 'ramda';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSortAmountUp as sortAscIcon, faSortAmountDown as sortDescIcon } from '@fortawesome/free-solid-svg-icons';\nimport classNames from 'classnames';\nimport { determineOrderDir, Order, OrderDir } from './helpers/ordering';\nimport './OrderingDropdown.scss';\n\nexport interface OrderingDropdownProps {\n items: Record;\n order: Order;\n onChange: (orderField?: T, orderDir?: OrderDir) => void;\n isButton?: boolean;\n right?: boolean;\n}\n\nexport function OrderingDropdown(\n { items, order, onChange, isButton = true, right = false }: OrderingDropdownProps,\n) {\n const handleItemClick = (fieldKey: T) => () => {\n const newOrderDir = determineOrderDir(fieldKey, order.field, order.dir);\n\n onChange(newOrderDir ? fieldKey : undefined, newOrderDir);\n };\n\n return (\n \n \n {!isButton && <>Order by}\n {isButton && !order.field && <>Order by...}\n {isButton && order.field && `Order by: \"${items[order.field]}\" - \"${order.dir ?? 'DESC'}\"`}\n \n \n {toPairs(items).map(([ fieldKey, fieldValue ]) => (\n \n {fieldValue}\n {order.field === fieldKey && (\n \n )}\n \n ))}\n \n onChange()}>\n Clear selection\n \n \n \n );\n}\n","import { useParams, useLocation, useNavigate } from 'react-router-dom';\nimport { useMemo } from 'react';\nimport { isEmpty, pipe } from 'ramda';\nimport { parseQuery, stringifyQuery } from '../../utils/helpers/query';\nimport { ShortUrlsOrder, ShortUrlsOrderableFields } from '../data';\nimport { orderToString, stringToOrder } from '../../utils/helpers/ordering';\nimport { TagsFilteringMode } from '../../api/types';\n\ntype ToFirstPage = (extra: Partial) => void;\n\nexport interface ShortUrlListRouteParams {\n page: string;\n serverId: string;\n}\n\ninterface ShortUrlsQueryCommon {\n search?: string;\n startDate?: string;\n endDate?: string;\n tagsMode?: TagsFilteringMode;\n}\n\ninterface ShortUrlsQuery extends ShortUrlsQueryCommon {\n orderBy?: string;\n tags?: string;\n}\n\ninterface ShortUrlsFiltering extends ShortUrlsQueryCommon {\n orderBy?: ShortUrlsOrder;\n tags: string[];\n}\n\nexport const useShortUrlsQuery = (): [ShortUrlsFiltering, ToFirstPage] => {\n const navigate = useNavigate();\n const location = useLocation();\n const params = useParams<{ serverId: string }>();\n\n const query = useMemo(\n pipe(\n () => parseQuery(location.search),\n ({ orderBy, tags, ...rest }: ShortUrlsQuery): ShortUrlsFiltering => {\n const parsedOrderBy = orderBy ? stringToOrder(orderBy) : undefined;\n const parsedTags = tags?.split(',') ?? [];\n\n return { ...rest, orderBy: parsedOrderBy, tags: parsedTags };\n },\n ),\n [ location.search ],\n );\n const toFirstPageWithExtra = (extra: Partial) => {\n const { orderBy, tags, ...mergedQuery } = { ...query, ...extra };\n const normalizedQuery: ShortUrlsQuery = {\n ...mergedQuery,\n orderBy: orderBy && orderToString(orderBy),\n tags: tags.length > 0 ? tags.join(',') : undefined,\n };\n const evolvedQuery = stringifyQuery(normalizedQuery);\n const queryString = isEmpty(evolvedQuery) ? '' : `?${evolvedQuery}`;\n\n navigate(`/server/${params.serverId}/list-short-urls/1${queryString}`);\n };\n\n return [ query, toFirstPageWithExtra ];\n};\n","import { Nullable, OptionalString } from '../../utils/utils';\nimport { Order } from '../../utils/helpers/ordering';\n\nexport interface EditShortUrlData {\n longUrl?: string;\n tags?: string[];\n title?: string | null;\n validSince?: Date | string | null;\n validUntil?: Date | string | null;\n maxVisits?: number | null;\n validateUrl?: boolean;\n crawlable?: boolean;\n forwardQuery?: boolean;\n}\n\nexport interface ShortUrlData extends EditShortUrlData {\n longUrl: string;\n customSlug?: string;\n shortCodeLength?: number;\n domain?: string;\n findIfExists?: boolean;\n}\n\nexport interface ShortUrl {\n shortCode: string;\n shortUrl: string;\n longUrl: string;\n dateCreated: string;\n visitsCount: number;\n meta: Required>;\n tags: string[];\n domain: string | null;\n title?: string | null;\n crawlable?: boolean;\n forwardQuery?: boolean;\n}\n\nexport interface ShortUrlMeta {\n validSince?: string;\n validUntil?: string;\n maxVisits?: number;\n}\n\nexport interface ShortUrlModalProps {\n shortUrl: ShortUrl;\n isOpen: boolean;\n toggle: () => void;\n}\n\nexport interface ShortUrlIdentifier {\n shortCode: string;\n domain: OptionalString;\n}\n\nexport const SHORT_URLS_ORDERABLE_FIELDS = {\n dateCreated: 'Created at',\n shortCode: 'Short URL',\n longUrl: 'Long URL',\n title: 'Title',\n visits: 'Visits',\n};\n\nexport type ShortUrlsOrderableFields = keyof typeof SHORT_URLS_ORDERABLE_FIELDS;\n\nexport type ShortUrlsOrder = Order;\n\nexport interface ExportableShortUrl {\n createdAt: string;\n title: string;\n shortUrl: string;\n longUrl: string;\n tags: string;\n visits: number;\n}\n","import { FC } from 'react';\nimport { faTags as tagsIcon } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { isEmpty, pipe } from 'ramda';\nimport { parseISO } from 'date-fns';\nimport { Row } from 'reactstrap';\nimport classNames from 'classnames';\nimport SearchField from '../utils/SearchField';\nimport Tag from '../tags/helpers/Tag';\nimport { DateRangeSelector } from '../utils/dates/DateRangeSelector';\nimport { formatIsoDate } from '../utils/helpers/date';\nimport ColorGenerator from '../utils/services/ColorGenerator';\nimport { DateRange } from '../utils/dates/types';\nimport { supportsAllTagsFiltering } from '../utils/helpers/features';\nimport { SelectedServer } from '../servers/data';\nimport { TooltipToggleSwitch } from '../utils/TooltipToggleSwitch';\nimport { OrderDir } from '../utils/helpers/ordering';\nimport { OrderingDropdown } from '../utils/OrderingDropdown';\nimport { useShortUrlsQuery } from './helpers/hooks';\nimport { SHORT_URLS_ORDERABLE_FIELDS, ShortUrlsOrder, ShortUrlsOrderableFields } from './data';\nimport { ExportShortUrlsBtnProps } from './helpers/ExportShortUrlsBtn';\nimport './ShortUrlsFilteringBar.scss';\n\nexport interface ShortUrlsFilteringProps {\n selectedServer: SelectedServer;\n order: ShortUrlsOrder;\n handleOrderBy: (orderField?: ShortUrlsOrderableFields, orderDir?: OrderDir) => void;\n className?: string;\n shortUrlsAmount?: number;\n}\n\nconst dateOrNull = (date?: string) => date ? parseISO(date) : null;\n\nconst ShortUrlsFilteringBar = (\n colorGenerator: ColorGenerator,\n ExportShortUrlsBtn: FC,\n): FC => ({ selectedServer, className, shortUrlsAmount, order, handleOrderBy }) => {\n const [{ search, tags, startDate, endDate, tagsMode = 'any' }, toFirstPage ] = useShortUrlsQuery();\n const setDates = pipe(\n ({ startDate, endDate }: DateRange) => ({\n startDate: formatIsoDate(startDate) ?? undefined,\n endDate: formatIsoDate(endDate) ?? undefined,\n }),\n toFirstPage,\n );\n const setSearch = pipe(\n (searchTerm: string) => isEmpty(searchTerm) ? undefined : searchTerm,\n (search) => toFirstPage({ search }),\n );\n const removeTag = pipe(\n (tag: string) => tags.filter((selectedTag) => selectedTag !== tag),\n (updateTags) => toFirstPage({ tags: updateTags }),\n );\n const canChangeTagsMode = supportsAllTagsFiltering(selectedServer);\n const toggleTagsMode = pipe(\n () => tagsMode === 'any' ? 'all' : 'any',\n (tagsMode) => toFirstPage({ tagsMode }),\n );\n\n return (\n
\n \n\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n {tags.length > 0 && (\n

\n {canChangeTagsMode && tags.length > 1 && (\n
\n \n {tagsMode === 'all' ? 'Short URLs including all tags.' : 'Short URLs including any tag.'}\n \n
\n )}\n \n {tags.map((tag) =>\n removeTag(tag)} />)}\n

\n )}\n
\n );\n};\n\nexport default ShortUrlsFilteringBar;\n","import { FC, useEffect } from 'react';\nimport { pipe } from 'ramda';\nimport { useParams } from 'react-router-dom';\nimport { CreateVisit } from '../../visits/types';\nimport { MercureInfo } from '../reducers/mercureInfo';\nimport { bindToMercureTopic } from './index';\n\nexport interface MercureBoundProps {\n createNewVisits: (createdVisits: CreateVisit[]) => void;\n loadMercureInfo: () => void;\n mercureInfo: MercureInfo;\n}\n\nexport function boundToMercureHub(\n WrappedComponent: FC,\n getTopicsForProps: (props: T, routeParams: any) => string[],\n) {\n const pendingUpdates = new Set();\n\n return (props: MercureBoundProps & T) => {\n const { createNewVisits, loadMercureInfo, mercureInfo } = props;\n const { interval } = mercureInfo;\n const params = useParams();\n\n useEffect(() => {\n const onMessage = (visit: CreateVisit) => interval ? pendingUpdates.add(visit) : createNewVisits([ visit ]);\n const topics = getTopicsForProps(props, params);\n const closeEventSource = bindToMercureTopic(mercureInfo, topics, onMessage, loadMercureInfo);\n\n if (!interval) {\n return closeEventSource;\n }\n\n const timer = setInterval(() => {\n createNewVisits([ ...pendingUpdates ]);\n pendingUpdates.clear();\n }, interval * 1000 * 60);\n\n return pipe(() => clearInterval(timer), () => closeEventSource?.());\n }, [ mercureInfo ]);\n\n return ;\n };\n}\n","import { EventSourcePolyfill as EventSource } from 'event-source-polyfill';\nimport { MercureInfo } from '../reducers/mercureInfo';\n\nexport const bindToMercureTopic = (mercureInfo: MercureInfo, topics: string[], onMessage: (message: T) => void, onTokenExpired: () => void) => { // eslint-disable-line max-len\n const { mercureHubUrl, token, loading, error } = mercureInfo;\n\n if (loading || error || !mercureHubUrl) {\n return undefined;\n }\n\n const onEventSourceMessage = ({ data }: { data: string }) => onMessage(JSON.parse(data) as T);\n const onEventSourceError = ({ status }: { status: number }) => status === 401 && onTokenExpired();\n\n const subscriptions = topics.map((topic) => {\n const hubUrl = new URL(mercureHubUrl);\n\n hubUrl.searchParams.append('topic', topic);\n const es = new EventSource(hubUrl, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n es.onmessage = onEventSourceMessage;\n es.onerror = onEventSourceError;\n\n return es;\n });\n\n return () => subscriptions.forEach((es) => es.close());\n};\n","export class Topics {\n public static readonly visits = 'https://shlink.io/new-visit';\n\n public static readonly orphanVisits = 'https://shlink.io/new-orphan-visit';\n\n public static readonly shortUrlVisits = (shortCode: string) => `https://shlink.io/new-visit/${shortCode}`;\n}\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCaretDown as caretDownIcon, faCaretUp as caretUpIcon } from '@fortawesome/free-solid-svg-icons';\nimport { Order } from '../helpers/ordering';\n\ninterface TableOrderIconProps {\n currentOrder: Order;\n field: T;\n className?: string;\n}\n\nexport function TableOrderIcon(\n { currentOrder, field, className = 'ms-1' }: TableOrderIconProps,\n) {\n if (!currentOrder.dir || currentOrder.field !== field) {\n return null;\n }\n\n return ;\n}\n","import { isEmpty, propEq, values } from 'ramda';\nimport { useState, useEffect, useMemo, FC, useRef } from 'react';\nimport { Button, Progress, Row } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCalendarAlt, faMapMarkedAlt, faList, faChartPie } from '@fortawesome/free-solid-svg-icons';\nimport { IconDefinition } from '@fortawesome/fontawesome-common-types';\nimport { Route, Routes, Navigate } from 'react-router-dom';\nimport classNames from 'classnames';\nimport { DateRangeSelector } from '../utils/dates/DateRangeSelector';\nimport Message from '../utils/Message';\nimport { DateInterval, DateRange, intervalToDateRange } from '../utils/dates/types';\nimport { Result } from '../utils/Result';\nimport { ShlinkApiError } from '../api/ShlinkApiError';\nimport { Settings } from '../settings/reducers/settings';\nimport { SelectedServer } from '../servers/data';\nimport { supportsBotVisits } from '../utils/helpers/features';\nimport { prettify } from '../utils/helpers/numbers';\nimport { NavPillItem, NavPills } from '../utils/NavPills';\nimport { ExportBtn } from '../utils/ExportBtn';\nimport LineChartCard from './charts/LineChartCard';\nimport VisitsTable from './VisitsTable';\nimport { NormalizedOrphanVisit, NormalizedVisit, VisitsFilter, VisitsInfo, VisitsParams } from './types';\nimport OpenMapModalBtn from './helpers/OpenMapModalBtn';\nimport { normalizeVisits, processStatsFromVisits } from './services/VisitsParser';\nimport { VisitsFilterDropdown } from './helpers/VisitsFilterDropdown';\nimport { HighlightableProps, highlightedVisitsToStats } from './types/helpers';\nimport { DoughnutChartCard } from './charts/DoughnutChartCard';\nimport { SortableBarChartCard } from './charts/SortableBarChartCard';\n\nexport interface VisitsStatsProps {\n getVisits: (params: VisitsParams, doIntervalFallback?: boolean) => void;\n visitsInfo: VisitsInfo;\n settings: Settings;\n selectedServer: SelectedServer;\n cancelGetVisits: () => void;\n domain?: string;\n exportCsv: (visits: NormalizedVisit[]) => void;\n isOrphanVisits?: boolean;\n}\n\ninterface VisitsNavLinkProps {\n title: string;\n subPath: string;\n icon: IconDefinition;\n}\n\ntype Section = 'byTime' | 'byContext' | 'byLocation' | 'list';\n\nconst sections: Record = {\n byTime: { title: 'By time', subPath: 'by-time', icon: faCalendarAlt },\n byContext: { title: 'By context', subPath: 'by-context', icon: faChartPie },\n byLocation: { title: 'By location', subPath: 'by-location', icon: faMapMarkedAlt },\n list: { title: 'List', subPath: 'list', icon: faList },\n};\n\nlet selectedBar: string | undefined;\n\nconst VisitsStats: FC = ({\n children,\n visitsInfo,\n getVisits,\n cancelGetVisits,\n domain,\n settings,\n exportCsv,\n selectedServer,\n isOrphanVisits = false,\n}) => {\n const { visits, loading, loadingLarge, error, errorData, progress, fallbackInterval } = visitsInfo;\n const [ initialInterval, setInitialInterval ] = useState(\n fallbackInterval ?? settings.visits?.defaultInterval ?? 'last30Days',\n );\n const [ dateRange, setDateRange ] = useState(intervalToDateRange(initialInterval));\n const [ highlightedVisits, setHighlightedVisits ] = useState([]);\n const [ highlightedLabel, setHighlightedLabel ] = useState();\n const [ visitsFilter, setVisitsFilter ] = useState({});\n const botsSupported = supportsBotVisits(selectedServer);\n const isFirstLoad = useRef(true);\n\n const buildSectionUrl = (subPath?: string) => {\n const query = domain ? `?domain=${domain}` : '';\n\n return !subPath ? `${query}` : `${subPath}${query}`;\n };\n const normalizedVisits = useMemo(() => normalizeVisits(visits), [ visits ]);\n const { os, browsers, referrers, countries, cities, citiesForMap, visitedUrls } = useMemo(\n () => processStatsFromVisits(normalizedVisits),\n [ normalizedVisits ],\n );\n const mapLocations = values(citiesForMap);\n\n const setSelectedVisits = (selectedVisits: NormalizedVisit[]) => {\n selectedBar = undefined;\n setHighlightedVisits(selectedVisits);\n };\n const highlightVisitsForProp = (prop: HighlightableProps) => (value: string) => {\n const newSelectedBar = `${prop}_${value}`;\n\n if (selectedBar === newSelectedBar) {\n setHighlightedVisits([]);\n setHighlightedLabel(undefined);\n selectedBar = undefined;\n } else {\n setHighlightedVisits((normalizedVisits as NormalizedOrphanVisit[]).filter(propEq(prop, value)));\n setHighlightedLabel(value);\n selectedBar = newSelectedBar;\n }\n };\n\n useEffect(() => cancelGetVisits, []);\n useEffect(() => {\n getVisits({ dateRange, filter: visitsFilter }, isFirstLoad.current);\n isFirstLoad.current = false;\n }, [ dateRange, visitsFilter ]);\n useEffect(() => {\n fallbackInterval && setInitialInterval(fallbackInterval);\n }, [ fallbackInterval ]);\n\n const renderVisitsContent = () => {\n if (loadingLarge) {\n return (\n \n This is going to take a while... :S\n \n \n );\n }\n\n if (loading) {\n return ;\n }\n\n if (error) {\n return (\n \n \n \n );\n }\n\n if (isEmpty(visits)) {\n return There are no visits matching current filter :(;\n }\n\n return (\n <>\n \n {Object.values(sections).map(({ title, icon, subPath }, index) => (\n \n \n {title}\n \n ))}\n \n \n \n \n \n \n )}\n />\n\n \n
\n \n
\n
\n \n
\n
\n \n
\n {isOrphanVisits && (\n
\n \n
\n )}\n \n )}\n />\n\n \n
\n \n
\n
\n \n mapLocations.length > 0 &&\n \n }\n sortingItems={{\n name: 'City name',\n amount: 'Visits amount',\n }}\n onClick={highlightVisitsForProp('city')}\n />\n
\n \n )}\n />\n\n \n \n \n )}\n />\n\n } />\n
\n
\n \n );\n };\n\n return (\n <>\n {children}\n\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n {visits.length > 0 && (\n
\n
\n setSelectedVisits([])}\n >\n Clear selection {highlightedVisits.length > 0 && <>({prettify(highlightedVisits.length)})}\n \n exportCsv(normalizedVisits)}\n />\n
\n
\n )}\n
\n
\n\n
\n {renderVisitsContent()}\n
\n \n );\n};\n\nexport default VisitsStats;\n","import { Action } from 'redux';\nimport { dissoc, mergeDeepRight } from 'ramda';\nimport { buildReducer } from '../../utils/helpers/redux';\nimport { RecursivePartial } from '../../utils/utils';\nimport { Theme } from '../../utils/theme';\nimport { DateInterval } from '../../utils/dates/types';\nimport { TagsOrder } from '../../tags/data/TagsListChildrenProps';\nimport { ShortUrlsOrder } from '../../short-urls/data';\n\nexport const SET_SETTINGS = 'shlink/realTimeUpdates/SET_SETTINGS';\n\nexport const DEFAULT_SHORT_URLS_ORDERING: ShortUrlsOrder = {\n field: 'dateCreated',\n dir: 'DESC',\n};\n\n/**\n * Important! When adding new props in the main Settings interface or any of the nested props, they have to be set as\n * optional, as old instances of the app will load partial objects from local storage until it is saved again.\n */\n\nexport interface RealTimeUpdatesSettings {\n enabled: boolean;\n interval?: number;\n}\n\nexport type TagFilteringMode = 'startsWith' | 'includes';\n\nexport interface ShortUrlCreationSettings {\n validateUrls: boolean;\n tagFilteringMode?: TagFilteringMode;\n forwardQuery?: boolean;\n}\n\nexport type TagsMode = 'cards' | 'list';\n\nexport interface UiSettings {\n theme: Theme;\n}\n\nexport interface VisitsSettings {\n defaultInterval: DateInterval;\n}\n\nexport interface TagsSettings {\n defaultOrdering?: TagsOrder;\n defaultMode?: TagsMode;\n}\n\nexport interface ShortUrlsListSettings {\n defaultOrdering?: ShortUrlsOrder;\n}\n\nexport interface Settings {\n realTimeUpdates: RealTimeUpdatesSettings;\n shortUrlCreation?: ShortUrlCreationSettings;\n shortUrlsList?: ShortUrlsListSettings;\n ui?: UiSettings;\n visits?: VisitsSettings;\n tags?: TagsSettings;\n}\n\nconst initialState: Settings = {\n realTimeUpdates: {\n enabled: true,\n },\n shortUrlCreation: {\n validateUrls: false,\n },\n ui: {\n theme: 'light',\n },\n visits: {\n defaultInterval: 'last30Days',\n },\n shortUrlsList: {\n defaultOrdering: DEFAULT_SHORT_URLS_ORDERING,\n },\n};\n\ntype SettingsAction = Action & Settings;\n\ntype PartialSettingsAction = Action & RecursivePartial;\n\nexport default buildReducer({\n [SET_SETTINGS]: (state, action) => mergeDeepRight(state, dissoc('type', action)),\n}, initialState);\n\nexport const toggleRealTimeUpdates = (enabled: boolean): PartialSettingsAction => ({\n type: SET_SETTINGS,\n realTimeUpdates: { enabled },\n});\n\nexport const setRealTimeUpdatesInterval = (interval: number): PartialSettingsAction => ({\n type: SET_SETTINGS,\n realTimeUpdates: { interval },\n});\n\nexport const setShortUrlCreationSettings = (settings: ShortUrlCreationSettings): PartialSettingsAction => ({\n type: SET_SETTINGS,\n shortUrlCreation: settings,\n});\n\nexport const setShortUrlsListSettings = (settings: ShortUrlsListSettings): PartialSettingsAction => ({\n type: SET_SETTINGS,\n shortUrlsList: settings,\n});\n\nexport const setUiSettings = (settings: UiSettings): PartialSettingsAction => ({\n type: SET_SETTINGS,\n ui: settings,\n});\n\nexport const setVisitsSettings = (settings: VisitsSettings): PartialSettingsAction => ({\n type: SET_SETTINGS,\n visits: settings,\n});\n\nexport const setTagsSettings = (settings: TagsSettings): PartialSettingsAction => ({\n type: SET_SETTINGS,\n tags: settings,\n});\n","const TEN_ROUNDING_NUMBER = 10;\nconst { ceil } = Math;\nconst formatter = new Intl.NumberFormat('en-US');\n\nexport const prettify = (number: number | string) => formatter.format(Number(number));\n\nexport const roundTen = (number: number) => ceil(number / TEN_ROUNDING_NUMBER) * TEN_ROUNDING_NUMBER;\n","import { max, min, range } from 'ramda';\nimport { prettify } from './numbers';\n\nconst DELTA = 2;\n\nexport const ELLIPSIS = '...';\n\ntype Ellipsis = typeof ELLIPSIS;\n\nexport type NumberOrEllipsis = number | Ellipsis;\n\nexport const progressivePagination = (currentPage: number, pageCount: number): NumberOrEllipsis[] => {\n const pages: NumberOrEllipsis[] = range(\n max(DELTA, currentPage - DELTA),\n min(pageCount - 1, currentPage + DELTA) + 1,\n );\n\n if (currentPage - DELTA > DELTA) {\n pages.unshift(ELLIPSIS);\n }\n if (currentPage + DELTA < pageCount - 1) {\n pages.push(ELLIPSIS);\n }\n\n pages.unshift(1);\n pages.push(pageCount);\n\n return pages;\n};\n\nexport const pageIsEllipsis = (pageNumber: NumberOrEllipsis): pageNumber is Ellipsis => pageNumber === ELLIPSIS;\n\nexport const prettifyPageNumber = (pageNumber: NumberOrEllipsis): string =>\n pageIsEllipsis(pageNumber) ? pageNumber : prettify(pageNumber);\n\nexport const keyForPage = (pageNumber: NumberOrEllipsis, index: number) => !pageIsEllipsis(pageNumber) ? `${pageNumber}` : `${pageNumber}_${index}`;\n","import { Link } from 'react-router-dom';\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\nimport {\n pageIsEllipsis,\n keyForPage,\n progressivePagination,\n prettifyPageNumber,\n NumberOrEllipsis,\n} from '../utils/helpers/pagination';\nimport { ShlinkPaginator } from '../api/types';\n\ninterface PaginatorProps {\n paginator?: ShlinkPaginator;\n serverId: string;\n currentQueryString?: string;\n}\n\nconst Paginator = ({ paginator, serverId, currentQueryString = '' }: PaginatorProps) => {\n const { currentPage = 0, pagesCount = 0 } = paginator ?? {};\n const urlForPage = (pageNumber: NumberOrEllipsis) =>\n `/server/${serverId}/list-short-urls/${pageNumber}${currentQueryString}`;\n\n if (pagesCount <= 1) {\n return null;\n }\n\n const renderPages = () =>\n progressivePagination(currentPage, pagesCount).map((pageNumber, index) => (\n \n \n {prettifyPageNumber(pageNumber)}\n \n \n ));\n\n return (\n \n \n \n \n {renderPages()}\n = pagesCount}>\n \n \n \n );\n};\n\nexport default Paginator;\n","import { pipe } from 'ramda';\nimport { FC, useEffect, useState } from 'react';\nimport { Card } from 'reactstrap';\nimport { useLocation, useParams } from 'react-router-dom';\nimport { determineOrderDir, OrderDir } from '../utils/helpers/ordering';\nimport { getServerId, SelectedServer } from '../servers/data';\nimport { boundToMercureHub } from '../mercure/helpers/boundToMercureHub';\nimport { Topics } from '../mercure/helpers/Topics';\nimport { TableOrderIcon } from '../utils/table/TableOrderIcon';\nimport { ShlinkShortUrlsListParams } from '../api/types';\nimport { DEFAULT_SHORT_URLS_ORDERING, Settings } from '../settings/reducers/settings';\nimport { ShortUrlsList as ShortUrlsListState } from './reducers/shortUrlsList';\nimport { ShortUrlsTableProps } from './ShortUrlsTable';\nimport Paginator from './Paginator';\nimport { useShortUrlsQuery } from './helpers/hooks';\nimport { ShortUrlsOrderableFields } from './data';\nimport { ShortUrlsFilteringProps } from './ShortUrlsFilteringBar';\n\ninterface ShortUrlsListProps {\n selectedServer: SelectedServer;\n shortUrlsList: ShortUrlsListState;\n listShortUrls: (params: ShlinkShortUrlsListParams) => void;\n settings: Settings;\n}\n\nconst ShortUrlsList = (\n ShortUrlsTable: FC,\n ShortUrlsFilteringBar: FC,\n) => boundToMercureHub(({ listShortUrls, shortUrlsList, selectedServer, settings }: ShortUrlsListProps) => {\n const serverId = getServerId(selectedServer);\n const { page } = useParams();\n const location = useLocation();\n const [{ tags, search, startDate, endDate, orderBy, tagsMode }, toFirstPage ] = useShortUrlsQuery();\n const [ actualOrderBy, setActualOrderBy ] = useState(\n // This separated state handling is needed to be able to fall back to settings value, but only once when loaded\n orderBy ?? settings.shortUrlsList?.defaultOrdering ?? DEFAULT_SHORT_URLS_ORDERING,\n );\n const { pagination } = shortUrlsList?.shortUrls ?? {};\n const handleOrderBy = (field?: ShortUrlsOrderableFields, dir?: OrderDir) => {\n toFirstPage({ orderBy: { field, dir } });\n setActualOrderBy({ field, dir });\n };\n const orderByColumn = (field: ShortUrlsOrderableFields) => () =>\n handleOrderBy(field, determineOrderDir(field, actualOrderBy.field, actualOrderBy.dir));\n const renderOrderIcon = (field: ShortUrlsOrderableFields) =>\n ;\n const addTag = pipe(\n (newTag: string) => [ ...new Set([ ...tags, newTag ]) ],\n (updatedTags) => toFirstPage({ tags: updatedTags }),\n );\n\n useEffect(() => {\n listShortUrls({\n page,\n searchTerm: search,\n tags,\n startDate,\n endDate,\n orderBy: actualOrderBy,\n tagsMode,\n });\n }, [ page, search, tags, startDate, endDate, actualOrderBy, tagsMode ]);\n\n return (\n <>\n \n \n \n \n \n \n );\n}, () => [ Topics.visits ]);\n\nexport default ShortUrlsList;\n","import { FC } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCopy as copyIcon } from '@fortawesome/free-regular-svg-icons';\nimport CopyToClipboard from 'react-copy-to-clipboard';\nimport './CopyToClipboardIcon.scss';\n\ninterface CopyToClipboardIconProps {\n text: string;\n onCopy?: (text: string, result: boolean) => void;\n}\n\nexport const CopyToClipboardIcon: FC = ({ text, onCopy }) => (\n \n \n \n);\n","import { parseISO, format as formatDate, getUnixTime, formatDistance } from 'date-fns';\nimport { isDateObject } from './helpers/date';\n\nexport interface DateProps {\n date: Date | string;\n format?: string;\n relative?: boolean;\n}\n\nexport const Time = ({ date, format = 'yyyy-MM-dd HH:mm', relative = false }: DateProps) => {\n const dateObject = isDateObject(date) ? date : parseISO(date);\n\n return (\n \n );\n};\n","import { FC } from 'react';\nimport { Link } from 'react-router-dom';\nimport { isServerWithId, SelectedServer, ServerWithId } from '../../servers/data';\nimport { ShortUrl } from '../data';\n\nexport type LinkSuffix = 'visits' | 'edit';\n\nexport interface ShortUrlDetailLinkProps {\n shortUrl?: ShortUrl | null;\n selectedServer?: SelectedServer;\n suffix: LinkSuffix;\n}\n\nconst buildUrl = ({ id }: ServerWithId, { shortCode, domain }: ShortUrl, suffix: LinkSuffix) => {\n const query = domain ? `?domain=${domain}` : '';\n\n return `/server/${id}/short-code/${shortCode}/${suffix}${query}`;\n};\n\nconst ShortUrlDetailLink: FC> = (\n { selectedServer, shortUrl, suffix, children, ...rest },\n) => {\n if (!selectedServer || !isServerWithId(selectedServer) || !shortUrl) {\n return {children};\n }\n\n return {children};\n};\n\nexport default ShortUrlDetailLink;\n","import { useRef } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faInfoCircle as infoIcon } from '@fortawesome/free-solid-svg-icons';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport classNames from 'classnames';\nimport { prettify } from '../../utils/helpers/numbers';\nimport { ShortUrl } from '../data';\nimport { SelectedServer } from '../../servers/data';\nimport ShortUrlDetailLink from './ShortUrlDetailLink';\nimport './ShortUrlVisitsCount.scss';\n\ninterface ShortUrlVisitsCountProps {\n shortUrl?: ShortUrl | null;\n selectedServer?: SelectedServer;\n visitsCount: number;\n active?: boolean;\n}\n\nconst ShortUrlVisitsCount = ({ visitsCount, shortUrl, selectedServer, active = false }: ShortUrlVisitsCountProps) => {\n const maxVisits = shortUrl?.meta?.maxVisits;\n const visitsLink = (\n \n \n {prettify(visitsCount)}\n \n \n );\n\n if (!maxVisits) {\n return visitsLink;\n }\n\n const prettifiedMaxVisits = prettify(maxVisits);\n const tooltipRef = useRef();\n\n return (\n <>\n \n {visitsLink}\n {\n tooltipRef.current = el;\n }}\n >\n {' '}/ {prettifiedMaxVisits}{' '}\n \n \n \n \n \n tooltipRef.current) as any} placement=\"bottom\">\n This short URL will not accept more than {prettifiedMaxVisits} visits.\n \n \n );\n};\n\nexport default ShortUrlVisitsCount;\n","import { FC, useEffect, useRef } from 'react';\nimport { isEmpty } from 'ramda';\nimport { ExternalLink } from 'react-external-link';\nimport ColorGenerator from '../../utils/services/ColorGenerator';\nimport { StateFlagTimeout } from '../../utils/helpers/hooks';\nimport Tag from '../../tags/helpers/Tag';\nimport { SelectedServer } from '../../servers/data';\nimport { CopyToClipboardIcon } from '../../utils/CopyToClipboardIcon';\nimport { ShortUrl } from '../data';\nimport { Time } from '../../utils/Time';\nimport ShortUrlVisitsCount from './ShortUrlVisitsCount';\nimport { ShortUrlsRowMenuProps } from './ShortUrlsRowMenu';\nimport './ShortUrlsRow.scss';\n\nexport interface ShortUrlsRowProps {\n onTagClick?: (tag: string) => void;\n selectedServer: SelectedServer;\n shortUrl: ShortUrl;\n}\n\nconst ShortUrlsRow = (\n ShortUrlsRowMenu: FC,\n colorGenerator: ColorGenerator,\n useStateFlagTimeout: StateFlagTimeout,\n) => ({ shortUrl, selectedServer, onTagClick }: ShortUrlsRowProps) => {\n const [ copiedToClipboard, setCopiedToClipboard ] = useStateFlagTimeout();\n const [ active, setActive ] = useStateFlagTimeout(false, 500);\n const isFirstRun = useRef(true);\n\n const renderTags = (tags: string[]) => {\n if (isEmpty(tags)) {\n return No tags;\n }\n\n return tags.map((tag) => (\n onTagClick?.(tag)}\n />\n ));\n };\n\n useEffect(() => {\n if (isFirstRun.current) {\n isFirstRun.current = false;\n } else {\n setActive();\n }\n }, [ shortUrl.visitsCount ]);\n\n return (\n \n \n
\n \n \n setShortUrlCreationSettings({ ...shortUrlCreation, forwardQuery })}\n >\n Make all new short URLs forward their query params to the long URL.\n \n The initial state of the Forward query params on redirect checkbox will\n be {shortUrlCreation.forwardQuery ?? true ? 'checked' : 'unchecked'}.\n \n \n \n \n \n \n {tagFilteringModeText('startsWith')}\n
\n \n {tagFilteringModeText('includes')}\n \n \n {tagFilteringModeHint(shortUrlCreation.tagFilteringMode)}\n \n \n );\n};\n","import { FC } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSun, faMoon } from '@fortawesome/free-solid-svg-icons';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport ToggleSwitch from '../utils/ToggleSwitch';\nimport { changeThemeInMarkup, Theme } from '../utils/theme';\nimport { Settings, UiSettings } from './reducers/settings';\nimport './UserInterfaceSettings.scss';\n\ninterface UserInterfaceProps {\n settings: Settings;\n setUiSettings: (settings: UiSettings) => void;\n}\n\nexport const UserInterfaceSettings: FC = ({ settings: { ui }, setUiSettings }) => (\n \n \n {\n const theme: Theme = useDarkTheme ? 'dark' : 'light';\n\n setUiSettings({ ...ui, theme });\n changeThemeInMarkup(theme);\n }}\n >\n Use dark theme.\n \n \n);\n","import { FC } from 'react';\nimport { DropdownBtn } from '../DropdownBtn';\nimport { rangeOrIntervalToString } from './types';\nimport { DateIntervalDropdownItems, DateIntervalDropdownProps } from './DateIntervalDropdownItems';\n\nexport const DateIntervalSelector: FC = ({ onChange, active, allText }) => (\n \n \n \n);\n","import { FC } from 'react';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { DateIntervalSelector } from '../utils/dates/DateIntervalSelector';\nimport { LabeledFormGroup } from '../utils/forms/LabeledFormGroup';\nimport { Settings, VisitsSettings as VisitsSettingsConfig } from './reducers/settings';\n\ninterface VisitsProps {\n settings: Settings;\n setVisitsSettings: (settings: VisitsSettingsConfig) => void;\n}\n\nexport const VisitsSettings: FC = ({ settings, setVisitsSettings }) => (\n \n \n setVisitsSettings({ defaultInterval })}\n />\n \n \n);\n","import { FC } from 'react';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { TagsModeDropdown } from '../tags/TagsModeDropdown';\nimport { capitalize } from '../utils/utils';\nimport { OrderingDropdown } from '../utils/OrderingDropdown';\nimport { TAGS_ORDERABLE_FIELDS } from '../tags/data/TagsListChildrenProps';\nimport { FormText } from '../utils/forms/FormText';\nimport { LabeledFormGroup } from '../utils/forms/LabeledFormGroup';\nimport { Settings, TagsSettings as TagsSettingsOptions } from './reducers/settings';\n\ninterface TagsProps {\n settings: Settings;\n setTagsSettings: (settings: TagsSettingsOptions) => void;\n}\n\nexport const TagsSettings: FC = ({ settings: { tags }, setTagsSettings }) => (\n \n \n capitalize(tagsMode)}\n onChange={(defaultMode) => setTagsSettings({ ...tags, defaultMode })}\n />\n Tags will be displayed as {tags?.defaultMode ?? 'cards'}.\n \n \n setTagsSettings({ ...tags, defaultOrdering: { field, dir } })}\n />\n \n \n);\n","import { FC } from 'react';\nimport { OrderingDropdown } from '../utils/OrderingDropdown';\nimport { SHORT_URLS_ORDERABLE_FIELDS } from '../short-urls/data';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { LabeledFormGroup } from '../utils/forms/LabeledFormGroup';\nimport { DEFAULT_SHORT_URLS_ORDERING, Settings, ShortUrlsListSettings as ShortUrlsSettings } from './reducers/settings';\n\ninterface ShortUrlsListSettingsProps {\n settings: Settings;\n setShortUrlsListSettings: (settings: ShortUrlsSettings) => void;\n}\n\nexport const ShortUrlsListSettings: FC = (\n { settings: { shortUrlsList }, setShortUrlsListSettings },\n) => (\n \n \n setShortUrlsListSettings({ defaultOrdering: { field, dir } })}\n />\n \n \n);\n","import Bottle from 'bottlejs';\nimport RealTimeUpdatesSettings from '../RealTimeUpdatesSettings';\nimport Settings from '../Settings';\nimport {\n setRealTimeUpdatesInterval,\n setShortUrlCreationSettings,\n setShortUrlsListSettings,\n setTagsSettings,\n setUiSettings,\n setVisitsSettings,\n toggleRealTimeUpdates,\n} from '../reducers/settings';\nimport { ConnectDecorator } from '../../container/types';\nimport { withoutSelectedServer } from '../../servers/helpers/withoutSelectedServer';\nimport { ShortUrlCreationSettings } from '../ShortUrlCreationSettings';\nimport { UserInterfaceSettings } from '../UserInterfaceSettings';\nimport { VisitsSettings } from '../VisitsSettings';\nimport { TagsSettings } from '../TagsSettings';\nimport { ShortUrlsListSettings } from '../ShortUrlsListSettings';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Components\n bottle.serviceFactory(\n 'Settings',\n Settings,\n 'RealTimeUpdatesSettings',\n 'ShortUrlCreationSettings',\n 'ShortUrlsListSettings',\n 'UserInterfaceSettings',\n 'VisitsSettings',\n 'TagsSettings',\n );\n bottle.decorator('Settings', withoutSelectedServer);\n bottle.decorator('Settings', connect(null, [ 'resetSelectedServer' ]));\n\n bottle.serviceFactory('RealTimeUpdatesSettings', () => RealTimeUpdatesSettings);\n bottle.decorator(\n 'RealTimeUpdatesSettings',\n connect([ 'settings' ], [ 'toggleRealTimeUpdates', 'setRealTimeUpdatesInterval' ]),\n );\n\n bottle.serviceFactory('ShortUrlCreationSettings', () => ShortUrlCreationSettings);\n bottle.decorator('ShortUrlCreationSettings', connect([ 'settings' ], [ 'setShortUrlCreationSettings' ]));\n\n bottle.serviceFactory('UserInterfaceSettings', () => UserInterfaceSettings);\n bottle.decorator('UserInterfaceSettings', connect([ 'settings' ], [ 'setUiSettings' ]));\n\n bottle.serviceFactory('VisitsSettings', () => VisitsSettings);\n bottle.decorator('VisitsSettings', connect([ 'settings' ], [ 'setVisitsSettings' ]));\n\n bottle.serviceFactory('TagsSettings', () => TagsSettings);\n bottle.decorator('TagsSettings', connect([ 'settings' ], [ 'setTagsSettings' ]));\n\n bottle.serviceFactory('ShortUrlsListSettings', () => ShortUrlsListSettings);\n bottle.decorator('ShortUrlsListSettings', connect([ 'settings' ], [ 'setShortUrlsListSettings' ]));\n\n // Actions\n bottle.serviceFactory('toggleRealTimeUpdates', () => toggleRealTimeUpdates);\n bottle.serviceFactory('setRealTimeUpdatesInterval', () => setRealTimeUpdatesInterval);\n bottle.serviceFactory('setShortUrlCreationSettings', () => setShortUrlCreationSettings);\n bottle.serviceFactory('setShortUrlsListSettings', () => setShortUrlsListSettings);\n bottle.serviceFactory('setUiSettings', () => setUiSettings);\n bottle.serviceFactory('setVisitsSettings', () => setVisitsSettings);\n bottle.serviceFactory('setTagsSettings', () => setTagsSettings);\n};\n\nexport default provideServices;\n","export const replaceAuthorityFromUri = (uri: string, newAuthority: string): string => {\n const [ schema, rest ] = uri.split('://');\n const [ , ...pathParts ] = rest.split('/');\n const normalizedPath = pathParts.length ? `/${pathParts.join('/')}` : '';\n\n return `${schema}://${newAuthority}${normalizedPath}`;\n};\n","import { Action, Dispatch } from 'redux';\nimport { ShlinkApiClientBuilder } from '../../api/services/ShlinkApiClientBuilder';\nimport { ShlinkDomainRedirects } from '../../api/types';\nimport { GetState } from '../../container/types';\nimport { ApiErrorAction } from '../../api/types/actions';\nimport { parseApiError } from '../../api/utils';\n\n/* eslint-disable padding-line-between-statements */\nexport const EDIT_DOMAIN_REDIRECTS_START = 'shlink/domainRedirects/EDIT_DOMAIN_REDIRECTS_START';\nexport const EDIT_DOMAIN_REDIRECTS_ERROR = 'shlink/domainRedirects/EDIT_DOMAIN_REDIRECTS_ERROR';\nexport const EDIT_DOMAIN_REDIRECTS = 'shlink/domainRedirects/EDIT_DOMAIN_REDIRECTS';\n/* eslint-enable padding-line-between-statements */\n\nexport interface EditDomainRedirectsAction extends Action {\n domain: string;\n redirects: ShlinkDomainRedirects;\n}\n\nexport const editDomainRedirects = (buildShlinkApiClient: ShlinkApiClientBuilder) => (\n domain: string,\n domainRedirects: Partial,\n) => async (dispatch: Dispatch, getState: GetState) => {\n dispatch({ type: EDIT_DOMAIN_REDIRECTS_START });\n const { editDomainRedirects } = buildShlinkApiClient(getState);\n\n try {\n const redirects = await editDomainRedirects({ domain, ...domainRedirects });\n\n dispatch({ type: EDIT_DOMAIN_REDIRECTS, domain, redirects });\n } catch (e: any) {\n dispatch({ type: EDIT_DOMAIN_REDIRECTS_ERROR, errorData: parseApiError(e) });\n }\n};\n","import { Action, Dispatch } from 'redux';\nimport { ProblemDetailsError, ShlinkDomainRedirects } from '../../api/types';\nimport { buildReducer } from '../../utils/helpers/redux';\nimport { ShlinkApiClientBuilder } from '../../api/services/ShlinkApiClientBuilder';\nimport { GetState } from '../../container/types';\nimport { parseApiError } from '../../api/utils';\nimport { ApiErrorAction } from '../../api/types/actions';\nimport { Domain, DomainStatus } from '../data';\nimport { hasServerData } from '../../servers/data';\nimport { replaceAuthorityFromUri } from '../../utils/helpers/uri';\nimport { EDIT_DOMAIN_REDIRECTS, EditDomainRedirectsAction } from './domainRedirects';\n\n/* eslint-disable padding-line-between-statements */\nexport const LIST_DOMAINS_START = 'shlink/domainsList/LIST_DOMAINS_START';\nexport const LIST_DOMAINS_ERROR = 'shlink/domainsList/LIST_DOMAINS_ERROR';\nexport const LIST_DOMAINS = 'shlink/domainsList/LIST_DOMAINS';\nexport const FILTER_DOMAINS = 'shlink/domainsList/FILTER_DOMAINS';\nexport const VALIDATE_DOMAIN = 'shlink/domainsList/VALIDATE_DOMAIN';\n/* eslint-enable padding-line-between-statements */\n\nexport interface DomainsList {\n domains: Domain[];\n filteredDomains: Domain[];\n defaultRedirects?: ShlinkDomainRedirects;\n loading: boolean;\n error: boolean;\n errorData?: ProblemDetailsError;\n}\n\nexport interface ListDomainsAction extends Action {\n domains: Domain[];\n defaultRedirects?: ShlinkDomainRedirects;\n}\n\ninterface FilterDomainsAction extends Action {\n searchTerm: string;\n}\n\ninterface ValidateDomain extends Action {\n domain: string;\n status: DomainStatus;\n}\n\nconst initialState: DomainsList = {\n domains: [],\n filteredDomains: [],\n loading: false,\n error: false,\n};\n\nexport type DomainsCombinedAction = ListDomainsAction\n& ApiErrorAction\n& FilterDomainsAction\n& EditDomainRedirectsAction\n& ValidateDomain;\n\nexport const replaceRedirectsOnDomain = (domain: string, redirects: ShlinkDomainRedirects) =>\n (d: Domain): Domain => d.domain !== domain ? d : { ...d, redirects };\n\nexport const replaceStatusOnDomain = (domain: string, status: DomainStatus) =>\n (d: Domain): Domain => d.domain !== domain ? d : { ...d, status };\n\nexport default buildReducer({\n [LIST_DOMAINS_START]: () => ({ ...initialState, loading: true }),\n [LIST_DOMAINS_ERROR]: ({ errorData }) => ({ ...initialState, error: true, errorData }),\n [LIST_DOMAINS]: (_, { domains, defaultRedirects }) =>\n ({ ...initialState, domains, filteredDomains: domains, defaultRedirects }),\n [FILTER_DOMAINS]: (state, { searchTerm }) => ({\n ...state,\n filteredDomains: state.domains.filter(({ domain }) => domain.toLowerCase().match(searchTerm)),\n }),\n [EDIT_DOMAIN_REDIRECTS]: (state, { domain, redirects }) => ({\n ...state,\n domains: state.domains.map(replaceRedirectsOnDomain(domain, redirects)),\n filteredDomains: state.filteredDomains.map(replaceRedirectsOnDomain(domain, redirects)),\n }),\n [VALIDATE_DOMAIN]: (state, { domain, status }) => ({\n ...state,\n domains: state.domains.map(replaceStatusOnDomain(domain, status)),\n filteredDomains: state.filteredDomains.map(replaceStatusOnDomain(domain, status)),\n }),\n}, initialState);\n\nexport const listDomains = (buildShlinkApiClient: ShlinkApiClientBuilder) => () => async (\n dispatch: Dispatch,\n getState: GetState,\n) => {\n dispatch({ type: LIST_DOMAINS_START });\n const { listDomains } = buildShlinkApiClient(getState);\n\n try {\n const { domains, defaultRedirects } = await listDomains().then(({ data, defaultRedirects }) => ({\n domains: data.map((domain): Domain => ({ ...domain, status: 'validating' })),\n defaultRedirects,\n }));\n\n dispatch({ type: LIST_DOMAINS, domains, defaultRedirects });\n } catch (e: any) {\n dispatch({ type: LIST_DOMAINS_ERROR, errorData: parseApiError(e) });\n }\n};\n\nexport const filterDomains = (searchTerm: string): FilterDomainsAction => ({ type: FILTER_DOMAINS, searchTerm });\n\nexport const checkDomainHealth = (buildShlinkApiClient: ShlinkApiClientBuilder) => (domain: string) => async (\n dispatch: Dispatch,\n getState: GetState,\n) => {\n const { selectedServer } = getState();\n\n if (!hasServerData(selectedServer)) {\n dispatch({ type: VALIDATE_DOMAIN, domain, status: 'invalid' });\n\n return;\n }\n\n try {\n const { url, ...rest } = selectedServer;\n const { health } = buildShlinkApiClient({\n ...rest,\n url: replaceAuthorityFromUri(url, domain),\n });\n\n const { status } = await health();\n\n dispatch({ type: VALIDATE_DOMAIN, domain, status: status === 'pass' ? 'valid' : 'invalid' });\n } catch (e) {\n dispatch({ type: VALIDATE_DOMAIN, domain, status: 'invalid' });\n }\n};\n","import { useEffect } from 'react';\nimport { Button, DropdownItem, Input, InputGroup, UncontrolledTooltip, InputProps } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faUndo } from '@fortawesome/free-solid-svg-icons';\nimport { isEmpty, pipe } from 'ramda';\nimport { DropdownBtn } from '../utils/DropdownBtn';\nimport { useToggle } from '../utils/helpers/hooks';\nimport { DomainsList } from './reducers/domainsList';\nimport './DomainSelector.scss';\n\nexport interface DomainSelectorProps extends Omit {\n value?: string;\n onChange: (domain: string) => void;\n}\n\ninterface DomainSelectorConnectProps extends DomainSelectorProps {\n listDomains: Function;\n domainsList: DomainsList;\n}\n\nexport const DomainSelector = ({ listDomains, value, domainsList, onChange }: DomainSelectorConnectProps) => {\n const [ inputDisplayed,, showInput, hideInput ] = useToggle();\n const { domains } = domainsList;\n const valueIsEmpty = isEmpty(value);\n const unselectDomain = () => onChange('');\n\n useEffect(() => {\n listDomains();\n }, []);\n\n return inputDisplayed ? (\n \n onChange(e.target.value)}\n />\n \n \n \n \n Existing domains\n \n \n ) : (\n \n {domains.map(({ domain, isDefault }) => (\n onChange(domain)}\n >\n {domain}\n {isDefault && default}\n \n ))}\n \n \n New domain\n \n \n );\n};\n","import { FC, useState } from 'react';\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\nimport { ShlinkDomain, ShlinkDomainRedirects } from '../../api/types';\nimport { InputFormGroup, InputFormGroupProps } from '../../utils/forms/InputFormGroup';\nimport { handleEventPreventingDefault, nonEmptyValueOrNull } from '../../utils/utils';\nimport { InfoTooltip } from '../../utils/InfoTooltip';\n\ninterface EditDomainRedirectsModalProps {\n domain: ShlinkDomain;\n isOpen: boolean;\n toggle: () => void;\n editDomainRedirects: (domain: string, redirects: Partial) => Promise;\n}\n\nconst FormGroup: FC = ({ isLast, ...rest }) => (\n \n);\n\nexport const EditDomainRedirectsModal: FC = (\n { isOpen, toggle, domain, editDomainRedirects },\n) => {\n const [ baseUrlRedirect, setBaseUrlRedirect ] = useState(domain.redirects?.baseUrlRedirect ?? '');\n const [ regular404Redirect, setRegular404Redirect ] = useState(domain.redirects?.regular404Redirect ?? '');\n const [ invalidShortUrlRedirect, setInvalidShortUrlRedirect ] = useState(\n domain.redirects?.invalidShortUrlRedirect ?? '',\n );\n const handleSubmit = handleEventPreventingDefault(async () => editDomainRedirects(domain.domain, {\n baseUrlRedirect: nonEmptyValueOrNull(baseUrlRedirect),\n regular404Redirect: nonEmptyValueOrNull(regular404Redirect),\n invalidShortUrlRedirect: nonEmptyValueOrNull(invalidShortUrlRedirect),\n }).then(toggle));\n\n return (\n \n
\n Edit redirects for {domain.domain}\n \n \n \n Visitors accessing the base url, as in https://{domain.domain}/, will be redirected to this URL.\n \n Base URL\n \n \n \n Visitors accessing a url not matching a short URL pattern, as in https://{domain.domain}/???/[...],\n will be redirected to this URL.\n \n Regular 404\n \n \n \n Visitors accessing a url matching a short URL pattern, but not matching an existing short code, will be\n redirected to this URL.\n \n Invalid short URL\n \n \n \n \n \n \n
\n
\n );\n};\n","import { FC, useEffect, useRef, useState } from 'react';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { ExternalLink } from 'react-external-link';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n faTimes as invalidIcon,\n faCheck as checkIcon,\n faCircleNotch as loadingStatusIcon,\n} from '@fortawesome/free-solid-svg-icons';\nimport { MediaMatcher } from '../../utils/types';\nimport { DomainStatus } from '../data';\n\ninterface DomainStatusIconProps {\n status: DomainStatus;\n matchMedia?: MediaMatcher;\n}\n\nexport const DomainStatusIcon: FC = ({ status, matchMedia = window.matchMedia }) => {\n const ref = useRef();\n const matchesMobile = () => matchMedia('(max-width: 991px)').matches;\n const [ isMobile, setIsMobile ] = useState(matchesMobile());\n\n useEffect(() => {\n const listener = () => setIsMobile(matchesMobile());\n\n window.addEventListener('resize', listener);\n\n return () => window.removeEventListener('resize', listener);\n }, []);\n\n if (status === 'validating') {\n return ;\n }\n\n return (\n <>\n {\n ref.current = el;\n }}\n >\n {status === 'valid'\n ? \n : }\n \n ref.current) as any}\n placement={isMobile ? 'top-start' : 'left'}\n autohide={status === 'valid'}\n >\n {status === 'valid' ? 'Congratulations! This domain is properly configured.' : (\n \n Oops! There is some missing configuration, and short URLs shared with this domain will not work.\n
\n Check the documentation in order to\n find out what is missing.\n
\n )}\n \n \n );\n};\n","import { FC, useEffect } from 'react';\nimport { Button, UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n faBan as forbiddenIcon,\n faDotCircle as defaultDomainIcon,\n faEdit as editIcon,\n} from '@fortawesome/free-solid-svg-icons';\nimport { ShlinkDomainRedirects } from '../api/types';\nimport { useToggle } from '../utils/helpers/hooks';\nimport { OptionalString } from '../utils/utils';\nimport { SelectedServer } from '../servers/data';\nimport { supportsDefaultDomainRedirectsEdition } from '../utils/helpers/features';\nimport { EditDomainRedirectsModal } from './helpers/EditDomainRedirectsModal';\nimport { Domain } from './data';\nimport { DomainStatusIcon } from './helpers/DomainStatusIcon';\n\ninterface DomainRowProps {\n domain: Domain;\n defaultRedirects?: ShlinkDomainRedirects;\n editDomainRedirects: (domain: string, redirects: Partial) => Promise;\n checkDomainHealth: (domain: string) => void;\n selectedServer: SelectedServer;\n}\n\nconst Nr: FC<{ fallback: OptionalString }> = ({ fallback }) => (\n \n {!fallback && No redirect}\n {fallback && <>{fallback} (as fallback)}\n \n);\nconst DefaultDomain: FC = () => (\n <>\n \n Default domain\n \n);\n\nexport const DomainRow: FC = (\n { domain, editDomainRedirects, checkDomainHealth, defaultRedirects, selectedServer },\n) => {\n const [ isOpen, toggle ] = useToggle();\n const { domain: authority, isDefault, redirects, status } = domain;\n const canEditDomain = !isDefault || supportsDefaultDomainRedirectsEdition(selectedServer);\n\n useEffect(() => {\n checkDomainHealth(domain.domain);\n }, []);\n\n return (\n \n {isDefault && }\n {authority}\n \n {redirects?.baseUrlRedirect ?? }\n \n \n {redirects?.regular404Redirect ?? }\n \n \n {redirects?.invalidShortUrlRedirect ?? }\n \n \n \n \n \n \n \n \n {!canEditDomain && (\n \n Redirects for default domain cannot be edited here.\n
\n Use config options or env vars directly on the server.\n
\n )}\n \n \n \n );\n};\n","import { FC, useEffect } from 'react';\nimport Message from '../utils/Message';\nimport { Result } from '../utils/Result';\nimport { ShlinkApiError } from '../api/ShlinkApiError';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport SearchField from '../utils/SearchField';\nimport { ShlinkDomainRedirects } from '../api/types';\nimport { SelectedServer } from '../servers/data';\nimport { DomainsList } from './reducers/domainsList';\nimport { DomainRow } from './DomainRow';\n\ninterface ManageDomainsProps {\n listDomains: Function;\n filterDomains: (searchTerm: string) => void;\n editDomainRedirects: (domain: string, redirects: Partial) => Promise;\n checkDomainHealth: (domain: string) => void;\n domainsList: DomainsList;\n selectedServer: SelectedServer;\n}\n\nconst headers = [ '', 'Domain', 'Base path redirect', 'Regular 404 redirect', 'Invalid short URL redirect', '', '' ];\n\nexport const ManageDomains: FC = (\n { listDomains, domainsList, filterDomains, editDomainRedirects, checkDomainHealth, selectedServer },\n) => {\n const { filteredDomains: domains, defaultRedirects, loading, error, errorData } = domainsList;\n const resolvedDefaultRedirects = defaultRedirects ?? domains.find(({ isDefault }) => isDefault)?.redirects;\n\n useEffect(() => {\n listDomains();\n }, []);\n\n if (loading) {\n return ;\n }\n\n const renderContent = () => {\n if (error) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n {headers.map((column, index) => )}\n \n \n {domains.length < 1 && }\n {domains.map((domain) => (\n \n ))}\n \n
{column}
No results found
\n
\n );\n };\n\n return (\n <>\n \n {renderContent()}\n \n );\n};\n","import Bottle from 'bottlejs';\nimport { ConnectDecorator } from '../../container/types';\nimport { checkDomainHealth, filterDomains, listDomains } from '../reducers/domainsList';\nimport { DomainSelector } from '../DomainSelector';\nimport { ManageDomains } from '../ManageDomains';\nimport { editDomainRedirects } from '../reducers/domainRedirects';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Components\n bottle.serviceFactory('DomainSelector', () => DomainSelector);\n bottle.decorator('DomainSelector', connect([ 'domainsList' ], [ 'listDomains' ]));\n\n bottle.serviceFactory('ManageDomains', () => ManageDomains);\n bottle.decorator('ManageDomains', connect(\n [ 'domainsList', 'selectedServer' ],\n [ 'listDomains', 'filterDomains', 'editDomainRedirects', 'checkDomainHealth' ],\n ));\n\n // Actions\n bottle.serviceFactory('listDomains', listDomains, 'buildShlinkApiClient');\n bottle.serviceFactory('filterDomains', () => filterDomains);\n bottle.serviceFactory('editDomainRedirects', editDomainRedirects, 'buildShlinkApiClient');\n bottle.serviceFactory('checkDomainHealth', checkDomainHealth, 'buildShlinkApiClient');\n};\n\nexport default provideServices;\n","import { Action } from 'redux';\nimport { buildActionCreator, buildReducer } from '../../utils/helpers/redux';\n\n/* eslint-disable padding-line-between-statements */\nexport const APP_UPDATE_AVAILABLE = 'shlink/appUpdates/APP_UPDATE_AVAILABLE';\nexport const RESET_APP_UPDATE = 'shlink/appUpdates/RESET_APP_UPDATE';\n/* eslint-enable padding-line-between-statements */\n\nconst initialState = false;\n\nexport default buildReducer>({\n [APP_UPDATE_AVAILABLE]: () => true,\n [RESET_APP_UPDATE]: () => false,\n}, initialState);\n\nexport const appUpdateAvailable = buildActionCreator(APP_UPDATE_AVAILABLE);\n\nexport const resetAppUpdate = buildActionCreator(RESET_APP_UPDATE);\n","import { FC, MouseEventHandler } from 'react';\nimport { Alert, Button } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSyncAlt as reloadIcon } from '@fortawesome/free-solid-svg-icons';\nimport { SimpleCard } from '../utils/SimpleCard';\nimport { useToggle } from '../utils/helpers/hooks';\nimport './AppUpdateBanner.scss';\n\ninterface AppUpdateBannerProps {\n isOpen: boolean;\n toggle: MouseEventHandler;\n forceUpdate: Function;\n}\n\nexport const AppUpdateBanner: FC = ({ isOpen, toggle, forceUpdate }) => {\n const [ isUpdating,, setUpdating ] = useToggle();\n const update = () => {\n setUpdating();\n forceUpdate();\n };\n\n return (\n \n

This app has just been updated!

\n

\n Restart it to enjoy the new features.\n \n

\n
\n );\n};\n","export const forceUpdate = async () => {\n const registrations = await navigator.serviceWorker?.getRegistrations() ?? [];\n\n for (const registration of registrations) {\n const { waiting } = registration;\n\n waiting?.addEventListener('statechange', (event) => {\n if ((event.target as any)?.state === 'activated') {\n window.location.reload();\n }\n });\n\n // The logic that makes skipWaiting to be called when this message is posted is in service-worker.ts\n waiting?.postMessage({ type: 'SKIP_WAITING' });\n }\n};\n","import { useEffect, FC } from 'react';\nimport { Route, Routes, useLocation } from 'react-router-dom';\nimport classNames from 'classnames';\nimport NotFound from '../common/NotFound';\nimport { ServersMap } from '../servers/data';\nimport { Settings } from '../settings/reducers/settings';\nimport { changeThemeInMarkup } from '../utils/theme';\nimport { AppUpdateBanner } from '../common/AppUpdateBanner';\nimport { forceUpdate } from '../utils/helpers/sw';\nimport './App.scss';\n\ninterface AppProps {\n fetchServers: () => void;\n servers: ServersMap;\n settings: Settings;\n resetAppUpdate: () => void;\n appUpdated: boolean;\n}\n\nconst App = (\n MainHeader: FC,\n Home: FC,\n MenuLayout: FC,\n CreateServer: FC,\n EditServer: FC,\n Settings: FC,\n ManageServers: FC,\n ShlinkVersionsContainer: FC,\n) => ({ fetchServers, servers, settings, appUpdated, resetAppUpdate }: AppProps) => {\n const location = useLocation();\n const isHome = location.pathname === '/';\n\n useEffect(() => {\n // On first load, try to fetch the remote servers if the list is empty\n if (Object.keys(servers).length === 0) {\n fetchServers();\n }\n\n changeThemeInMarkup(settings.ui?.theme ?? 'light');\n }, []);\n\n return (\n
\n \n\n
\n
\n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n
\n\n
\n \n
\n
\n\n \n
\n );\n};\n\nexport default App;\n","import Bottle from 'bottlejs';\nimport { appUpdateAvailable, resetAppUpdate } from '../reducers/appUpdates';\nimport App from '../App';\nimport { ConnectDecorator } from '../../container/types';\n\nconst provideServices = (bottle: Bottle, connect: ConnectDecorator) => {\n // Components\n bottle.serviceFactory(\n 'App',\n App,\n 'MainHeader',\n 'Home',\n 'MenuLayout',\n 'CreateServer',\n 'EditServer',\n 'Settings',\n 'ManageServers',\n 'ShlinkVersionsContainer',\n );\n bottle.decorator('App', connect([ 'servers', 'settings', 'appUpdated' ], [ 'fetchServers', 'resetAppUpdate' ]));\n\n // Actions\n bottle.serviceFactory('appUpdateAvailable', () => appUpdateAvailable);\n bottle.serviceFactory('resetAppUpdate', () => resetAppUpdate);\n};\n\nexport default provideServices;\n","import Bottle, { IContainer } from 'bottlejs';\nimport { connect as reduxConnect } from 'react-redux';\nimport { pick } from 'ramda';\nimport provideApiServices from '../api/services/provideServices';\nimport provideCommonServices from '../common/services/provideServices';\nimport provideShortUrlsServices from '../short-urls/services/provideServices';\nimport provideServersServices from '../servers/services/provideServices';\nimport provideVisitsServices from '../visits/services/provideServices';\nimport provideTagsServices from '../tags/services/provideServices';\nimport provideUtilsServices from '../utils/services/provideServices';\nimport provideMercureServices from '../mercure/services/provideServices';\nimport provideSettingsServices from '../settings/services/provideServices';\nimport provideDomainsServices from '../domains/services/provideServices';\nimport provideAppServices from '../app/services/provideServices';\nimport { ConnectDecorator } from './types';\n\ntype LazyActionMap = Record;\n\nconst bottle = new Bottle();\n\nexport const { container } = bottle;\n\nconst lazyService = (container: IContainer, serviceName: string) =>\n (...args: any[]) => (container[serviceName] as T)(...args) as K;\nconst mapActionService = (map: LazyActionMap, actionName: string): LazyActionMap => ({\n ...map,\n // Wrap actual action service in a function so that it is lazily created the first time it is called\n [actionName]: lazyService(container, actionName),\n});\nconst connect: ConnectDecorator = (propsFromState: string[] | null, actionServiceNames: string[] = []) =>\n reduxConnect(\n propsFromState ? pick(propsFromState) : null,\n actionServiceNames.reduce(mapActionService, {}),\n );\n\nprovideAppServices(bottle, connect);\nprovideCommonServices(bottle, connect);\nprovideApiServices(bottle);\nprovideShortUrlsServices(bottle, connect);\nprovideServersServices(bottle, connect);\nprovideTagsServices(bottle, connect);\nprovideVisitsServices(bottle, connect);\nprovideUtilsServices(bottle);\nprovideMercureServices(bottle);\nprovideSettingsServices(bottle, connect);\nprovideDomainsServices(bottle, connect);\n","import { combineReducers } from 'redux';\nimport serversReducer from '../servers/reducers/servers';\nimport selectedServerReducer from '../servers/reducers/selectedServer';\nimport shortUrlsListReducer from '../short-urls/reducers/shortUrlsList';\nimport shortUrlCreationReducer from '../short-urls/reducers/shortUrlCreation';\nimport shortUrlDeletionReducer from '../short-urls/reducers/shortUrlDeletion';\nimport shortUrlEditionReducer from '../short-urls/reducers/shortUrlEdition';\nimport shortUrlVisitsReducer from '../visits/reducers/shortUrlVisits';\nimport tagVisitsReducer from '../visits/reducers/tagVisits';\nimport orphanVisitsReducer from '../visits/reducers/orphanVisits';\nimport nonOrphanVisitsReducer from '../visits/reducers/nonOrphanVisits';\nimport shortUrlDetailReducer from '../short-urls/reducers/shortUrlDetail';\nimport tagsListReducer from '../tags/reducers/tagsList';\nimport tagDeleteReducer from '../tags/reducers/tagDelete';\nimport tagEditReducer from '../tags/reducers/tagEdit';\nimport mercureInfoReducer from '../mercure/reducers/mercureInfo';\nimport settingsReducer from '../settings/reducers/settings';\nimport domainsListReducer from '../domains/reducers/domainsList';\nimport visitsOverviewReducer from '../visits/reducers/visitsOverview';\nimport appUpdatesReducer from '../app/reducers/appUpdates';\nimport sidebarReducer from '../common/reducers/sidebar';\nimport { ShlinkState } from '../container/types';\n\nexport default combineReducers({\n servers: serversReducer,\n selectedServer: selectedServerReducer,\n shortUrlsList: shortUrlsListReducer,\n shortUrlCreationResult: shortUrlCreationReducer,\n shortUrlDeletion: shortUrlDeletionReducer,\n shortUrlEdition: shortUrlEditionReducer,\n shortUrlVisits: shortUrlVisitsReducer,\n tagVisits: tagVisitsReducer,\n orphanVisits: orphanVisitsReducer,\n nonOrphanVisits: nonOrphanVisitsReducer,\n shortUrlDetail: shortUrlDetailReducer,\n tagsList: tagsListReducer,\n tagDelete: tagDeleteReducer,\n tagEdit: tagEditReducer,\n mercureInfo: mercureInfoReducer,\n settings: settingsReducer,\n domainsList: domainsListReducer,\n visitsOverview: visitsOverviewReducer,\n appUpdated: appUpdatesReducer,\n sidebar: sidebarReducer,\n});\n","import ReduxThunk from 'redux-thunk';\nimport { applyMiddleware, compose, createStore } from 'redux';\nimport { save, load, RLSOptions } from 'redux-localstorage-simple';\nimport reducers from '../reducers';\nimport { migrateDeprecatedSettings } from '../settings/helpers';\nimport { ShlinkState } from './types';\n\nconst isProduction = process.env.NODE_ENV !== 'production';\nconst composeEnhancers: Function = !isProduction && (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n\nconst localStorageConfig: RLSOptions = {\n states: [ 'settings', 'servers' ],\n namespace: 'shlink',\n namespaceSeparator: '.',\n debounce: 300,\n};\nconst preloadedState = migrateDeprecatedSettings(load(localStorageConfig) as ShlinkState);\n\nexport const store = createStore(reducers, preloadedState, composeEnhancers(\n applyMiddleware(save(localStorageConfig), ReduxThunk),\n));\n","import { ShlinkState } from '../../container/types';\n\nexport const migrateDeprecatedSettings = (state: Partial): Partial => {\n if (!state.settings) {\n return state;\n }\n\n // The \"last180Days\" interval had a typo, with a lowercase d\n if ((state.settings.visits?.defaultInterval as any) === 'last180days') {\n state.settings.visits && (state.settings.visits.defaultInterval = 'last180Days');\n }\n\n // The \"tags display mode\" option has been moved from \"ui\" to \"tags\"\n state.settings.tags = {\n ...state.settings.tags,\n defaultMode: state.settings.tags?.defaultMode ?? (state.settings.ui as any)?.tagsMode,\n };\n state.settings.ui && delete (state.settings.ui as any).tagsMode;\n\n return state;\n};\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL ?? '', window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import L from 'leaflet';\nimport marker2x from 'leaflet/dist/images/marker-icon-2x.png';\nimport marker from 'leaflet/dist/images/marker-icon.png';\nimport markerShadow from 'leaflet/dist/images/marker-shadow.png';\n\nexport const fixLeafletIcons = () => {\n delete (L.Icon.Default.prototype as any)._getIconUrl;\n\n L.Icon.Default.mergeOptions({\n iconRetinaUrl: marker2x,\n iconUrl: marker,\n shadowUrl: markerShadow,\n });\n};\n","import { render } from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { BrowserRouter } from 'react-router-dom';\nimport { homepage } from '../package.json';\nimport { container } from './container';\nimport { store } from './container/store';\nimport { fixLeafletIcons } from './utils/helpers/leaflet';\nimport { register as registerServiceWorker } from './serviceWorkerRegistration';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport 'leaflet/dist/leaflet.css';\nimport './index.scss';\n\n// This overwrites icons used for leaflet maps, fixing some issues caused by webpack while processing the CSS\nfixLeafletIcons();\n\nconst { App, ScrollToTop, ErrorHandler, appUpdateAvailable } = container;\n\nrender(\n \n \n \n \n \n \n \n \n ,\n document.getElementById('root'),\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\nregisterServiceWorker({\n onUpdate() {\n store.dispatch(appUpdateAvailable()); // eslint-disable-line @typescript-eslint/no-unsafe-call\n },\n});\n","import { isReachableServer, SelectedServer } from '../../servers/data';\nimport { versionMatch, Versions } from './version';\n\nconst serverMatchesVersions = (versions: Versions) => (selectedServer: SelectedServer): boolean =>\n isReachableServer(selectedServer) && versionMatch(selectedServer.version, versions);\n\nexport const supportsQrCodeSizeInQuery = serverMatchesVersions({ minVersion: '2.5.0' });\n\nexport const supportsShortUrlTitle = serverMatchesVersions({ minVersion: '2.6.0' });\n\nexport const supportsOrphanVisits = supportsShortUrlTitle;\n\nexport const supportsQrCodeMargin = supportsShortUrlTitle;\n\nexport const supportsTagsInPatch = supportsShortUrlTitle;\n\nexport const supportsBotVisits = serverMatchesVersions({ minVersion: '2.7.0' });\n\nexport const supportsCrawlableVisits = supportsBotVisits;\n\nexport const supportsQrErrorCorrection = serverMatchesVersions({ minVersion: '2.8.0' });\n\nexport const supportsDomainRedirects = supportsQrErrorCorrection;\n\nexport const supportsForwardQuery = serverMatchesVersions({ minVersion: '2.9.0' });\n\nexport const supportsDefaultDomainRedirectsEdition = serverMatchesVersions({ minVersion: '2.10.0' });\n\nexport const supportsNonOrphanVisits = serverMatchesVersions({ minVersion: '3.0.0' });\n\nexport const supportsAllTagsFiltering = supportsNonOrphanVisits;\n","export const MAIN_COLOR = '#4696e5';\n\nexport const MAIN_COLOR_ALPHA = 'rgba(70, 150, 229, 0.4)';\n\nexport const HIGHLIGHTED_COLOR = '#f77f28';\n\nexport const HIGHLIGHTED_COLOR_ALPHA = 'rgba(247, 127, 40, 0.4)';\n\nexport const PRIMARY_LIGHT_COLOR = 'white';\n\nexport const PRIMARY_DARK_COLOR = '#161b22';\n\nexport type Theme = 'dark' | 'light';\n\nexport const changeThemeInMarkup = (theme: Theme) =>\n document.getElementsByTagName('html')?.[0]?.setAttribute('data-theme', theme);\n\nexport const isDarkThemeEnabled = (): boolean =>\n document.getElementsByTagName('html')?.[0]?.getAttribute('data-theme') === 'dark';\n","import qs from 'qs';\n\nexport const parseQuery = (search: string) => qs.parse(search, { ignoreQueryPrefix: true }) as unknown as T;\n\nexport const stringifyQuery = (query: any): string => qs.stringify(query, { arrayFormat: 'brackets' });\n","import { FC } from 'react';\nimport { Card, Row } from 'reactstrap';\nimport classNames from 'classnames';\nimport { faCircleNotch as preloader } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\ntype MessageType = 'default' | 'error';\n\nconst getClassForType = (type: MessageType) => {\n const map: Record = {\n error: 'border-danger',\n default: '',\n };\n\n return map[type];\n};\nconst getTextClassForType = (type: MessageType) => {\n const map: Record = {\n error: 'text-danger',\n default: 'text-muted',\n };\n\n return map[type];\n};\n\nexport interface MessageProps {\n className?: string;\n loading?: boolean;\n fullWidth?: boolean;\n type?: MessageType;\n}\n\nconst Message: FC = ({ className, children, loading = false, type = 'default', fullWidth = false }) => {\n const classes = classNames({\n 'col-md-12': fullWidth,\n 'col-md-10 offset-md-1': !fullWidth,\n });\n\n return (\n \n
\n \n

\n {loading && }\n {loading && {children ?? 'Loading...'}}\n {!loading && children}\n

\n
\n
\n
\n );\n};\n\nexport default Message;\n","import { FC } from 'react';\nimport './NoMenuLayout.scss';\n\nexport const NoMenuLayout: FC = ({ children }) =>
{children}
;\n","import { compare } from 'compare-versions';\nimport { identity, memoizeWith } from 'ramda';\nimport { Empty, hasValue } from '../utils';\n\ntype SemVerPatternFragment = `${bigint | '*'}`;\n\nexport type SemVerPattern = SemVerPatternFragment\n| `${SemVerPatternFragment}.${SemVerPatternFragment}`\n| `${SemVerPatternFragment}.${SemVerPatternFragment}.${SemVerPatternFragment}`;\n\nexport interface Versions {\n maxVersion?: SemVerPattern;\n minVersion?: SemVerPattern;\n}\n\nexport type SemVer = `${bigint}.${bigint}.${bigint}` | 'latest';\n\nexport const versionMatch = (versionToMatch: SemVer | Empty, { maxVersion, minVersion }: Versions): boolean => {\n if (!hasValue(versionToMatch)) {\n return false;\n }\n\n const matchesMinVersion = !minVersion || compare(versionToMatch, minVersion, '>=');\n const matchesMaxVersion = !maxVersion || compare(versionToMatch, maxVersion, '<=');\n\n return matchesMaxVersion && matchesMinVersion;\n};\n\nconst versionIsValidSemVer = memoizeWith(identity, (version: string): version is SemVer => {\n try {\n return compare(version, version, '=');\n } catch (e) {\n return false;\n }\n});\n\nexport const versionToPrintable = (version: string) => !versionIsValidSemVer(version) ? version : `v${version}`;\n\nexport const versionToSemVer = (defaultValue: SemVer = 'latest') =>\n (version: string): SemVer => versionIsValidSemVer(version) ? version : defaultValue;\n","import { FC, useEffect } from 'react';\n\ninterface WithoutSelectedServerProps {\n resetSelectedServer: Function;\n}\n\nexport function withoutSelectedServer(WrappedComponent: FC) {\n return (props: WithoutSelectedServerProps & T) => {\n useEffect(() => {\n props.resetSelectedServer();\n }, []);\n\n return ;\n };\n}\n","export const saveUrl = ({ document }: Window, url: string, filename: string) => {\n const link = document.createElement('a');\n\n link.setAttribute('href', url);\n link.setAttribute('download', filename);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n};\n\nexport const saveCsv = (window: Window, csv: string, filename: string) => {\n const blob = new Blob([ csv ], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n\n saveUrl(window, url, filename);\n};\n","import { Action } from 'redux';\nimport { buildActionCreator, buildReducer } from '../../utils/helpers/redux';\n\n/* eslint-disable padding-line-between-statements */\nexport const SIDEBAR_PRESENT = 'shlink/common/SIDEBAR_PRESENT';\nexport const SIDEBAR_NOT_PRESENT = 'shlink/common/SIDEBAR_NOT_PRESENT';\n/* eslint-enable padding-line-between-statements */\n\nexport interface Sidebar {\n sidebarPresent: boolean;\n}\n\ntype SidebarRenderedAction = Action;\ntype SidebarNotRenderedAction = Action;\n\nconst initialState: Sidebar = {\n sidebarPresent: false,\n};\n\nexport default buildReducer({\n [SIDEBAR_PRESENT]: () => ({ sidebarPresent: true }),\n [SIDEBAR_NOT_PRESENT]: () => ({ sidebarPresent: false }),\n}, initialState);\n\nexport const sidebarPresent = buildActionCreator(SIDEBAR_PRESENT);\n\nexport const sidebarNotPresent = buildActionCreator(SIDEBAR_NOT_PRESENT);\n"],"sourceRoot":""}