Giter VIP home page Giter VIP logo

wongprom / test-next-13 Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 8.95 MB

"My coding project, akin to a 'baby' that continually evolves, will never reach a final stage as I consistently incorporate fascinating new technologies."

Home Page: https://www.jimmybackstrom.com/

TypeScript 95.49% JavaScript 2.31% CSS 2.20%
nested-routes next13 nextjs tailwindcss typescript app appdirectory pd react react-pdf

test-next-13's Introduction

Discover the Secrets of test-next-13

Welcome to the world of Test Next.js 13, where innovation is in progress! 🚀

Ever wondered what goes on behind the scenes of this exciting project? Dive deep into the mysteries by exploring our meticulous roadmap and accomplishments.

🔍 Intrigued? Uncover the details here: Project Roadmap and Achievements

Get ready to embark on a journey of web development like no other. Your curiosity is your guide.

Environment

node - 18.11.0

next - 13.3.0 (app/dir)

react - 18.2.0

package.json

Create issues from template

How I worked and thoughts with issues

[FEATURE] add content #38

[FEATURE] add content #38

The Hilariously Unpredictable Image Monk Gallery

  • Inspired by the delightful chaos of the Masonry Grid, and a dash of monkey business!

Elevating the Interactive Image Gallery Game

  • I wanted image gallery to be a bit more lively than 'Monk' gallery. That's why text magically appears when you hover over the images!
[BUG] active link style #35

[BUG] active link style #35

The Fantastic Journey to Cleaner Code! 🧹

  • Behold the creation of a superhero component that parent components can now effortlessly map out! Adding new links and routes? Piece of cake! 🍰

Sprucing Up with Style! 💃

  • When it comes to those delightful sublinks emerging from /about, we're giving the page a makeover that's cleaner than a freshly laundered superhero cape. What does that mean? We're keeping it as simple as a sidekick's sidekick until we've decided on our grand style and layout reveal! Stay tuned for the fashion show!

Supabase

How to Update schema.prisma

After making changes/update schema.prisma ex,

model Quote {
  id        String   @id @default(uuid())
  title     String
  image     String?
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
  owner     Owner[]
}

model Owner {
  id           String      @id @default(uuid())
  name         String
  Quote        Quote?      @relation(fields: [quoteId], references: [id])
  quoteId      String?
  LifeLesson   LifeLesson? @relation(fields: [lifeLessonId], references: [id])
  lifeLessonId String?
}

type in terminal and push to supabase to sync new schema

npx prisma db push

DONE! 👍

How to Create PrismaClient

https://www.prisma.io/docs/guides/other/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices

Add below snippet in file /app/prisma/db.ts file

import { PrismaClient } from '@prisma/client'

const prismaClientSingleton = () => {
  return new PrismaClient()
}

declare global {
  var prisma: undefined | ReturnType<typeof prismaClientSingleton>
}

const prisma = globalThis.prisma ?? prismaClientSingleton()

export default prisma

if (process.env.NODE_ENV !== 'production') globalThis.prisma = prisma

Apollo Server

How to install Apollo Server

https://www.apollographql.com/docs/apollo-server/getting-started

npm install @apollo/server graphql
How to integrate Apollo Server with App Router

https://github.com/apollo-server-integrations/apollo-server-integration-next

Add below snippet in app/api/graphql/route.ts file.

import { startServerAndCreateNextHandler } from '@as-integrations/next';
import { ApolloServer } from '@apollo/server';
// import { gql } from 'graphql-tag';

const resolvers = {
  Query: {
    hello: () => 'world',
  },
};

// const typeDefs = gql`
//   type Query {
//     hello: String
//   }
// `;

const typeDefs = `#graphql
  type Query {
    hello: String
  }
`;

const server = new ApolloServer({
  resolvers,
  typeDefs,
});

const handler = startServerAndCreateNextHandler(server);

export { handler as GET, handler as POST };

install missing dependencies

npm i @as-integrations/next

You can access server on localhost:3000/api/graphql

test-next-13's People

Contributors

wongprom avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

test-next-13's Issues

[IDEA] death note

Is your idea request related to a problem? Please describe.
No problem. But a funny design idea.
Have a route with death notes for things, thoughts, routines that I want to get rid of my life.

Describe the solution you'd like
These are just ideas.

  • Own route
  • First page/s of death note are the rules
  • Create interesting css when turn page.
  • Use correct font

Additional context

Flipping page design

Rules Change rules to fit *death notes for things, thoughts, routines that I want to get rid of my life* with help of ChatGpt

https://www.deviantart.com/deathnote-club/art/All-Deathnote-Rules-116939019

Entering Names

The human whose name is written in this note shall die. This note will not take effect unless the writer has the subject's face in mind when writing his/her name. This is to prevent people who share the same name from being affected.

The Death Note will not ever affect a victim whose name has been misspelled four times.

When the same name is written in two or more Death Notes, the Note which was used first will take effect, regardless of the time of death.

If the same name is written in two or more Death Notes within 0.06 seconds, the entry is regarded as simultaneous; the Death Notes will not take effect and the individual will not die.

If a Death Note owner accidentally misspells a person's name four times, that person will be free from being killed by the Death Note. However, if the Death Note owner intentionally misspells the name four times, the owner will die.

The Death Note will not take effect if a victim's name is written on several different pages. However, the front and back of a page is considered to be one page. For example, the Death Note will still take effect if the victim's last name is written on the front page and first name on the back.

Entering the Causes and Conditions of Death

If the cause of death is written within 40 seconds of the subject's name, it will happen.

If the cause of death is not specified, the subject will die of a heart attack.

After writing the cause of death, the details of death should be entered within the next six minutes and 40 seconds.

If the time of death is specified within 40 seconds after writing the cause of death as a heart attack, the time of death can be manipulated and can go into effect within 40 seconds after writing the name.

The conditions of death will not be realized unless they are physically possible for that human or could be reasonably assumed to be carried out by that human.

Since the limitations applying to the conditions of a death are unknown to the Shinigami, Death Note owners must find out on their own.

You may write the cause and/or details of death prior to filling in the name of the individual. Be sure to insert the name in front of the cause of death. You have about 19 days (according to the human calendar) to fill in a name.

Suicide is a universally valid cause of death as all humans are thought to possess the potential to commit suicide. It is, therefore, something that may be reasonably assumed of an individual.

Whether the cause of the individual's death is either suicide or an accident, if it would lead to the death of more than the intended victim, the person will simply die of a heart attack. This is to ensure that other lives are not impacted.

After an individual's name, time of death, and conditions of death are entered in the notebook, the time and conditions of death may be altered as many times as desired as long as they are changed within six minutes and 40 seconds from the time they are filled in. But, of course, this is only possible before the victim dies.

If you write "dies of accident" for the cause of death, the victim will die from a natural accident six minutes and 40 seconds after the time of entry.

Even if only one name is written in the Death Note, if the victim's death causes other humans that are not written in it to die, the cause of death will default to a heart attack.

If you write "die from disease" and specify which disease and the time of death, there must be a sufficient amount of time for the disease to progress. If the set time is too tight, the victim will die of a heart attack six minutes and 40 seconds after the entry in the Death Note.

If you write, "dies from disease" as the cause of death but specify only a time of death and not the actual disease, the victim will die from a plausible disease.

The Death Note can only operate within a 23-day window (in the human calendar). This is called the 23-Day rule.

If you write "dies from disease" and specify which disease but not a time of death, if the progression of the disease takes more than 24 days, the 23-Day rules will not take effect and the human will die at an appropriate time depending on the disease. However, rewriting the cause and/or details of death must be done within six minutes and 40 seconds: you cannot change the victim's time of death, however soon it may be.

In order for the Death Note to take effect the victim's name must be written on one page; however, the cause and conditions of death may be entered on other pages. This will work as long as the person who writes in the Death Note keeps the specific victim's name in mind when writing the cause and conditions of death.

If the cause and conditions of death are written in before the victim's name is, multiple names can be written as long as they are entered within 40 seconds and the cause and conditions of death are not impossible. In the event that the cause of death is possible but the conditions are not, only the cause of death will take effect for that victim. If both the cause and the conditions are impossible, that victim will die of a heart attack.

When you write multiple names in the Death Note and then write down one cause of death within 40 seconds of writing the first victim's name, the cause will take effect for all the written names. Also, after writing the cause of death, even if the conditions of death are written within six minutes and 40 seconds in the human world, the conditions will apply only to the victims for whom they are possible. Those for whom the conditions are not possible will simple die from the specified cause.

A human death caused by the Death Note can indirectly lengthen another human's original life span in the human world even without the owner's specific intention to do so.

Once the victim's name, cause of death, and conditions of death have been written down in the Death Note, the death will take place even if that Death Note, or the part of the note used, is destroyed before the stated time of death.

If the victim's name has been entered and the Death Note is destroyed while the cause of death is being written, the victim will be killed by a heart attack 40 seconds after the name was entered. If the victim's name and cause of death have already been written, then the victim will be killed within six minutes and 40 seconds via the stated cause of death if it is possible within that period of time. Otherwise, the victim will die by heart attack.

Alterations

If you wish to change anything written in the Death Note within six minutes and 40 seconds after you wrote it, you must first rule out the characters you want to erase with two straight lines. The time and conditions of death can be changed, but once the victim's name has been written, that individual's death can never be averted.

It is useless to try to erase names written in the Death Note with erasers or to white them out.

Even if a new victim's name, cause of death, or conditions of death are written on top of the original victim's name, cause of death, or conditions of death, there will be no effect on the original victim's death. The same thing will also apply to erasing what was written with a pencil, or whiting out what was written with a pen.

Limitations

The Death Note will not affect those less than 780 days old.

You cannot kill humans who are more than 124 years of age with the Death Note.

You cannot kill humans with less than 12 minutes of life left (in human calculations).

You cannot set a death date longer than the victim's original life span. Even if the victim's death is entered in the Death Note, if it is beyond his or her original life span, the victim will die before the set time.

Other Things to Consider

The human who uses this note can go neither to Heaven nor to Hell.

One page taken from the Death Note, or even a fragment of the page, possesses the full power of the note.

Any writing instrument or medium (cosmetics, blood, etc.) may be used, as long as it can write directly onto the note and create legible text.

The pages of the Death Note will never run out.

Some limited number of Death Notes have white or red front covers, but this makes no different in their effectiveness as compared with the black Death Notes.

The Beginning of Ownership

This note shall become the property of the human world once it touches ground in the human world.

The owner of a Death Note can recognize the image and voice of the original owner - a Shinigami, for example.

The human who touches the Death Note can recognize the image and voice of its Shinigami owner, even if the human is not the owner of the note.

Whenever a Shinigami in the human world dies and leaves behind its Death Note, the note's finder automatically becomes the owner. However, in this case, only a human who can see and hear that Shinigami is able to see and touch the Death Note. It is very unlikely, but if by any chance another Shinigami picks up the Death Note, that Shinigami becomes the owner.

If you lose the Death Note or have it stolen, you will lose its ownership unless you can retrieve it within 490 days.

When the owner of the Death Note dies while the note is on loan, its ownership will be transferred to the person who is holding it at that time. If the Death Note is stolen and the owner is killed by the thief, its ownership will automatically be transferred to the thief.

The individuals who lose ownership of a Death Note will also lose their memories of it. However, this does not mean that they will lose all memories from the period of ownership: they will only lose the memories involving the Death Note.

When an individual with ownership of more than two Death Notes loses possession of one of them, he will no longer be able to recognize or hear that Death Note's Shinigami anymore. The Shinigami will leave, but all the memories involving the Death Note will remain to the owner as long as he maintains ownership of at least one other Death Note.

If a person loses possession of a Death Note he will not recognize its Shinigami by sight or voice anymore. However, if the owner lets someone else touch that Death Note, from that time on that person will continue to recognize the Shinigami's appearance and voice until he or she actually becomes the owner of the Death Note and subsequently loses possession of it.

When regaining ownership of a Death Note, the memories associated with it will also return. In cases where the owner was involved with other Death Notes as well, memories of all the Death Notes involved will return. The memories will return just by touching the Death Note, even without obtaining ownership of it.

Memories related to a Death Note are lost when its ownership is lost. But they may be regained by either obtaining ownership once again or by touching the Death Note. This can be done up to six times per Death Note. Any times more than that, the person's memory of the Death Note will not return and they will have to use it without any previous memory of it.

Even if you do not actually possess the Death Note, you may still use it to full effect.

You may lend the Death Note to another person while maintaining its ownership. The borrower may lend it to yet another person as well.

The person who borrows the Death Note will not be followed by a Shinigami. The Shinigami always remains with the owner of the Death Note. Also, the borrower cannot trade for the Shinigami Eyes.

Only by touching each other's Death Notes can owners recognize the appearance or voice of each other's Shinigami.

Losing memory of the Death Note by passing the ownership to another or by abandoning ownership will only occur when someone is actually killed using that Death Note. You will not lose memory of the Death Note if, for example, you merely owned it and did not write down anyone's name. In this case, you will not be able to hear or see the Shinigami anymore. You will also lose the power of the Shinigami Eyes if you made the trade.

Multiple Notebooks

Someone possessing more than one Death Note may write down a victim's name in one of the Death Notes and the cause of death in the other, and the death will still occur. The order of writing, however, is unimportant: if you write down the cause of death in one Death Note and afterward write the name in the other, the death will occur. This can be accomplished by two Death Note owners working together. In this case, it's necessary that the two touch each other's Death Notes.

Only six Death Notes are allowed to exist at a time in the human world. Of course, the Death Notes that the Shinigami own do not count. This means only six Shinigami that have passed on their Death Notes to humans can be in the human world at once.

One Shinigami is allowed to pass on Death Notes to only three humans at a time. However, it is possible for a single Shinigami to hand out up to six Death Notes - by handing three humans two Death Notes each, for example. In other words, one human could potentially own all six Death Notes.

If a seventh Death Note is given to a human when six already exist in the human world, nothing will happen when it is used.

In the event that there are more than six Death Notes in the human world, only the first six Death Notes that have been delivered to humans will have effect. The seventh Death Note will not become active until one of the other six Death Notes is destroyed or a Shinigami takes one of them back to the Shinigami realm.

The Shinigami Eyes

A human who becomes the owner of a Death Note can, in exchange for half of his or her remaining life, acquire the power of the Shinigami Eyes, which will enable him or her to see a human's name and remaining life span when looking at them.

An individual with Shinigami Eyes can see the name and life span of another human by looking at that person's face. By gaining ownership of a Death Note, an individual not only gains the ability to kill but also cannot be killed by a Death Note. From this point on, a person with a Death Note cannot see the life span of other Death Note owners, including him- or herself.

In order to see the names and life spans of humans using the power of the Shinigami Eyes, the owner must be able to see more than half of that person's face. When looking from top to bottom, he must be able to see at least from the head to the nose. If he looks at only the eyes and under, he will not be able to see the person's name and life span. Also, even though some parts of the face - for example the eyes, nose or mouth - are hidden, if he can basically see the whole face he will be able to see the person's name and life span.

It is still not clear how much exposure is needed to see a name and life span (more research needs to be done). If the above conditions are met, names and life spans can be seen using photos and digital images, no matter how old they are. But this is sometimes affected by the resolution and size of the image. Also, names and life spans cannot be seen using drawings, however realistic they may be.

Those with Shinigami Eyes will have eyesight of over 3.6 in the human measurement, regardless of their original eyesight.

If you have traded for the Shinigami Eyes, you will see a person's primary life span in the human world.

The names you will see with the Shinigami Eyes are the names needed to kill that person. You will be able to see a name even if it isn't officially registered anywhere.

Humans who have traded for Shinigami Eyes cannot see the names or life spans of humans who have already passed away (by looking at photos of them, for example).

The use of the Death Note in the human world sometimes affects other humans' lives or shortens their original life spans, even if their names are not actually written in the notebook itself. In these cases, no matter the cause, the Shinigami sees only the original life span and not the shortened life span.

No matter what medical or scientific method is employed, it is impossible for humans to distinguish whether or not a human has Shinigami Eyes. Even Shinigami cannot distinguish this fact, except for the very Shinigami that traded his or her eye power with that human.

The Shinigami Rules

The human owner of a Death Note is possessed by its original Shinigami owner until he or she dies.

If a human uses a Death Note, its Shinigami owner must appear in front of the human within 39 days after he or she uses the note.

The original Shinigami owners of Death Notes don't, in principle, do anything to help or prevent the deaths brought about by the notes.

A Shinigami has no obligation to completely explain how to use the note or the rules that apply to the human who owns it.

The Shinigami must not tell humans the names or life spans of individuals he sees. This is to avoid confusion in the human world.

A Shinigami bringing a Death Note into the human world must make sure that a human uses it. Although it is unlikely that a Shinigami who has possessed a human would die, if it does happen, the Death Note brought into the human world will not lose its power.

Shinigami must not stay in the human world without a particular reason. Acceptable reasons to stay in the human world are as follows:

I. When the Shinigami's Death Note is handed to a human.
II. Finding a human to take possession of a Death Note should be done from the Shinigami realm, but if it is within 82 hours this may also be done in the human world.
III. When a Shinigami stalks an individual with an intention to kill them, as long as it is within 82 hours of possessing them the Shinigami may stay in the human world.

The Shinigami must not hand the Death Note directly to a child under six years of age (based on the human calendar). But Death Notes that have been dropped into the human world, and are part of the human world, can be used upon humans of almost any age with the same effect.
The owner of a Death Note cannot be killed by a Shinigami who is in the Shinigami realm. Also, a Shinigami who comes to the human world with the objective of killing the owner of a Death Note will not be able to do so. Only a Shinigami that has passed on its Death Note to a human is able to kill the owner of the Death Note.

If a Death Note is owned in the human world against a Shinigami's will, that Shinigami is permitted to stay in the human world in order to retrieve it. In that case, if there are other Death Notes in the human world, the Shinigami are not allowed to reveal to the humans the Death Note owner's identity or its location.

If a Shinigami's Death Note is taken away for whatever reason, it can only be retrieved from the Shinigami who possesses it at the time. If there is no Shinigami, but a human, the only way the Shinigami can get it back is to first touch the Death Note and become the one who haunts that particular human. Then they have to wait until that person dies to take it away. And they have to do it before any other human touches it.

After a Shinigami brings a Death Note to the human world and gives its ownership to a human, the Shinigami has the right to kill the human using its own Death Note for any reason, such as disliking the owner.

The following are cases in which a Shinigami that has brought the Death Note into the human world is allowed to return to the Shinigami realm:

I. When the Shinigami has seen the end of the first owner of the Death Note brought into the human world and has written that human's name into his or her own Death Note.
II. When the Death Note is destroyed and cannot be used by humans anymore.
III. If nobody claims ownership of the Death Note, it is unnecessary to possess anyone.
IV. If, for any reason, the Shinigami possessing the Death Note is replaced by another Shinigami.
V. When a Shinigami loses track of the Death Note that he or she possesses, or cannot identify which human owns the Death Note, or cannot locate where the owner is, and therefore needs to find such information using the observation holes in the Shinigami realm.
VI. Even in cases II, III, and IV, Shinigami are obliged to confirm the death of the first owner and write down that human's name in his or her Death Note even when he or she is in the Shinigami realm.

In the Shinigami realm there are a few copies of what humans might call a "user handbook" for the Death Notes in the human world. Although Shinigami may not give the handbook to humans, it is perfectly okay for them to teach humans about its contents, no matter what that may be.

Using the Death Note

A Shinigami can extend its life by writing human names in a Death Note, but a human cannot. A person can only shorten his or her life by using the note.

Even the original Shinigami owners of Death Notes do not know much about them.

Shinigami must own at least one personal Death Note, which must never be lent to or written on by a human.

Shinigami may exchange and write in each others' Death Notes.

If a Shinigami decides to use a Death Note to end the life of the killer of an individual it favors, that individual's life will be extended but the Shinigami will die. The Shinigami will disappear but the Death Note will remain. The ownership of this Death Note is usually carried over to the next Shinigami that touches it, but it is common sense that it be returned to the Shinigami King.

By manipulating the death of a human who has influence over another human's life, that human's original life span can sometimes be lengthened. If a Shinigami intentionall does this that Shinigami will die, but even if a human does the same, the human will not die.

Shinigami Life

A Shinigami cannot be killed even if stabbed or shot. However, there are ways to kill them, which are not generally known even to the Shinigami themselves.

There are male and female Shinigami, but it is neither permitted nor possible for them to have sexual relations with humans. They also cannot have sex with each other.

As long as a Shinigami has at least once seen a human and knows his or her name and life span, the Shinigami is capable of finding that human by looking down from an observation hole in their realm.

The Shinigami realm has laws that govern it. If a Shinigami should break a law, there are nine levels of punishment, which the severity starting at Level Eight and going up to Level One, plus an Extreme Level. At severity levels above Three, the Shinigami will be punished and killed. Killing a human without using the Death Note merits punishment at the Extreme Level.

Shinigami will not die from lack of sleep. They do not need sleep, so to them it is merely laziness. Shinigami in the human world shouldn't act lazy merely because they are required to possess a human.

Fake Rules

If you make this note unusable by tearing it up or burning it, all humans who have touched the note until then will die.

If the person using the note fails to consecutively write names of people to be killed within 13 days, then the user will die.

Screenshots

Success criteria

  • criteria 1
  • criteria 2

[FEATURE] xlsx to object

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like

**Success criteria **

[IMPROVEMENT] Sidebar design for all screen sizes

Is your feature request related to a problem? Please describe.
The Sidebar does not fallow the design.

Describe the solution you'd like
Fallow design, and be aware of

  • Hover effect color
  • Responsiveness
  • Active link color
  • Change active color from yellow to orange
  • Use index value for numbers in "boxes", se "DONE" screenshot

Screenshots
Now
Skärmavbild 2023-07-14 kl  09 59 31

Done
Skärmavbild 2023-07-14 kl  11 06 47

Success criteria

  • My design solution looks good and are responsive.
  • I have performed a self-review of my code
  • My commits are related to the Feature and looks clean.
  • I have performed a self-review of my code

[IMPROVEMENT] add cpr certification

Is your feature request related to a problem? Please describe.
Add CPR (HLR) certification

Describe the solution you'd like
Scan certificate and use it as an image.
Add it to a appropriate section of the website

**Success criteria **

  • able to view certificate
  • use next/image
  • have some text content above/under certificate that is inline with according design pattern.

[FEATURE] change domain name

Describe the solution you'd like

  • Change domain name to https://jimmybackstrom.com from existing https://test-next-13-pearl.vercel.app/

Success criteria

  • Its a https not http.
  • Websites does not crash while navigate pages and us of links.

[FEATURE] seo

Is your feature request related to a problem? Please describe.
Add technics that improves this sites SEO.

Describe the solution you'd like

  • Need to find more info about this topic...

Describe alternatives you've considered

  • Get fresh data, like score points. Maybe display in some kind of chart...

Success criteria

  • criteria 1
  • criteria 2

[IDEA] add linkedin navbar

Describe the solution you'd like
Add linkedin

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Screenshots
Before
Skärmavbild 2023-09-07 kl  10 42 41

Success criteria

  • After clicking on icon/text, open new tab to my LinkedIn profile page (_blank)

[FEATURE] WCAG 2.2 AA

Describe the solution you'd like
Focus on WCAG.
Use services and information to keep site OK with WCAG 2.2 AA

Screenshots
Lighthouse
Skärmavbild 2023-10-19 kl  12 20 04

Wave
Skärmavbild 2023-10-19 kl  12 22 50

Success criteria

  • Green result for WCAG 2.2 AA
  • Explain for user in text/chart/image what you have done to achieve the result.

[FEATURE] wheel of life chart

Is your feature request related to a problem? Please describe.
Would be fun to create "Wheel of life" for personal reasons and a good project to work with chart package

Describe the solution you'd like

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context

Charts
What is "Wheel of life"

Screenshots
example of wheel of life
Skärmavbild 2023-12-20 kl  09 04 07

Success criteria

  • Display several "wheels" data to visualize progress
  • User can create and store their own data/wheel after logged in
  • Display users "wheel"

[BUG] remove outline

Description

Remove outline after clicking on Github icon in Sidebar

Expected behavior
No outline after clicking on Github icon

Screenshots
Skärmavbild 2023-09-07 kl  10 34 33

Additional context
Add any other context about the problem here.

Success criteria check list

  • No outline after clicking on Github icon

[FEATURE] update image

Is your feature request related to a problem? Please describe.
Must update images in Sanity CMS to fit text. Otherwise the message does not reach user in a positive way.

Describe the solution you'd like
Update images according certificate text/title.

Success criteria

  • Looks nice

[IMPROVEMENT] add chartjs

Is your feature request related to a problem? Please describe.
Add chart.js with some api data

Describe alternatives you've considered
Example of data

  • display my github commits over time...

**Success criteria **

  • display data with chart.js

[BUG] active link style

Description

When on url that contains jimmy, adept, testimonials, certificates. Have to apply active style

Expected behavior
When user visits site that contain either jimmy, adept, testimonials, certificates, the link should be orange

Screenshots
Skärmavbild 2023-09-27 kl  10 50 26
Skärmavbild 2023-09-27 kl  10 48 59

Additional context
Refactor code so each link maps out from arrray

Success criteria check list

  • All links in array.
  • Url contain jimmy, adept, testimonials or certificates. Link text should be orange.
  • Have same-ish hover effect as links in Sidebar.tsx

[IDEA] clerk auth

⚠️
Do this Clerk Auth befor implement Graphql with Quotes. #34
Warning: No Room for the Circus Clowns (Yes, I see you! 👀) Sneaking in Inappropriate Quotes That Belong in the Bloopers Reel!

Describe the solution you'd like

  • Auth to get access to a specific route/page.
  • Create Form with inputs/data for new quote.
    • title
    • quoteText
    • createdAt
    • createdBy
    • uploadedBy

Describe alternatives you've considered to have in the future

  • Add possibility to add image to quote
  • Delete created quote (you have created)
  • Update quote (you have created)

Additional context

Screenshots
Before

After

Success criteria

  • Auth for .../add page
  • Be able to write in all form fields, able to console.log all formdata
  • Correct validation
  • error message for each input
  • Created with Shadcn UI
  • Anonymous Visitors: Gaze Upon Our Quotes, But The Mystical Realm of Adding Quotes is Reserved for the Chosen One!
  • Note to Self: The Quote Master Speaks! Only I Hold the Power to Unleash Fresh Quotes upon the World.
  • test branch on Vercel runs without error

[BUG] style min max width

Description

Link text overflows div

Expected behavior
Link text does not overlap other div's.

Screenshots
Skärmavbild 2023-09-27 kl  13 53 10
Skärmavbild 2023-09-27 kl  13 52 54

Additional context

  • Change bg on wrapping div from gray to something that not stand out as much...?

Success criteria check list

  • Link does not overlap
  • Looks OK on all devices
  • Wrapping div is not to wide

[IMPROVEMENT]

What is the current behavior/design?

What is the new behavior?

SCREENSHOTS

Does this introduce a breaking change?

  • Yes
  • No

Other information

[FEATURE] test

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Screenshots
Before

After

Success criteria

  • criteria 1
  • criteria 2

[FEATURE] optimize website speed

Describe the solution you'd like
Focus on speed optimization.

  • Use Lighthouse in dev tools, use incognito window, test on deployed version.

Success criteria

  • Present with text/chart/image what have been done to make application faster.

[IMPROVEMENT] Add CV

Is your feature request related to a problem? Please describe.
Add cv, PDF or image. Make PDF printable

Describe the solution you'd like

Additional context

Success criteria

  • Responsive design
  • View CV on web
  • Make CV printable or possible to download

[IDEA] connect jira

Describe the solution you'd like
Connect Jira to this project.

  • use basic automated actions

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
info from papafam coaching call, JIRA and GitHub: The dynamic duo of Project Management with @Dash Santosh

Success criteria

  • 3 basic automated actions

[FEATURE] add content

Describe the solution you'd like
Add real content for route https://www.jimmybackstrom.com/about and https://www.jimmybackstrom.com/about/jimmy

Success criteria

  • Real content on route /about
  • Real content on route /jimmy
  • Real content on route /certificates
  • Content is interesting

[IMPROVEMENT] add CMS

Is your feature request related to a problem? Please describe.

  • Add CMS (Sanity)
  • Don't want to use hard-coded data for certifications

Helpful links

Success criteria

  • Pull all data about certificates from CMS
  • On live version. Be able to visit endpoint /admin for Sanity Studio

Change color on text.

Describe the bug
Hard to read text because of "black" text-color.

To Reproduce
Steps to reproduce the behavior:

  1. Go to http://localhost:3000/about and http://localhost:3000/about/jimmy

Expected behavior
Have text readable.

Screenshots
Skärmavbild 2023-07-14 kl  10 07 32

Additional context
Add any other context about the problem here.

Success criteria check list

  • http://localhost:3000/about => have text-color text-[#babdc5]
  • http://localhost:3000/about/jimmy => have text-color text-[#babdc5]

[IDEA] quotes advice

⚠️
Do #27 first befor starting on this...
Describe the solution you'd like

Ide

Success criteria

  • Only Jimmy can add new data.
  • Display quotes.
  • Display life lessons in a nice way.
  • Display some where from /projects route...
  • Update prisma 5.6.0 -> 5.7.0
    • npm i --save-dev prisma@latest
    • npm i @prisma/client@latest

Link style not longer applied when visit nested page.

(next 13, app/dir, tailwindcss)
Repo - https://github.com/wongprom/test-next-13

Describe the bug
Link style not longer applied when visit nested page.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://test-next-13-git-main-wongprom.vercel.app/about.
  2. Click on 'Jimmy'.
  3. Error: Orange active link color is no longer applied.

Expected behavior
Expect to have Orange active link color when route are:

Screenshots
Skärmavbild 2023-08-22 kl  12 15 46
Skärmavbild 2023-08-22 kl  12 16 10

Code
LinkSidebar.tsx

'use client';
import { FaceSmileIcon } from '@heroicons/react/24/outline';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import React from 'react';
import { Tooltip } from 'react-tooltip';

type Props = {
  linkText: string;
  url: string;
  Icon: React.ElementType;
  numOfProjects?: string;
};

const LinkSidebar = ({ linkText, url, Icon, numOfProjects }: Props) => {
  const currentRoute = usePathname();
  const activeLinkStyle = 'text-orange-600';
  return (
    <div
      className={`flex w-full items-center justify-center rounded-xl px-3 py-2 xl:hover:bg-[#1c1d21] ${
        currentRoute === url && 'xl:bg-[#1c1d21]'
      }`}
    >
      <Link
        href={url}
        className={`cursor-pointer ${currentRoute === url && activeLinkStyle} `}
      >
        <Icon
          className="h-6 w-6 focus:outline-none"
          data-tooltip-id={linkText}
          data-tooltip-content={linkText}
        />
        <Tooltip
          id={linkText}
          place="right"
          className="xl:hidden text-sm font-normal rounded-lg tracking-wider"
        />
      </Link>
      <p className={`hidden xl:block ml-2 ${!numOfProjects && 'mr-auto'}`}>
        {linkText}
      </p>
      {numOfProjects && (
        <div className="hidden p-1 xl:flex items-center justify-center ml-auto text-[#828996] bg-[#23252a] text-[10px] h-4 w-4 rounded">
          <span>{numOfProjects}</span>
        </div>
      )}
    </div>
  );
};

export default LinkSidebar;

Success criteria check list

  • Active link style are applied when visit endpoints /about/jimmy, about/adept, about/testimonial

[IDEA] lottery game

Describe the solution you'd like

  • Lottery Game Concept: Propose the introduction of a lottery-style game.
  • Prize Options: Participants will have the chance to win various prizes, such as an apartment, artwork, a car, and more.
  • Participation Cost: To enter the lottery, participants will be required to pay a certain amount, X amount of currency (potentially cryptocurrency).
  • Engaging Presentation: Aim to present the information about this lottery game in an engaging and captivating manner.

Success criteria

  • User can enter lottery
  • Draw new winner everyday

[FEATURE] chatgpt

Describe the solution you'd like
Implement chatGPT in an interesting way.

Success criteria

  • using chatgpt

[IMPROVEMENT] add strapi

Is your feature request related to a problem? Please describe.
Implement Strapi in a funny/unusual way.

Describe the solution you'd like
There should be articles/items that reflect things from my wish list, sky diving, cannot, cabin, trip to South Korea, etc. With the test credit card, the user should be able to make a purchase from my wish list. It should remind you of the steps when making a purchase from an e-commerce site

  • use/create cms?

**Success criteria **

  • use https://ui.shadcn.com/
  • display available items
  • display non-available items
  • can make fake "payment"
  • works on live site

[IDEA] different font sizes

Is your idea request related to a problem? Please describe.
Make font bigger and looks good on different devices.

Describe the solution you'd like
Make it possible to pass props like font-sm, font-lg...

Describe alternatives you've considered
Check if it's possible to use tailwinds own classes and solutions to chang font-size depends on screen-size

Additional context
Add any other context or screenshots about the feature request here.

Screenshots
Skärmavbild 2023-12-20 kl  18 30 27

Success criteria

  • Font-size looks good no mater where the components are used.

[IDEA] add kakeibo

What is Kakeibo?

Describe the solution you'd like

  • Replicate table and cells from book.
  • User need to login before able read and write.

Describe alternatives you've considered

  • have same structure as in this book, KAKEIBO - Fumiko Chiba
  • Design: One page with collapsible sections.
  • Create responsive design on Figma and share link here.

Additional context

  • help of auth/role, only display for admin.
  • If not admin, display dummy data

Screenshots
Before

After

Success criteria

  • criteria 1
  • criteria 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.