I want to implement the UI that was created for me in a sloppy manner. Let’s divide the tasks into smaller ones.

  • Divide the components
    • StartModal✅
    • StatusBar✅
  • Write CSS
    • Organize the layout
    • Make the details look nice
      • Place icons, etc.
      • Adjust the size of the frames to align them using flexbox game
      • Set colors
  • Create effects

https://wikichase.vercel.app/teeth-those/runner

  • Check why it’s stopped.

  • I want to implement goal determination and time limit determination.

    • Maybe it’s enough to record the goal and end time at the start.
  • The initial page generation and useEffect() in the play page may run multiple times, so I changed it when creating the room.

  • I was handling mediawiki and wikipedia separately, but it seems difficult to separate them due to tight coupling, so I’ll give up.

    • No, it’s better to handle the retrieval of HTML and filtering with useMediaWiki and MediaWikiPage, it seems just right.
  • CSS

    • Mobile URL
      • https://ja.wikipedia.org/w/load.php?lang=ja&modules=ext.cite.styles%7Cext.relatedArticles.styles%7Cext.wikimediaBadges%7Cmediawiki.hlist%7Cmediawiki.page.gallery.styles%7Cmediawiki.ui.button%2Cicon%7Cmobile.init.styles%7Cskins.minerva.base.styles%7Cskins.minerva.content.styles.images%7Cskins.minerva.icons.wikimedia%7Cskins.minerva.mainMenu.icons%2Cstyles&only=styles&skin=minerva
      • https://ja.m.wikipedia.org/w/load.php?lang=ja&modules=startup&only=scripts&raw=1&skin=minerva&target=mobile
    • PC URL
  • I want to implement automatic matchmaking.

  • I thought about using Firebase Realtime DB hooks, but I couldn’t figure out how to use them in the functions inside hooks, so I’ll do it later.

  • I created a landing page.

    • image
    • I thought this design was good, so I tried it, but it’s difficult (blu3mo)
      • That’s true, simple designs require design skills.
    • I definitely didn’t provide enough explanation, but I want to make it understandable by trying it out (blu3mo)
      • For now, I just conveyed what I’m aiming for✅
  • I forgot most of the knowledge about 6211f07579e1130000619a52 and was researching the same thing again.

  • Restriction for the escaping side

  • Database

    • :gameId
      • chaser

        • userId: string
          • For now, it can be randomly generated per session
            • If I put in a device-specific value later, it will be possible to resume even if it crashes once
          • If empty, it means offline
        • pages:
      • evader

        • userId: string
        • lastJump: date
          • The cooldown check is done by the escaping side
        • isAlive: bool
          • This becomes false when the cooldown is over or when caught.
  • Remaining tasks- image

    • Delete these guys.
  • Loading during transition.

  • Cheating guy.

    • Links like “English” or “International Phonetic Alphabet”.
  • Organize the implementation again.

    • Two people can enter the same game.
      • For now, it seems fine to use the same URL and room.
    • Both players can confirm each other’s transitions.
  • I want to pull in Wikipedia’s CSS.

    • Where can I find ones that are legally okay?
  • As a countermeasure against XSS, it should be prevented from jumping to pages other than Wikipedia.

    • Since Wikipedia itself can be edited, it would be bad if external links from Wikipedia were opened and displayed.
  • GitHub - remarkablemark/html-react-parser: HTML to React parser.

  • When I hit the Wikipedia API, I encountered a CORS error.

  • Is there an API that returns HTML?

  • Wait, isn’t it difficult to capture link click events?

  • javascript - iframe wikipedia article without the wrapper - Stack Overflow

  • Let’s create an MVP for now.

    • Things needed:
      • Both players can see each other’s pages.
      • Constraints for the demon side:
        • Limit on link transitions (once per 15 seconds).
        • Only show the summary.
      • Judging if caught.
      • Log of each other’s link jumps.