mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-08-26 13:22:50 -05:00
better home page
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"files": {
|
||||
"main.js": "/static/js/main.b0f41a39.chunk.js",
|
||||
"main.js.map": "/static/js/main.b0f41a39.chunk.js.map",
|
||||
"main.js": "/static/js/main.11805f7e.chunk.js",
|
||||
"main.js.map": "/static/js/main.11805f7e.chunk.js.map",
|
||||
"runtime~main.js": "/static/js/runtime~main.a8a9905a.js",
|
||||
"runtime~main.js.map": "/static/js/runtime~main.a8a9905a.js.map",
|
||||
"static/js/2.e89314dc.chunk.js": "/static/js/2.e89314dc.chunk.js",
|
||||
"static/js/2.e89314dc.chunk.js.map": "/static/js/2.e89314dc.chunk.js.map",
|
||||
"static/js/2.8f79602a.chunk.js": "/static/js/2.8f79602a.chunk.js",
|
||||
"static/js/2.8f79602a.chunk.js.map": "/static/js/2.8f79602a.chunk.js.map",
|
||||
"index.html": "/index.html",
|
||||
"precache-manifest.634d8599f1cb08d60e60a9e453e6842d.js": "/precache-manifest.634d8599f1cb08d60e60a9e453e6842d.js",
|
||||
"precache-manifest.57456dced1c66d79720b9e84938825c8.js": "/precache-manifest.57456dced1c66d79720b9e84938825c8.js",
|
||||
"service-worker.js": "/service-worker.js",
|
||||
"static/media/ancho-v_games.png": "/static/media/ancho-v_games.07d5d0f6.png",
|
||||
"static/media/arowana_mall.png": "/static/media/arowana_mall.26cf0823.png",
|
||||
@@ -20,6 +20,7 @@
|
||||
"static/media/humpback_pump_track.png": "/static/media/humpback_pump_track.fac19229.png",
|
||||
"static/media/inkblot_art_academy.png": "/static/media/inkblot_art_academy.fdae0280.png",
|
||||
"static/media/kelp_dome.png": "/static/media/kelp_dome.6610593e.png",
|
||||
"static/media/koshienBanner.png": "/static/media/koshienBanner.34fca5d9.png",
|
||||
"static/media/league.png": "/static/media/league.7aa42d81.png",
|
||||
"static/media/mahi.png": "/static/media/mahi.0e9369da.png",
|
||||
"static/media/makomart.png": "/static/media/makomart.8a4f661e.png",
|
||||
@@ -33,7 +34,6 @@
|
||||
"static/media/ranked.png": "/static/media/ranked.415f6ad8.png",
|
||||
"static/media/regular.png": "/static/media/regular.4848edcb.png",
|
||||
"static/media/rig.png": "/static/media/rig.87b5e71c.png",
|
||||
"static/media/rigBanner.png": "/static/media/rigBanner.60e0f75c.png",
|
||||
"static/media/rm.png": "/static/media/rm.ee623ae2.png",
|
||||
"static/media/shellendorf_institute.png": "/static/media/shellendorf_institute.d6669767.png",
|
||||
"static/media/skipper_pavilion.png": "/static/media/skipper_pavilion.1b3dbb2a.png",
|
||||
|
||||
@@ -1 +1 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="stylesheet" href="//cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>sendou.ink</title></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(l){function e(e){for(var r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return c.push.apply(c,u||[]),a()}function a(){for(var e,r=0;r<c.length;r++){for(var t=c[r],n=!0,o=1;o<t.length;o++){var u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return e}var t={},p={1:0},c=[];function f(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var n in r)f.d(t,n,function(e){return r[e]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var o=0;o<r.length;o++)e(r[o]);var s=n;a()}([])</script><script src="/static/js/2.e89314dc.chunk.js"></script><script src="/static/js/main.b0f41a39.chunk.js"></script></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="stylesheet" href="//cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>sendou.ink</title></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(l){function e(e){for(var r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return c.push.apply(c,u||[]),a()}function a(){for(var e,r=0;r<c.length;r++){for(var t=c[r],n=!0,o=1;o<t.length;o++){var u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return e}var t={},p={1:0},c=[];function f(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var n in r)f.d(t,n,function(e){return r[e]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var o=0;o<r.length;o++)e(r[o]);var s=n;a()}([])</script><script src="/static/js/2.8f79602a.chunk.js"></script><script src="/static/js/main.11805f7e.chunk.js"></script></body></html>
|
||||
@@ -1,15 +1,15 @@
|
||||
self.__precacheManifest = (self.__precacheManifest || []).concat([
|
||||
{
|
||||
"revision": "35b5aaa9722c8b2fcd00aa3be2a13845",
|
||||
"revision": "71842041eea18563ab917159b1dbf3b8",
|
||||
"url": "/index.html"
|
||||
},
|
||||
{
|
||||
"revision": "c9a46f4ed5a7a59a324b",
|
||||
"url": "/static/js/2.e89314dc.chunk.js"
|
||||
"revision": "834d30fd9e3e84494043",
|
||||
"url": "/static/js/2.8f79602a.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "bb74ec896158185f0dc5",
|
||||
"url": "/static/js/main.b0f41a39.chunk.js"
|
||||
"revision": "3198713366d488e35a2e",
|
||||
"url": "/static/js/main.11805f7e.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "42ac5946195a7306e2a5",
|
||||
@@ -59,6 +59,10 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
|
||||
"revision": "6610593ec2d587f95a48f82f3f31ab2c",
|
||||
"url": "/static/media/kelp_dome.6610593e.png"
|
||||
},
|
||||
{
|
||||
"revision": "34fca5d92b48e8f6b4c1a2501cea5ce1",
|
||||
"url": "/static/media/koshienBanner.34fca5d9.png"
|
||||
},
|
||||
{
|
||||
"revision": "7aa42d817869c09c604225434d0c09c1",
|
||||
"url": "/static/media/league.7aa42d81.png"
|
||||
@@ -111,10 +115,6 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
|
||||
"revision": "87b5e71c29a70bc15a501002b4192517",
|
||||
"url": "/static/media/rig.87b5e71c.png"
|
||||
},
|
||||
{
|
||||
"revision": "60e0f75c3cf5b2d1eb076b080b4f7f16",
|
||||
"url": "/static/media/rigBanner.60e0f75c.png"
|
||||
},
|
||||
{
|
||||
"revision": "ee623ae225822d4a257120c58516eb86",
|
||||
"url": "/static/media/rm.ee623ae2.png"
|
||||
@@ -14,7 +14,7 @@
|
||||
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.0/workbox-sw.js");
|
||||
|
||||
importScripts(
|
||||
"/precache-manifest.634d8599f1cb08d60e60a9e453e6842d.js"
|
||||
"/precache-manifest.57456dced1c66d79720b9e84938825c8.js"
|
||||
);
|
||||
|
||||
self.addEventListener('message', (event) => {
|
||||
|
||||
2
build/static/js/2.8f79602a.chunk.js
Normal file
2
build/static/js/2.8f79602a.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
build/static/js/2.8f79602a.chunk.js.map
Normal file
1
build/static/js/2.8f79602a.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
build/static/js/main.11805f7e.chunk.js.map
Normal file
1
build/static/js/main.11805f7e.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
build/static/media/koshienBanner.34fca5d9.png
Normal file
BIN
build/static/media/koshienBanner.34fca5d9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 634 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB |
14
index.js
14
index.js
@@ -102,7 +102,6 @@ const typeDefs = gql`
|
||||
topBrella: [Placement]
|
||||
topBrellaScore: Float
|
||||
}
|
||||
|
||||
type Placement {
|
||||
id: ID!
|
||||
name: String!
|
||||
@@ -114,17 +113,14 @@ const typeDefs = gql`
|
||||
month: Int!
|
||||
year: Int!
|
||||
}
|
||||
|
||||
type topPlayer {
|
||||
placements: [Placement!]!
|
||||
modeCount: [Int!]!
|
||||
}
|
||||
|
||||
type PlayerWithPlacements {
|
||||
player: Player!
|
||||
placements: [Placement!]!
|
||||
}
|
||||
|
||||
type Maplist {
|
||||
name: String!
|
||||
sz: [String!]!
|
||||
@@ -132,20 +128,17 @@ const typeDefs = gql`
|
||||
rm: [String!]!
|
||||
cb: [String!]!
|
||||
}
|
||||
|
||||
enum LinkType {
|
||||
DISCORD
|
||||
GUIDE
|
||||
MISC
|
||||
}
|
||||
|
||||
type Link {
|
||||
title: String!
|
||||
url: String!
|
||||
description: String!
|
||||
type: LinkType!
|
||||
}
|
||||
|
||||
type User {
|
||||
username: String!
|
||||
discriminator: String!
|
||||
@@ -155,11 +148,9 @@ const typeDefs = gql`
|
||||
twitter_name: String
|
||||
custom_url: String
|
||||
}
|
||||
|
||||
type Token {
|
||||
value: String!
|
||||
}
|
||||
|
||||
enum Ability {
|
||||
CB
|
||||
LDE
|
||||
@@ -187,7 +178,6 @@ const typeDefs = gql`
|
||||
SS
|
||||
BRU
|
||||
}
|
||||
|
||||
type Build {
|
||||
id: ID!
|
||||
discord_id: String!
|
||||
@@ -198,7 +188,6 @@ const typeDefs = gql`
|
||||
shoes: [Ability!]!
|
||||
createdAt: String
|
||||
}
|
||||
|
||||
type Query {
|
||||
playerCount: Int!
|
||||
topTotalPlayers (amount: Int): [Player!]!
|
||||
@@ -223,7 +212,6 @@ const typeDefs = gql`
|
||||
searchForBuilds(discord_id: String!): [Build]!
|
||||
deleteBuild(id: ID!): Boolean
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
createUser(
|
||||
username: String!
|
||||
@@ -686,4 +674,4 @@ app.get('*', (req, res) => {
|
||||
const PORT = process.env.PORT || 3001
|
||||
app.listen({ port: PORT }, () => {
|
||||
console.log(`Server running on http://localhost:${PORT}${server.graphqlPath}`)
|
||||
})
|
||||
})
|
||||
|
||||
35
react-ui/src/components/Misc/HomePage.js
vendored
35
react-ui/src/components/Misc/HomePage.js
vendored
@@ -1,15 +1,42 @@
|
||||
import React from 'react'
|
||||
import { Header, Image } from 'semantic-ui-react'
|
||||
import rigBanner from '../img/misc/rigBanner.png'
|
||||
import { Link } from 'react-router-dom'
|
||||
import koshienBanner from '../img/misc/koshienBanner.png'
|
||||
|
||||
const HomePage = () => {
|
||||
return (
|
||||
<div style={{'textAlign': 'center'}}>
|
||||
<div>
|
||||
<div>
|
||||
<div style={{'textAlign': 'center'}}>
|
||||
<Header as='h2'>Welcome to sendou.ink!<Header sub>Competitive Splatoon Hub</Header></Header>
|
||||
</div>
|
||||
<div style={{'paddingTop': '20px'}}>
|
||||
<b><Link to='/maps'>Maplists</Link></b> - Generate a maplist to use when scrimming.
|
||||
You can choose the map pool to be used including monthly ranked maps or an upcoming event.
|
||||
Any maps you don't feel like you need to practice can be excluded from the pool.
|
||||
</div>
|
||||
<div style={{'paddingTop': '15px'}}>
|
||||
<b><Link to='/rotation'>Rotation</Link></b> - View upcoming Splatoon 2 rotations up to 24 hours in advance.
|
||||
Have some maps you'd rather not play in ranked? You can set those as unfavored maps (log in not required).
|
||||
If a rotation contains your unfavored maps you can easily tell at a glance.
|
||||
</div>
|
||||
<div style={{'paddingTop': '15px'}}>
|
||||
<b><Link to='/xleaderboard'>Leaderboards</Link></b> - Browse through X Rank Top 500 Leaderboards.
|
||||
There is a leaderboard for each weapon class where players are ranked by the average of their top four powers.
|
||||
</div>
|
||||
<div style={{'paddingTop': '15px'}}>
|
||||
<b><Link to='/xsearch'>Top 500 Search</Link></b> - Search through X Rank Top 500 results.
|
||||
You can choose any weapon to find out the top performing players with it.
|
||||
Another way is to search for a player name if you are curious how a specific player has performed in the past.
|
||||
</div>
|
||||
<div style={{'paddingTop': '15px'}}>
|
||||
<b><Link to='/links'>Links</Link></b> - Discover useful resources related to competitive Splatoon.
|
||||
</div>
|
||||
<div style={{'paddingTop': '15px'}}>
|
||||
If you <b>login</b> you can add gear builds on your user page. As a reference you can take a look at
|
||||
my <Link to='u/79237403620945920'>page.</Link>
|
||||
</div>
|
||||
<div style={{'paddingTop': '10px'}}>
|
||||
<Image rounded src={rigBanner} size='huge' centered/>
|
||||
<Image rounded src={koshienBanner} size='huge' centered/>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
8
react-ui/src/components/Misc/MainMenu.js
vendored
8
react-ui/src/components/Misc/MainMenu.js
vendored
@@ -2,7 +2,7 @@ import React, { useState } from 'react'
|
||||
import { Menu, Segment, Button, Image, Dropdown } from 'semantic-ui-react'
|
||||
import { useQuery } from 'react-apollo-hooks'
|
||||
import { userLean } from '../../graphql/queries/userLean'
|
||||
import { withRouter } from 'react-router-dom'
|
||||
import { withRouter, Link } from 'react-router-dom'
|
||||
import { memCakes } from '../../utils/lists'
|
||||
|
||||
const MainMenu = withRouter(({ history, menuSelection, setMenuSelection }) => {
|
||||
@@ -59,7 +59,9 @@ const MainMenu = withRouter(({ history, menuSelection, setMenuSelection }) => {
|
||||
<Segment inverted>
|
||||
<Menu inverted secondary stackable>
|
||||
<Menu.Item>
|
||||
<img src={process.env.PUBLIC_URL + `/memCakes/${memCakePic}`} alt="mem cake logo" onClick={() => setMemCakePic(memCakes[Math.floor(Math.random()*memCakes.length)])}/>
|
||||
<Link to='/'>
|
||||
<Image src={process.env.PUBLIC_URL + `/memCakes/${memCakePic}`} alt="mem cake logo" style={{'maxWidth': '25%', 'height': 'auto'}}/>
|
||||
</Link>
|
||||
</Menu.Item>
|
||||
<Menu.Item
|
||||
name='maplists'
|
||||
@@ -67,7 +69,7 @@ const MainMenu = withRouter(({ history, menuSelection, setMenuSelection }) => {
|
||||
onClick={() => { history.push('/maps') }}
|
||||
/>
|
||||
<Menu.Item
|
||||
name='rotations'
|
||||
name='rotation'
|
||||
active={menuSelection === 'rotations'}
|
||||
onClick={() => {
|
||||
history.push('/rotation')
|
||||
|
||||
BIN
react-ui/src/components/img/misc/koshienBanner.png
Normal file
BIN
react-ui/src/components/img/misc/koshienBanner.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 634 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB |
Reference in New Issue
Block a user