First shlink-frontend-kit iteration

This commit is contained in:
Alejandro Celaya
2023-07-31 21:36:44 +02:00
parent 5ec5396da6
commit 99ce8c9f74
102 changed files with 152 additions and 168 deletions

View File

@@ -4,7 +4,7 @@ import classNames from 'classnames';
import type { FC } from 'react';
import type { InputProps } from 'reactstrap';
import { Input } from 'reactstrap';
import { useElementRef } from '../../../src/utils/helpers/hooks';
import { useElementRef } from '../../../shlink-frontend-kit/src';
import './IconInput.scss';
type IconInputProps = InputProps & {

View File

@@ -3,7 +3,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import type { Placement } from '@popperjs/core';
import type { FC, PropsWithChildren } from 'react';
import { UncontrolledTooltip } from 'reactstrap';
import { useElementRef } from '../helpers/hooks';
import { useElementRef } from '../../../shlink-frontend-kit/src';
export type InfoTooltipProps = PropsWithChildren<{
className?: string;

View File

@@ -1,5 +1,5 @@
import type { FC } from 'react';
import { DropdownBtn } from '../../../src/utils/DropdownBtn';
import { DropdownBtn } from '../../../shlink-frontend-kit/src';
import type { DateIntervalDropdownProps } from './DateIntervalDropdownItems';
import { DateIntervalDropdownItems } from './DateIntervalDropdownItems';
import { rangeOrIntervalToString } from './helpers/dateIntervals';

View File

@@ -1,6 +1,6 @@
import { useState } from 'react';
import { DropdownItem } from 'reactstrap';
import { DropdownBtn } from '../../../src/utils/DropdownBtn';
import { DropdownBtn } from '../../../shlink-frontend-kit/src';
import { useEffectExceptFirstTime } from '../helpers/hooks';
import { DateIntervalDropdownItems } from './DateIntervalDropdownItems';
import { DateRangeRow } from './DateRangeRow';

View File

@@ -2,7 +2,6 @@ import type { DependencyList, EffectCallback } from 'react';
import { useEffect, useRef, useState } from 'react';
import { useNavigate } from 'react-router-dom';
import { useSwipeable as useReactSwipeable } from 'react-swipeable';
import { v4 as uuid } from 'uuid';
import { parseQuery, stringifyQuery } from './query';
const DEFAULT_DELAY = 2000;
@@ -75,17 +74,3 @@ export const useGoBack = () => {
const navigate = useNavigate();
return () => navigate(-1);
};
type ToggleResult = [boolean, () => void, () => void, () => void];
export const useToggle = (initialValue = false): ToggleResult => {
const [flag, setFlag] = useState<boolean>(initialValue);
return [flag, () => setFlag(!flag), () => setFlag(true), () => setFlag(false)];
};
export const useDomId = (): string => {
const { current: id } = useRef(`dom-${uuid()}`);
return id;
};
export const useElementRef = <T>() => useRef<T | null>(null);

View File

@@ -1,6 +1,6 @@
import { faCaretDown as caretDownIcon, faCaretUp as caretUpIcon } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import type { Order } from '../../../src/utils/helpers/ordering';
import type { Order } from '../../../shlink-frontend-kit/src';
interface TableOrderIconProps<T> {
currentOrder: Order<T>;