Please sign in to access this page
A timer tab where you can choose the "aesthetic" of the page and the length of the timer. Also contains a dashboard page where you can set and keep track of goals.
Angela Yang
Check their projects out: Giggle Job Search, Personal Portfolio, Love Rawrsona
snakatakka
Check their projects out: Worst Game Ever, TaBSTMC!(THERE'S A BOMB STRAPPED TO MY COMPUTER!), ROCKBOT 1979 [TEST]
Eucatastrophe
Check their projects out: sciolyskillz, the wiggling wigglewoods!!!!!!!, existential, retroweb site, marbles, inconspicuous authorization a 5 minutes ish game , sands
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Wait, is that it? YESSSS!!! The goal-setting functionality has been implemented, which means that the basic functions of the site are now complete.
I learned that localStorage can only store strings, not great since I wanted to store a list, but using JSON.stringify to string an object (and JSON.parse to get the object back) was helpful.
Made the structure of the goal input area, still need to figure out how to store goals, submit/save goals, etc.
This devlog isn't as definite as I'd like it to be, I started work on the Add Goal part of the site but got sidetracked and implemented the reset site data button.
Currently, the design for the goals is finished but the input is not, and the reset-data function works.
Made the title customizable (with no HTML input tag!). It also saves.
Actually, i'm super proud I figured out how to do this without AI (unless Google AI summaries count, the ones at the top of the page? hmm) or tutorials, just Stack Overflow.
Things I've learned:
- element.textContent has whitespace at the end? I used trim() so that there was no need to press backspace too many times
- I had to make sure to put a boolean stating whether the title was currently being edited -- otherwise, multiple clicks on the title would create multiple keydown (basically listening to the keyboard for keypresses) listeners, so when a key was pressed, it registered multiple times. yipes...
Created the second page and the link to the first page, now just need to make the second page function --> planned function is a goal list that you can add to, and then a list of created timers that you can (optionally) have alongside the goals.
idea! --> be able to reuse past timers, click Start on a past timer in Timer History
Implemented the option to change the timer size in the settings (lightbox).
[still need to fix the delete data thing, inshaAllah, rn it's just a button]
Lesson! -- learned that you need to use event.target.value to get the value of the drop-down when someone chooses something within it
The buttons to change the website's aesthetic are functioning! Now to change the colors associated with each aesthetic, which involves decisions...
(by the way, each aesthetic collage was made by me using Canva!)
Woohoo, the initial render of the aesthetic worked! The buttons to change the aesthetic won't work, however, so I need to figure that out.
After that, inshaAllah, I also need to figure out the glassmorphism (if any) for the buttons and the colors of the individual aesthetics' timers.
Oh! fun JS thing I forgot to add — length on arrays is not a function, but a property…
Also, after AP CSA, I found myself writing
for (int i = 0…)
instead of
for (let i = 0…)
so that’s interesting.
Finally finished the timer functionality! The timer's customizable, resettable, and pausable.
Next up (inshaAllah) is making the backgrounds and implementing the changing aesthetic functionality.
Adding here so I don’t forget: an IDEA!
Add a “timer history” tab in the second page of this site
Second page? Yeah, Waffles (the YSWS) needs 2 webpages, so I’m planning for the second page (inshaAllah) to be like a productivity dashboard.
Things to add to “timer history”
Name
[Untitled] if none
Date started
self-explanatory
Finished?
Yes/No/In Progress
Made it so that the timer input couldn't have minutes or seconds greater than 60.
... for some reason it wouldn't let me show a devlog, so I also worked on getting the timer to work, no visible progress yet there.
Learned the importance of DOMContentLoaded --- had some issues where the showLightbox function would not want to work since the button it was attached to had not yet been loaded, so JS returned null. Google was a big help (and so far, no project-specific ChatGPT so there's a win!!!).
Now the settings lightbox shows and can be x-ed out.
Forgot to mention — glassmorphism! You can kinda see it here, I promise (inshaAllah) it’ll look better once I start putting up the background images.
Updates:
- added and positioned buttons
- imported icons (Font Awesome)
- started work on lightbox, settings, and general design
Something funny:
- Forgot that absolute was for position and not display, had issues getting the X button positioned correctly in the settings lightbox because I wrote display: absolute and not position: absolute.
Been working on the Settings lightbox, don't yet have the function to display/hide it, it's not yet visible in the image. Planning to have the site have a lot of glassmorphism/shininess to emphasize its aesthetic-ness.
Woohoo! Added formatting, so now this actually looks like a timer app.
Reused some code from an older project (pomoblocko) for the footer with the links to charities, had a small issue since I forgot to link the JS file...
Made GitHub repo, started HTML
outlined fonts for each style:
- Sleek BW -- Inter
- Cottagecore -- Playfair Display
- y2k -- LXGW Marker Gothic
- vintage -- Savate
- soft girl -- Caveat
formatting? none so far...
Soft Girl’s font was ultimately changed to Libre Baskerville bc of readability.
wow, this is so cute!!!