A friendly personal dashboard featuring Nepali Bikram Sambat calendar, daily Nepali quotes, Himalayan wallpapers & daily focus goals.
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
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 |
npm run build:chrome (or use the pre-built extension/chrome).chrome://extensions.extension/chrome directory inside this project.npm run build:firefox (or use the pre-built extension/firefox).about:debugging#/runtime/this-firefox.extension/firefox/manifest.json.We warmly welcome contributions!
Open source under the ISC / MIT License. Made with ❤️ by Bibhuti Poudyal.