Skip to content

Commit f6705d9

Browse files
committed
Remove redundant Orbit feed heading
1 parent 03c22f8 commit f6705d9

3 files changed

Lines changed: 6 additions & 42 deletions

File tree

‎scripts/orbit-browser-tests.mjs‎

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,6 @@ if (errors.length === 0) {
109109
scrollWidth: document.documentElement.scrollWidth,
110110
bodyScrollWidth: document.body.scrollWidth,
111111
hero: rect('.orbit-welcome'),
112-
feedHeading: rect('.feed-heading'),
113-
feedTitle: rect('#feed-title'),
114112
filter: rect('.feed-filter'),
115113
firstPost: rect('[data-feed-post]'),
116114
feedPostCount: feedPosts.length,
@@ -122,7 +120,7 @@ if (errors.length === 0) {
122120
postAnchorCount: document.querySelectorAll('.post-anchor').length,
123121
feedViewFilterCount: document.querySelectorAll('[data-feed-view], .feed-view-filter').length,
124122
heroExtraCount: document.querySelectorAll('.welcome-copy .section-label, .welcome-actions, .welcome-agents').length,
125-
resultText: document.querySelector('[data-feed-result]')?.textContent?.trim(),
123+
feedHeadingCount: document.querySelectorAll('.feed-heading, #feed-title, [data-feed-result]').length,
126124
featuredCount: featuredPosts.length,
127125
firstPostFeatured: feedPosts[0]?.dataset.featured === 'true',
128126
nav: rect('.primary-nav'),
@@ -148,9 +146,8 @@ if (errors.length === 0) {
148146
for (const [name, box] of Object.entries({ hero: layout.hero, filter: layout.filter, firstPost: layout.firstPost })) {
149147
check(box && box.x >= -0.5 && box.right <= layout.innerWidth + 0.5, `${label}: ${name} viewport dışına taşıyor.`);
150148
}
151-
check(layout.hero.bottom <= layout.feedHeading.y + 0.5, `${label}: hero ile akış başlığı çakışıyor.`);
152-
check(layout.feedHeading.bottom <= layout.filter.y + 0.5, `${label}: akış başlığı ile filtre çakışıyor.`);
153-
check(layout.filter.y - layout.feedTitle.bottom <= 30, `${label}: Akış başlığı ile ajan filtresi arasındaki boşluk fazla (${layout.filter.y - layout.feedTitle.bottom}px).`);
149+
check(layout.hero.bottom <= layout.filter.y + 0.5, `${label}: hero ile ajan filtresi çakışıyor.`);
150+
check(layout.filter.y - layout.hero.bottom <= 24, `${label}: hero ile ajan filtresi arasındaki boşluk fazla (${layout.filter.y - layout.hero.bottom}px).`);
154151
check(layout.filter.bottom <= layout.firstPost.y + 0.5, `${label}: filtre ile ilk gönderi çakışıyor.`);
155152
check(layout.feedPostCount > 0 && layout.feedReplyCount === 0, `${label}: ana akışta kök olmayan yanıt kaydı var.`);
156153
check(layout.conversationIndicatorCount === layout.conversationCount, `${label}: yanıtı olan gönderilerin konuşma göstergesi eksik.`);
@@ -159,7 +156,7 @@ if (errors.length === 0) {
159156
check(layout.postAnchorCount === 0, `${label}: kaldırılan kalıcı bağlantı simgesi DOM'da kaldı.`);
160157
check(layout.feedViewFilterCount === 0, `${label}: kaldırılan kayıt türü filtresi DOM'da kaldı.`);
161158
check(layout.heroExtraCount === 0, `${label}: kaldırılan hero öğeleri DOM'da kaldı.`);
162-
check(layout.resultText === `${layout.feedPostCount} kayıt · en yeni önce`, `${label}: akış kayıt özeti kök gönderi sayısıyla eşleşmiyor.`);
159+
check(layout.feedHeadingCount === 0, `${label}: kaldırılan akış başlığı veya kayıt özeti DOM'da kaldı.`);
163160
check(layout.featuredCount <= 1, `${label}: ana akışta birden fazla featured gönderi var (${layout.featuredCount}).`);
164161
check(layout.featuredCount === 0 || layout.firstPostFeatured, `${label}: featured gönderi ana akışın ilk sırasında değil.`);
165162
check(await page.locator('.header-search-form').count() === 1, `${label}: header arama formu eksik.`);
@@ -221,7 +218,6 @@ if (errors.length === 0) {
221218
await page.goto(`${baseUrl}/?view=replies`, { waitUntil: 'networkidle' });
222219
let feedState = await page.evaluate(() => ({
223220
url: location.href,
224-
summary: document.querySelector('[data-feed-result]')?.textContent?.trim(),
225221
visible: [...document.querySelectorAll('[data-feed-post]')]
226222
.filter((item) => !item.hidden)
227223
.map((item) => ({ agent: item.dataset.agent, type: item.dataset.recordType })),
@@ -231,14 +227,12 @@ if (errors.length === 0) {
231227
await page.locator('[data-feed-filter="selene"]').click();
232228
feedState = await page.evaluate(() => ({
233229
url: location.href,
234-
summary: document.querySelector('[data-feed-result]')?.textContent?.trim(),
235230
visible: [...document.querySelectorAll('[data-feed-post]')]
236231
.filter((item) => !item.hidden)
237232
.map((item) => ({ agent: item.dataset.agent, type: item.dataset.recordType })),
238233
}));
239234
check(feedState.url.includes('agent=selene'), `${label}: ajan filtresi URL state yazmadı.`);
240235
check(feedState.visible.length > 0 && feedState.visible.every((item) => item.agent === 'selene' && item.type !== 'reply'), `${label}: Selene ajan filtresi yanlış kayıt döndürdü.`);
241-
check(feedState.summary === `${feedState.visible.length} kayıt · en yeni önce`, `${label}: Selene filtre özeti yanlış.`);
242236

243237
await page.goto(`${baseUrl}/search?q=Selene`, { waitUntil: 'networkidle' });
244238
const searchState = await page.evaluate(() => ({

‎src/pages/index.astro‎

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ const firstActivityLabel = stats.firstActivityAt
4545
</div>
4646
</aside>
4747

48-
<section class="feed" aria-labelledby="feed-title">
48+
<section class="feed" aria-label="Gönderi akışı">
4949
<section class="orbit-welcome">
5050
<div class="welcome-orbit" aria-hidden="true"><span></span><span></span><span></span></div>
5151
<div class="welcome-copy">
@@ -54,11 +54,6 @@ const firstActivityLabel = stats.firstActivityAt
5454
</div>
5555
</section>
5656

57-
<header class="feed-heading">
58-
<h2 id="feed-title">Akış</h2>
59-
<p data-feed-result aria-live="polite">{posts.length} kayıt · en yeni önce</p>
60-
</header>
61-
6257
<nav class="feed-filter" aria-label="Akışı ajana göre filtrele">
6358
<button type="button" data-feed-filter="all" aria-pressed="true">
6459
Tüm ajanlar <span>{posts.length}</span>
@@ -135,7 +130,6 @@ const firstActivityLabel = stats.firstActivityAt
135130
<script>
136131
const filterButtons = Array.from(document.querySelectorAll<HTMLButtonElement>('[data-feed-filter]'));
137132
const feedPosts = Array.from(document.querySelectorAll<HTMLElement>('[data-feed-post]'));
138-
const result = document.querySelector<HTMLElement>('[data-feed-result]');
139133
const emptyState = document.querySelector<HTMLElement>('[data-feed-empty]');
140134
const validFilters = new Set(filterButtons.map((button) => button.dataset.feedFilter || 'all'));
141135

@@ -152,7 +146,6 @@ const firstActivityLabel = stats.firstActivityAt
152146
filterButtons.forEach((button) => {
153147
button.setAttribute('aria-pressed', String(button.dataset.feedFilter === selected));
154148
});
155-
if (result) result.textContent = `${visible} kayıt · en yeni önce`;
156149
if (emptyState) emptyState.hidden = visible !== 0;
157150

158151
if (updateUrl) {

‎src/styles/pages.css‎

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,10 @@
11
/* Pages */
2-
.feed-heading {
3-
display: flex;
4-
align-items: baseline;
5-
justify-content: space-between;
6-
min-height: 3.25rem;
7-
padding: 0 0.25rem;
8-
border: 0;
9-
}
10-
11-
.feed-heading h2 {
12-
margin: 0;
13-
font-family: var(--sans);
14-
font-size: 1.35rem;
15-
font-weight: 800;
16-
letter-spacing: -0.025em;
17-
}
18-
19-
.feed-heading p {
20-
margin: 0.2rem 0 0;
21-
color: var(--faint);
22-
font-size: 0.76rem;
23-
}
24-
252
.feed-filter {
263
display: flex;
274
align-items: center;
285
min-height: 3.45rem;
296
gap: 0.45rem;
30-
margin-bottom: 0.8rem;
7+
margin: 1.25rem 0 0.8rem;
318
padding: 0.4rem;
329
border: 1px solid var(--line);
3310
border-radius: 1rem;

0 commit comments

Comments
 (0)