Category Archives: Flower Guide

What is the National Flower of Singapore? History and Fact You Need to Know

Singapore’s National Flower: What is it, and should it be changed? You see these flowers blooming all year round in Singapore. For decades, this variety is found in most of the botanical gardens in Singapore. There are also notable attractions dedicated to the hybrid flower located around the country including a park and several roads. […]

How to Choose Fresh Cut Flowers?

Are you planning to make a flower arrangement using flowers in season? There are many places you can visit to scout for fresh-cut flowers in season. You can select tropical flowers as well as international blooms from an online florist service. But, for the freshest varieties, you can check a well-known Singapore florist shop location, […]

All About Carnations: Everything You Need to Know About Carnations

Get to know carnations When you are shopping for carnations at your local florist, have you wondered how many types of carnation are there? There are various types of carnations but only 3 are well known – perpetual-flowering, border, and annual ones. Carnations are often called “Dianthus”, the scientific name of the plant that was […]

(function(){ // cookie helpers function setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/; SameSite=Lax"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); } return null; } // Build modal markup function buildModal() { var overlay = document.createElement('div'); overlay.className = 'cf-overlay'; overlay.id = 'cfOverlay'; overlay.setAttribute('aria-hidden','false'); var modal = document.createElement('div'); modal.className = 'cf-modal'; modal.setAttribute('role','dialog'); modal.setAttribute('aria-modal','true'); modal.setAttribute('aria-label','Cookie consent'); modal.innerHTML = '\ \
\ We use cookies to improve your browsing experience.\
\ This website uses cookies to enhance site navigation, analyse site usage, \ and provide personalised content. By clicking "ACCEPT", you agree to our cookie policy.\
\
\ \ \ View Cookie Policy\
'; overlay.appendChild(modal); return overlay; } // Utility: get all focusable elements inside container function getFocusable(el) { return el.querySelectorAll('a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])'); } // Show modal (blocking) function showModal() { if (document.getElementById('cfOverlay')) return; var overlay = buildModal(); document.body.appendChild(overlay); // block scroll and remember previous focus var previousActive = document.activeElement; document.body.style.overflow = 'hidden'; // show setTimeout(function(){ overlay.classList.add('show'); }, 20); // focus management: trap focus inside modal var modal = overlay.querySelector('.cf-modal'); var focusable = Array.prototype.slice.call(getFocusable(modal)); var firstFocusable = focusable[0]; var lastFocusable = focusable[focusable.length-1]; // focus first interactive element (ACCEPT) var acceptBtn = document.getElementById('cfAccept'); if (acceptBtn) acceptBtn.focus(); // keydown handler to trap Tab and disable Escape function onKeyDown(e) { if (e.key === 'Escape' || e.key === 'Esc') { // prevent ESC from closing modal e.preventDefault(); e.stopPropagation(); return; } if (e.key === 'Tab') { if (focusable.length === 0) { e.preventDefault(); return; } // forward tab if (!e.shiftKey && document.activeElement === lastFocusable) { e.preventDefault(); firstFocusable.focus(); } // backward tab else if (e.shiftKey && document.activeElement === firstFocusable) { e.preventDefault(); lastFocusable.focus(); } } } document.addEventListener('keydown', onKeyDown, true); // Event handlers document.getElementById('cfAccept').addEventListener('click', function(){ setCookie('cookie_consent','1',365); cleanup(); }); document.getElementById('cfClose').addEventListener('click', function(){ // Close without consent (does NOT set cookie) cleanup(); }); document.getElementById('cfCloseX').addEventListener('click', function(){ cleanup(); }); // IMPORTANT: DO NOT close when clicking overlay background — user must click Accept or Close // overlay.addEventListener('click', function(e){ // if (e.target === overlay) cleanup(); // disabled on purpose // }); // cleanup function function cleanup() { overlay.classList.remove('show'); setTimeout(function(){ if (overlay && overlay.parentNode) overlay.parentNode.removeChild(overlay); document.body.style.overflow = ''; document.removeEventListener('keydown', onKeyDown, true); try { if (previousActive) previousActive.focus(); } catch (e) {} }, 150); } } // init: show modal if cookie not set // dan HANYA di homepage var path = window.location.pathname.replace(/\/+$/, ''); var isHome = (path === ''); // "/" akan jadi "" setelah replace di atas if (isHome && !getCookie('cookie_consent')) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', showModal); } else { showModal(); } } })();
Alert Dont Save as Image & Download