mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-11-18 03:26:17 +00:00
Update AppImage
This commit is contained in:
@@ -125,15 +125,6 @@ export function SystemLogs() {
|
|||||||
fetchAllData()
|
fetchAllData()
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (dateFilter !== "now" && dateFilter !== "custom") {
|
|
||||||
console.log("[v0] Date filter changed to:", dateFilter)
|
|
||||||
fetchSystemLogs({ since_days: Number(dateFilter) }).then((newLogs) => {
|
|
||||||
setLogs(newLogs)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}, [dateFilter])
|
|
||||||
|
|
||||||
const fetchAllData = async () => {
|
const fetchAllData = async () => {
|
||||||
try {
|
try {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
@@ -170,29 +161,9 @@ export function SystemLogs() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const fetchSystemLogs = async (params?: {
|
const fetchSystemLogs = async (): Promise<SystemLog[]> => {
|
||||||
since_days?: number
|
|
||||||
from_date?: string
|
|
||||||
to_date?: string
|
|
||||||
}): Promise<SystemLog[]> => {
|
|
||||||
try {
|
try {
|
||||||
let apiUrl = getApiUrl("/api/logs")
|
const apiUrl = getApiUrl("/api/logs")
|
||||||
|
|
||||||
// Add date parameters if provided
|
|
||||||
const queryParams = new URLSearchParams()
|
|
||||||
if (params?.since_days) {
|
|
||||||
queryParams.append("since_days", params.since_days.toString())
|
|
||||||
console.log("[v0] Fetching logs with since_days:", params.since_days)
|
|
||||||
}
|
|
||||||
if (params?.from_date && params?.to_date) {
|
|
||||||
queryParams.append("from_date", params.from_date)
|
|
||||||
queryParams.append("to_date", params.to_date)
|
|
||||||
console.log("[v0] Fetching logs with date range:", params.from_date, "to", params.to_date)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (queryParams.toString()) {
|
|
||||||
apiUrl += `?${queryParams.toString()}`
|
|
||||||
}
|
|
||||||
|
|
||||||
const response = await fetch(apiUrl, {
|
const response = await fetch(apiUrl, {
|
||||||
method: "GET",
|
method: "GET",
|
||||||
@@ -214,18 +185,6 @@ export function SystemLogs() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleApplyDateRange = async () => {
|
|
||||||
if (dateRange?.from && dateRange?.to) {
|
|
||||||
console.log("[v0] Applying date range filter:", dateRange.from, "to", dateRange.to)
|
|
||||||
setLoading(true)
|
|
||||||
const fromDate = format(dateRange.from, "yyyy-MM-dd")
|
|
||||||
const toDate = format(dateRange.to, "yyyy-MM-dd")
|
|
||||||
const newLogs = await fetchSystemLogs({ from_date: fromDate, to_date: toDate })
|
|
||||||
setLogs(newLogs)
|
|
||||||
setLoading(false)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleDownloadLogs = async (type = "system") => {
|
const handleDownloadLogs = async (type = "system") => {
|
||||||
try {
|
try {
|
||||||
let hours = 48
|
let hours = 48
|
||||||
@@ -697,22 +656,6 @@ export function SystemLogs() {
|
|||||||
numberOfMonths={2}
|
numberOfMonths={2}
|
||||||
disabled={(date) => date > new Date() || date < getMinDate()}
|
disabled={(date) => date > new Date() || date < getMinDate()}
|
||||||
/>
|
/>
|
||||||
<div className="p-3 border-t border-border">
|
|
||||||
<Button
|
|
||||||
onClick={handleApplyDateRange}
|
|
||||||
disabled={!dateRange?.from || !dateRange?.to || loading}
|
|
||||||
className="w-full"
|
|
||||||
>
|
|
||||||
{loading ? (
|
|
||||||
<>
|
|
||||||
<RefreshCw className="h-4 w-4 mr-2 animate-spin" />
|
|
||||||
Loading...
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
"Apply Filter"
|
|
||||||
)}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</PopoverContent>
|
</PopoverContent>
|
||||||
</Popover>
|
</Popover>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }: C
|
|||||||
nav: "space-x-1 flex items-center",
|
nav: "space-x-1 flex items-center",
|
||||||
nav_button: cn(
|
nav_button: cn(
|
||||||
buttonVariants({ variant: "outline" }),
|
buttonVariants({ variant: "outline" }),
|
||||||
"h-7 w-7 bg-transparent p-0 opacity-100 hover:opacity-100 border-border",
|
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100",
|
||||||
),
|
),
|
||||||
nav_button_previous: "absolute left-1",
|
nav_button_previous: "absolute left-1",
|
||||||
nav_button_next: "absolute right-1",
|
nav_button_next: "absolute right-1",
|
||||||
@@ -30,7 +30,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }: C
|
|||||||
head_row: "flex",
|
head_row: "flex",
|
||||||
head_cell: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
|
head_cell: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
|
||||||
row: "flex w-full mt-2",
|
row: "flex w-full mt-2",
|
||||||
cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-primary/20 first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
|
cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
|
||||||
day: cn(buttonVariants({ variant: "ghost" }), "h-9 w-9 p-0 font-normal aria-selected:opacity-100"),
|
day: cn(buttonVariants({ variant: "ghost" }), "h-9 w-9 p-0 font-normal aria-selected:opacity-100"),
|
||||||
day_range_end: "day-range-end",
|
day_range_end: "day-range-end",
|
||||||
day_selected:
|
day_selected:
|
||||||
@@ -39,7 +39,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }: C
|
|||||||
day_outside:
|
day_outside:
|
||||||
"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",
|
"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",
|
||||||
day_disabled: "text-muted-foreground opacity-50",
|
day_disabled: "text-muted-foreground opacity-50",
|
||||||
day_range_middle: "aria-selected:bg-primary/20 aria-selected:text-foreground",
|
day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
|
||||||
day_hidden: "invisible",
|
day_hidden: "invisible",
|
||||||
...classNames,
|
...classNames,
|
||||||
}}
|
}}
|
||||||
|
|||||||
Reference in New Issue
Block a user