277 lines
10 KiB
JavaScript
277 lines
10 KiB
JavaScript
// ------------------------------------------------------------------------
|
|
// cosmic-calendar.js - Hardcoded cosmic events (meteor showers, eclipses,
|
|
// planetary oppositions/conjunctions) used by getActiveEvents.
|
|
//
|
|
// Each entry: { id, start: 'YYYY-MM-DD', end: 'YYYY-MM-DD',
|
|
// peak: 'YYYY-MM-DD' (optional), ...eventProps }
|
|
// Active if today falls within [start, end] (inclusive).
|
|
// Night-only events (meteor showers, eclipses) are marked nightOnly: true
|
|
// so the cell icons only appear in night-time rows.
|
|
// ------------------------------------------------------------------------
|
|
|
|
export const COSMIC_CALENDAR = [
|
|
|
|
// -- METEOR SHOWERS --------------------------------------------------
|
|
{
|
|
id: 'quadrantids-2026',
|
|
emoji: '☄️',
|
|
title: 'Quadrantid Meteor Shower',
|
|
message: 'The Quadrantid meteor shower is active — up to 120 meteors/hour at peak. Best after midnight in a dark sky.',
|
|
color: '#2a1a5a',
|
|
textColor: '#e8d8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-01-01', end: '2026-01-05', peak: '2026-01-03',
|
|
},
|
|
{
|
|
id: 'lyrids-2026',
|
|
emoji: '☄️',
|
|
title: 'Lyrid Meteor Shower',
|
|
message: 'The Lyrid meteor shower peaks tonight — up to 20 meteors/hour from a dark sky after midnight.',
|
|
color: '#2a1a5a',
|
|
textColor: '#e8d8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-04-16', end: '2026-04-25', peak: '2026-04-22',
|
|
},
|
|
{
|
|
id: 'eta-aquariids-2026',
|
|
emoji: '☄️',
|
|
title: 'Eta Aquariid Meteor Shower',
|
|
message: 'The Eta Aquariid shower peaks tonight — fragments of Halley\'s Comet, up to 50/hour before dawn.',
|
|
color: '#2a1a5a',
|
|
textColor: '#e8d8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-04-19', end: '2026-05-28', peak: '2026-05-06',
|
|
},
|
|
{
|
|
id: 'perseids-2026',
|
|
emoji: '☄️',
|
|
title: 'Perseid Meteor Shower',
|
|
message: 'The Perseids are active — one of the best showers of the year, up to 100 meteors/hour at peak.',
|
|
color: '#3a1a00',
|
|
textColor: '#ffe8c0',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-07-17', end: '2026-08-24', peak: '2026-08-12',
|
|
},
|
|
{
|
|
id: 'orionids-2026',
|
|
emoji: '☄️',
|
|
title: 'Orionid Meteor Shower',
|
|
message: 'The Orionid shower peaks tonight — fast, bright meteors from Halley\'s Comet debris. Up to 25/hour.',
|
|
color: '#2a1a5a',
|
|
textColor: '#e8d8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-10-02', end: '2026-11-07', peak: '2026-10-21',
|
|
},
|
|
{
|
|
id: 'leonids-2026',
|
|
emoji: '☄️',
|
|
title: 'Leonid Meteor Shower',
|
|
message: 'The Leonid shower is active tonight — fast, bright meteors from comet Tempel-Tuttle.',
|
|
color: '#2a1a5a',
|
|
textColor: '#e8d8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-11-06', end: '2026-11-30', peak: '2026-11-17',
|
|
},
|
|
{
|
|
id: 'geminids-2026',
|
|
emoji: '☄️',
|
|
title: 'Geminid Meteor Shower',
|
|
message: 'The Geminids peak tonight — the best shower of the year, up to 150 meteors/hour. No moon interference.',
|
|
color: '#3a1a00',
|
|
textColor: '#ffe8c0',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-12-04', end: '2026-12-20', peak: '2026-12-13',
|
|
},
|
|
{
|
|
id: 'ursids-2026',
|
|
emoji: '☄️',
|
|
title: 'Ursid Meteor Shower',
|
|
message: 'The Ursid shower peaks tonight — a quieter festive shower near the winter solstice.',
|
|
color: '#2a1a5a',
|
|
textColor: '#e8d8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-12-17', end: '2026-12-26', peak: '2026-12-22',
|
|
},
|
|
|
|
// -- ECLIPSES --------------------------------------------------------
|
|
{
|
|
id: 'solar-eclipse-2026-aug',
|
|
emoji: '🌑',
|
|
title: 'Total Solar Eclipse',
|
|
message: 'A total solar eclipse crosses Europe and North Africa today — look for rapid temperature drops and unusual animal behaviour even in partial zones.',
|
|
color: '#1a0a2a',
|
|
textColor: '#d8c8f8',
|
|
type: 'cosmic',
|
|
nightOnly: false,
|
|
start: '2026-08-12', end: '2026-08-12',
|
|
},
|
|
{
|
|
id: 'lunar-eclipse-2026-mar',
|
|
emoji: '🌕',
|
|
title: 'Total Lunar Eclipse',
|
|
message: 'A total lunar eclipse is visible tonight — the Moon turns deep red (a "Blood Moon") as it passes through Earth\'s shadow.',
|
|
color: '#3a0a0a',
|
|
textColor: '#ffd8d8',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-03-03', end: '2026-03-03',
|
|
},
|
|
|
|
// -- PLANETARY EVENTS ------------------------------------------------
|
|
{
|
|
id: 'saturn-opposition-2026',
|
|
emoji: '🪐',
|
|
title: 'Saturn at Opposition',
|
|
message: 'Saturn is at its closest and brightest tonight — visible all night long, rings tilted beautifully toward Earth.',
|
|
color: '#1a2a3a',
|
|
textColor: '#c8e8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-09-23', end: '2026-09-23',
|
|
},
|
|
{
|
|
id: 'jupiter-opposition-2026',
|
|
emoji: '🪐',
|
|
title: 'Jupiter at Opposition',
|
|
message: 'Jupiter is at its closest and brightest tonight — you can see its cloud bands with binoculars.',
|
|
color: '#1a2a3a',
|
|
textColor: '#c8e8ff',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-10-08', end: '2026-10-08',
|
|
},
|
|
{
|
|
id: 'mars-conjunction-2026',
|
|
emoji: '🔴',
|
|
title: 'Mars & Venus Conjunction',
|
|
message: 'Mars and Venus are remarkably close in the evening sky tonight — a striking pair visible to the naked eye.',
|
|
color: '#2a1520',
|
|
textColor: '#ffc8d8',
|
|
type: 'cosmic',
|
|
nightOnly: true,
|
|
start: '2026-06-30', end: '2026-07-02',
|
|
},
|
|
|
|
// -- 2027 METEOR SHOWERS ---------------------------------------------
|
|
{
|
|
id: 'quadrantids-2027',
|
|
emoji: '☄️',
|
|
title: 'Quadrantid Meteor Shower',
|
|
message: 'The Quadrantid meteor shower is active — up to 120 meteors/hour at peak. Best in the hours before dawn on 4 Jan from a dark site.',
|
|
color: '#2a1a5a', textColor: '#e8d8ff',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-01-01', end: '2027-01-05', peak: '2027-01-04',
|
|
},
|
|
{
|
|
id: 'lyrids-2027',
|
|
emoji: '☄️',
|
|
title: 'Lyrid Meteor Shower',
|
|
message: 'The Lyrid meteor shower peaks — up to 20 meteors/hour after midnight. Note: bright waning gibbous moon may reduce visibility this year.',
|
|
color: '#2a1a5a', textColor: '#e8d8ff',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-04-16', end: '2027-04-25', peak: '2027-04-23',
|
|
},
|
|
{
|
|
id: 'eta-aquariids-2027',
|
|
emoji: '☄️',
|
|
title: 'Eta Aquariid Meteor Shower',
|
|
message: 'The Eta Aquariids peak — fragments of Halley\'s Comet, up to 50/hour before dawn. New moon on 6 May means excellent dark skies this year.',
|
|
color: '#2a1a5a', textColor: '#e8d8ff',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-04-19', end: '2027-05-28', peak: '2027-05-05',
|
|
},
|
|
{
|
|
id: 'perseids-2027',
|
|
emoji: '☄️',
|
|
title: 'Perseid Meteor Shower',
|
|
message: 'The Perseids are active — one of the best showers of the year, up to 100 meteors/hour at peak around 13 Aug.',
|
|
color: '#3a1a00', textColor: '#ffe8c0',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-07-17', end: '2027-08-24', peak: '2027-08-13',
|
|
},
|
|
{
|
|
id: 'orionids-2027',
|
|
emoji: '☄️',
|
|
title: 'Orionid Meteor Shower',
|
|
message: 'The Orionid shower peaks — fast, bright meteors from Halley\'s Comet debris. Up to 25/hour.',
|
|
color: '#2a1a5a', textColor: '#e8d8ff',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-10-02', end: '2027-11-07', peak: '2027-10-21',
|
|
},
|
|
{
|
|
id: 'leonids-2027',
|
|
emoji: '☄️',
|
|
title: 'Leonid Meteor Shower',
|
|
message: 'The Leonid shower peaks — fast meteors from comet Tempel-Tuttle, up to 15/hour.',
|
|
color: '#2a1a5a', textColor: '#e8d8ff',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-11-06', end: '2027-11-30', peak: '2027-11-17',
|
|
},
|
|
{
|
|
id: 'geminids-2027',
|
|
emoji: '☄️',
|
|
title: 'Geminid Meteor Shower',
|
|
message: 'The Geminids peak — the finest shower of the year, up to 150 meteors/hour, visible even before midnight.',
|
|
color: '#3a1a00', textColor: '#ffe8c0',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-12-04', end: '2027-12-20', peak: '2027-12-14',
|
|
},
|
|
{
|
|
id: 'ursids-2027',
|
|
emoji: '☄️',
|
|
title: 'Ursid Meteor Shower',
|
|
message: 'The Ursid shower peaks near the winter solstice — circumpolar, best from northern latitudes.',
|
|
color: '#2a1a5a', textColor: '#e8d8ff',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-12-17', end: '2027-12-26', peak: '2027-12-22',
|
|
},
|
|
|
|
// -- 2027 ECLIPSES ---------------------------------------------------
|
|
{
|
|
id: 'annular-solar-eclipse-2027-feb',
|
|
emoji: '🌑',
|
|
title: 'Annular Solar Eclipse',
|
|
message: 'An annular solar eclipse creates a "ring of fire" effect — visible across parts of South America, Africa and the Indian Ocean.',
|
|
color: '#1a0a2a', textColor: '#d8c8f8',
|
|
type: 'cosmic', nightOnly: false,
|
|
start: '2027-02-06', end: '2027-02-06', peak: '2027-02-06',
|
|
},
|
|
{
|
|
id: 'total-solar-eclipse-2027-aug',
|
|
emoji: '🌑',
|
|
title: 'Total Solar Eclipse',
|
|
message: 'A spectacular total solar eclipse — the path of totality crosses Morocco, Spain, Algeria, Libya, Egypt and Saudi Arabia. One of the longest totalities of the century.',
|
|
color: '#1a0a2a', textColor: '#d8c8f8',
|
|
type: 'cosmic', nightOnly: false,
|
|
start: '2027-08-02', end: '2027-08-02', peak: '2027-08-02',
|
|
},
|
|
|
|
// -- 2027 PLANETARY EVENTS -------------------------------------------
|
|
{
|
|
id: 'mars-opposition-2027',
|
|
emoji: '🔴',
|
|
title: 'Mars at Opposition',
|
|
message: 'Mars is at its closest and brightest — a vivid red beacon visible all night long. Good binoculars will reveal its surface colour.',
|
|
color: '#2a1520', textColor: '#ffc8d8',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-02-19', end: '2027-02-19', peak: '2027-02-19',
|
|
},
|
|
{
|
|
id: 'venus-jupiter-conjunction-2027',
|
|
emoji: '🪐',
|
|
title: 'Venus & Jupiter Conjunction',
|
|
message: 'Venus and Jupiter appear strikingly close together in the evening sky — a dazzling naked-eye pairing of the two brightest planets.',
|
|
color: '#1a2a3a', textColor: '#c8e8ff',
|
|
type: 'cosmic', nightOnly: true,
|
|
start: '2027-08-23', end: '2027-08-27', peak: '2027-08-25',
|
|
},
|
|
];
|