small changes

This commit is contained in:
Guy Sandler 2026-08-15 19:17:28 -07:00
parent 7ca9c8ff25
commit 7f3c8b5681
4 changed files with 40 additions and 26 deletions

View File

@ -66,35 +66,34 @@ Canvas Refined adds more with more to come!
- Simplified UI
- Some options won't show up when not needed
- Markdown in dashboard notes
- Feature search bar
- Smaller additions:
- Equal height cards for card assignments
- Center cards
- Hide new dashbaord button
## Planned Features (by priority)
- auto rotate theme + theme history + fix theme submissions
## Planned Features
- mail assistent + ui revamp
- better calender (+ calender sync)
- better what if grade
- global search
- fix darkmode fixer
- global canvas search
- fix darkmode fixer (and automatic)
- grade history with graph
- more shapes for the better todo ring thing
## Extra features that might be added:
- card grade position, card outline
- theme copy button
- revamp cards page UI
- streaks
- caching pages for faster loading
- maybe find a way for faster loading
- liquid glass theme?
- animated backgrounds, rotating background, time/weather reactive backgrounds, maybe chache if it becomes an issue
- rotating background, time/weather background overlay
- custom side logo
- transcribe lecture (if there is demand for it)
- flashcards
- goals
- Scheduled Reminder Popups
- preview font
- button to remove all card images and undo
- auto dark mode based on background
- potential gemini nano features (local AI on your computer) if it would be able to run on more devices
## Community suggestions (maybe will be done at some point)
- when opening assignments it will show you "if you get a 0 on this your grade will be _"
@ -102,6 +101,7 @@ Canvas Refined adds more with more to come!
- module sorting (newest, oldest) (maybe grid view)
- grade leaderboard per class (opt in)
- GPA preset by school name maybe
- sticky notes
## Dev Installation
@ -202,7 +202,7 @@ To add a new feature, please follow these guidelines.
- If the function only adds css, it should be added to `applyAestheticChanges()`, and in this case should not be a separate function, instead add the css to the existing styles found in this function.
- Anything else should be put under `startExtension()` and should be placed no higher than the `checkDashboardReady` function found here.
## Star History
## Star History (I think github broke it)
<a href="https://www.star-history.com/?repos=GuySandler%2FCanvasRefined&type=date&legend=top-left">
<picture>

View File

@ -194,8 +194,10 @@ async function getNasaBackground() {
const url = data.thumbnail_url || data.hdurl || data.url;
if (!url) return null;
const result = { url, scale: 100, date: dateStr };
await chrome.storage.local.set({ [cacheKey]: result });
await chrome.storage.local.set({ [metadataKey]: { title: data.title || "", date: data.date || dateStr, copyright: data.copyright || "", explanation: data.explanation || "" } });
const meta = { title: data.title || "", date: data.date || dateStr, copyright: data.copyright || "", explanation: data.explanation || "" };
// Write image + metadata atomically so the info overlay never sees a
// cached image with missing metadata.
await chrome.storage.local.set({ [cacheKey]: result, [metadataKey]: meta });
return result;
}
return null;

View File

@ -284,19 +284,29 @@ function createNasaInfoOverlay() {
const panel = nasaInfoOverlayEl.querySelector("#nasa-info-panel");
const populatePanel = async () => {
const dateStr = new Date().toISOString().slice(0, 10);
const cacheKey = `nasa_apod_${dateStr}`;
const cached = await chrome.storage.local.get(cacheKey);
const metaDate = cached[cacheKey]?.date || dateStr;
const metadataKey = `nasa_apod_meta_${metaDate}`;
const metadata = await chrome.storage.local.get(metadataKey);
const meta = metadata[metadataKey];
if (!meta) return false;
document.getElementById("nasa-info-title").textContent = meta.title || "";
document.getElementById("nasa-info-date").textContent = `Date: ${meta.date}`;
document.getElementById("nasa-info-credit").textContent = meta.copyright ? `Credit: ${meta.copyright}` : "";
document.getElementById("nasa-info-explanation").textContent = meta.explanation || "No description available.";
return true;
// The NASA worker (background.js getNasaBackground) falls back up to 7 days
// when today's APOD isn't available yet, so search backward for the date
// that was actually cached and displayed instead of assuming today.
const date = new Date();
for (let i = 0; i < 7; i++) {
const dateStr = date.toISOString().slice(0, 10);
const cacheKey = `nasa_apod_${dateStr}`;
const cached = await chrome.storage.local.get(cacheKey);
if (!cached[cacheKey]) {
date.setDate(date.getDate() - 1);
continue;
}
const metadataKey = `nasa_apod_meta_${dateStr}`;
const metadata = await chrome.storage.local.get(metadataKey);
const meta = metadata[metadataKey];
if (!meta) return false;
document.getElementById("nasa-info-title").textContent = meta.title || "";
document.getElementById("nasa-info-date").textContent = `Date: ${meta.date}`;
document.getElementById("nasa-info-credit").textContent = meta.copyright ? `Credit: ${meta.copyright}` : "";
document.getElementById("nasa-info-explanation").textContent = meta.explanation || "No description available.";
return true;
}
return false;
};
let pinned = false;

View File

@ -10,3 +10,5 @@ I made a few posts on reddit (probably not the best idea) to ask if someone can
They also said “if the user wants to make a net-new extension, we can't stop them. but if they use our code from our open source repo, a stipulaton is they can't post on webstore” despite me having the MIT license. They also emailed me again about it and started talking about their lawyers and not wanting to start billable hours which is when I contacted FULU because I didn't know who to contact and my friends suggested it. (Thank you so much Louis Rossmann!).
After only a few days he respond with a lot of inspiring words and made a community post on his youtube channel advertising my repo, which seemed to have gotten betterCampus off my back and is why the starchart looks like that.
Someone who I think is from BetterCampus but I'm not sure made a crazy one star review saying this is a blatent copy of BetterCampus and this project "undermines the work and goals of the people who originally created and grew BetterCanvas" (my bad for undermining the goal to charge money, stick unnessesary AI, and put brands in the student learning experience). I made a reddit post about it [here](https://www.reddit.com/r/opensource/comments/1vfudak/company_probably_is_mad_i_forked_an_old_version/)