Merge pull request #1994 from umami-software/dev

v2.2.0
This commit is contained in:
Mike Cao 2023-04-25 21:49:42 -07:00 committed by GitHub
commit 46615fe7eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 573 additions and 481 deletions

View File

@ -0,0 +1,33 @@
/* eslint-disable no-console */
import { ErrorBoundary as Boundary } from 'react-error-boundary';
import { Button } from 'react-basics';
import useMessages from 'hooks/useMessages';
import styles from './ErrorBoundry.module.css';
const logError = (error, info) => {
console.error(error, info.componentStack);
};
export function ErrorBoundary({ children }) {
const { formatMessage, messages } = useMessages();
const fallbackRender = ({ error, resetErrorBoundary }) => {
console.log({ error });
return (
<div className={styles.error} role="alert">
<h1>{formatMessage(messages.error)}</h1>
<h3>{error.message}</h3>
<pre>{error.stack}</pre>
<Button onClick={resetErrorBoundary}>OK</Button>
</div>
);
};
return (
<Boundary fallbackRender={fallbackRender} onError={logError}>
{children}
</Boundary>
);
}
export default ErrorBoundary;

View File

@ -0,0 +1,19 @@
.error {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
z-index: var(--z-index-overlay);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 600px;
gap: 20px;
}
.error button {
align-self: center;
}

View File

@ -13,18 +13,16 @@ export function FilterLink({ id, value, label, externalUrl, children, className
const selected = query[id] === value;
return (
<div className={classNames(styles.row, className)}>
<div
className={classNames(styles.row, className, {
[styles.inactive]: active && !selected,
[styles.active]: active && selected,
})}
>
{children}
{!value && `(${label || formatMessage(labels.unknown)})`}
{value && (
<Link
href={resolveUrl({ [id]: value })}
className={classNames(styles.label, {
[styles.inactive]: active && !selected,
[styles.active]: active && selected,
})}
replace
>
<Link href={resolveUrl({ [id]: value })} className={styles.label} replace>
{safeDecodeURI(label || value)}
</Link>
)}

View File

@ -4,11 +4,15 @@
gap: 10px;
}
.row .inactive {
.row.inactive {
color: var(--base500);
}
.row .active {
.row.inactive img {
opacity: 0.35;
}
.row.active {
color: var(--base900);
font-weight: 600;
}

View File

@ -23,7 +23,7 @@ export function DateFilter({ websiteId, value, className }) {
if (data) {
setDateRange({ value, ...getDateRangeValues(new Date(data.createdAt), Date.now()) });
}
} else {
} else if (value !== 'all') {
setDateRange(value);
}
}
@ -61,7 +61,7 @@ export function DateFilter({ websiteId, value, className }) {
value: '90day',
},
{ label: formatMessage(labels.thisYear), value: '1year' },
{
websiteId && {
label: formatMessage(labels.allTime),
value: 'all',
divider: true,
@ -71,7 +71,7 @@ export function DateFilter({ websiteId, value, className }) {
value: 'custom',
divider: true,
},
];
].filter(n => n);
const renderValue = value => {
return value === 'custom' ? (

View File

@ -17,7 +17,7 @@ export function CountriesTable({ websiteId, ...props }) {
value={countryNames[code] && code}
label={countryNames[code]}
>
<img src={`/images/flags/${code.toLowerCase()}.png`} alt={code} />
<img src={`/images/flags/${code?.toLowerCase() || 'xx'}.png`} alt={code} />
</FilterLink>
);
}

View File

@ -18,7 +18,7 @@ export function RegionsTable({ websiteId, ...props }) {
const renderLink = ({ x: code }) => {
return (
<FilterLink id="region" className={locale} value={code} label={renderLabel(code)}>
<img src={`/images/flags/${code.split('-')[0].toLowerCase()}.png`} alt={code} />
<img src={`/images/flags/${code?.split('-')?.[0]?.toLowerCase() || 'xx'}.png`} alt={code} />
</FilterLink>
);
};

View File

@ -18,10 +18,15 @@ export function UsersList() {
const { toast, showToast } = useToast();
const hasData = data && data.length !== 0;
const handleSave = () => refetch();
const handleSave = () => {
refetch().then(() => showToast({ message: formatMessage(messages.saved), variant: 'success' }));
};
const handleDelete = () =>
showToast({ message: formatMessage(messages.userDeleted), variant: 'success' });
const handleDelete = () => {
refetch().then(() =>
showToast({ message: formatMessage(messages.userDeleted), variant: 'success' }),
);
};
return (
<Page loading={isLoading} error={error}>

View File

@ -1,6 +1,6 @@
{
"label.access-code": "Access code",
"label.actions": "اجراءات",
"label.access-code": "كود الدعوة",
"label.actions": "الإجراءات",
"label.activity-log": "سجل الأحداث",
"label.add-website": "إضافة موقع",
"label.admin": "مدير",
@ -59,7 +59,7 @@
"label.more": "المزيد",
"label.name": "الإسم",
"label.new-password": "كلمة مرور جديدة",
"label.none": "لا شيء",
"label.none": "غير معرف",
"label.operating-systems": "نظام التشغيل",
"label.owner": "المالك",
"label.page-views": "مشاهدات الصفحة",
@ -109,8 +109,8 @@
"label.users": "المستخدمين",
"label.view": "عرض",
"label.view-details": "عرض التفاصيل",
"label.views": "مشاهدات",
"label.visitors": "زوار",
"label.views": "المشاهدات",
"label.visitors": "الزوار",
"label.website-id": "معرف الموقع",
"label.websites": "المواقع",
"label.yesterday": "الأمس",
@ -136,7 +136,7 @@
"message.saved": "تم الحفظ بنجاح.",
"message.share-url": "هذا الرابط الذي تم مشاركته بشكل عام لـ {target}.",
"message.team-already-member": "أنت عضو في المجموعة",
"message.team-not-found": "لم يتم العثور على المجموعة found.",
"message.team-not-found": "لم يتم العثور على المجموعة",
"message.tracking-code": "كود التتبع",
"message.user-deleted": "تم حذف المستخدم.",
"message.visitor-log": "زائر من {country} يستخدم {browser} على {os} {device}",

View File

@ -1,39 +1,39 @@
{
"label.access-code": "Access code",
"label.access-code": "Código de acceso",
"label.actions": "Acciones",
"label.activity-log": "Activity log",
"label.add-website": "Agregar sitio",
"label.activity-log": "Registro de actividad",
"label.add-website": "Nuevo sitio web",
"label.admin": "Administrador",
"label.all": "Todos",
"label.all-time": "Todos los tiempos",
"label.analytics": "Analytics",
"label.analytics": "Analíticas",
"label.average-visit-time": "Tiempo promedio de visita",
"label.back": "Atrás",
"label.bounce-rate": "Porcentaje de rebote",
"label.browsers": "Navegadores",
"label.cancel": "Cancelar",
"label.change-password": "Cambiar contraseña",
"label.cities": "Cities",
"label.clear-all": "Clear all",
"label.confirm": "Confirm",
"label.cities": "Ciudades",
"label.clear-all": "Limpiar todo",
"label.confirm": "Confirmar",
"label.confirm-password": "Confirmar contraseña",
"label.continue": "Continue",
"label.continue": "Continuar",
"label.countries": "Países",
"label.create-team": "Create team",
"label.create-user": "Create user",
"label.created": "Created",
"label.create-team": "Crear equipo",
"label.create-user": "Crear usuario",
"label.created": "Creado",
"label.current-password": "Contraseña actual",
"label.custom-range": "Intervalo personalizado",
"label.dashboard": "Panel de control",
"label.data": "Data",
"label.date-range": "Fechas",
"label.data": "Datos",
"label.date-range": "Intervalo de fechas",
"label.default-date-range": "Intervalo por defecto",
"label.delete": "Eliminar",
"label.delete-team": "Delete team",
"label.delete-user": "Delete user",
"label.delete-team": "Eliminar team",
"label.delete-user": "Eliminar usuario",
"label.delete-website": "Eliminar sitio",
"label.desktop": "Escritorio",
"label.details": "Details",
"label.details": "Detalles",
"label.devices": "Dispositivos",
"label.dismiss": "Ignorar",
"label.domain": "Dominio",
@ -43,18 +43,18 @@
"label.events": "Eventos",
"label.filter-combined": "Combinado",
"label.filter-raw": "Personalizado",
"label.join": "Join",
"label.join-team": "Join team",
"label.join": "Unir",
"label.join-team": "Unir a equipo",
"label.language": "Idioma",
"label.languages": "Idiomas",
"label.laptop": "Portátil",
"label.last-days": "Últimos {x} días",
"label.last-hours": "Últimas {x} horas",
"label.leave": "Leave",
"label.leave-team": "Leave team",
"label.leave": "Abandonar",
"label.leave-team": "Abandonar equipo",
"label.login": "Iniciar sesión",
"label.logout": "Cerrar sesión",
"label.members": "Members",
"label.members": "Miembros",
"label.mobile": "Móvil",
"label.more": "Más",
"label.name": "Nombre",
@ -67,80 +67,80 @@
"label.password": "Contraseña",
"label.powered-by": "Analíticas de {name}",
"label.profile": "Perfil",
"label.queries": "Queries",
"label.queries": "Consultas",
"label.query-parameters": "Parámetros de petición",
"label.realtime": "Tiempo real",
"label.referrers": "Referido desde",
"label.refresh": "Actualizar",
"label.regenerate": "Regenerate",
"label.regions": "Regions",
"label.remove": "Remove",
"label.regenerate": "Regenerar",
"label.regions": "Regiones",
"label.remove": "Quitar",
"label.required": "Obligatorio",
"label.reset": "Reiniciar",
"label.reset-website": "Reiniciar estadísticas",
"label.role": "Role",
"label.role": "Rol",
"label.save": "Guardar",
"label.screens": "Pantallas",
"label.select-website": "Select website",
"label.sessions": "Sessions",
"label.select-website": "Seleccionar sitio web",
"label.sessions": "Sesiones",
"label.settings": "Configuraciones",
"label.share-url": "Compartir URL",
"label.single-day": "Dia",
"label.single-day": "Día",
"label.tablet": "Tableta",
"label.team": "Team",
"label.team-guest": "Team guest",
"label.team-id": "Team ID",
"label.team-member": "Team member",
"label.team-owner": "Team owner",
"label.teams": "Teams",
"label.team": "Equipo",
"label.team-guest": "Invitado de equipo",
"label.team-id": "ID de equipo",
"label.team-member": "Miembro de equipo",
"label.team-owner": "Admin. del equipo",
"label.teams": "Equipos",
"label.theme": "Tema",
"label.this-month": "Este mes",
"label.this-week": "Esta semana",
"label.this-year": "Este año",
"label.timezone": "Zona horaria",
"label.title": "Title",
"label.title": "Título",
"label.today": "Hoy",
"label.toggle-charts": "Alternar gráficas",
"label.tracking-code": "Código de rastreo",
"label.unique-visitors": "Visitantes únicos",
"label.unknown": "Desconocida",
"label.user": "User",
"label.user": "Usuario",
"label.username": "Nombre de usuario",
"label.users": "Users",
"label.view": "View",
"label.users": "Usuarios",
"label.view": "Visualizar",
"label.view-details": "Ver detalles",
"label.views": "Vistas",
"label.visitors": "Visitantes",
"label.website-id": "Website ID",
"label.website-id": "ID del sitio web",
"label.websites": "Sitios",
"label.yesterday": "Ayer",
"message.active-users": "{x} {x, plural, one {activo} other {activos}}",
"message.confirm-delete": "¿Estás seguro(a) de querer eliminar {target}?",
"message.confirm-leave": "Are you sure you want to leave {target}?",
"message.confirm-reset": "¿Seguro que deseas restablecer las estadísticas de {target}?",
"message.delete-website": "Eliminar sitio",
"message.confirm-delete": "¿Seguro que quieres eliminar {target}?",
"message.confirm-leave": "¿Seguro que quieres abandonar {target}?",
"message.confirm-reset": "¿Seguro que quieres BORRAR las analíticas de {target}?",
"message.delete-website": "Eliminar sitio web",
"message.delete-website-warning": "Toda la información relacionada será eliminada.",
"message.error": "Algo falló.",
"message.event-log": "{event} on {url}",
"message.event-log": "{event} en {url}",
"message.go-to-settings": "Ir a la configuración",
"message.incorrect-username-password": "Nombre de usuario o contraseña incorrectos.",
"message.invalid-domain": "Dominio inválido",
"message.min-password-length": "Minimum length of {n} characters",
"message.min-password-length": "Longitud mínima de {n} caracteres",
"message.no-data-available": "No hay información disponible.",
"message.no-match-password": "Las contraseñas no coinciden",
"message.no-teams": "You have not created any teams.",
"message.no-users": "There are no users.",
"message.no-teams": "No has creado ningún equipo.",
"message.no-users": "No hay usuarios.",
"message.page-not-found": "Página no encontrada",
"message.reset-website": "Reiniciar estadísticas",
"message.reset-website-warning": "Todas las estadísticas de esta página serán eliminadas, pero el código de rastreo permanecerá intacto.",
"message.saved": "Guardado exitosamente.",
"message.saved": "Guardado.",
"message.share-url": "Esta es la URL compartida públicamente para {target}.",
"message.team-already-member": "You are already a member of the team.",
"message.team-not-found": "Team not found.",
"message.team-already-member": "Ya eres miembro de este equipo.",
"message.team-not-found": "Equipo no encontrado.",
"message.tracking-code": "Código de rastreo",
"message.user-deleted": "User deleted.",
"message.user-deleted": "Usuario eliminado.",
"message.visitor-log": "Visitante desde {country} usando {browser} en {os} {device}",
"messages.no-team-websites": "This team does not have any websites.",
"messages.no-team-websites": "Este equipo no tiene ningún sitio web configurado.",
"messages.no-websites-configured": "No tienes ningún sitio configurado.",
"messages.team-websites-info": "Websites can be viewed by anyone on the team."
"messages.team-websites-info": "Las analíticas de tus sitios pueden verse por cualquier miembro del equipo."
}

View File

@ -1,27 +1,27 @@
{
"label.access-code": "Access code",
"label.access-code": "Kod dostępu",
"label.actions": "Działania",
"label.activity-log": "Activity log",
"label.activity-log": "Dziennik aktywności",
"label.add-website": "Dodaj witrynę",
"label.admin": "Administrator",
"label.all": "Wszystkie",
"label.all-time": "Cały czas",
"label.analytics": "Analytics",
"label.analytics": "Analityka",
"label.average-visit-time": "Średni czas wizyty",
"label.back": "Powrót",
"label.bounce-rate": "Współczynnik odrzuceń",
"label.browsers": "Przeglądarki",
"label.cancel": "Anuluj",
"label.change-password": "Zmień hasło",
"label.cities": "Cities",
"label.clear-all": "Clear all",
"label.confirm": "Confirm",
"label.cities": "Miasta",
"label.clear-all": "Wyczyść wszystko",
"label.confirm": "Potwierdź",
"label.confirm-password": "Potwierdź hasło",
"label.continue": "Continue",
"label.continue": "Kontynuuj",
"label.countries": "Kraje",
"label.create-team": "Create team",
"label.create-user": "Create user",
"label.created": "Created",
"label.create-team": "Utwórz zespół",
"label.create-user": "Utwórz użytkownika",
"label.created": "Utworzony",
"label.current-password": "Aktualne hasło",
"label.custom-range": "Zakres niestandardowy",
"label.dashboard": "Panel",
@ -29,11 +29,11 @@
"label.date-range": "Zakres dat",
"label.default-date-range": "Domyślny zakres dat",
"label.delete": "Usuń",
"label.delete-team": "Delete team",
"label.delete-user": "Delete user",
"label.delete-team": "Usuń zespół",
"label.delete-user": "Usuń użytkownika",
"label.delete-website": "Usuń witrynę",
"label.desktop": "Komputer",
"label.details": "Details",
"label.details": "Szczegóły",
"label.devices": "Urządzenia",
"label.dismiss": "Odrzuć",
"label.domain": "Domena",
@ -43,18 +43,18 @@
"label.events": "Zdarzenia",
"label.filter-combined": "Połączone",
"label.filter-raw": "Surowe dane",
"label.join": "Join",
"label.join-team": "Join team",
"label.join": "Dołącz",
"label.join-team": "Dołącz do zespołu",
"label.language": "Język",
"label.languages": "Języki",
"label.laptop": "Laptop",
"label.last-days": "Ostatnie {x} dni",
"label.last-hours": "Ostatnie {x} godzin",
"label.leave": "Leave",
"label.leave-team": "Leave team",
"label.leave": "Opuść",
"label.leave-team": "Opuść zespół",
"label.login": "Zaloguj się",
"label.logout": "Wyloguj",
"label.members": "Members",
"label.members": "Członkowie",
"label.mobile": "Smartfon",
"label.more": "Więcej",
"label.name": "Nazwa",
@ -67,80 +67,80 @@
"label.password": "Hasło",
"label.powered-by": "Obsługiwane przez {name}",
"label.profile": "Profil",
"label.queries": "Queries",
"label.queries": "Zapytania",
"label.query-parameters": "Parametry query",
"label.realtime": "Czas rzeczywisty",
"label.referrers": "Źródła odsyłające",
"label.refresh": "Odśwież",
"label.regenerate": "Regenerate",
"label.regions": "Regions",
"label.remove": "Remove",
"label.regenerate": "Wygeneruj ponownie",
"label.regions": "Regiony",
"label.remove": "Usuń",
"label.required": "Wymagany",
"label.reset": "Zresetuj",
"label.reset-website": "Zresetuj statystyki",
"label.role": "Role",
"label.save": "Zapisz",
"label.screens": "Ekrany",
"label.select-website": "Select website",
"label.sessions": "Sessions",
"label.select-website": "Wybierz witrynę",
"label.sessions": "Sesje",
"label.settings": "Ustawienia",
"label.share-url": "Udostępnij adres URL",
"label.single-day": "W tym dniu",
"label.tablet": "Tablet",
"label.team": "Team",
"label.team-guest": "Team guest",
"label.team-id": "Team ID",
"label.team-member": "Team member",
"label.team-owner": "Team owner",
"label.teams": "Teams",
"label.team": "Zespół",
"label.team-guest": "Gość zespołu",
"label.team-id": "ID zespołu",
"label.team-member": "Członek zespołu",
"label.team-owner": "Właściciel zespołu",
"label.teams": "Zespoły",
"label.theme": "Motyw",
"label.this-month": "W tym miesiącu",
"label.this-week": "W tym tygodniu",
"label.this-year": "W tym roku",
"label.timezone": "Strefa czasowa",
"label.title": "Title",
"label.title": "Tytuł",
"label.today": "Dzisiaj",
"label.toggle-charts": "Przełącz wykresy",
"label.tracking-code": "Kod śledzenia",
"label.unique-visitors": "Unikalni odwiedzający",
"label.unknown": "Nieznany",
"label.user": "User",
"label.user": "Użytkownik",
"label.username": "Nazwa użytkownika",
"label.users": "Users",
"label.view": "View",
"label.users": "Użytkownicy",
"label.view": "Zobacz",
"label.view-details": "Pokaż szczegóły",
"label.views": "Wyświetlenia",
"label.visitors": "Odwiedzający",
"label.website-id": "Website ID",
"label.website-id": "ID witryny",
"label.websites": "Witryny",
"label.yesterday": "Wczoraj",
"message.active-users": "{x} aktualnie {x, plural, one {odwiedzający} other {odwiedzających}}",
"message.confirm-delete": "Czy na pewno chcesz usunąć {target}?",
"message.confirm-leave": "Are you sure you want to leave {target}?",
"message.confirm-leave": "Czy na pewno chcesz opuścić {target}?",
"message.confirm-reset": "Czy na pewno chcesz zresetować statystyki {target}?",
"message.delete-website": "Usuń witrynę",
"message.delete-website-warning": "Wszystkie powiązane dane również zostaną usunięte.",
"message.error": "Coś poszło nie tak.",
"message.event-log": "{event} on {url}",
"message.event-log": "{event} na {url}",
"message.go-to-settings": "Przejdź do ustawień",
"message.incorrect-username-password": "Nieprawidłowa nazwa użytkownika/hasło.",
"message.invalid-domain": "Nieprawidłowa witryna",
"message.min-password-length": "Minimum length of {n} characters",
"message.min-password-length": "Minimalna długość {n} znaków",
"message.no-data-available": "Brak dostępnych danych.",
"message.no-match-password": "Hasła się nie zgadzają",
"message.no-teams": "You have not created any teams.",
"message.no-users": "There are no users.",
"message.no-teams": "Nie stworzyłeś żadnych zespołów.",
"message.no-users": "Nie ma żadnych użytkowników.",
"message.page-not-found": "Strona nie znaleziona.",
"message.reset-website": "Zresetuj statystyki",
"message.reset-website-warning": "Wszystkie statystyki tej witryny zostaną usunięte, ale kod śledzenia pozostanie nienaruszony.",
"message.saved": "Zapisano pomyślnie.",
"message.share-url": "To jest publicznie udostępniany adres URL dla {target}.",
"message.team-already-member": "You are already a member of the team.",
"message.team-not-found": "Team not found.",
"message.team-already-member": "Jesteś już członkiem zespołu.",
"message.team-not-found": "Nie znaleziono zespołu.",
"message.tracking-code": "Kod śledzenia",
"message.user-deleted": "User deleted.",
"message.user-deleted": "Użytkownik usunięty.",
"message.visitor-log": "Odwiedzający z {country} używa {browser} na {os} {device}",
"messages.no-team-websites": "This team does not have any websites.",
"messages.no-team-websites": "Ten zespół nie ma żadnych witryn internetowych.",
"messages.no-websites-configured": "Nie masz skonfigurowanych żadnych witryn internetowych.",
"messages.team-websites-info": "Websites can be viewed by anyone on the team."
"messages.team-websites-info": "Strony internetowe mogą być przeglądane przez każdego członka zespołu."
}

View File

@ -53,7 +53,7 @@ export function parseDateRange(value, locale = 'en-US') {
const match = value.match(/^(?<num>[0-9-]+)(?<unit>hour|day|week|month|year)$/);
if (!match) return;
if (!match) return {};
const { num, unit } = match.groups;

View File

@ -56,12 +56,24 @@ export function getDevice(screen, os) {
}
}
export async function getLocation(ip) {
export async function getLocation(ip, req) {
// Ignore local ips
if (await isLocalhost(ip)) {
return;
}
if (req.headers['x-vercel-ip-country']) {
const country = req.headers['x-vercel-ip-country'];
const region = req.headers['x-vercel-ip-country-region'];
const city = req.headers['x-vercel-ip-city'];
return {
country,
subdivision1: region,
city: city ? decodeURIComponent(city) : undefined,
};
}
// Database lookup
if (!lookup) {
const dir = path.join(process.cwd(), 'geo');
@ -70,18 +82,21 @@ export async function getLocation(ip) {
}
const result = lookup.get(ip);
const country = result?.country?.iso_code ?? result?.registered_country?.iso_code;
const subdivision1 = result?.subdivisions?.[0]?.iso_code;
const subdivision2 = result?.subdivisions?.[1]?.names?.en;
const city = result?.city?.names?.en;
return { country, subdivision1, subdivision2, city };
if (result) {
return {
country: result.country?.iso_code ?? result?.registered_country?.iso_code,
subdivision1: result.subdivisions?.[0]?.iso_code,
subdivision2: result.subdivisions?.[1]?.names?.en,
city: result.city?.names?.en,
};
}
}
export async function getClientInfo(req: NextApiRequestCollect, { screen }) {
const userAgent = req.headers['user-agent'];
const ip = getIpAddress(req);
const location = await getLocation(ip);
const location = await getLocation(ip, req);
const country = location?.country;
const subdivision1 = location?.subdivision1;
const subdivision2 = location?.subdivision2;

View File

@ -65,10 +65,10 @@ const redirects = [
},
];
if (process.env.CLOUD_MODE) {
if (process.env.CLOUD_MODE && process.env.DISABLE_LOGIN && process.env.CLOUD_URL) {
redirects.push({
source: '/login',
destination: CLOUD_URL,
destination: process.env.CLOUD_URL,
permanent: false,
});
}

View File

@ -1,6 +1,6 @@
{
"name": "umami",
"version": "2.1.1",
"version": "2.2.0",
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
"author": "Mike Cao <mike@mikecao.com>",
"license": "MIT",
@ -97,6 +97,7 @@
"react-basics": "^0.77.0",
"react-beautiful-dnd": "^13.1.0",
"react-dom": "^18.2.0",
"react-error-boundary": "^4.0.4",
"react-intl": "^5.24.7",
"react-simple-maps": "^2.3.0",
"react-spring": "^9.4.4",

View File

@ -3,6 +3,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import Head from 'next/head';
import Script from 'next/script';
import { useRouter } from 'next/router';
import ErrorBoundary from 'components/common/ErrorBoundary';
import useLocale from 'hooks/useLocale';
import useConfig from 'hooks/useConfig';
import '@fontsource/inter/400.css';
@ -41,21 +42,37 @@ export default function App({ Component, pageProps }) {
textComponent={Wrapper}
onError={() => null}
>
<Head>
<link rel="icon" href={`${basePath}/favicon.ico`} />
<link rel="apple-touch-icon" sizes="180x180" href={`${basePath}/apple-touch-icon.png`} />
<link rel="icon" type="image/png" sizes="32x32" href={`${basePath}/favicon-32x32.png`} />
<link rel="icon" type="image/png" sizes="16x16" href={`${basePath}/favicon-16x16.png`} />
<link rel="manifest" href={`${basePath}/site.webmanifest`} />
<link rel="mask-icon" href={`${basePath}/safari-pinned-tab.svg`} color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#fafafa" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#2f2f2f" media="(prefers-color-scheme: dark)" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex,nofollow" />
</Head>
<Component {...pageProps} />
{!pathname.includes('/share/') && <Script src={`${basePath}/telemetry.js`} />}
<ErrorBoundary>
<Head>
<link rel="icon" href={`${basePath}/favicon.ico`} />
<link
rel="apple-touch-icon"
sizes="180x180"
href={`${basePath}/apple-touch-icon.png`}
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href={`${basePath}/favicon-32x32.png`}
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href={`${basePath}/favicon-16x16.png`}
/>
<link rel="manifest" href={`${basePath}/site.webmanifest`} />
<link rel="mask-icon" href={`${basePath}/safari-pinned-tab.svg`} color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#fafafa" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#2f2f2f" media="(prefers-color-scheme: dark)" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex,nofollow" />
</Head>
<Component {...pageProps} />
{!pathname.includes('/share/') && <Script src={`${basePath}/telemetry.js`} />}
</ErrorBoundary>
</IntlProvider>
</QueryClientProvider>
);

View File

@ -1,3 +1,4 @@
import debug from 'debug';
import { NextApiResponse } from 'next';
import {
ok,
@ -13,6 +14,8 @@ import { secret } from 'lib/crypto';
import { NextApiRequestQueryBody, User } from 'lib/types';
import { setAuthKey } from 'lib/auth';
const log = debug('umami:auth');
export interface LoginRequestBody {
username: string;
password: string;
@ -51,6 +54,8 @@ export default async (
});
}
log('Login failed:', { username, user });
return unauthorized(res, 'message.incorrect-username-password');
}

View File

@ -16,7 +16,7 @@ export default function LoginPage({ disabled }) {
export async function getServerSideProps() {
return {
props: {
disabled: !!(process.env.DISABLE_LOGIN || process.env.CLOUD_MODE),
disabled: !!process.env.DISABLE_LOGIN,
},
};
}

BIN
public/images/flags/xx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

View File

@ -2,13 +2,13 @@
"label.access-code": [
{
"type": 0,
"value": "Access code"
"value": "كود الدعوة"
}
],
"label.actions": [
{
"type": 0,
"value": "اجراءات"
"value": "الإجراءات"
}
],
"label.activity-log": [
@ -378,7 +378,7 @@
"label.none": [
{
"type": 0,
"value": "لا شيء"
"value": "غير معرف"
}
],
"label.operating-systems": [
@ -682,13 +682,13 @@
"label.views": [
{
"type": 0,
"value": "مشاهدات"
"value": "المشاهدات"
}
],
"label.visitors": [
{
"type": 0,
"value": "زوار"
"value": "الزوار"
}
],
"label.website-id": [
@ -920,7 +920,7 @@
"message.team-not-found": [
{
"type": 0,
"value": "لم يتم العثور على المجموعة found."
"value": "لم يتم العثور على المجموعة"
}
],
"message.tracking-code": [

View File

@ -2,7 +2,7 @@
"label.access-code": [
{
"type": 0,
"value": "Access code"
"value": "Código de acceso"
}
],
"label.actions": [
@ -14,13 +14,13 @@
"label.activity-log": [
{
"type": 0,
"value": "Activity log"
"value": "Registro de actividad"
}
],
"label.add-website": [
{
"type": 0,
"value": "Agregar sitio"
"value": "Nuevo sitio web"
}
],
"label.admin": [
@ -44,7 +44,7 @@
"label.analytics": [
{
"type": 0,
"value": "Analytics"
"value": "Analíticas"
}
],
"label.average-visit-time": [
@ -86,19 +86,19 @@
"label.cities": [
{
"type": 0,
"value": "Cities"
"value": "Ciudades"
}
],
"label.clear-all": [
{
"type": 0,
"value": "Clear all"
"value": "Limpiar todo"
}
],
"label.confirm": [
{
"type": 0,
"value": "Confirm"
"value": "Confirmar"
}
],
"label.confirm-password": [
@ -110,7 +110,7 @@
"label.continue": [
{
"type": 0,
"value": "Continue"
"value": "Continuar"
}
],
"label.countries": [
@ -122,19 +122,19 @@
"label.create-team": [
{
"type": 0,
"value": "Create team"
"value": "Crear equipo"
}
],
"label.create-user": [
{
"type": 0,
"value": "Create user"
"value": "Crear usuario"
}
],
"label.created": [
{
"type": 0,
"value": "Created"
"value": "Creado"
}
],
"label.current-password": [
@ -158,13 +158,13 @@
"label.data": [
{
"type": 0,
"value": "Data"
"value": "Datos"
}
],
"label.date-range": [
{
"type": 0,
"value": "Fechas"
"value": "Intervalo de fechas"
}
],
"label.default-date-range": [
@ -182,13 +182,13 @@
"label.delete-team": [
{
"type": 0,
"value": "Delete team"
"value": "Eliminar team"
}
],
"label.delete-user": [
{
"type": 0,
"value": "Delete user"
"value": "Eliminar usuario"
}
],
"label.delete-website": [
@ -206,7 +206,7 @@
"label.details": [
{
"type": 0,
"value": "Details"
"value": "Detalles"
}
],
"label.devices": [
@ -266,13 +266,13 @@
"label.join": [
{
"type": 0,
"value": "Join"
"value": "Unir"
}
],
"label.join-team": [
{
"type": 0,
"value": "Join team"
"value": "Unir a equipo"
}
],
"label.language": [
@ -324,13 +324,13 @@
"label.leave": [
{
"type": 0,
"value": "Leave"
"value": "Abandonar"
}
],
"label.leave-team": [
{
"type": 0,
"value": "Leave team"
"value": "Abandonar equipo"
}
],
"label.login": [
@ -348,7 +348,7 @@
"label.members": [
{
"type": 0,
"value": "Members"
"value": "Miembros"
}
],
"label.mobile": [
@ -430,7 +430,7 @@
"label.queries": [
{
"type": 0,
"value": "Queries"
"value": "Consultas"
}
],
"label.query-parameters": [
@ -460,19 +460,19 @@
"label.regenerate": [
{
"type": 0,
"value": "Regenerate"
"value": "Regenerar"
}
],
"label.regions": [
{
"type": 0,
"value": "Regions"
"value": "Regiones"
}
],
"label.remove": [
{
"type": 0,
"value": "Remove"
"value": "Quitar"
}
],
"label.required": [
@ -496,7 +496,7 @@
"label.role": [
{
"type": 0,
"value": "Role"
"value": "Rol"
}
],
"label.save": [
@ -514,13 +514,13 @@
"label.select-website": [
{
"type": 0,
"value": "Select website"
"value": "Seleccionar sitio web"
}
],
"label.sessions": [
{
"type": 0,
"value": "Sessions"
"value": "Sesiones"
}
],
"label.settings": [
@ -538,7 +538,7 @@
"label.single-day": [
{
"type": 0,
"value": "Dia"
"value": "Día"
}
],
"label.tablet": [
@ -550,37 +550,37 @@
"label.team": [
{
"type": 0,
"value": "Team"
"value": "Equipo"
}
],
"label.team-guest": [
{
"type": 0,
"value": "Team guest"
"value": "Invitado de equipo"
}
],
"label.team-id": [
{
"type": 0,
"value": "Team ID"
"value": "ID de equipo"
}
],
"label.team-member": [
{
"type": 0,
"value": "Team member"
"value": "Miembro de equipo"
}
],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
"value": "Admin. del equipo"
}
],
"label.teams": [
{
"type": 0,
"value": "Teams"
"value": "Equipos"
}
],
"label.theme": [
@ -616,7 +616,7 @@
"label.title": [
{
"type": 0,
"value": "Title"
"value": "Título"
}
],
"label.today": [
@ -652,7 +652,7 @@
"label.user": [
{
"type": 0,
"value": "User"
"value": "Usuario"
}
],
"label.username": [
@ -664,13 +664,13 @@
"label.users": [
{
"type": 0,
"value": "Users"
"value": "Usuarios"
}
],
"label.view": [
{
"type": 0,
"value": "View"
"value": "Visualizar"
}
],
"label.view-details": [
@ -694,7 +694,7 @@
"label.website-id": [
{
"type": 0,
"value": "Website ID"
"value": "ID del sitio web"
}
],
"label.websites": [
@ -746,7 +746,7 @@
"message.confirm-delete": [
{
"type": 0,
"value": "¿Estás seguro(a) de querer eliminar "
"value": "¿Seguro que quieres eliminar "
},
{
"type": 1,
@ -760,7 +760,7 @@
"message.confirm-leave": [
{
"type": 0,
"value": "Are you sure you want to leave "
"value": "¿Seguro que quieres abandonar "
},
{
"type": 1,
@ -774,7 +774,7 @@
"message.confirm-reset": [
{
"type": 0,
"value": "¿Seguro que deseas restablecer las estadísticas de "
"value": "¿Seguro que quieres BORRAR las analíticas de "
},
{
"type": 1,
@ -788,7 +788,7 @@
"message.delete-website": [
{
"type": 0,
"value": "Eliminar sitio"
"value": "Eliminar sitio web"
}
],
"message.delete-website-warning": [
@ -810,7 +810,7 @@
},
{
"type": 0,
"value": " on "
"value": " en "
},
{
"type": 1,
@ -838,7 +838,7 @@
"message.min-password-length": [
{
"type": 0,
"value": "Minimum length of "
"value": "Longitud mínima de "
},
{
"type": 1,
@ -846,7 +846,7 @@
},
{
"type": 0,
"value": " characters"
"value": " caracteres"
}
],
"message.no-data-available": [
@ -864,13 +864,13 @@
"message.no-teams": [
{
"type": 0,
"value": "You have not created any teams."
"value": "No has creado ningún equipo."
}
],
"message.no-users": [
{
"type": 0,
"value": "There are no users."
"value": "No hay usuarios."
}
],
"message.page-not-found": [
@ -894,7 +894,7 @@
"message.saved": [
{
"type": 0,
"value": "Guardado exitosamente."
"value": "Guardado."
}
],
"message.share-url": [
@ -914,13 +914,13 @@
"message.team-already-member": [
{
"type": 0,
"value": "You are already a member of the team."
"value": "Ya eres miembro de este equipo."
}
],
"message.team-not-found": [
{
"type": 0,
"value": "Team not found."
"value": "Equipo no encontrado."
}
],
"message.tracking-code": [
@ -932,7 +932,7 @@
"message.user-deleted": [
{
"type": 0,
"value": "User deleted."
"value": "Usuario eliminado."
}
],
"message.visitor-log": [
@ -972,7 +972,7 @@
"messages.no-team-websites": [
{
"type": 0,
"value": "This team does not have any websites."
"value": "Este equipo no tiene ningún sitio web configurado."
}
],
"messages.no-websites-configured": [
@ -984,7 +984,7 @@
"messages.team-websites-info": [
{
"type": 0,
"value": "Websites can be viewed by anyone on the team."
"value": "Las analíticas de tus sitios pueden verse por cualquier miembro del equipo."
}
]
}

View File

@ -2,7 +2,7 @@
"label.access-code": [
{
"type": 0,
"value": "Access code"
"value": "Kod dostępu"
}
],
"label.actions": [
@ -14,7 +14,7 @@
"label.activity-log": [
{
"type": 0,
"value": "Activity log"
"value": "Dziennik aktywności"
}
],
"label.add-website": [
@ -44,7 +44,7 @@
"label.analytics": [
{
"type": 0,
"value": "Analytics"
"value": "Analityka"
}
],
"label.average-visit-time": [
@ -86,19 +86,19 @@
"label.cities": [
{
"type": 0,
"value": "Cities"
"value": "Miasta"
}
],
"label.clear-all": [
{
"type": 0,
"value": "Clear all"
"value": "Wyczyść wszystko"
}
],
"label.confirm": [
{
"type": 0,
"value": "Confirm"
"value": "Potwierdź"
}
],
"label.confirm-password": [
@ -110,7 +110,7 @@
"label.continue": [
{
"type": 0,
"value": "Continue"
"value": "Kontynuuj"
}
],
"label.countries": [
@ -122,19 +122,19 @@
"label.create-team": [
{
"type": 0,
"value": "Create team"
"value": "Utwórz zespół"
}
],
"label.create-user": [
{
"type": 0,
"value": "Create user"
"value": "Utwórz użytkownika"
}
],
"label.created": [
{
"type": 0,
"value": "Created"
"value": "Utworzony"
}
],
"label.current-password": [
@ -182,13 +182,13 @@
"label.delete-team": [
{
"type": 0,
"value": "Delete team"
"value": "Usuń zespół"
}
],
"label.delete-user": [
{
"type": 0,
"value": "Delete user"
"value": "Usuń użytkownika"
}
],
"label.delete-website": [
@ -206,7 +206,7 @@
"label.details": [
{
"type": 0,
"value": "Details"
"value": "Szczegóły"
}
],
"label.devices": [
@ -266,13 +266,13 @@
"label.join": [
{
"type": 0,
"value": "Join"
"value": "Dołącz"
}
],
"label.join-team": [
{
"type": 0,
"value": "Join team"
"value": "Dołącz do zespołu"
}
],
"label.language": [
@ -324,13 +324,13 @@
"label.leave": [
{
"type": 0,
"value": "Leave"
"value": "Opuść"
}
],
"label.leave-team": [
{
"type": 0,
"value": "Leave team"
"value": "Opuść zespół"
}
],
"label.login": [
@ -348,7 +348,7 @@
"label.members": [
{
"type": 0,
"value": "Members"
"value": "Członkowie"
}
],
"label.mobile": [
@ -430,7 +430,7 @@
"label.queries": [
{
"type": 0,
"value": "Queries"
"value": "Zapytania"
}
],
"label.query-parameters": [
@ -460,19 +460,19 @@
"label.regenerate": [
{
"type": 0,
"value": "Regenerate"
"value": "Wygeneruj ponownie"
}
],
"label.regions": [
{
"type": 0,
"value": "Regions"
"value": "Regiony"
}
],
"label.remove": [
{
"type": 0,
"value": "Remove"
"value": "Usuń"
}
],
"label.required": [
@ -514,13 +514,13 @@
"label.select-website": [
{
"type": 0,
"value": "Select website"
"value": "Wybierz witrynę"
}
],
"label.sessions": [
{
"type": 0,
"value": "Sessions"
"value": "Sesje"
}
],
"label.settings": [
@ -550,37 +550,37 @@
"label.team": [
{
"type": 0,
"value": "Team"
"value": "Zespół"
}
],
"label.team-guest": [
{
"type": 0,
"value": "Team guest"
"value": "Gość zespołu"
}
],
"label.team-id": [
{
"type": 0,
"value": "Team ID"
"value": "ID zespołu"
}
],
"label.team-member": [
{
"type": 0,
"value": "Team member"
"value": "Członek zespołu"
}
],
"label.team-owner": [
{
"type": 0,
"value": "Team owner"
"value": "Właściciel zespołu"
}
],
"label.teams": [
{
"type": 0,
"value": "Teams"
"value": "Zespoły"
}
],
"label.theme": [
@ -616,7 +616,7 @@
"label.title": [
{
"type": 0,
"value": "Title"
"value": "Tytuł"
}
],
"label.today": [
@ -652,7 +652,7 @@
"label.user": [
{
"type": 0,
"value": "User"
"value": "Użytkownik"
}
],
"label.username": [
@ -664,13 +664,13 @@
"label.users": [
{
"type": 0,
"value": "Users"
"value": "Użytkownicy"
}
],
"label.view": [
{
"type": 0,
"value": "View"
"value": "Zobacz"
}
],
"label.view-details": [
@ -694,7 +694,7 @@
"label.website-id": [
{
"type": 0,
"value": "Website ID"
"value": "ID witryny"
}
],
"label.websites": [
@ -760,7 +760,7 @@
"message.confirm-leave": [
{
"type": 0,
"value": "Are you sure you want to leave "
"value": "Czy na pewno chcesz opuścić "
},
{
"type": 1,
@ -810,7 +810,7 @@
},
{
"type": 0,
"value": " on "
"value": " na "
},
{
"type": 1,
@ -838,7 +838,7 @@
"message.min-password-length": [
{
"type": 0,
"value": "Minimum length of "
"value": "Minimalna długość "
},
{
"type": 1,
@ -846,7 +846,7 @@
},
{
"type": 0,
"value": " characters"
"value": " znaków"
}
],
"message.no-data-available": [
@ -864,13 +864,13 @@
"message.no-teams": [
{
"type": 0,
"value": "You have not created any teams."
"value": "Nie stworzyłeś żadnych zespołów."
}
],
"message.no-users": [
{
"type": 0,
"value": "There are no users."
"value": "Nie ma żadnych użytkowników."
}
],
"message.page-not-found": [
@ -914,13 +914,13 @@
"message.team-already-member": [
{
"type": 0,
"value": "You are already a member of the team."
"value": "Jesteś już członkiem zespołu."
}
],
"message.team-not-found": [
{
"type": 0,
"value": "Team not found."
"value": "Nie znaleziono zespołu."
}
],
"message.tracking-code": [
@ -932,7 +932,7 @@
"message.user-deleted": [
{
"type": 0,
"value": "User deleted."
"value": "Użytkownik usunięty."
}
],
"message.visitor-log": [
@ -972,7 +972,7 @@
"messages.no-team-websites": [
{
"type": 0,
"value": "This team does not have any websites."
"value": "Ten zespół nie ma żadnych witryn internetowych."
}
],
"messages.no-websites-configured": [
@ -984,7 +984,7 @@
"messages.team-websites-info": [
{
"type": 0,
"value": "Websites can be viewed by anyone on the team."
"value": "Strony internetowe mogą być przeglądane przez każdego członka zespołu."
}
]
}

View File

@ -7,6 +7,11 @@ const https = require('https');
const zlib = require('zlib');
const tar = require('tar');
if (process.env.VERCEL) {
console.log('Vercel environment detected. Skipping geo setup.');
process.exit(0);
}
const db = 'GeoLite2-City';
let url = `https://raw.githubusercontent.com/GitSquared/node-geolite2-redist/master/redist/${db}.tar.gz`;

View File

@ -119,12 +119,15 @@
return currentElement;
}
currentElement = currentElement.parentElement;
if (!currentElement) {
return null;
}
}
return null;
};
const el = e.target;
const anchor = el.tagName === 'A' ? el : findATagParent(el, 5);
const anchor = el.tagName === 'A' ? el : findATagParent(el, 10);
if (anchor) {
const { href, target } = anchor;
@ -159,11 +162,15 @@
const observer = new MutationObserver(callback);
observer.observe(document.querySelector('head > title'), {
subtree: true,
characterData: true,
childList: true,
});
const node = document.querySelector('head > title');
if (node) {
observer.observe(node, {
subtree: true,
characterData: true,
childList: true,
});
}
};
const send = payload => {

417
yarn.lock
View File

@ -1497,7 +1497,7 @@
core-js-pure "^3.25.1"
regenerator-runtime "^0.13.11"
"@babel/runtime@^7.0.0":
"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.5":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
@ -1744,115 +1744,115 @@
resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36"
integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==
"@esbuild/android-arm64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.17.tgz#164b054d58551f8856285f386e1a8f45d9ba3a31"
integrity sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==
"@esbuild/android-arm64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz#4aa8d8afcffb4458736ca9b32baa97d7cb5861ea"
integrity sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==
"@esbuild/android-arm@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.17.tgz#1b3b5a702a69b88deef342a7a80df4c894e4f065"
integrity sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==
"@esbuild/android-arm@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.18.tgz#74a7e95af4ee212ebc9db9baa87c06a594f2a427"
integrity sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==
"@esbuild/android-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.17.tgz#6781527e3c4ea4de532b149d18a2167f06783e7f"
integrity sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==
"@esbuild/android-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.18.tgz#1dcd13f201997c9fe0b204189d3a0da4eb4eb9b6"
integrity sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==
"@esbuild/darwin-arm64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.17.tgz#c5961ef4d3c1cc80dafe905cc145b5a71d2ac196"
integrity sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==
"@esbuild/darwin-arm64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz#444f3b961d4da7a89eb9bd35cfa4415141537c2a"
integrity sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==
"@esbuild/darwin-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.17.tgz#b81f3259cc349691f67ae30f7b333a53899b3c20"
integrity sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==
"@esbuild/darwin-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz#a6da308d0ac8a498c54d62e0b2bfb7119b22d315"
integrity sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==
"@esbuild/freebsd-arm64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.17.tgz#db846ad16cf916fd3acdda79b85ea867cb100e87"
integrity sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==
"@esbuild/freebsd-arm64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz#b83122bb468889399d0d63475d5aea8d6829c2c2"
integrity sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==
"@esbuild/freebsd-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.17.tgz#4dd99acbaaba00949d509e7c144b1b6ef9e1815b"
integrity sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==
"@esbuild/freebsd-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz#af59e0e03fcf7f221b34d4c5ab14094862c9c864"
integrity sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==
"@esbuild/linux-arm64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.17.tgz#7f9274140b2bb9f4230dbbfdf5dc2761215e30f6"
integrity sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==
"@esbuild/linux-arm64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz#8551d72ba540c5bce4bab274a81c14ed01eafdcf"
integrity sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==
"@esbuild/linux-arm@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.17.tgz#5c8e44c2af056bb2147cf9ad13840220bcb8948b"
integrity sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==
"@esbuild/linux-arm@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz#e09e76e526df4f665d4d2720d28ff87d15cdf639"
integrity sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==
"@esbuild/linux-ia32@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.17.tgz#18a6b3798658be7f46e9873fa0c8d4bec54c9212"
integrity sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==
"@esbuild/linux-ia32@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz#47878860ce4fe73a36fd8627f5647bcbbef38ba4"
integrity sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==
"@esbuild/linux-loong64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.17.tgz#a8d93514a47f7b4232716c9f02aeb630bae24c40"
integrity sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==
"@esbuild/linux-loong64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz#3f8fbf5267556fc387d20b2e708ce115de5c967a"
integrity sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==
"@esbuild/linux-mips64el@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.17.tgz#4784efb1c3f0eac8133695fa89253d558149ee1b"
integrity sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==
"@esbuild/linux-mips64el@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz#9d896d8f3c75f6c226cbeb840127462e37738226"
integrity sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==
"@esbuild/linux-ppc64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.17.tgz#ef6558ec5e5dd9dc16886343e0ccdb0699d70d3c"
integrity sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==
"@esbuild/linux-ppc64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz#3d9deb60b2d32c9985bdc3e3be090d30b7472783"
integrity sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==
"@esbuild/linux-riscv64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.17.tgz#13a87fdbcb462c46809c9d16bcf79817ecf9ce6f"
integrity sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==
"@esbuild/linux-riscv64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz#8a943cf13fd24ff7ed58aefb940ef178f93386bc"
integrity sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==
"@esbuild/linux-s390x@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.17.tgz#83cb16d1d3ac0dca803b3f031ba3dc13f1ec7ade"
integrity sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==
"@esbuild/linux-s390x@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz#66cb01f4a06423e5496facabdce4f7cae7cb80e5"
integrity sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==
"@esbuild/linux-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.17.tgz#7bc400568690b688e20a0c94b2faabdd89ae1a79"
integrity sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==
"@esbuild/linux-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz#23c26050c6c5d1359c7b774823adc32b3883b6c9"
integrity sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==
"@esbuild/netbsd-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.17.tgz#1b5dcfbc4bfba80e67a11e9148de836af5b58b6c"
integrity sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==
"@esbuild/netbsd-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz#789a203d3115a52633ff6504f8cbf757f15e703b"
integrity sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==
"@esbuild/openbsd-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.17.tgz#e275098902291149a5dcd012c9ea0796d6b7adff"
integrity sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==
"@esbuild/openbsd-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz#d7b998a30878f8da40617a10af423f56f12a5e90"
integrity sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==
"@esbuild/sunos-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.17.tgz#10603474866f64986c0370a2d4fe5a2bb7fee4f5"
integrity sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==
"@esbuild/sunos-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz#ecad0736aa7dae07901ba273db9ef3d3e93df31f"
integrity sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==
"@esbuild/win32-arm64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.17.tgz#521a6d97ee0f96b7c435930353cc4e93078f0b54"
integrity sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==
"@esbuild/win32-arm64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz#58dfc177da30acf956252d7c8ae9e54e424887c4"
integrity sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==
"@esbuild/win32-ia32@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.17.tgz#56f88462ebe82dad829dc2303175c0e0ccd8e38e"
integrity sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==
"@esbuild/win32-ia32@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz#340f6163172b5272b5ae60ec12c312485f69232b"
integrity sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==
"@esbuild/win32-x64@0.17.17":
version "0.17.17"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.17.tgz#2b577b976e6844106715bbe0cdc57cd1528063f9"
integrity sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==
"@esbuild/win32-x64@0.17.18":
version "0.17.18"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz#3a8e57153905308db357fd02f57c180ee3a0a1fa"
integrity sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==
"@eslint-community/eslint-utils@^4.2.0":
version "4.4.0"
@ -2273,9 +2273,9 @@
unstorage "^1.0.0"
"@netlify/plugin-nextjs@^4.27.3":
version "4.35.0"
resolved "https://registry.yarnpkg.com/@netlify/plugin-nextjs/-/plugin-nextjs-4.35.0.tgz#75d3c8b0d5c55ecaa98ae65fbd5bbc3ad24d738f"
integrity sha512-rPSTejm7uPMejW6LlSi6JoLSoJRGaaVcyX0BGKNoJAwf5FIBf1OxS6i1kjYESf+ALldezG0tOOBOnJaP4oETSA==
version "4.36.0"
resolved "https://registry.yarnpkg.com/@netlify/plugin-nextjs/-/plugin-nextjs-4.36.0.tgz#148c00c3034b8e350772ca0a9d3f121341dea8b9"
integrity sha512-xFcfYyK/p52xYWoCxWkIAVBsD/gzbyfLYJ70OFZm8NnlLMOqxJvNsO4XofJHJlNshteVZTF339oZTT4dgQ48Uw==
dependencies:
"@netlify/esbuild" "0.14.39"
"@netlify/functions" "^1.4.0"
@ -2919,17 +2919,17 @@
dependencies:
tslib "^2.4.0"
"@tanstack/query-core@4.29.1":
version "4.29.1"
resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.29.1.tgz#62a4bc120b85e6bb3c6c0aca96346e643e232248"
integrity sha512-vkPewLEG8ua0efo3SsVT0BcBtkq5RZX8oPhDAyKL+k/rdOYSQTEocfGEXSaBwIwsXeOGBUpfKqI+UmHvNqdWXg==
"@tanstack/query-core@4.29.5":
version "4.29.5"
resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.29.5.tgz#a0273e88bf2fc102c4c893dc7c034127b67fd5d9"
integrity sha512-xXIiyQ/4r9KfaJ3k6kejqcaqFXXBTzN2aOJ5H1J6aTJE9hl/nbgAdfF6oiIu0CD5xowejJEJ6bBg8TO7BN4NuQ==
"@tanstack/react-query@^4.16.1":
version "4.29.3"
resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.29.3.tgz#037205560784ed4a5e3fd605a2143e325b6189fa"
integrity sha512-FPQrMu7PbCgBcVzoRJm7WmQnAFv+LUgZM9KBZ7Vk/+yERH2BDLvQRuAgczQd5Tb1s3HbOktECRDaOkUxdyBAjw==
version "4.29.5"
resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.29.5.tgz#3890741291f9f925933243d78bd74dfc59d64208"
integrity sha512-F87cibC3s3eG0Q90g2O+hqntpCrudKFnR8P24qkH9uccEhXErnJxBC/AAI4cJRV2bfMO8IeGZQYf3WyYgmSg0w==
dependencies:
"@tanstack/query-core" "4.29.1"
"@tanstack/query-core" "4.29.5"
use-sync-external-store "^1.2.0"
"@trysound/sax@0.2.0":
@ -3151,14 +3151,14 @@
integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==
"@typescript-eslint/eslint-plugin@^5.50.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz#c0e10eeb936debe5d1c3433cf36206a95befefd0"
integrity sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz#9b09ee1541bff1d2cebdcb87e7ce4a4003acde08"
integrity sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==
dependencies:
"@eslint-community/regexpp" "^4.4.0"
"@typescript-eslint/scope-manager" "5.59.0"
"@typescript-eslint/type-utils" "5.59.0"
"@typescript-eslint/utils" "5.59.0"
"@typescript-eslint/scope-manager" "5.59.1"
"@typescript-eslint/type-utils" "5.59.1"
"@typescript-eslint/utils" "5.59.1"
debug "^4.3.4"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
@ -3177,13 +3177,13 @@
debug "^4.3.4"
"@typescript-eslint/parser@^5.50.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.0.tgz#0ad7cd019346cc5d150363f64869eca10ca9977c"
integrity sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.1.tgz#73c2c12127c5c1182d2e5b71a8fa2a85d215cbb4"
integrity sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==
dependencies:
"@typescript-eslint/scope-manager" "5.59.0"
"@typescript-eslint/types" "5.59.0"
"@typescript-eslint/typescript-estree" "5.59.0"
"@typescript-eslint/scope-manager" "5.59.1"
"@typescript-eslint/types" "5.59.1"
"@typescript-eslint/typescript-estree" "5.59.1"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.45.0":
@ -3194,21 +3194,21 @@
"@typescript-eslint/types" "5.45.0"
"@typescript-eslint/visitor-keys" "5.45.0"
"@typescript-eslint/scope-manager@5.59.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz#86501d7a17885710b6716a23be2e93fc54a4fe8c"
integrity sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==
"@typescript-eslint/scope-manager@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz#8a20222719cebc5198618a5d44113705b51fd7fe"
integrity sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==
dependencies:
"@typescript-eslint/types" "5.59.0"
"@typescript-eslint/visitor-keys" "5.59.0"
"@typescript-eslint/types" "5.59.1"
"@typescript-eslint/visitor-keys" "5.59.1"
"@typescript-eslint/type-utils@5.59.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz#8e8d1420fc2265989fa3a0d897bde37f3851e8c9"
integrity sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==
"@typescript-eslint/type-utils@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz#63981d61684fd24eda2f9f08c0a47ecb000a2111"
integrity sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==
dependencies:
"@typescript-eslint/typescript-estree" "5.59.0"
"@typescript-eslint/utils" "5.59.0"
"@typescript-eslint/typescript-estree" "5.59.1"
"@typescript-eslint/utils" "5.59.1"
debug "^4.3.4"
tsutils "^3.21.0"
@ -3217,10 +3217,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.0.tgz#794760b9037ee4154c09549ef5a96599621109c5"
integrity sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==
"@typescript-eslint/types@5.59.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.0.tgz#3fcdac7dbf923ec5251545acdd9f1d42d7c4fe32"
integrity sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==
"@typescript-eslint/types@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.1.tgz#03f3fedd1c044cb336ebc34cc7855f121991f41d"
integrity sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==
"@typescript-eslint/typescript-estree@5.45.0":
version "5.45.0"
@ -3235,30 +3235,30 @@
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/typescript-estree@5.59.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz#8869156ee1dcfc5a95be3ed0e2809969ea28e965"
integrity sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==
"@typescript-eslint/typescript-estree@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz#4aa546d27fd0d477c618f0ca00b483f0ec84c43c"
integrity sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==
dependencies:
"@typescript-eslint/types" "5.59.0"
"@typescript-eslint/visitor-keys" "5.59.0"
"@typescript-eslint/types" "5.59.1"
"@typescript-eslint/visitor-keys" "5.59.1"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/utils@5.59.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.0.tgz#063d066b3bc4850c18872649ed0da9ee72d833d5"
integrity sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==
"@typescript-eslint/utils@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.1.tgz#d89fc758ad23d2157cfae53f0b429bdf15db9473"
integrity sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
"@typescript-eslint/scope-manager" "5.59.0"
"@typescript-eslint/types" "5.59.0"
"@typescript-eslint/typescript-estree" "5.59.0"
"@typescript-eslint/scope-manager" "5.59.1"
"@typescript-eslint/types" "5.59.1"
"@typescript-eslint/typescript-estree" "5.59.1"
eslint-scope "^5.1.1"
semver "^7.3.7"
@ -3270,12 +3270,12 @@
"@typescript-eslint/types" "5.45.0"
eslint-visitor-keys "^3.3.0"
"@typescript-eslint/visitor-keys@5.59.0":
version "5.59.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz#a59913f2bf0baeb61b5cfcb6135d3926c3854365"
integrity sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==
"@typescript-eslint/visitor-keys@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz#0d96c36efb6560d7fb8eb85de10442c10d8f6058"
integrity sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==
dependencies:
"@typescript-eslint/types" "5.59.0"
"@typescript-eslint/types" "5.59.1"
eslint-visitor-keys "^3.3.0"
"@umami/prisma-client@^0.2.0":
@ -3896,25 +3896,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001449:
version "1.0.30001480"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz#9bbd35ee44c2480a1e3a3b9f4496f5066817164a"
integrity sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==
caniuse-lite@^1.0.30001400:
version "1.0.30001427"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001427.tgz#d3a749f74be7ae0671fbec3a4eea18576e8ad646"
integrity sha512-lfXQ73oB9c8DP5Suxaszm+Ta2sr/4tf8+381GkIm1MLj/YdLf+rEDyDSRCzeltuyTVGm+/s18gdZ0q+Wmp8VsQ==
caniuse-lite@^1.0.30001406:
version "1.0.30001470"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001470.tgz#09c8e87c711f75ff5d39804db2613dd593feeb10"
integrity sha512-065uNwY6QtHCBOExzbV6m236DDhYCCtPmQUCoQtwkVqzud8v5QPidoMr6CoMkC2nfp6nksjttqWQRRh75LqUmA==
caniuse-lite@^1.0.30001426:
version "1.0.30001444"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001444.tgz#c0a530776eb44d933b493de1d05346f2527b30fc"
integrity sha512-ecER9xgJQVMqcrxThKptsW0pPxSae8R2RB87LNa+ivW9ppNWRHEplXcDzkCOP4LYWGj8hunXLqaiC41iBATNyg==
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449:
version "1.0.30001481"
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz"
integrity sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==
caseless@~0.12.0:
version "0.12.0"
@ -4922,32 +4907,32 @@ es-to-primitive@^1.2.1:
is-symbol "^1.0.2"
esbuild@^0.17.17:
version "0.17.17"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.17.tgz#fa906ab11b11d2ed4700f494f4f764229b25c916"
integrity sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==
version "0.17.18"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.18.tgz#f4f8eb6d77384d68cd71c53eb6601c7efe05e746"
integrity sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==
optionalDependencies:
"@esbuild/android-arm" "0.17.17"
"@esbuild/android-arm64" "0.17.17"
"@esbuild/android-x64" "0.17.17"
"@esbuild/darwin-arm64" "0.17.17"
"@esbuild/darwin-x64" "0.17.17"
"@esbuild/freebsd-arm64" "0.17.17"
"@esbuild/freebsd-x64" "0.17.17"
"@esbuild/linux-arm" "0.17.17"
"@esbuild/linux-arm64" "0.17.17"
"@esbuild/linux-ia32" "0.17.17"
"@esbuild/linux-loong64" "0.17.17"
"@esbuild/linux-mips64el" "0.17.17"
"@esbuild/linux-ppc64" "0.17.17"
"@esbuild/linux-riscv64" "0.17.17"
"@esbuild/linux-s390x" "0.17.17"
"@esbuild/linux-x64" "0.17.17"
"@esbuild/netbsd-x64" "0.17.17"
"@esbuild/openbsd-x64" "0.17.17"
"@esbuild/sunos-x64" "0.17.17"
"@esbuild/win32-arm64" "0.17.17"
"@esbuild/win32-ia32" "0.17.17"
"@esbuild/win32-x64" "0.17.17"
"@esbuild/android-arm" "0.17.18"
"@esbuild/android-arm64" "0.17.18"
"@esbuild/android-x64" "0.17.18"
"@esbuild/darwin-arm64" "0.17.18"
"@esbuild/darwin-x64" "0.17.18"
"@esbuild/freebsd-arm64" "0.17.18"
"@esbuild/freebsd-x64" "0.17.18"
"@esbuild/linux-arm" "0.17.18"
"@esbuild/linux-arm64" "0.17.18"
"@esbuild/linux-ia32" "0.17.18"
"@esbuild/linux-loong64" "0.17.18"
"@esbuild/linux-mips64el" "0.17.18"
"@esbuild/linux-ppc64" "0.17.18"
"@esbuild/linux-riscv64" "0.17.18"
"@esbuild/linux-s390x" "0.17.18"
"@esbuild/linux-x64" "0.17.18"
"@esbuild/netbsd-x64" "0.17.18"
"@esbuild/openbsd-x64" "0.17.18"
"@esbuild/sunos-x64" "0.17.18"
"@esbuild/win32-arm64" "0.17.18"
"@esbuild/win32-ia32" "0.17.18"
"@esbuild/win32-x64" "0.17.18"
escalade@^3.1.1:
version "3.1.1"
@ -6723,9 +6708,9 @@ lru-cache@^6.0.0:
yallist "^4.0.0"
lru-cache@^9.0.3:
version "9.1.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.0.tgz#19efafa9d08d1c08eb8efd78876075f0b8b1b07b"
integrity sha512-qFXQEwchrZcMVen2uIDceR8Tii6kCJak5rzDStfEM0qA3YLMswaxIEZO0DhIbJ3aqaJiDjt+3crlplOb0tDtKQ==
version "9.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1"
integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==
magic-string@^0.25.0, magic-string@^0.25.7:
version "0.25.9"
@ -6776,12 +6761,12 @@ mathml-tag-names@^2.1.3:
integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
maxmind@^4.3.6:
version "4.3.10"
resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.10.tgz#4af97159f0aeade1a824f571e775a41891e3b5bf"
integrity sha512-H83pPwi4OqpjPmvAVtuimVWFe6JwHdFK+UIzq4KdvQrKUMLieIrsvU/A9N8jbmOqC2JJPA+jtlFwodyqmzl/3w==
version "4.3.11"
resolved "https://registry.yarnpkg.com/maxmind/-/maxmind-4.3.11.tgz#9ea22675b9068a4c98cbc3493ba298485915b440"
integrity sha512-tJDrKbUzN6PSA88tWgg0L2R4Ln00XwecYQJPFI+RvlF2k1sx6VQYtuQ1SVxm8+bw5tF7GWV4xyb+3/KyzEpPUw==
dependencies:
mmdb-lib "2.0.2"
tiny-lru "10.4.1"
tiny-lru "11.0.1"
mdn-data@2.0.14:
version "2.0.14"
@ -7990,9 +7975,9 @@ postcss-resolve-nested-selector@^0.1.1:
integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==
postcss-rtlcss@^4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/postcss-rtlcss/-/postcss-rtlcss-4.0.3.tgz#3cd0ed588afecd124bf7b8f2efdf003380f8b551"
integrity sha512-ZbF16XJnp0NljUC6s1BJXrqTcz4Bkl06CuABW5gaQNa8lW83XSH2hcFQOC/zop8Qje8U3RccIzktRLO5puM4Gw==
version "4.0.5"
resolved "https://registry.yarnpkg.com/postcss-rtlcss/-/postcss-rtlcss-4.0.5.tgz#42001d456e38a9d86acbbe4ea4eb6ef300fdc4d4"
integrity sha512-Yh5DKJwiqwSsCV9frm41kHNY+IMiaqS+ERRGNZ7jkYXqtrEwfQoKZG55dUESz8Vq7NJlDefjOiZ3KlQ8Nomsfg==
dependencies:
rtlcss "4.0.0"
@ -8062,7 +8047,7 @@ postcss@^8.4.19:
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.21:
postcss@^8.4.21, postcss@^8.4.6:
version "8.4.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab"
integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==
@ -8071,15 +8056,6 @@ postcss@^8.4.21:
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.6:
version "8.4.21"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
prebuild-install@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45"
@ -8111,9 +8087,9 @@ prettier-linter-helpers@^1.0.0:
fast-diff "^1.1.2"
prettier@^2.6.2:
version "2.8.7"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450"
integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==
version "2.8.8"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
pretty-bytes@^5.6.0:
version "5.6.0"
@ -8258,6 +8234,13 @@ react-dom@^18.2.0:
loose-envify "^1.1.0"
scheduler "^0.23.0"
react-error-boundary@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.0.4.tgz#d2e84505b0a67cec7a6bf33b0146faadfe31597d"
integrity sha512-AbqMFx8bCsob8rCHZvJYQ42MQijK0/034RUvan9qrqyJCpazr8d9vKHrysbxcr6odoHLZvQEcYomFPoIqH9fow==
dependencies:
"@babel/runtime" "^7.12.5"
react-fast-compare@^2.0.1:
version "2.0.4"
resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz"
@ -9449,10 +9432,10 @@ tiny-invariant@^1.0.6:
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642"
integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==
tiny-lru@10.4.1:
version "10.4.1"
resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-10.4.1.tgz#dec67a62115a4cb31d2065b8116d010daac362fe"
integrity sha512-buLIzw7ppqymuO3pt10jHk/6QMeZLbidihMQU+N6sogF6EnBzG0qtDWIHuhw1x3dyNgVL/KTGIZsTK81+yCzLg==
tiny-lru@11.0.1:
version "11.0.1"
resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.0.1.tgz#629d6ddd88bd03c0929722680167f1feadf576f2"
integrity sha512-iNgFugVuQgBKrqeO/mpiTTgmBsTP0WL6yeuLfLs/Ctf0pI/ixGqIRm8sDCwMcXGe9WWvt2sGXI5mNqZbValmJg==
tiny-warning@^1.0.2:
version "1.0.3"