Logo Putra Jaya
Putra Jaya Manusia Biasa

Tandai Halaman Link Aktif di Astro

Dapatkan url Halaman saat ini

Ini berisi path URL yang sedang dibuka, misalnya: /, /about, /blog/post1.

Astro.url.pathname;

Bandingkan URL menu dengan URL halaman saat ini Untuk setiap item menu (item.url), cek:

Astro.url.pathname === item.url;

Apakah sama persis dengan URL saat ini? Atau URL halaman ini adalah bagian dari sub-path menu (untuk halaman detail misalnya):

Astro.url.pathname.startsWith(item.url);

Tapi untuk homepage ('/'), harus sama persis, jangan startsWith supaya tidak salah aktif.


Simpan hasil Operator Perbandingan dalam Variabel Boolean, misalnya:

const isActive =
	Astro.url.pathname === item.url ||
	(item.url !== "/" && Astro.url.pathname.startsWith(item.url));

Gunakan isActive untuk beri gaya khusus pada menu yang aktif