Split! - Snap! but Scratch (Part 3)

Continuing the discussion from Split! - Snap! but Scratch (Part 2) - #261 by bh.

Previous discussions:

anyhows… go to pt 2 to see some ui suggestions
tl;dr: we need to fix:

  • font
  • spacing in block ring
  • hsv (scratch color picker)/hsl/rgb selector
    p.s. THE TOPIC SPLIT!!!

ui update:
the boolean input looks awkward, and the close button is inside of the dialog


also c-shape looks weird

That’s what the “to RGB/HSL/HSV” button is for!

That’s the default picker color model!

I think that might be too difficult to implement (it would require server-side stuff)

Yeah; it’s a result of fitting a larger-than-usual CSlotMorph into a tiny JaggedBlockMorph

(Yay! Part 3!)

I couldn’t agree more with this (instead of 0-100). Standard color spaces > arbitrary ranges for me. This makes transferring color between separate programs easier without performing conversions.

Please, add a hexadecimal input field or a button to summon the browser’s color picker (i.e. the one that pop ups when you interact with a <input type="color"> input.

Yes, yes, yes. I will do that!

i bet you could just fetch the master zip, unzip it, and cache that
plz tho
the only server side stuff is github fetch

edit: i found you could just run window.location.reload(true), not even needing to fetch
maybe do a comparison of the newest version to current one

for new users in the future:

Checking updates can be done by storing the current git commit hash in a file (you can edit the github action to automatically store that), and then just use the github api to check if there’s a newer commit. I don’t know if it’s worth it to do this though.

it really is for my sanity
pseudocode:

on load :: control hat
if <not<(hash) = (current hash)>> {
    window.location.reload<t>
}

or you can do a get request to the json details of the repo and compare that, then do window.location.reload(true);

Why can’t you just… reload the page when you need to?

what if you can’t do shift+ctrl+r? (shift is required to ignore cache)
what if someone checked out split before and wasn’t aware there’s an update?

I’ve tried refreshing on an iPhone and it will update to the next version after 3-5 refreshes

oof

at least have an option to manually check for updates

anyways brb

Snap! doesn’t have this feature. Scratch doesn’t have this feature. I can’t think of any web apps that notify you (yes i know that there are probably some that do but I really need to improve that color picker)

chromebooks, hexed.it, a lot of user-friendly cached apps. i bet that’s why they don’t have it. also, think of how the goal is to essentially make snap! beginner friendly. just add it to the to-do list or have another person do it.

just so i can help code a little bit, how is the version string stored in the js? how can i check if it’s equivalent to another string?

Yeah, most websites get around the caching by simply adding something like a timestamp at the end of the url (either in a query string or the hash, for example, script.js?timestamp=51651651). Snap does something similar where jens just puts the date of the last edit for that file in the url.

It happened!

Soon enough I’ll get in the motivation of cranking through gui.js, and I might even do some today (even though I probably only have around an hour or so left: image

Its on the RIGHT!!!

I also fixed the whole weird theme changing bug, but anyway theres something!

PR is here:
image

(i love always opening snipping tool, copy and paste..)

you’re gonna have to redo the code, it looks weird in dark mode