Skip to content

Commit 3479571

Browse files
sametbasbugclaude
andcommitted
Başlıktaki çıkış düğmesi Equinox Hub'a gitsin, mobilde de görünsün
Düğme "Blog'a dön" diyor ve ana bloga gidiyordu. Haber sitesi Equinox ekosisteminin bir parçası, kişisel blogun bir bölümü değil: düğme artık "Equinox" ve equinox.sametbasbug.dev'e gidiyor. Alt bilgideki "Ana blog" bağlantısı bloga gitmeye devam ediyor, yani iki adres de erişilebilir. Adres `getEquinoxHubUrl()` üzerinden ve `PUBLIC_EQUINOX_HUB_URL` ile geçersiz kılınabiliyor; iki iş akışına ve `docs/environment.md`'ye de eklendi, diğer PUBLIC_ değişkenleriyle aynı biçimde. Düğme MOBİLDE HİÇ GÖRÜNMÜYORDU. `@media (max-width: 640px)` içinde `display: none` yazıyordu: dört öğe (marka, tema, giriş, düğme) yan yana sığmıyor ve sığdırmaya zorlanınca marka adı kısalıyordu. Yani telefondan giren okuyucunun Equinox'a çıkacak bir yolu yoktu. Sığdırmak yerine SARDIRDIM. Genişliği hesaplamak yanlış olurdu: giriş yapmış kullanıcıda o blok "Orbit ile giriş"ten daha geniş oluyor (görünen ad + Çıkış), sabit bir hesap o durumda tutmaz. Artık düğmeler sığdığı sürece tek satırda, sığmadığında markanın altına iniyor; marka da kısalmıyor (`min-width: max-content`), yani sarmayı tetikleyen taraf o değil. Ölçüldü — 320px ve 390px, hem çıkış yapmış hem giriş yapmış halde: yatay taşma yok, marka kısalmıyor, Equinox düğmesi görünür. Giriş yapmış halde başlık bir satır uzuyor (155px → 197px), hiçbir şey gizlenmiyor. Doğrulama için `.claude/launch.json`'a `haber-site-ssr-orbit` eklendi: statik önizlemede Orbit düğmesi hiç basılmıyor (veritabanı yok), yani başlık gerçekte olduğundan dar görünüyor ve dar ekran denemesi yanıltıyor. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 38d0cf4 commit 3479571

5 files changed

Lines changed: 51 additions & 12 deletions

File tree

‎.github/workflows/deploy.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
PUBLIC_SITE_URL: https://haber.sametbasbug.dev
4646
PUBLIC_NEWS_SITE_URL: https://haber.sametbasbug.dev
4747
PUBLIC_MAIN_SITE_URL: https://sametbasbug.dev
48+
PUBLIC_EQUINOX_HUB_URL: https://equinox.sametbasbug.dev
4849
PUBLIC_NEWS_SUBDOMAIN_ENABLED: 'true'
4950
run: npm run build
5051

@@ -53,6 +54,7 @@ jobs:
5354
PUBLIC_SITE_URL: https://haber.sametbasbug.dev
5455
PUBLIC_NEWS_SITE_URL: https://haber.sametbasbug.dev
5556
PUBLIC_MAIN_SITE_URL: https://sametbasbug.dev
57+
PUBLIC_EQUINOX_HUB_URL: https://equinox.sametbasbug.dev
5658
PUBLIC_NEWS_SUBDOMAIN_ENABLED: 'true'
5759
run: npm run build:ssr
5860

‎.github/workflows/quality.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,6 @@ jobs:
6969
PUBLIC_SITE_URL: https://haber.sametbasbug.dev
7070
PUBLIC_NEWS_SITE_URL: https://haber.sametbasbug.dev
7171
PUBLIC_MAIN_SITE_URL: https://sametbasbug.dev
72+
PUBLIC_EQUINOX_HUB_URL: https://equinox.sametbasbug.dev
7273
PUBLIC_NEWS_SUBDOMAIN_ENABLED: 'true'
7374
run: npm run build

‎docs/environment.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Do not commit real tokens, API keys, cookies, private feed URLs, local queue dat
1111
| `PUBLIC_SITE_URL` | No | Canonical Astro site URL. Defaults to the live Haber URL. | `https://haber.sametbasbug.dev` |
1212
| `PUBLIC_NEWS_SITE_URL` | No | Public news subdomain used by site links and metadata. | `https://haber.sametbasbug.dev` |
1313
| `PUBLIC_MAIN_SITE_URL` | No | Main site URL used for ecosystem links. | `https://sametbasbug.dev` |
14+
| `PUBLIC_EQUINOX_HUB_URL` | No | Equinox Hub URL behind the masthead "Equinox" button. | `https://equinox.sametbasbug.dev` |
1415
| `PUBLIC_NEWS_SUBDOMAIN_ENABLED` | No | Enables subdomain-style public news links when `true`. | `true` |
1516

1617
## Orbit variables

‎src/data/newsSite.ts‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const MAIN_SITE_URL = (import.meta.env.PUBLIC_MAIN_SITE_URL || 'https://sametbasbug.dev').replace(/\/+$/, '');
2+
const EQUINOX_HUB_URL = (import.meta.env.PUBLIC_EQUINOX_HUB_URL || 'https://equinox.sametbasbug.dev').replace(/\/+$/, '');
23
const NEWS_SITE_URL = (import.meta.env.PUBLIC_NEWS_SITE_URL || 'https://haber.sametbasbug.dev').replace(/\/+$/, '');
34
const NEWS_SUBDOMAIN_ENABLED = String(import.meta.env.PUBLIC_NEWS_SUBDOMAIN_ENABLED || 'true') === 'true';
45

@@ -10,6 +11,18 @@ export function getMainSiteUrl() {
1011
return MAIN_SITE_URL;
1112
}
1213

14+
/**
15+
* Equinox Hub. Başlıktaki çıkış düğmesinin gittiği yer.
16+
*
17+
* Ana blogdan (`getMainSiteUrl`) AYRI tutuluyor: haber sitesi Equinox
18+
* ekosisteminin bir parçası, kişisel blogun bir bölümü değil. Alt bilgideki
19+
* "Ana blog" bağlantısı bloga gitmeye devam ediyor; iki adres de erişilebilir
20+
* kalıyor.
21+
*/
22+
export function getEquinoxHubUrl() {
23+
return EQUINOX_HUB_URL;
24+
}
25+
1326
export function getNewsSiteUrl() {
1427
return NEWS_SITE_URL;
1528
}

‎src/layouts/NewsLayout.astro‎

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import BaseLayout from './BaseLayout.astro';
33
import OturumDugmesi from '../components/OturumDugmesi.astro';
44
import { getNewsCategoryHref } from '../data/equinoxHaber';
5-
import { getMainSiteUrl, getNewsArchiveHref, getNewsHomePath, getNewsHomeHref, getSourceCodeHref, isNewsSubdomainEnabled } from '../data/newsSite';
5+
import { getEquinoxHubUrl, getMainSiteUrl, getNewsArchiveHref, getNewsHomePath, getNewsHomeHref, getSourceCodeHref, isNewsSubdomainEnabled } from '../data/newsSite';
66
77
interface Props {
88
title: string;
@@ -50,6 +50,10 @@ const isLiveSurface = kicker === 'Canlı akış';
5050
const sourceCodeHref = getSourceCodeHref();
5151
const newsHomePath = getNewsHomePath();
5252
const blogHomeHref = isNewsSubdomainEnabled() ? getMainSiteUrl() : '/';
53+
/* Başlıktaki çıkış düğmesi Equinox Hub'a gidiyor, ana bloga değil: haber
54+
sitesi Equinox'un bir parçası. Alt bilgideki "Ana blog" bloga gitmeye
55+
devam ediyor, yani iki adres de erişilebilir. */
56+
const equinoxHubHref = getEquinoxHubUrl();
5357
---
5458

5559
<BaseLayout title={title} description={description} noindex={noindex} canonicalPath={canonicalPath} ogImage={ogImage} ogImageAlt={ogImageAlt}>
@@ -70,7 +74,7 @@ const blogHomeHref = isNewsSubdomainEnabled() ? getMainSiteUrl() : '/';
7074
<span data-news-theme-icon>🌙</span>
7175
</button>
7276
<OturumDugmesi />
73-
<a href={blogHomeHref} class="news-action-pill">Blog'a dön</a>
77+
<a href={equinoxHubHref} class="news-action-pill">Equinox</a>
7478
</div>
7579
</div>
7680

@@ -98,7 +102,7 @@ const blogHomeHref = isNewsSubdomainEnabled() ? getMainSiteUrl() : '/';
98102
<span data-news-theme-icon>🌙</span>
99103
</button>
100104
<OturumDugmesi />
101-
<a href={blogHomeHref} class="news-action-pill">Blog'a dön</a>
105+
<a href={equinoxHubHref} class="news-action-pill">Equinox</a>
102106
</div>
103107
</div>
104108
</header>
@@ -625,13 +629,29 @@ const blogHomeHref = isNewsSubdomainEnabled() ? getMainSiteUrl() : '/';
625629
}
626630
}
627631
@media (max-width: 640px) {
628-
/* Dar başlıkta dört öğe (marka, tema, giriş, blog) yan yana sığmıyor;
629-
sığdırmaya zorlanınca kısalan şey marka adı oluyordu ve "Equinox
630-
Haber" tek harfe düşüyordu. Blog bağlantısı burada gizleniyor çünkü
631-
alt bilgide "Ana blog" olarak zaten duruyor — marka ve giriş için
632-
ikinci bir adres yok. */
633-
.news-actions.mobile-only .news-action-pill {
634-
display: none;
632+
/* DAR BAŞLIKTA SATIR SARIYOR, DÜĞME GİZLENMİYOR.
633+
*
634+
* Burada `.news-actions.mobile-only .news-action-pill { display: none }`
635+
* vardı: dört öğe (marka, tema, giriş, Equinox) yan yana sığmıyordu ve
636+
* sığdırmaya zorlanınca kısalan şey marka adı oluyordu. Çözüm olarak
637+
* düğme saklanmıştı — yani telefondan giren okuyucunun Equinox'a
638+
* çıkacak bir yolu hiç yoktu.
639+
*
640+
* Genişliği hesaplayıp sığdırmaya çalışmak da yanlış olurdu: giriş
641+
* yapmış kullanıcıda o blok "Orbit ile giriş"ten DAHA geniş oluyor
642+
* (görünen ad + Çıkış). Sabit bir hesap o durumda tutmaz.
643+
*
644+
* Onun yerine satır sarıyor: sığdığı sürece tek satır kalıyor,
645+
* sığmadığında düğmeler markanın altına iniyor. Marka artık
646+
* kısalmıyor (`min-width: max-content`), yani sarmayı tetikleyen
647+
* taraf o değil. */
648+
.news-top-row {
649+
flex-wrap: wrap;
650+
row-gap: 0.5rem;
651+
}
652+
.news-actions.mobile-only {
653+
flex-wrap: wrap;
654+
justify-content: flex-start;
635655
}
636656
.news-masthead-inner,
637657
.news-hero,
@@ -646,10 +666,12 @@ const blogHomeHref = isNewsSubdomainEnabled() ? getMainSiteUrl() : '/';
646666
padding-right: 0;
647667
margin-right: 0;
648668
border-right: 0;
649-
min-width: 0;
669+
/* Marka KISALMIYOR: daralınca sarması gereken taraf düğmeler. */
670+
min-width: max-content;
671+
flex-shrink: 0;
650672
}
651673
.news-brand-copy {
652-
min-width: 0;
674+
min-width: max-content;
653675
}
654676
.news-brand strong {
655677
font-size: 0.96rem;

0 commit comments

Comments
 (0)