Giter Club home page Giter Club logo

nepali-calendar-web's Introduction

Miti - The Nepali Calendar

This version of Miti is an open source progressive web app that allows you to view and sync events with Google Calendar. Check live version of this application at https://miti.bikram.io.

Miti is a minimal Nepali Calendar App that can sync with your Google account and can be installed on any operating system as a progressive web app.

It is completely open-source and free to use without any ads. But why did we create yet another Nepali Calendar App when there are already so many of them? Two main reasons, they’re too bloated and they fail to become a good calendar, i.e. to cross-compatibility with other calendars. Miti can be operated in sync with native calendar apps in any OS because almost all of them support google calendar.

Contributing

We welcome contributions from everyone. Please check out our contributing guidelines for more information.

nepali-calendar-web's People

Contributors

headshigh avatar nabinkdl avatar nbnsresta avatar nirajacharyaa avatar pandeysubash404 avatar parajulibkrm avatar poudelsanchit avatar yuvrajdahal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nepali-calendar-web's Issues

App crashed on switching the month while selecting last day of some months.

Describe the bug
When selecting the last day of the month ex: Shrawan 32 2080(this doesn't occur on every month's last date), and then switching months the application crashed. It shows AD_date is not defined in the console.

To Reproduce
Steps to reproduce the behavior:

  1. Select 2080, Shrawan 32
  2. Now switch month the month by any method (next and previous buttons or the dropdown)
  3. See the error

sign in with google permission not working properly

Describe the bug
Google permission is not working properly. Login without permission at first and revoke it to log in again with all permissions, the permissions won't work.

To Reproduce
Steps to reproduce the behavior:

  1. Go to sign in with Google and give only the first permission(or none) while signing in.
  2. Create an event on any date, you can't choose the calendar from the list so the event is not created.
  3. Go to the security setting of your Google account and revoke permission with Miti.
  4. Go to sign in with Google again and give all permissions and continue.
  5. Try creating an event and you still can't choose the calendar from the list so the event is not created.

Expected behavior
After revoking the connection from my Google account, signing in again with all permissions should give me all permissions to create, and edit events.

Screenshots
Here are some of the screenshots that might be useful to understand the problem :
Permission screen :
1689662810507

Event creation (can't choose calendar ) :
1689662810486

Revoking access from Google :
1689662810528

Smartphone (please complete the following information):

  • Device: [ Xioami]
  • OS: [ android 11]
  • Browser [ chrome]
  • Version [107.0.5304.105]

Repeat event functionality

I would love to have a repeat event daily, weekly, certain days of week, monthly, yearly functionality when creating calendar event.

We all use nepali date for birthdays, anniversaries, etc. If we are to save a yearly repeating event in Gregorian calendar for birthdays in some year it falls one day ahead or one day behind in nepali date. If we are able to set a yearly repeating event saying x's birthday in certain nepali date, that should sync with google calendar giving exact Gregorian calendar date for birthdays every year. Just something to think about. Thanks.

Request for Nepal Sambat (NS) Calendar Support

Issue Description:

Problem Statement:

In accordance with the recent mandate by the Nepal Government requiring the inclusion of Nepal Sambat (NS) in government papers alongside Bikram Sambat (BS), it has become essential for users to have access to the NS calendar in digital calendar applications.

Proposed Solution:

I propose the addition of Nepal Sambat (NS) calendar support in Miti. This enhancement will not only align the app with the government's requirements but also provide users with a comprehensive and compliant calendar solution.

Key Features Requested:

  1. NS Calendar Integration: Integrate Nepal Sambat (NS) alongside the existing Bikram Sambat (BS) calendar.
  2. Date Conversion: Include functionality for converting dates between Gregorian, Bikram Sambat (BS), and Nepal Sambat (NS) calendars.
  3. Sync with Google Calendar: Ensure seamless synchronization of events with Google Calendar for both BS and NS calendars.

Additional Information:

The addition of NS calendar support will not only enhance the functionality of Miti but also contribute to its cross-compatibility with other calendars. This feature aligns with the recent government directive and ensures that Miti remains a reliable choice for users adhering to official standards.

Expected Benefits:

  1. Compliance with Government Mandate: Users can meet the government's requirement of including Nepal Sambat (NS) in official documents and records.
  2. Enhanced Calendar Functionality: Miti users will have access to a more versatile and inclusive calendar application.
  3. Improved Cross-Compatibility: The integration of NS calendar ensures better compatibility with native calendar apps in various operating systems.

How Can This Be Implemented:
Implementing Nepal Sambat (NS) calendar support in Miti can be achieved through the following steps:

  1. Calendar Integration Module:
  • Develop a dedicated module for Nepal Sambat (NS) calendar within Miti.
  • Integrate NS calendar alongside the existing Bikram Sambat (BS) calendar.
  1. User Interface Enhancements:
  • Update the user interface to seamlessly switch between BS and NS calendars.
  • Provide options for users to easily toggle between different calendar views.
  1. Google Calendar Integration:
  • Extend Google Calendar synchronization to include both Bikram Sambat (BS) and Nepal Sambat (NS) events.
  • Ensure that events created in Miti are accurately reflected in the user's Google Calendar.
  1. Documentation:
  • Update the app's documentation to include instructions on using the Nepal Sambat (NS) calendar features.
  • Provide clear guidance on how users can sync NS calendar events with Google Calendar.

Note:
Please feel free to discuss and provide feedback on this proposal. Your input is valuable in shaping the direction of Miti and ensuring it meets the diverse needs of its user base.

Date display inconsistency in input field and paragraph.

#53
Problem Description:
When using the provided input field, the displayed date appears to be one day behind the actual date. However, the date displayed in the paragraph below the input field shows the correct date. This inconsistency can be confusing for users, leading to potential misunderstandings or incorrect data inputs.

Cause of the Issue:
The issue is caused by the difference in how the date is handled between the input field and the paragraph. The input field utilizes the toISOString() method to convert the date to an ISO string, which represents the date and time in Coordinated Universal Time (UTC). The string is then split to extract only the date portion. Conversely, the paragraph utilizes the toLocaleString() method, which considers the local time zone of the user's browser.

Due to this discrepancy, when the input field displays the date in UTC and the user is in a time zone with a positive offset from UTC, such as UTC+01:00, the date appears to be one day behind the user's local date.

Proposed Solution:
To address this issue and ensure consistent date representation across different time zones, I suggest the following solution:

  1. Adjust the code responsible for assigning the value to the input field as follows:

value={new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString().split("T")[0]}

  1. Explanation of the code adjustment:
    • date.getTimezoneOffset() retrieves the offset in minutes between the user's local time zone and UTC.
    • date.getTime() - date.getTimezoneOffset() * 60000 calculates the adjusted time in milliseconds, taking into account the user's time zone offset.
    • new Date(...).toISOString().split("T")[0] converts the adjusted time to an ISO string and extracts the date portion.

By implementing this solution, the input field will display the correct date according to the user's local time zone, aligning it with the date displayed in the paragraph.

Screenshots
Here are some of the screenshots that might be useful to understand the problem :
Date Converter screen :
Miti

I hope this report helps you in resolving the date display discrepancy. If you have any further questions or require additional assistance, please feel free to reach out. Thank you for your attention to this matter.

Add Both English And Nepali Date Picker (synced) to Create Events Modal

For a time being I am facing with the regular issue with the date from both google calenders as well as there is no proper nepali calendars out there. Event feature might be useful for creating a task or a event for a specific english date as well nepali date.

I really hope you will add the events and task options on the project

Event dot is invisible when the specific day cell is selected

Describe the bug
Due to the color similarity of colors between cell background and event indicator, the dot becomes invisible when the cell is selected.

To Reproduce
Steps to reproduce the behavior:

  1. Open the calendar view
  2. Click on a day containing an event
  3. The indicator is now invisible

Expected behavior
The indicator should turn white.

Time Zone mismatch

When you create an event in this calendar (Miti) you would assume to enter event details in Nepali date and time in Nepal. But when you are in different time zone while creating that event, it assumes the time zone of the place you are creating the event, creating the event in wrong time in google calendar. It should rather convert the time zone while syncing the event in google calendar.

Steps to reproduce the behavior:

  1. Set different time zone in your system. In my case I set it to CST(US)
  2. Go to miti, add event, select a start time and date (say Mangsir 29 which is Friday), time 11:00 AM to Mangsir 29, 11:30 AM. Create the event.
  3. What it does is it creates the event for Saturday 11:00 AM to 11:30 AM, while it should create the event for Friday that time frame. But in google calendar it creates event on Friday 11:00 AM to 11:30 AM, while it should have been Thursday 11:15 PM to 11:45 PM
    I hope it makes sense.

The possible solution I could think of is: setting the Miti calendar to Nepal Timezone. Or it might have already been done and it is not functioning as it is supposed to.

Screenshots
If applicable, add screenshots to help explain your problem.
image

image

image

image

Smartphone (please complete the following information):

  • Device: iPhone14
  • OS: ios 17

Day Calculation One Day Faster in Asia/Kathmandu Time Zone

Issue Description:

The current implementation of day calculation in the Asia/Kathmandu time zone is resulting in events being displayed one day ahead of their actual date. This issue affects users who are using the Nepali calendar or are located in the Kathmandu time zone.

Steps to Reproduce:

  1. Create an event in the Miti calendar application with a specific date (e.g., July 20, 2023) using the Nepali calendar or while in the Asia/Kathmandu time zone.
  2. Save the event and verify its date in the Miti calendar.

Expected Behavior:

The event should be displayed on the correct date, matching the date accordingly in the Nepali calendar or the local Asia/Kathmandu time zone.

Actual Behavior:

The event is displayed one day ahead of the entered date. For example, today is July 20,2023 but it will label as yesterday .

Additional Information:

  • The issue appears to be specific to the Asia/Kathmandu time zone or when using the Nepali calendar, as events in other time zones or calendars do not exhibit this behavior.
  • This problem can lead to confusion and mismanagement of schedules, potentially causing users to miss important events or appointments.

Proposed Solution:

The issue seems to be related to the day calculation logic used when displaying events in the Asia/Kathmandu time zone or using the Nepali calendar. To resolve this problem, the day calculation algorithm needs to be thoroughly reviewed and adjusted to ensure accurate date representation for events in the affected time zone.

One possible approach to investigate is to verify if there are any discrepancies in the conversion between the Gregorian and Nepali calendars within the Miti codebase. Additionally, it may be necessary to consider potential issues related to time zone offset calculations and DST (Daylight Saving Time) adjustments.

Attachments:

Miti1
  • The issue is generated from the code
/**
 * Get language-sensitive relative time message from Dates.
 * @param relative  - the relative dateTime, generally is in the past or future
 * @param pivot     - the dateTime of reference, generally is the current time
 */
export function relativeTimeFromDates(
  relative: Date | null,
  isNepaliLanguage = false,
  pivot = new Date()
): string {
  if (!relative) return "";
  const elapsed = relative.getTime() - pivot.getTime();
  return relativeTimeFromElapsed(elapsed, isNepaliLanguage);
}

I am eager to contribute to resolving this issue and help enhance the functionality of the Miti calendar application for users in the Asia/Kathmandu time zone. Please let me know how I can be of further assistance in addressing this matter.

Best regards,
Subash Pandey
[email protected]
2023, July 21

Incorrect Converted Date on Gregorian Date Picker in Date Conversion

Describe the bug
when you try to convert the nepali date to english it is showing to different dates. Below one is correct though.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'https://miti.bikram.io/converter (Date converter)'
  2. Click on 'Date converter'
  3. Give nepali date (e.g 2056/6/22)
  4. give two different dates

Expected behavior
for 2056/6/22 it should be 1999/10/09

Screenshots
image

Desktop (please complete the following information):

  • OS: windows 11
  • Browser: Chrome
  • Version 114.0.5735.199

Making Desktop UI Friendly

Is your feature request related to a problem? Please describe.

Mobile UI seems amazing as it fits throughout the screen but while looking to the calendar in web I found that the calendar is small compared to the blank spaces available on the screen.
image

Describe the solution you'd like
I think we can make the calendar fit on the screen by decreasing the spaces in the screen by occupying to around 3/4th part of the horizontal width.

Describe alternatives you've considered
Also, it doesn't have to be that big but the English date and Nepali date if clearly visible with some information about important events of the day.

Additional context
We can also take reference of HP on the way they are utilizing the space available on the screen
image

We can also take the reference from them on responsiveness and create something creative out of the box by keeping the minimalist design
image

This is the feature we can work on once the major issues are fixed as it will enhance overall UX while using the Calendar.

Layout shifts when events are loaded

Describe the bug
The layout of the calendar shifts quite a bit after the calendar events are loaded.

To Reproduce
Steps to reproduce the behavior:

  1. Go to any month
  2. Notice the size of the day cell change once the events are loaded.

Expected behavior
The cell size should stay the same. Best if a square. It also helps make the row heights more consistent.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Date Picker Shows Incorrect Value

Describe the bug
Date Picker on Add Event Model shows incorrect date.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Homepage
  2. Click on + icon
  3. Scroll down to event date picker
  4. See error

Expected behavior
Correct Date to be selected

Screenshots
image

All browsers and Devices

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.