A friendly personal dashboard featuring Nepali Bikram Sambat calendar, daily Nepali quotes, Himalayan wallpapers & daily focus goals.
- 🌐 Chrome / Brave / Edge / Opera: Install from Chrome Web Store
- 🦊 Mozilla Firefox: Install from Firefox Add-ons
- 📅 Nepali Bikram Sambat (वि.सं.) Calendar: Accurate BS calendar engine (2000–2090+ BS), monthly grid view, today highlight, and AD-to-BS conversion.
- ⏰ Live Nepali Clock & Time-aware Greeting: 12h/24h format, Devanagari (०-९) and English numerals, with dynamic Nepali greetings (शुभ प्रभात, शुभ मध्यान्ह, शुभ सन्ध्या, शुभ रात्री).
- 🎯 Daily Focus Goal: Set your primary focus task for the day with one-click completion.
- 💬 Daily Nepali Quotes: Fresh inspirational quotes fetched daily from the open-source Samaya Quotes API.
- 🏔️ Stunning Himalayan & Nepal Wallpapers: Curated high-resolution Unsplash wallpapers of Nepal's landscapes, mountains, and cultural heritage.
- 🛡️ Manifest V3 & Privacy First: Zero tracking or telemetry. 100% offline-first storage.
samaya/
├── src/
│ ├── app/ # Next.js App Router (Static Export Landing Site)
│ │ ├── layout.tsx # Global layout with Google fonts (Mukta, Rhodium Libre, Inter)
│ │ ├── page.tsx # Landing page (Original design preserved)
│ │ └── globals.css # Tailwind CSS styles and animations
│ ├── components/ # Shared React + TypeScript Widgets
│ │ ├── Dashboard.tsx # Master dashboard container
│ │ ├── ClockWidget.tsx # Live ticking clock with quick settings
│ │ ├── GreetingsWidget.tsx # Dynamic time-of-day greeting with name editor
│ │ ├── CalendarWidget.tsx # Mini BS badge & popup monthly calendar grid
│ │ ├── FocusTodayWidget.tsx # Daily priority task & completion checkbox
│ │ ├── QuoteWidget.tsx # Daily Nepali quote with API fetcher
│ │ ├── SettingsModal.tsx # Preferences modal (clock, wallpapers, widgets, about)
│ │ └── BackgroundView.tsx # Landscape wallpaper renderer & photo credits
│ ├── lib/ # Pure TypeScript Utilities & Engines
│ │ ├── nepali-calendar.ts # Bikram Sambat <-> AD calendar conversion algorithm
│ │ ├── np-number.ts # Devanagari numerals converter (०-९)
│ │ ├── quotes.ts # Quotes API client with offline fallback
│ │ ├── wallpapers.ts # Curated wallpaper library & Unsplash helper
│ │ ├── greetings.ts # Nepali greeting translation logic
│ │ └── storage.ts # Cross-browser & web storage abstraction
│ └── extension/ # Browser Extension Entry & Manifest Templates
│ ├── index.html # Extension new-tab HTML template
│ ├── main.tsx # Extension React entry point
│ ├── manifest.chrome.json # Chrome MV3 manifest template
│ └── manifest.firefox.json # Firefox MV3 manifest template
├── extension/
│ ├── chrome/ # Ready-to-load unpacked Chrome Manifest V3 extension
│ └── firefox/ # Ready-to-load temporary Firefox Manifest V3 add-on
├── public/ # Static public assets (icons, wallpapers, logos)
├── next.config.mjs # Next.js static export config (`output: 'export'`)
├── tailwind.config.js # Tailwind CSS configuration
├── vite.config.chrome.ts # Vite build configuration for Chrome MV3 extension
└── vite.config.firefox.ts # Vite build configuration for Firefox MV3 extension
- Node.js: v18.0 or higher (v20+ / v22+ fully supported)
- npm: v9.0 or higher
git clone https://github.com/bibhuticoder/samaya.git
cd samaya
npm install| Command | Description |
|---|---|
npm run dev |
Start the Next.js static website local dev server (http://localhost:3000) |
npm run build |
Build the Next.js static website export (outputs to out/) |
npm run build:chrome |
Build the Chrome Manifest V3 extension to extension/chrome/ |
npm run build:firefox |
Build the Firefox Manifest V3 extension to extension/firefox/ |
npm run build:extension |
Build both Chrome and Firefox extensions |
npm run build:all |
Build Next.js static site + Chrome extension + Firefox extension |
- Build the extension:
npm run build:chrome(or use the pre-builtextension/chrome). - Open Chrome and navigate to
chrome://extensions. - Toggle on Developer mode in the top right.
- Click Load unpacked and select the
extension/chromedirectory inside this project. - Open a new tab to see Samaya!
- Build the extension:
npm run build:firefox(or use the pre-builtextension/firefox). - Open Firefox and navigate to
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on....
- Select
extension/firefox/manifest.json. - Open a new tab to see Samaya!
We warmly welcome contributions!
- Code & Enhancements: Submit a Pull Request on GitHub.
- Wallpapers: If you have high-resolution photographs of Nepal's landscapes, upload them to Unsplash and contact the maintainer.
- Quotes: Contribute new Nepali inspirational quotes at samaya-quotes-api.
- Contact / Feedback: bibhutipd@gmail.com
Open source under the ISC / MIT License. Made with ❤️ by Bibhuti Poudyal.