mirror of
https://github.com/umami-software/umami.git
synced 2026-02-09 07:07:17 +01:00
Updated hooks. Changed url, host to path, hostname.
This commit is contained in:
parent
25a9c011b3
commit
543674c7f2
146 changed files with 23348 additions and 2533 deletions
|
|
@ -1,31 +1,24 @@
|
|||
import { useMemo } from 'react';
|
||||
import { usePathname, useRouter, useSearchParams } from 'next/navigation';
|
||||
import { buildUrl } from '@/lib/url';
|
||||
|
||||
export function useNavigation() {
|
||||
const router = useRouter();
|
||||
const pathname = usePathname();
|
||||
const params = useSearchParams();
|
||||
const searchParams = useSearchParams();
|
||||
const [, teamId] = pathname.match(/\/teams\/([a-f0-9-]+)/) || [];
|
||||
const [, websiteId] = pathname.match(/\/websites\/([a-f0-9-]+)/) || [];
|
||||
const query = Object.fromEntries(searchParams);
|
||||
|
||||
const query = useMemo<{ [key: string]: any }>(() => {
|
||||
const obj = {};
|
||||
|
||||
for (const [key, value] of params.entries()) {
|
||||
obj[key] = value;
|
||||
}
|
||||
|
||||
return obj;
|
||||
}, [params]);
|
||||
|
||||
function renderUrl(params: any) {
|
||||
const updateParams = (params?: { [key: string]: string | number }) => {
|
||||
return !params ? pathname : buildUrl(pathname, { ...query, ...params });
|
||||
}
|
||||
};
|
||||
|
||||
function renderTeamUrl(url: string) {
|
||||
return teamId ? `/teams/${teamId}${url}` : url;
|
||||
}
|
||||
const renderUrl = (path: string, params?: { [key: string]: string | number } | false) => {
|
||||
return buildUrl(
|
||||
teamId ? `/teams/${teamId}${path}` : path,
|
||||
params === false ? {} : { ...query, ...params },
|
||||
);
|
||||
};
|
||||
|
||||
return { pathname, query, router, renderUrl, renderTeamUrl, teamId, websiteId };
|
||||
return { router, pathname, searchParams, query, teamId, websiteId, updateParams, renderUrl };
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue