feat: hide entry content from list, add GET /api/entries/:id/content endpoint

Content is no longer returned in the entries list. A separate endpoint
returns plain text content for clipboard copying on demand.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mikhail Kilin
2026-03-17 16:23:05 +03:00
parent cc0bdedd88
commit 37f86740a2
27 changed files with 5700 additions and 0 deletions

92
frontend/src/App.css Normal file
View File

@@ -0,0 +1,92 @@
.app {
max-width: 800px;
margin: 0 auto;
padding: 2rem;
font-family: system-ui, -apple-system, sans-serif;
}
h1 {
margin-bottom: 1.5rem;
}
.create-section {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 2rem;
}
.create-section textarea {
width: 100%;
padding: 0.75rem;
font-size: 1rem;
border: 1px solid #ccc;
border-radius: 4px;
resize: vertical;
font-family: inherit;
box-sizing: border-box;
}
.create-section button {
align-self: flex-end;
padding: 0.5rem 1.5rem;
font-size: 1rem;
cursor: pointer;
background: #333;
color: white;
border: none;
border-radius: 4px;
}
.create-section button:hover {
background: #555;
}
.entries-list {
display: flex;
flex-direction: column;
gap: 1rem;
}
.entry {
border: 1px solid #ddd;
border-radius: 4px;
padding: 1rem;
}
.entry-content {
margin: 0 0 0.75rem 0;
white-space: pre-wrap;
word-wrap: break-word;
font-family: inherit;
font-size: 1rem;
}
.entry-meta {
display: flex;
justify-content: space-between;
align-items: center;
}
.entry-date {
color: #888;
font-size: 0.85rem;
}
.entry-actions {
display: flex;
gap: 0.5rem;
}
.entry-actions button {
padding: 0.25rem 0.75rem;
font-size: 0.85rem;
cursor: pointer;
border: 1px solid #ccc;
border-radius: 4px;
background: white;
}
.entry-actions button:hover {
background: #f0f0f0;
}