aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-15 08:04:15 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-15 08:04:15 -0800
commitc41af66cbb76c4c49269753d981b99905a679437 (patch)
tree46ba27877b73ee41a4c125c88c9bc9360811ce0c
parent6e28d1530aa08b878f5082bbcd85a95f84f830e8 (diff)
downloadneko-c41af66cbb76c4c49269753d981b99905a679437.tar.gz
neko-c41af66cbb76c4c49269753d981b99905a679437.tar.bz2
neko-c41af66cbb76c4c49269753d981b99905a679437.zip
Fix horizontal scrolling on iPad and improve mobile responsiveness
-rw-r--r--.agent/workflows/crank_but_verify.md2
-rw-r--r--frontend/index.html2
-rw-r--r--frontend/src/App.css5
-rw-r--r--frontend/src/components/FeedItem.css10
-rw-r--r--frontend/src/components/Settings.css2
-rw-r--r--frontend/src/index.css12
6 files changed, 28 insertions, 5 deletions
diff --git a/.agent/workflows/crank_but_verify.md b/.agent/workflows/crank_but_verify.md
index 8d983b6..3348fbd 100644
--- a/.agent/workflows/crank_but_verify.md
+++ b/.agent/workflows/crank_but_verify.md
@@ -6,7 +6,7 @@ Your goal is to improve the project by resolving tickets and discovering additio
1. Work on the ticket described by `thicket ready`.
2. When resolved, run `thicket close <CURRENT_TICKET_ID>`.
-3. Verify your resolution by ensuring the project still builds cleanly and tests pass.
+3. Verify your resolution by ensuring the project still builds cleanly and tests pass using the /test-safe workflow.
4. Think of additional work and create tickets for future agents:
```bash
thicket add --title "Brief descriptive title" --description "Detailed context" --priority=<N> --type=<TYPE> --created-from <CURRENT_TICKET_ID>
diff --git a/frontend/index.html b/frontend/index.html
index 40f2523..a1475a5 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no, viewport-fit=cover" />
<title>Neko Reader</title>
</head>
<body>
diff --git a/frontend/src/App.css b/frontend/src/App.css
index 0f24085..2e74476 100644
--- a/frontend/src/App.css
+++ b/frontend/src/App.css
@@ -12,6 +12,8 @@ body {
display: flex;
flex-direction: column;
height: 100vh;
+ height: 100dvh;
+ width: 100%;
overflow: hidden;
/* Prevent body scroll */
}
@@ -23,6 +25,7 @@ body {
flex: 1;
overflow: hidden;
position: relative;
+ width: 100%;
}
.dashboard-sidebar {
@@ -42,8 +45,10 @@ body {
.dashboard-main {
flex: 1;
+ min-width: 0;
padding: 2rem;
overflow-y: auto;
+ overflow-x: hidden;
background: var(--bg-color);
margin-left: 0;
}
diff --git a/frontend/src/components/FeedItem.css b/frontend/src/components/FeedItem.css
index 944b66a..876fc66 100644
--- a/frontend/src/components/FeedItem.css
+++ b/frontend/src/components/FeedItem.css
@@ -92,6 +92,16 @@
line-height: 1.5;
font-size: 1rem;
margin-top: 1rem;
+ overflow-wrap: break-word;
+ word-break: break-word;
+}
+
+.item-description table,
+.item-description pre,
+.item-description code {
+ max-width: 100%;
+ overflow-x: auto;
+ display: block;
}
.item-description img {
diff --git a/frontend/src/components/Settings.css b/frontend/src/components/Settings.css
index daf7a7e..ae43be4 100644
--- a/frontend/src/components/Settings.css
+++ b/frontend/src/components/Settings.css
@@ -159,7 +159,7 @@
gap: 2rem;
}
-@media (max-width: 600px) {
+@media (max-width: 768px) {
.settings-page.variant-glass {
padding: 1.5rem;
margin-top: 1rem;
diff --git a/frontend/src/index.css b/frontend/src/index.css
index c60ddb6..acabee9 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -4,6 +4,16 @@
--font-heading: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
+html,
+body,
+#root {
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+}
+
body {
font-family: var(--font-body);
}
@@ -99,9 +109,7 @@ h5,
}
body {
- margin: 0;
min-width: 320px;
- min-height: 100vh;
}
h1 {