feat: read "Занятия в Полоцке" as a day's town, show it in all clients
- Parser 14 (server/places.js): "Занятия в Полоцке/Новополоцке/г. Новополоцк" over a day's first row is no longer a lesson but a note of the day for its column (`places`); lessons of that day get `place`. A lesson below the note in the same cell keeps its own subject.
- A town on its own line ("Новополоцк", "г.Новополоцк") or after a room ("246(Новополоцк)") becomes the lesson's `place` and leaves the subject and room. "История Полоцка" is not a town.
- API 14: `place` on lessons and `places` on days of /api/timetable, `place` in the directory. The day notes are shared by the server and the PWA (shared/places.js); the same note in every subgroup reads as the whole group's.
- Android, PWA and iOS: a "Занятия в Полоцке" card above the day's lessons (day pages, calendar, overview, week view, desk stand), "Полоцк" under the date in the week grid, "249Ж · Полоцк" on lesson cards, a "Город" row in details, the town in widgets, tile, reminders and change lists.
- Snapshot lines show the town and the day notes; tests for notes, towns in cells and the API.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -610,6 +610,39 @@ a {
|
||||
display: grid;
|
||||
gap: 32px;
|
||||
}
|
||||
/* "Занятия в Полоцке": the day's town above its lessons, tonal like the update banners. */
|
||||
.day-places {
|
||||
display: grid;
|
||||
gap: 12px;
|
||||
margin-bottom: 24px;
|
||||
padding: 16px 20px;
|
||||
border-radius: var(--md-sys-shape-corner-large-increased);
|
||||
background: var(--md-sys-color-tertiary-container);
|
||||
color: var(--md-sys-color-on-tertiary-container);
|
||||
}
|
||||
.day-places p {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
margin: 0;
|
||||
}
|
||||
.day-places span {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
min-width: 0;
|
||||
}
|
||||
.day-places strong {
|
||||
font-size: var(--md-sys-typescale-title-medium-size);
|
||||
font-weight: 600;
|
||||
line-height: 1.3;
|
||||
}
|
||||
.day-places small {
|
||||
font-size: var(--md-sys-typescale-body-medium-size);
|
||||
}
|
||||
.week-day > .day-places {
|
||||
margin-top: 16px;
|
||||
}
|
||||
.day-pane[data-slide] {
|
||||
animation: day-enter var(--md-sys-motion-duration-medium)
|
||||
var(--md-sys-motion-easing-emphasized-decelerate);
|
||||
|
||||
Reference in New Issue
Block a user