mirror of
https://github.com/kremalicious/umami.git
synced 2024-11-15 17:55:08 +01:00
commit
8727dbf282
@ -105,7 +105,7 @@ export default function Calendar({ date, minDate, maxDate, onChange }) {
|
|||||||
const DaySelector = ({ date, minDate, maxDate, locale, onSelect }) => {
|
const DaySelector = ({ date, minDate, maxDate, locale, onSelect }) => {
|
||||||
const startWeek = startOfWeek(date);
|
const startWeek = startOfWeek(date);
|
||||||
const startMonth = startOfMonth(date);
|
const startMonth = startOfMonth(date);
|
||||||
const startDay = subDays(startMonth, startMonth.getDay() + 1);
|
const startDay = subDays(startMonth, startMonth.getDay());
|
||||||
const month = date.getMonth();
|
const month = date.getMonth();
|
||||||
const year = date.getFullYear();
|
const year = date.getFullYear();
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
.calendar table {
|
.calendar table {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
border-spacing: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar td {
|
.calendar td {
|
||||||
@ -18,10 +19,12 @@
|
|||||||
height: 40px;
|
height: 40px;
|
||||||
min-width: 40px;
|
min-width: 40px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
border: 1px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar td:hover {
|
.calendar td:hover {
|
||||||
background: var(--gray100);
|
border: 1px solid var(--gray300);
|
||||||
|
background: var(--gray75);
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar td.faded {
|
.calendar td.faded {
|
||||||
@ -45,6 +48,7 @@
|
|||||||
.calendar td.disabled:hover {
|
.calendar td.disabled:hover {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
background: var(--gray75);
|
background: var(--gray75);
|
||||||
|
border-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar td.faded.disabled {
|
.calendar td.faded.disabled {
|
||||||
|
@ -48,7 +48,7 @@ export default function LanguageButton({ menuPosition = 'bottom', menuAlign = 'l
|
|||||||
</Head>
|
</Head>
|
||||||
<div ref={ref} className={styles.container}>
|
<div ref={ref} className={styles.container}>
|
||||||
<Button icon={<Globe />} onClick={toggleMenu} size="small">
|
<Button icon={<Globe />} onClick={toggleMenu} size="small">
|
||||||
<div className={locale}>{selectedLocale}</div>
|
<div>{selectedLocale}</div>
|
||||||
</Button>
|
</Button>
|
||||||
{showMenu && (
|
{showMenu && (
|
||||||
<Menu
|
<Menu
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "umami",
|
"name": "umami",
|
||||||
"version": "0.32.0",
|
"version": "0.33.0",
|
||||||
"description": "A simple, fast, website analytics alternative to Google Analytics. ",
|
"description": "A simple, fast, website analytics alternative to Google Analytics. ",
|
||||||
"author": "Mike Cao <mike@mikecao.com>",
|
"author": "Mike Cao <mike@mikecao.com>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
import { getActiveVisitors } from 'lib/queries';
|
import { getActiveVisitors } from 'lib/queries';
|
||||||
import { methodNotAllowed, ok } from 'lib/response';
|
import { methodNotAllowed, ok } from 'lib/response';
|
||||||
import { useAuth } from 'lib/middleware';
|
|
||||||
|
|
||||||
export default async (req, res) => {
|
export default async (req, res) => {
|
||||||
await useAuth(req, res);
|
|
||||||
|
|
||||||
if (req.method === 'GET') {
|
if (req.method === 'GET') {
|
||||||
const { id } = req.query;
|
const { id } = req.query;
|
||||||
const website_id = +id;
|
const website_id = +id;
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import moment from 'moment-timezone';
|
import moment from 'moment-timezone';
|
||||||
import { getEvents } from 'lib/queries';
|
import { getEvents } from 'lib/queries';
|
||||||
import { ok, badRequest, methodNotAllowed } from 'lib/response';
|
import { ok, badRequest, methodNotAllowed } from 'lib/response';
|
||||||
import { useAuth } from 'lib/middleware';
|
|
||||||
|
|
||||||
const unitTypes = ['year', 'month', 'hour', 'day'];
|
const unitTypes = ['year', 'month', 'hour', 'day'];
|
||||||
|
|
||||||
export default async (req, res) => {
|
export default async (req, res) => {
|
||||||
await useAuth(req, res);
|
|
||||||
|
|
||||||
if (req.method === 'GET') {
|
if (req.method === 'GET') {
|
||||||
const { id, start_at, end_at, unit, tz } = req.query;
|
const { id, start_at, end_at, unit, tz } = req.query;
|
||||||
|
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
import { getMetrics } from 'lib/queries';
|
import { getMetrics } from 'lib/queries';
|
||||||
import { methodNotAllowed, ok } from 'lib/response';
|
import { methodNotAllowed, ok } from 'lib/response';
|
||||||
import { useAuth } from 'lib/middleware';
|
|
||||||
|
|
||||||
export default async (req, res) => {
|
export default async (req, res) => {
|
||||||
await useAuth(req, res);
|
|
||||||
|
|
||||||
if (req.method === 'GET') {
|
if (req.method === 'GET') {
|
||||||
const { id, start_at, end_at } = req.query;
|
const { id, start_at, end_at } = req.query;
|
||||||
const websiteId = +id;
|
const websiteId = +id;
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import moment from 'moment-timezone';
|
import moment from 'moment-timezone';
|
||||||
import { getPageviews } from 'lib/queries';
|
import { getPageviews } from 'lib/queries';
|
||||||
import { ok, badRequest, methodNotAllowed } from 'lib/response';
|
import { ok, badRequest, methodNotAllowed } from 'lib/response';
|
||||||
import { useAuth } from 'lib/middleware';
|
|
||||||
|
|
||||||
const unitTypes = ['year', 'month', 'hour', 'day'];
|
const unitTypes = ['year', 'month', 'hour', 'day'];
|
||||||
|
|
||||||
export default async (req, res) => {
|
export default async (req, res) => {
|
||||||
await useAuth(req, res);
|
|
||||||
|
|
||||||
if (req.method === 'GET') {
|
if (req.method === 'GET') {
|
||||||
const { id, start_at, end_at, unit, tz } = req.query;
|
const { id, start_at, end_at, unit, tz } = req.query;
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { getRankings } from 'lib/queries';
|
import { getRankings } from 'lib/queries';
|
||||||
import { ok, badRequest, methodNotAllowed } from 'lib/response';
|
import { ok, badRequest, methodNotAllowed } from 'lib/response';
|
||||||
import { DOMAIN_REGEX } from 'lib/constants';
|
import { DOMAIN_REGEX } from 'lib/constants';
|
||||||
import { useAuth } from 'lib/middleware';
|
|
||||||
|
|
||||||
const sessionColumns = ['browser', 'os', 'device', 'country'];
|
const sessionColumns = ['browser', 'os', 'device', 'country'];
|
||||||
const pageviewColumns = ['url', 'referrer'];
|
const pageviewColumns = ['url', 'referrer'];
|
||||||
@ -26,8 +25,6 @@ function getColumn(type) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default async (req, res) => {
|
export default async (req, res) => {
|
||||||
await useAuth(req, res);
|
|
||||||
|
|
||||||
if (req.method === 'GET') {
|
if (req.method === 'GET') {
|
||||||
const { id, type, start_at, end_at, domain } = req.query;
|
const { id, type, start_at, end_at, domain } = req.query;
|
||||||
const websiteId = +id;
|
const websiteId = +id;
|
||||||
|
Loading…
Reference in New Issue
Block a user