R2 storage, media preconnect, filename normalization, graph email
This commit is contained in:
+26
-1
@@ -183,4 +183,29 @@ czysta nazwa trafia i do bazy, i do bucketa). Dlaczego to ważne:
|
||||
ścieżki i cache.
|
||||
|
||||
Sama funkcja `normalizeFilename(name)` też jest wyeksportowana, gdybyś potrzebował
|
||||
jej poza hookiem.
|
||||
jej poza hookiem.
|
||||
|
||||
## Preconnect do domeny mediów (wydajność)
|
||||
|
||||
Komponent `MediaPreconnect` generuje `<link rel="preconnect">` + `dns-prefetch`
|
||||
dla domeny mediów (R2_PUBLIC_URL) — przeglądarka nawiązuje połączenie TLS/DNS
|
||||
z CDN zawczasu, zanim napotka pierwszy `<img>`. Zysk ~150–300 ms na pierwszym
|
||||
obrazie.
|
||||
|
||||
```tsx
|
||||
// layout.tsx — w <head> (albo górze <body>, Next hoistuje link tagi)
|
||||
import { MediaPreconnect } from '@intecion/ipal-kit/rsc'
|
||||
|
||||
<head>
|
||||
<MediaPreconnect />
|
||||
</head>
|
||||
```
|
||||
|
||||
Czyta domenę z **R2_PUBLIC_URL** (to samo źródło co buildR2Storage) — zero
|
||||
hardkodu, jedno źródło prawdy. Gdy R2_PUBLIC_URL nie ustawione (lokalny dysk,
|
||||
brak CDN) → nie renderuje nic. Zmiana domeny mediów = zmiana jednej zmiennej
|
||||
env, komponent podąża automatycznie.
|
||||
|
||||
> NIE hardkoduj `<link rel="preconnect" href="https://media.klient.pl">` ręcznie
|
||||
> w layoutcie — to zaszywa domenę klienta w kodzie. Użyj MediaPreconnect, który
|
||||
> bierze ją z env.
|
||||
Reference in New Issue
Block a user