Discuss Scratch

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

Upon the next release, smart watch support will be removed. It may still work, but accessibility features for watches will be gone.

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

The new UX/UI of MyScratchPage (coming in v0.4) includes increased usability on mobile.

god286
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

If a user doesn't have an aviate status use the ocular status.
If a user doesn't have an ocular status use the aviate status.
If a user has both, use Aviate?

Here are some of my followers!

I joined: 5 years, 9 months, 24 days ago (31/03/2018)
I have: 479 followers
In total, I have attained: 1,403 loves, 1,145 favourites, and 33,731 views.
Fun Fact: If my account continued to gain followers at a similar rate to right now, in 14,210 years I would reach the number of followers griffpatch has today! Try to imagine how many followers he would have then!
Thank you everyone!
Script created by god286.
MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

god286 wrote:

If a user doesn't have an aviate status use the ocular status.
If a user doesn't have an ocular status use the aviate status.
If a user has both, use Aviate?
All the statuses are implemented.

god286
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

MagicCrayon9342 wrote:

god286 wrote:

If a user doesn't have an aviate status use the ocular status.
If a user doesn't have an ocular status use the aviate status.
If a user has both, use Aviate?
All the statuses are implemented.
Looks like Aviate is really tiny in comparison to the huge ocular status. Maybe we should wait for the conversation for a single standard to finish.

Here are some of my followers!

I joined: 5 years, 9 months, 24 days ago (31/03/2018)
I have: 479 followers
In total, I have attained: 1,403 loves, 1,145 favourites, and 33,731 views.
Fun Fact: If my account continued to gain followers at a similar rate to right now, in 14,210 years I would reach the number of followers griffpatch has today! Try to imagine how many followers he would have then!
Thank you everyone!
Script created by god286.
MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

v0.4 has now been released!

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

When fixing merge errors, it very much broke the new MyScratchPage source. I might redo it soon.

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

Due to issues, MyScratchPage will be reverted to v0.3.1
Just temporarily as I remake MyScratchPage in vue or svelte.

Last edited by MagicCrayon9342 (April 23, 2022 17:09:17)


MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

Vue is amazing! I'm using it now!

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

New! and Improved! UI coming soon!

Wanna know what else is coming soon?
today's sponsor
Logins! Custom pages and statuses! APIs! everything!!

Last edited by MagicCrayon9342 (April 27, 2022 22:04:22)


happex
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

Pro-tip: Use border-radius.

Rounded corners should be used to reduce the contrast between two boxes.
But it’s just my opinion, personally I always use border-radius when I make websites. I like my content to be organized.

It’s sad that I can't access to .io websites, but I download a zip of this repo sometimes to look at it.

Vous devenez énervants à force de ne jamais ou de mal fermer vos balises BBCode
MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

happex wrote:

Pro-tip: Use border-radius.

Rounded corners should be used to reduce the contrast between two boxes.
But it’s just my opinion, personally I always use border-radius when I make websites. I like my content to be organized.

It’s sad that I can't access to .io websites, but I download a zip of this repo sometimes to look at it.
The URL is https://jdev.eu.org/MyScratchPage
also, this does not use vanilla CSS it uses tailwind. It's a classed based CSS framework

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

New UI and….
errors in fetching user data are now handled better

users will also be notified, upon first use of the site since the update. That some users, on their ocular profile, choose to instead of displaying their ocular status through the api, have their aviate status shown instead.

Last edited by MagicCrayon9342 (April 27, 2022 22:41:14)


NFlex23
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

Why does it say “Not seeing the right status..? Maybe the user decided to have their Aviate status shown through the ocular API.” Aviate has no Ocular integration yet, and might never be implemented.

Help improve the Advanced Topics (Really!)
Before you create a topic:
Always search for duplicates or other similar topics before making an umbrella topic, e.g., “The Mac Topic”.
  • Is it about something you are planning on making but haven't made yet? If so, please wait to post until you have created a working prototype. This is a key factor to keeping the ATs as clean as possible.
  • The ATs aren't technical support. It is perfectly valid to ask questions about things related to programming, but not issues with external websites, apps, or devices. Most sites have their own support system; try asking there!
  • Is it related to something you are making in Scratch? (This includes OSes and other Scratch projects) If so, please post in Collaboration, Show and Tell, or another similar forum.
  • Is your topic questionably “advanced”? Try browsing the other forums to see if your topic fits better in one of those.
  • Issues with Scratch itself should be put in Bugs and Glitches.
Before you post: Is what you're posting likely to start an argument or derail the thread (e.g., browsers, operating systems)? If so, please re-think your post!





MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

NFlex23 wrote:

Why does it say “Not seeing the right status..? Maybe the user decided to have their Aviate status shown through the ocular API.” Aviate has no Ocular integration yet, and might never be implemented.
your ocular status and aviate statuses appeared same so I made a mistake.

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

At the moment, MyScratchPage is purely a mirror of other Scratch services displayed in a singular website. But once the hefty Scratch Auth integration is handled, there can be more than just information from other sites. When authentication is up and running, users will be able to create their own MyScratchPage page with seperate information. Of course, I kinda need a server which I don't have, might make an api endpoint I have no idea. However authentication is priority at the moment.

NFlex23
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

MagicCrayon9342 wrote:

(#116)
At the moment, MyScratchPage is purely a mirror of other Scratch services displayed in a singular website. But once the hefty Scratch Auth integration is handled, there can be more than just information from other sites. When authentication is up and running, users will be able to create their own MyScratchPage page with seperate information. Of course, I kinda need a server which I don't have, might make an api endpoint I have no idea. However authentication is priority at the moment.
First you'll need a database to store sessions and user data. I recommend Supabase since it has a generous free tier and is really easy to use. Second, you will need an authentication system. Scratch Auth is currently the best choice since it's easy to use and has one-click sign in. Once you authenticate a user, store a UUID key with their username as the value in a session on Supabase, and store that UUID in the browser cookies so that the user doesn't have to log in every single time they come to your site. Thirdly, make a system for verifying the user's session ID (UUID) cookie before going to a protected page, like their dashboard, to make sure the user is logged in. You can view Aviate's source code if you're having trouble with any of the steps.

Help improve the Advanced Topics (Really!)
Before you create a topic:
Always search for duplicates or other similar topics before making an umbrella topic, e.g., “The Mac Topic”.
  • Is it about something you are planning on making but haven't made yet? If so, please wait to post until you have created a working prototype. This is a key factor to keeping the ATs as clean as possible.
  • The ATs aren't technical support. It is perfectly valid to ask questions about things related to programming, but not issues with external websites, apps, or devices. Most sites have their own support system; try asking there!
  • Is it related to something you are making in Scratch? (This includes OSes and other Scratch projects) If so, please post in Collaboration, Show and Tell, or another similar forum.
  • Is your topic questionably “advanced”? Try browsing the other forums to see if your topic fits better in one of those.
  • Issues with Scratch itself should be put in Bugs and Glitches.
Before you post: Is what you're posting likely to start an argument or derail the thread (e.g., browsers, operating systems)? If so, please re-think your post!





MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

NFlex23 wrote:

MagicCrayon9342 wrote:

(#116)
At the moment, MyScratchPage is purely a mirror of other Scratch services displayed in a singular website. But once the hefty Scratch Auth integration is handled, there can be more than just information from other sites. When authentication is up and running, users will be able to create their own MyScratchPage page with seperate information. Of course, I kinda need a server which I don't have, might make an api endpoint I have no idea. However authentication is priority at the moment.
First you'll need a database to store sessions and user data. I recommend Supabase since it has a generous free tier and is really easy to use. Second, you will need an authentication system. Scratch Auth is currently the best choice since it's easy to use and has one-click sign in. Once you authenticate a user, store a UUID key with their username as the value in a session on Supabase, and store that UUID in the browser cookies so that the user doesn't have to log in every single time they come to your site. Thirdly, make a system for verifying the user's session ID (UUID) cookie before going to a protected page, like their dashboard, to make sure the user is logged in. You can view Aviate's source code if you're having trouble with any of the steps.
I'm probably going to have trouble with all those steps as right now I didn't understand a thing you just said

MagicCrayon9342
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

By default, MyScratchPage will favor Aviate over an Ocular status. However, if an Aviate status is not detected it will fall back to an Ocular status.

god286
Scratcher
1000+ posts

[v0.4.1] [v0.5.0 coming soon] [NEVER! Porting to NextJS (too hard)] MyScratchPage

MagicCrayon9342 wrote:

I'm probably going to have trouble with all those steps as right now I didn't understand a thing you just said
Here's the recipe!

Ingredients:
Database (recommended type Supabase)
Auth system (recommended type Scratch Auth, easy to add)

Instructions:

1. Add the Database into your Application. You can use supabase-js for Supabase. Ensure that you are using environment variables for this - you can use the dotenv package to load .env file into process.env
2. Learn how to use the Auth system, this is in the Scratch Auth documentation, and implement it so that you can go to Scratch Auth and authenticate the user.
3.

NFlex23 wrote:

Once you authenticate a user, store a [random] UUID key with their username as the value in a session on Supabase, and store that UUID in the browser cookies so that the user doesn't have to log in every single time they come to your site. Thirdly, make a system for verifying the user's session ID (UUID) cookie before going to a protected page, like their dashboard, to make sure the user is logged in. You can view Aviate's source code if you're having trouble with any of the steps.

You can read the Aviate source code to see how to do this. Or if you want to use JWTs (probably more confusing than Aviate's way) there is webdev03/scratchinfo on github but it uses a custom auth system.

Here are some of my followers!

I joined: 5 years, 9 months, 24 days ago (31/03/2018)
I have: 479 followers
In total, I have attained: 1,403 loves, 1,145 favourites, and 33,731 views.
Fun Fact: If my account continued to gain followers at a similar rate to right now, in 14,210 years I would reach the number of followers griffpatch has today! Try to imagine how many followers he would have then!
Thank you everyone!
Script created by god286.

Powered by DjangoBB