
# Better Canvas
Enhancements to Canvas like dark mode, better todo list, GPA calculator, and more!
### Supported on


## Inquiries
To contact me, please email ksucpea@gmail.com, or you can open an issue within the "Issues" tab on GitHub.
## Features
Better Canvas introduces improvements to the Canvas user interface:
- Fully customizable dark mode (choose from premade options or manually edit dark mode)
- Automatic scheduling for dark mode
- Dashboard card color palletes
- Themes created by users
- Assignments due list
- Dashboard notes
- Better todo list
- Custom fonts
- Condensed cards
- Dashboard grades
- Remove sidebar logo
- Customizable card links
- Gradient dashboard cards
- Advanced card customization
- GPA calculator (college and highschool)
- Preview assignments and announcements from the dashboard
## Installation
To install, run, and build with this repository,
- Clone the repository locally with
```bash
git clone https://github.com/ksucpea/bettercanvas.git
```
- Visit `chrome://extensions` in your browser.
- Enable developer mode by toggling the switch in the upper right corner of the viewport.
- Click the "Load upacked" button in the header.
- When prompted to open a file, select the root directory of this repository.
## Usage
To use Better Canvas, select your browser below to install the extension.
[Chrome](https://chrome.google.com/webstore/detail/better-canvas/cndibmoanboadcifjkjbdpjgfedanolh)
[Firefox](https://addons.mozilla.org/addon/better-canvas/)
## Version Notes
#### Update 5.10
- Card customization now shows preview of image
- New sidebar options
- Dark mode buttons preview their appearance
- "Remove sidebar logo" feature
- Added new themes
- Menu redesign
- Fixed card assignment bug
- Card assignment efficiency improvements
- Dark mode rework
- Dark mode now syncs
- Option to use device dark mode settings
## Color Reference
| Color | Hex |
| ---------- | ---------------------------------------------------------------- |
| Background |  #161616 |
| Text |  #ffffff |
| Accent 01 |  #ff002e |
| Accent 02 |  #ff5200 |
| Accent 03 |  #ff47ad |
## Contributing
### Add a new feature
To add a new feature, please follow these guidelines.
Note: (I will probably make this automated in the future but it's a bit of work right now)
#### Identifier
- Should be a unqiue one/two word storage identifier to indicate it's status. (ie "dark_mode" or "dashboard_grades")
- If it has sub options (options that are specific to the main feature) these will also each need a unique identifier.
- All options are synced and have a 8kb storage limit, so if your feature needs more than this please contact me.
#### Changes to html/popup.html
- Add the appropriate HTML into this file. The corresponding id and name (see below) should be the identifier.
- If it has no sub options, it should be put in the same container as the other options with no sub options:
```