Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,22 @@ const orbitron = Orbitron({
export const metadata: Metadata = {
title: "ZIMZ – Agent Control",
description: "ZIMZ: Multi-Agent Dashboard for OpenClaw",
manifest: "/manifest.json",
icons: {
icon: [
{ url: "/favicon.svg", type: "image/svg+xml" },
{ url: "/icon-512.png", sizes: "512x512", type: "image/png" },
],
apple: "/apple-touch-icon.png",
},
appleWebApp: {
capable: true,
title: "ZIMZ",
statusBarStyle: "black-translucent",
},
other: {
"mobile-web-app-capable": "yes",
},
};

export default function RootLayout({
Expand Down
Binary file added public/apple-touch-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/icon-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions public/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"name": "ZIMZ – Agent Control",
"short_name": "ZIMZ",
"description": "Multi-Agent Dashboard for OpenClaw",
"start_url": "/",
"display": "standalone",
"background_color": "#030712",
"theme_color": "#0891b2",
"icons": [
{
"src": "/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/apple-touch-icon.png",
"sizes": "180x180",
"type": "image/png",
"purpose": "any"
}
]
}
12 changes: 6 additions & 6 deletions src/components/TasksView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,7 @@ export default function TasksView({ agents }: TasksViewProps) {
exit={{ opacity: 0, y: -8, scale: 0.97 }}
transition={{ duration: 0.24, ease: "easeOut" }}
>
<div className="relative w-full max-w-2xl rounded-2xl border border-cyan-300/35 bg-slate-950/95 p-6 shadow-[0_14px_50px_rgba(4,12,28,0.85)] backdrop-blur">
<div className="relative w-full max-w-2xl rounded-2xl border border-cyan-300/35 bg-slate-950/95 p-4 shadow-[0_14px_50px_rgba(4,12,28,0.85)] backdrop-blur md:p-6">
<div className="mb-5 flex items-center justify-between">
<div className="flex items-center gap-2">
<CalendarClock className="h-4 w-4 text-cyan-300" />
Expand Down Expand Up @@ -580,7 +580,7 @@ export default function TasksView({ agents }: TasksViewProps) {
)}
</label>

<div className="grid gap-3 md:grid-cols-2">
<div className="grid grid-cols-2 gap-3">
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cron input unusable on mobile in create mode

Medium Severity

Changing from md:grid-cols-2 to grid-cols-2 forces two columns at all screen sizes. In create mode, the "Cron Expression" column contains a flex row with a w-full text input and a w-28 (112px) preset select. On a typical mobile screen (~375px), each grid column is only ~150px wide, leaving roughly 30px for the cron text input — effectively unusable. The 3-column selects got responsive text/padding adjustments, but this 2-column section's inner layout wasn't adapted for the narrower columns.

Additional Locations (1)

Fix in Cursor Fix in Web

<label className="block text-xs text-slate-300">
Cron Expression
<div className="mt-1 flex gap-2">
Expand Down Expand Up @@ -635,15 +635,15 @@ export default function TasksView({ agents }: TasksViewProps) {
</label>
</div>

<div className="grid gap-3 md:grid-cols-3">
<div className="grid grid-cols-3 gap-2 md:gap-3">
<label className="block text-xs text-slate-300">
Session Target
<select
value={form.sessionTarget}
onChange={(event) =>
onChange({ sessionTarget: event.target.value as OpenClawSessionTarget })
}
className="mt-1 w-full rounded-lg border border-slate-700 bg-slate-900/80 px-3 py-2 text-sm text-slate-100 outline-none focus:border-cyan-500/60 focus:ring-1 focus:ring-cyan-500/40"
className="mt-1 w-full rounded-lg border border-slate-700 bg-slate-900/80 px-2 py-2 text-xs text-slate-100 outline-none focus:border-cyan-500/60 focus:ring-1 focus:ring-cyan-500/40 md:px-3 md:text-sm"
>
<option value="isolated">isolated</option>
<option value="main">main</option>
Expand All @@ -657,7 +657,7 @@ export default function TasksView({ agents }: TasksViewProps) {
onChange={(event) =>
onChange({ wakeMode: event.target.value as OpenClawWakeMode })
}
className="mt-1 w-full rounded-lg border border-slate-700 bg-slate-900/80 px-3 py-2 text-sm text-slate-100 outline-none focus:border-cyan-500/60 focus:ring-1 focus:ring-cyan-500/40"
className="mt-1 w-full rounded-lg border border-slate-700 bg-slate-900/80 px-2 py-2 text-xs text-slate-100 outline-none focus:border-cyan-500/60 focus:ring-1 focus:ring-cyan-500/40 md:px-3 md:text-sm"
>
<option value="next-heartbeat">next-heartbeat</option>
<option value="now">now</option>
Expand All @@ -669,7 +669,7 @@ export default function TasksView({ agents }: TasksViewProps) {
<select
value={form.agentId}
onChange={(event) => onChange({ agentId: event.target.value })}
className="mt-1 w-full rounded-lg border border-slate-700 bg-slate-900/80 px-3 py-2 text-sm text-slate-100 outline-none focus:border-cyan-500/60 focus:ring-1 focus:ring-cyan-500/40"
className="mt-1 w-full rounded-lg border border-slate-700 bg-slate-900/80 px-2 py-2 text-xs text-slate-100 outline-none focus:border-cyan-500/60 focus:ring-1 focus:ring-cyan-500/40 md:px-3 md:text-sm"
>
{agents.map((agent) => (
<option key={agent.id} value={agent.id}>
Expand Down