Coder Social home page Coder Social logo

frontend's People

Contributors

alicerunsonfedora avatar dependabot[bot] avatar martmists-gh avatar openshiftio-launchpad avatar ovyerus avatar snyk-bot avatar sr229 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

frontend's Issues

[React] CORS issues with backend

prior to #23, looks like @Martmists is reporting CORS issues when interacting with the backend. We have never encountered this on Nuxt so this might be something you guys need to fix.

from what I can see the frontend is 100% clientside so that means you guys need to enforce the headers manually.

Make Mod Overview Live Data

Mod Overview is currently placeholders, we need to make it handle live data now, its been long overdue on such.

[Postv1] white-labeling support

White-labeling allows hosters to provide a service using our open source website. Some things we should allow via the admin for the webmaster are:

  • Custom Logo
  • Custom Colors
  • Feature Toggling

sayonika:// Protocol

Since we're going with the Server-Client layout, we need to ratify how we can make the mods easier to launch from the web client. A Protocol seems to do that for us and allows a agnostic approach to distribute mods.

Current RFC Spec

The server would be distributing this via sayonika:// <BASE_URL>/project/<PROJECT_ID>.

This is GraphQL-based to allow us to publish one common schema language, and promote flexibility on the API.

this is JSON-REST based and this is how our output would look like:

{
 "project_id": "19271726462637237",
 "cdn_url" : "https://cdn.sayoni.ca/project/19271726462637237/mod.tar.gz
}

Query Lang schema will still be drafted , will update issue once finalized

Mod Submission Card is broken

Seems the dialog does not POST. It fails with this error in the clientside

be7decef39e0c7def02b.js:1 TypeError: Cannot read property 'slice' of undefined
    at f.gridContent (4949efbd4ae29c7f75a3.js:1)
    at xn.get (be7decef39e0c7def02b.js:1)
    at xn.evaluate (be7decef39e0c7def02b.js:1)
    at f.gridContent (be7decef39e0c7def02b.js:1)
    at f.<anonymous> (4949efbd4ae29c7f75a3.js:1)
    at f.t._render (be7decef39e0c7def02b.js:1)
    at f.r (be7decef39e0c7def02b.js:1)
    at xn.get (be7decef39e0c7def02b.js:1)
    at new xn (be7decef39e0c7def02b.js:1)
    at t (be7decef39e0c7def02b.js:1)```

Workbox Support

To load our pages faster, we will cache them clientside, and effectively turn our Frontend into a PWA. This will be done via Workbox.

Clicking anywhere outside of the dialogs should exit the dialogs

Currently mod submit cards and mod overview cards overrides it as a page, the dialog should not be a page but a part of index that can be exited, so does submit-mod. It should be exitable when clicking to the dimmed screen space.

For this high priority TODO these are needed:

  • Mod Submission and Mod Overview should be a component, not a PAGE.
  • Mod Submission and Mod Overview should be a exitable dialog, and should not override the home screen with its own page, ie /submit-mod and /mod should be reserved for a full page version of the mod overview.

User preferences and profile

Currently profile in Frontend does not reflect user info in backend, we need to set this properly.

TODO

  • Profile bio, username, and badges should reflect their respective user data.
  • Allow people to set their profile picture via Settings
  • Allow people to also change their username if need be

ModCards and SideNav has to change content on admin and publisher views

Since this is not customer-facing and intended for people with privileges and roles, the content and structure of the components should be unique when entering this views.

Publisher

ModCard State

  • on Pending, Favorite button along with the stats counter is disabled since its not yet seen by the general crowd.
  • Add a Hamburger that would bring a context to allow the publisher of the mod to delete the mod, this will only be available to the Author, and not to the collaborators.

Sidenav State

  • Hidden in view.

Admin

ModCard State

  • on Pending, Favorite button along with the stats counter is disabled since its not yet seen by the general crowd.
  • Replace Download and Favorite Button with Accept and Reject button, use the same style if necessary.

Sidenav State

  • Remove the Home's Sidenav content.
  • Add entries for:
    • Pending Mods
    • User Reports

ReCaptcha Integration

Even if we have CloudFlare firewall rules, there is a marginal chance we can get baad traffic through, that's why we have ReCaptcha v3 on login as discussion with @Ovyerus.

Use Nuxt instead of Hyperapp

According to @Ovyerus, it should be easier to use Vue since it's a more established platform, plus it's easy to use Vue for our use case since we came from a pure HTML background (and Angular/React sucks).

Todo

  • Nuxt rewrite - Client
  • handle foreachs for cards
  • die inside I guess

Mod Cards should be fixed in width

Regardless of Title size, the Mod card should remain a fixed size, else it looks terrible.

I designed it to tile in a fixed constraint size, and we should not deviate from that.

Admin Dashboard backlog

Currently Admin dashboard is a big heckin chonk of a template. We need to finish it by next week so we can onboard everyone

TODO

  • Live data on Home
  • Report Queue (Mods and Users)
  • Pending Mods
  • User Access Control (Deleting and setting the properties of a user)

WidgetBot integration

This will replace our current FAB implementation since it allows us to embed our server within the site. This will be done seperate of the master branch.

Footer has no top padding

This may cause some elements to be completely hidden by the footer if you drag the browser's bottom window side up.

[Postv1] BAT Support

Basic Attention Token is a initiative by Brave to allow creators to monetize their content without resorting to ads. Allowing us to support this will allow us and future white-labeling users to support their website along with a donation page.

React Rewrite Backlog

Due to the unreliability and increased diifculty to maintain a Vue-based frontend, we have a consensus to redo everything to React and Next.js. This is the Backlog to track issues in:

  • Convert Nuxt-based frontend to Next.js
  • Feature Parity
    • All of the implemented views and features
    • Twitter-style mod overview (clicking on a mod card will return a new route ala mod/:id).

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.