Conversation
|
Good choices here. I'll gladly review and test it, when you feel like it is ready for a new set of eyes. |
There was a problem hiding this comment.
I would suggest to call top-right module "Shortcuts" like in the options menu. We might want to make it possible to change the position of it at a later point in time, so naming should be unrelated of current styling. I understand that we in options refer to it by "Show Top-Right Shortcuts", but I think calling it Shortcuts in the code makes it easier to understand what it represents.
|
Really good work so far 👍🏻 A lot clearer what parts of the codes does what. Consider adding individual pages for the Options, so it becomes easier to add new ones. But think .css styling could be applied for the whole settings window as it is now. |
…ed files for the extension. Update README
…nified version affecting some styling
|
Consider splitting sidebar widgets into separately files. Currently both |
| ``` | ||
|
|
||
| **Requirements:** [uv](https://docs.astral.sh/uv/) (fast Python package manager) | ||
|
|
There was a problem hiding this comment.
Should include simple guide for installation
brew install uv
There was a problem hiding this comment.
I feel like this can be improved for the guide of how to setup.
I got the following issues when setting it up:
- Not having a guide til install UV
- Not running python, but using python3
- Using
python build.py prodfrom installation guide and not havingpython build.py devin the Dev Setup guide - Needing to activate
.venvto be able to auto-watch
I installed the deps into the .venv that uv sync created, but I was running the system python3, so it can’t see watchdog.
I had to run the build through the venv:
- uv run python build.py dev
- or ./.venv/bin/python build.py dev
- or source .venv/bin/activate then python build.py dev
| python build.py prod | ||
| ``` | ||
|
|
||
| Then load the `dist/prod` folder as an unpacked extension in Chrome. |
There was a problem hiding this comment.
I just loaded the root folder for minimal_newtab and seemed to have no issues. Is this line correct?
There was a problem hiding this comment.
Understand now, that both will work, but running from the dist/prod will serve a much smaller project. I was a bit unclear to me.
| uv sync # Install dependencies with uv | ||
| ``` | ||
|
|
||
| **Requirements:** [uv](https://docs.astral.sh/uv/) (fast Python package manager) |
There was a problem hiding this comment.
Move requirements before setup
| /* Ensure both About icons (webstore + github) visually match the official badge size */ | ||
| .about-links { gap: 12px; } | ||
|
|
||
| /* Make both icons look like they're part of the page: no heavy borders, same size as chrome badge */ | ||
| .about-links .icon-link { | ||
| display: inline-flex; | ||
| align-items: center; | ||
| justify-content: center; | ||
| padding: 6px 8px; | ||
| width: auto; | ||
| height: auto; | ||
| background: transparent; /* blend with page */ | ||
| border: 1px solid rgba(255,255,255,0.14); /* white-ish border for dark mode */ | ||
| border-radius: 6px; | ||
| transition: transform 0.08s ease, opacity 0.12s ease; | ||
| } | ||
|
|
||
| .about-links .icon-link img { | ||
| height: 36px; /* official badge height */ | ||
| width: auto; | ||
| display: block; | ||
| } | ||
|
|
||
| .about-links .icon-link:hover { | ||
| transform: translateY(-2px); | ||
| opacity: 0.95; | ||
| } | ||
|
|
||
| /* Light theme: use darker (black) border so icons stand out */ | ||
| body.light .about-links .icon-link { | ||
| border: 1px solid rgba(0,0,0,0.16); | ||
| } | ||
|
|
||
| .widget { | ||
| background: rgba(0, 0, 0, 0.25); | ||
| border-radius: 8px; | ||
| padding: 15px; | ||
| margin-bottom: 15px; | ||
| } | ||
|
|
||
| body.light .widget { | ||
| background: rgba(0, 0, 0, 0.05); | ||
| } | ||
|
|
||
| .widget h3 { | ||
| margin-top: 0; | ||
| border-bottom: 1px solid rgba(128, 128, 128, 0.3); | ||
| padding-bottom: 10px; | ||
| } |
There was a problem hiding this comment.
This belongs in the Options.css
| .shortcuts { | ||
| display: flex; | ||
| flex-direction: column; | ||
| align-items: flex-start; | ||
| max-width: 800px; | ||
| width: 100%; | ||
| font-size: 1.1rem; | ||
| text-align: left; | ||
| margin-left: 4rem; | ||
| max-height: calc(100vh - 18rem); | ||
| overflow-y: auto; | ||
| overflow-x: hidden; | ||
| padding-right: 1rem; | ||
| padding-bottom: 12rem; | ||
| -webkit-overflow-scrolling: touch; | ||
| overscroll-behavior: contain; | ||
| scrollbar-width: none; /* Hide scrollbar in Firefox */ | ||
| } | ||
|
|
||
| .shortcuts::-webkit-scrollbar { | ||
| display: none; /* Hide scrollbar in WebKit browsers */ | ||
| } |
There was a problem hiding this comment.
Is there a reason for this not to be .bookmarks?


Tasks for the main new-tab page.
For the main new tab page - separate the functionality and styling for each component into the respective files in the components directory.
For the options page - separate the styling into options.css*
*I plan on doing a refactor for the options page once this is finished.
Initially I was planning to rewrite the whole thing in React but that seems to be too time consuming and also feels a bit extra for a simple chrome extension like this so I decided against that. Vanilla JS it is, for now, at least.