fix a load of linting issues

This commit is contained in:
41666 2019-04-03 02:10:43 -05:00
parent 928c9cf07c
commit 057e9f96b4
No known key found for this signature in database
GPG key ID: BC51D07640DC10AF
31 changed files with 375 additions and 411 deletions

View file

@ -3,7 +3,7 @@
// From: https://github.com/chalk/chalk/blob/master/index.js.flow // From: https://github.com/chalk/chalk/blob/master/index.js.flow
declare module "chalk" { declare module 'chalk' {
declare type TemplateStringsArray = $ReadOnlyArray<string>; declare type TemplateStringsArray = $ReadOnlyArray<string>;
declare type Level = $Values<{ declare type Level = $Values<{

View file

@ -23,7 +23,6 @@ declare module 'color' {
* needed. * needed.
*/ */
// Filename aliases // Filename aliases
declare module 'color/index' { declare module 'color/index' {
declare module.exports: $Exports<'color'>; declare module.exports: $Exports<'color'>;

View file

@ -1,7 +1,7 @@
// flow-typed signature: f6bad512110ebc6da85b1ddda297fe3d // flow-typed signature: f6bad512110ebc6da85b1ddda297fe3d
// flow-typed version: f04d291d8b/enzyme_v3.x.x/flow_>=v0.53.x // flow-typed version: f04d291d8b/enzyme_v3.x.x/flow_>=v0.53.x
declare module "enzyme" { declare module 'enzyme' {
declare type PredicateFunction<T: Wrapper<*>> = ( declare type PredicateFunction<T: Wrapper<*>> = (
wrapper: T, wrapper: T,
index: number index: number

View file

@ -1,6 +1,6 @@
// flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583 // flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583
// flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x // flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x
declare module "flow-bin" { declare module 'flow-bin' {
declare module.exports: string; declare module.exports: string;
} }

View file

@ -1,7 +1,7 @@
// flow-typed signature: 7c09aef8ac07163d6ef9e3f50c6bc35c // flow-typed signature: 7c09aef8ac07163d6ef9e3f50c6bc35c
// flow-typed version: a12a42a747/glob_v7.1.x/flow_>=v0.42.x // flow-typed version: a12a42a747/glob_v7.1.x/flow_>=v0.42.x
declare module "glob" { declare module 'glob' {
declare type MinimatchOptions = {| declare type MinimatchOptions = {|
debug?: boolean, debug?: boolean,
nobrace?: boolean, nobrace?: boolean,

View file

@ -23,7 +23,6 @@ declare module 'keygrip' {
* needed. * needed.
*/ */
// Filename aliases // Filename aliases
declare module 'keygrip/index' { declare module 'keygrip/index' {
declare module.exports: $Exports<'keygrip'>; declare module.exports: $Exports<'keygrip'>;

View file

@ -1,7 +1,7 @@
// flow-typed signature: db2ab32952e719c6656cef681be04c96 // flow-typed signature: db2ab32952e719c6656cef681be04c96
// flow-typed version: e969a7af52/koa-bodyparser_v4.x.x/flow_>=v0.56.x // flow-typed version: e969a7af52/koa-bodyparser_v4.x.x/flow_>=v0.56.x
declare module "koa-bodyparser" { declare module 'koa-bodyparser' {
declare type Context = Object; declare type Context = Object;
declare type Middleware = ( declare type Middleware = (

View file

@ -63,31 +63,31 @@ declare module 'koa' {
// if you meet some error here, temporarily add an additional annotation // if you meet some error here, temporarily add an additional annotation
// like: `request.accepts((['json', 'text']:Array<string>))` to fix it. // like: `request.accepts((['json', 'text']:Array<string>))` to fix it.
((arg: string, ...args: string[]) => string|false) & ((arg: string, ...args: string[]) => string|false) &
( () => string[] ) , // return the old value. (() => string[]), // return the old value.
// https://github.com/jshttp/accepts/blob/master/index.js#L153 // https://github.com/jshttp/accepts/blob/master/index.js#L153
// https://github.com/jshttp/accepts/blob/master/test/charset.js // https://github.com/jshttp/accepts/blob/master/test/charset.js
acceptsCharsets: ( (args: string[]) => buffer$Encoding|false)& acceptsCharsets: ((args: string[]) => buffer$Encoding|false)&
// ToDo: https://github.com/facebook/flow/issues/3009 // ToDo: https://github.com/facebook/flow/issues/3009
// if you meet some error here, see L70. // if you meet some error here, see L70.
( (arg: string, ...args: string[]) => buffer$Encoding|false ) & ((arg: string, ...args: string[]) => buffer$Encoding|false) &
( () => string[] ), (() => string[]),
// https://github.com/jshttp/accepts/blob/master/index.js#L119 // https://github.com/jshttp/accepts/blob/master/index.js#L119
// https://github.com/jshttp/accepts/blob/master/test/encoding.js // https://github.com/jshttp/accepts/blob/master/test/encoding.js
acceptsEncodings: ( (args: string[]) => string|false)& acceptsEncodings: ((args: string[]) => string|false)&
// ToDo: https://github.com/facebook/flow/issues/3009 // ToDo: https://github.com/facebook/flow/issues/3009
// if you meet some error here, see L70. // if you meet some error here, see L70.
( (arg: string, ...args: string[]) => string|false ) & ((arg: string, ...args: string[]) => string|false) &
( () => string[] ), (() => string[]),
// https://github.com/jshttp/accepts/blob/master/index.js#L185 // https://github.com/jshttp/accepts/blob/master/index.js#L185
// https://github.com/jshttp/accepts/blob/master/test/language.js // https://github.com/jshttp/accepts/blob/master/test/language.js
acceptsLanguages: ( (args: string[]) => string|false) & acceptsLanguages: ((args: string[]) => string|false) &
// ToDo: https://github.com/facebook/flow/issues/3009 // ToDo: https://github.com/facebook/flow/issues/3009
// if you meet some error here, see L70. // if you meet some error here, see L70.
( (arg: string, ...args: string[]) => string|false ) & ((arg: string, ...args: string[]) => string|false) &
( () => string[] ), (() => string[]),
get: (field: string) => string, get: (field: string) => string,
@ -98,9 +98,9 @@ declare module 'koa' {
* If there is no content type, `false` is returned. * If there is no content type, `false` is returned.
* Otherwise, it returns the first `type` that matches. * Otherwise, it returns the first `type` that matches.
*/ */
is: ( (args: string[]) => null|false|string)& is: ((args: string[]) => null|false|string)&
( (arg: string, ...args: string[]) => null|false|string ) & ((arg: string, ...args: string[]) => null|false|string) &
( () => string ), // should return the mime type (() => string), // should return the mime type
toJSON: () => RequestJSON, toJSON: () => RequestJSON,
inspect: () => RequestInspect, inspect: () => RequestInspect,
@ -149,9 +149,9 @@ declare module 'koa' {
get: (field: string) => string, get: (field: string) => string,
// https://github.com/jshttp/type-is/blob/master/test/test.js // https://github.com/jshttp/type-is/blob/master/test/test.js
// https://github.com/koajs/koa/blob/v2.x/lib/response.js#L382 // https://github.com/koajs/koa/blob/v2.x/lib/response.js#L382
is: ( (arg: string[]) => false|string) & is: ((arg: string[]) => false|string) &
( (arg: string, ...args: string[]) => false|string ) & ((arg: string, ...args: string[]) => false|string) &
( () => string ), // should return the mime type (() => string), // should return the mime type
redirect: (url: string, alt?: string) => void, redirect: (url: string, alt?: string) => void,
remove: (field: string) => void, remove: (field: string) => void,
// https://github.com/koajs/koa/blob/v2.x/lib/response.js#L418 // https://github.com/koajs/koa/blob/v2.x/lib/response.js#L418
@ -180,7 +180,7 @@ declare module 'koa' {
declare type CookiesSetOptions = { declare type CookiesSetOptions = {
domain: string, // domain of the cookie (no default). domain: string, // domain of the cookie (no default).
maxAge: number, // milliseconds from Date.now() for expiry maxAge: number, // milliseconds from Date.now() for expiry
expires?: Date, //cookie's expiration date (expires at the end of session by default). expires?: Date, // cookie's expiration date (expires at the end of session by default).
path?: string, // the path of the cookie (/ by default). path?: string, // the path of the cookie (/ by default).
secure?: boolean, // false by default for HTTP, true by default for HTTPS secure?: boolean, // false by default for HTTP, true by default for HTTPS
httpOnly?: boolean, // a boolean indicating whether the cookie is only to be sent over HTTP(S), httpOnly?: boolean, // a boolean indicating whether the cookie is only to be sent over HTTP(S),
@ -192,7 +192,7 @@ declare module 'koa' {
get: (name: string, options?: {signed: boolean}) => string|void, get: (name: string, options?: {signed: boolean}) => string|void,
set: ((name: string, value: string, options?: CookiesSetOptions) => Context)& set: ((name: string, value: string, options?: CookiesSetOptions) => Context)&
// delete cookie (an outbound header with an expired date is used.) // delete cookie (an outbound header with an expired date is used.)
( (name: string) => Context), ((name: string) => Context),
}; };
// The default props of context come from two files // The default props of context come from two files
// `application.createContext` & `context.js` // `application.createContext` & `context.js`
@ -215,9 +215,9 @@ declare module 'koa' {
// if (!(err instanceof Error)) err = new Error(`non-error thrown: ${err}`); // if (!(err instanceof Error)) err = new Error(`non-error thrown: ${err}`);
onerror: (err?: mixed) => void, onerror: (err?: mixed) => void,
// context.js#L70 // context.js#L70
throw: (( statusOrErr: string|number|Error, errOrStatus?: string|number|Error, throw: ((statusOrErr: string|number|Error, errOrStatus?: string|number|Error,
opts?: {}) => void) & opts?: {}) => void) &
(( statusOrErr: string|number|Error, opts?: Object) => void), ((statusOrErr: string|number|Error, opts?: Object) => void),
toJSON(): ContextJSON, toJSON(): ContextJSON,
inspect(): ContextJSON, inspect(): ContextJSON,

View file

@ -23,7 +23,6 @@ declare module 'lru-cache' {
* needed. * needed.
*/ */
// Filename aliases // Filename aliases
declare module 'lru-cache/index' { declare module 'lru-cache/index' {
declare module.exports: $Exports<'lru-cache'>; declare module.exports: $Exports<'lru-cache'>;

View file

@ -373,6 +373,6 @@ declare class moment$Moment {
static invalid(object: any): moment$Moment; static invalid(object: any): moment$Moment;
} }
declare module "moment" { declare module 'moment' {
declare module.exports: Class<moment$Moment>; declare module.exports: Class<moment$Moment>;
} }

View file

@ -52,15 +52,15 @@ declare module pg {
log: Function, log: Function,
// node-postgres Client ------ // node-postgres Client ------
//database connection string to define some other config parameters // database connection string to define some other config parameters
connectionString: string, connectionString: string,
//database user's name // database user's name
user: string, user: string,
//name of database to connect // name of database to connect
database: string, database: string,
//database user's password // database user's password
password: string, password: string,
//database port // database port
port: number, port: number,
// database host. defaults to localhost // database host. defaults to localhost
host?: string, host?: string,
@ -89,16 +89,16 @@ declare module pg {
release(error?: mixed): void, release(error?: mixed): void,
query: query:
( <T: QuerySubmittableConfig>(query: T, callback?: QueryCallback) => T ) & (<T: QuerySubmittableConfig>(query: T, callback?: QueryCallback) => T) &
( (query: QueryConfig|string, callback?: QueryCallback) => Query ) & ((query: QueryConfig|string, callback?: QueryCallback) => Query) &
( (text: string, values: Array<any>, callback?: QueryCallback) => Query ), ((text: string, values: Array<any>, callback?: QueryCallback) => Query),
on: on:
((event: 'drain', listener: () => void) => events$EventEmitter )& ((event: 'drain', listener: () => void) => events$EventEmitter)&
((event: 'error', listener: (err: PG_ERROR) => void) => events$EventEmitter )& ((event: 'error', listener: (err: PG_ERROR) => void) => events$EventEmitter)&
((event: 'notification', listener: (message: any) => void) => events$EventEmitter )& ((event: 'notification', listener: (message: any) => void) => events$EventEmitter)&
((event: 'notice', listener: (message: any) => void) => events$EventEmitter )& ((event: 'notice', listener: (message: any) => void) => events$EventEmitter)&
((event: 'end', listener: () => void) => events$EventEmitter ), ((event: 'end', listener: () => void) => events$EventEmitter),
} }
declare type PoolConnectCallback = (error: PG_ERROR|null, declare type PoolConnectCallback = (error: PG_ERROR|null,
@ -117,8 +117,8 @@ declare module pg {
// And there is a flow(<0.34) issue here, when Array<mixed>, // And there is a flow(<0.34) issue here, when Array<mixed>,
// the overloading will not work // the overloading will not work
query: query:
( (query: QueryConfig|string, callback?: QueryCallback) => Promise<ResultSet> ) & ((query: QueryConfig|string, callback?: QueryCallback) => Promise<ResultSet>) &
( (text: string, values: Array<any>, callback?: QueryCallback) => Promise<ResultSet>); ((text: string, values: Array<any>, callback?: QueryCallback) => Promise<ResultSet>);
/* flow issue: https://github.com/facebook/flow/issues/2423 /* flow issue: https://github.com/facebook/flow/issues/2423
* When this fixed, this overloading can be used. * When this fixed, this overloading can be used.
@ -134,7 +134,6 @@ declare module pg {
// <<------------- copy from 'pg-pool' ------------------------------ // <<------------- copy from 'pg-pool' ------------------------------
// error // error
declare type PG_ERROR = { declare type PG_ERROR = {
name: string, name: string,
@ -158,13 +157,13 @@ declare module pg {
}; };
declare type ClientConfig = { declare type ClientConfig = {
//database user's name // database user's name
user?: string, user?: string,
//name of database to connect // name of database to connect
database?: string, database?: string,
//database user's password // database user's password
password?: string, password?: string,
//database port // database port
port?: number, port?: number,
// database host. defaults to localhost // database host. defaults to localhost
host?: string, host?: string,
@ -232,9 +231,9 @@ declare module pg {
): Promise<U>; ): Promise<U>;
on : on :
((event: 'row', listener: (row: Row, result: ResultBuilder) => void) => events$EventEmitter )& ((event: 'row', listener: (row: Row, result: ResultBuilder) => void) => events$EventEmitter)&
((event: 'end', listener: (result: ResultBuilder) => void) => events$EventEmitter )& ((event: 'end', listener: (result: ResultBuilder) => void) => events$EventEmitter)&
((event: 'error', listener: (err: PG_ERROR) => void) => events$EventEmitter ); ((event: 'error', listener: (err: PG_ERROR) => void) => events$EventEmitter);
} }
/* /*
@ -254,16 +253,16 @@ declare module pg {
escapeIdentifier(str: string): string; escapeIdentifier(str: string): string;
query: query:
( <T: QuerySubmittableConfig>(query: T, callback?: QueryCallback) => T ) & (<T: QuerySubmittableConfig>(query: T, callback?: QueryCallback) => T) &
( (query: QueryConfig|string, callback?: QueryCallback) => Query ) & ((query: QueryConfig|string, callback?: QueryCallback) => Query) &
( (text: string, values: Array<any>, callback?: QueryCallback) => Query ); ((text: string, values: Array<any>, callback?: QueryCallback) => Query);
on: on:
((event: 'drain', listener: () => void) => this )& ((event: 'drain', listener: () => void) => this)&
((event: 'error', listener: (err: PG_ERROR) => void) => this )& ((event: 'error', listener: (err: PG_ERROR) => void) => this)&
((event: 'notification', listener: (message: any) => void) => this )& ((event: 'notification', listener: (message: any) => void) => this)&
((event: 'notice', listener: (message: any) => void) => this )& ((event: 'notice', listener: (message: any) => void) => this)&
((event: 'end', listener: () => void) => this ); ((event: 'end', listener: () => void) => this);
} }
/* /*
@ -273,11 +272,11 @@ declare module pg {
declare type TypeParserBinary = (value: Buffer) => any; declare type TypeParserBinary = (value: Buffer) => any;
declare type Types = { declare type Types = {
getTypeParser: getTypeParser:
((oid: number, format?: 'text') => TypeParserText )& ((oid: number, format?: 'text') => TypeParserText)&
((oid: number, format: 'binary') => TypeParserBinary ); ((oid: number, format: 'binary') => TypeParserBinary);
setTypeParser: setTypeParser:
((oid: number, format?: 'text', parseFn: TypeParserText) => void )& ((oid: number, format?: 'text', parseFn: TypeParserText) => void)&
((oid: number, format: 'binary', parseFn: TypeParserBinary) => void)& ((oid: number, format: 'binary', parseFn: TypeParserBinary) => void)&
((oid: number, parseFn: TypeParserText) => void), ((oid: number, parseFn: TypeParserText) => void),
} }
@ -289,7 +288,7 @@ declare module pg {
types: Types; types: Types;
Client: Class<Client>; Client: Class<Client>;
Pool: Class<Pool>; Pool: Class<Pool>;
Connection: mixed; //Connection is used internally by the Client. Connection: mixed; // Connection is used internally by the Client.
constructor(client: Client): void; constructor(client: Client): void;
native: { // native binding, have the same capability like PG native: { // native binding, have the same capability like PG
types: Types; types: Types;

View file

@ -47,7 +47,7 @@ type TestRendererOptions = {
createNodeMock(element: React$Element<any>): any createNodeMock(element: React$Element<any>): any
}; };
declare module "react-test-renderer" { declare module 'react-test-renderer' {
declare export type ReactTestRenderer = { declare export type ReactTestRenderer = {
toJSON(): null | ReactTestRendererJSON, toJSON(): null | ReactTestRendererJSON,
toTree(): null | ReactTestRendererTree, toTree(): null | ReactTestRendererTree,
@ -69,7 +69,7 @@ declare module "react-test-renderer" {
declare function act(callback: () => void): Thenable; declare function act(callback: () => void): Thenable;
} }
declare module "react-test-renderer/shallow" { declare module 'react-test-renderer/shallow' {
declare export default class ShallowRenderer { declare export default class ShallowRenderer {
static createRenderer(): ShallowRenderer; static createRenderer(): ShallowRenderer;
getMountedInstance(): ReactTestInstance; getMountedInstance(): ReactTestInstance;

View file

@ -1,8 +1,8 @@
// flow-typed signature: 263123e4b3d2cb666a60f721c2da5354 // flow-typed signature: 263123e4b3d2cb666a60f721c2da5354
// flow-typed version: e1af06321a/redux-devtools-extension_v2.x.x/flow_>=v0.47.x // flow-typed version: e1af06321a/redux-devtools-extension_v2.x.x/flow_>=v0.47.x
import type { ActionCreator, StoreEnhancer } from 'redux'; import type { ActionCreator, StoreEnhancer } from 'redux'
import typeof { compose } from 'redux'; import typeof { compose } from 'redux'
declare type $npm$ReduxDevtoolsExtension$DevToolsOptions = { declare type $npm$ReduxDevtoolsExtension$DevToolsOptions = {
name?: string, name?: string,

View file

@ -4,7 +4,6 @@
// @flow // @flow
declare module 'styled-components' { declare module 'styled-components' {
declare export type Interpolation = declare export type Interpolation =
| (<P: {}>(executionContext: P) => string) | (<P: {}>(executionContext: P) => string)
| CSSRules | CSSRules
@ -12,7 +11,6 @@ declare module 'styled-components' {
| string | string
| number | number
declare export type CSSRules = Interpolation[] declare export type CSSRules = Interpolation[]
// This is not exported on purpose, since it's an implementation detail // This is not exported on purpose, since it's an implementation detail
@ -92,8 +90,7 @@ declare module 'styled-components' {
// This is a bit hard to read. Not sure how to make it more readable. I think adding line-breaks makes it worse. // This is a bit hard to read. Not sure how to make it more readable. I think adding line-breaks makes it worse.
declare type InjectedProps = { theme : Theme | void } declare type InjectedProps = { theme : Theme | void }
declare export function withTheme<Props : {}, Component: React$ComponentType<Props>>(WrappedComponent: Component) : React$ComponentType<$Diff<React$ElementConfig<$Supertype<Component>>, InjectedProps>>; declare export function withTheme<Props : {}, Component: React$ComponentType<Props>>(WrappedComponent: Component) : React$ComponentType<$Diff<React$ElementConfig<$Supertype<Component>>, InjectedProps>>;
// @HACK This is a cheat to hide that the underlying type is "just a string" // @HACK This is a cheat to hide that the underlying type is "just a string"
// once we know of a better way, we should be able to update this accordingly. // once we know of a better way, we should be able to update this accordingly.
@ -106,140 +103,140 @@ declare module 'styled-components' {
}; };
declare type StyledComponentList = { declare type StyledComponentList = {
a: StyledComponentType<StyledElementType<'a'>>, a: StyledComponentType<StyledElementType<'a'>>,
abbr: StyledComponentType<StyledElementType<'abbr'>>, abbr: StyledComponentType<StyledElementType<'abbr'>>,
address: StyledComponentType<StyledElementType<'address'>>, address: StyledComponentType<StyledElementType<'address'>>,
area: StyledComponentType<StyledElementType<'area'>>, area: StyledComponentType<StyledElementType<'area'>>,
article: StyledComponentType<StyledElementType<'article'>>, article: StyledComponentType<StyledElementType<'article'>>,
aside: StyledComponentType<StyledElementType<'aside'>>, aside: StyledComponentType<StyledElementType<'aside'>>,
audio: StyledComponentType<StyledElementType<'audio'>>, audio: StyledComponentType<StyledElementType<'audio'>>,
b: StyledComponentType<StyledElementType<'b'>>, b: StyledComponentType<StyledElementType<'b'>>,
base: StyledComponentType<StyledElementType<'base'>>, base: StyledComponentType<StyledElementType<'base'>>,
bdi: StyledComponentType<StyledElementType<'bdi'>>, bdi: StyledComponentType<StyledElementType<'bdi'>>,
bdo: StyledComponentType<StyledElementType<'bdo'>>, bdo: StyledComponentType<StyledElementType<'bdo'>>,
big: StyledComponentType<StyledElementType<'big'>>, big: StyledComponentType<StyledElementType<'big'>>,
blockquote: StyledComponentType<StyledElementType<'blockquote'>>, blockquote: StyledComponentType<StyledElementType<'blockquote'>>,
body: StyledComponentType<StyledElementType<'body'>>, body: StyledComponentType<StyledElementType<'body'>>,
br: StyledComponentType<StyledElementType<'br'>>, br: StyledComponentType<StyledElementType<'br'>>,
button: StyledComponentType<StyledElementType<'button'>>, button: StyledComponentType<StyledElementType<'button'>>,
canvas: StyledComponentType<StyledElementType<'canvas'>>, canvas: StyledComponentType<StyledElementType<'canvas'>>,
caption: StyledComponentType<StyledElementType<'caption'>>, caption: StyledComponentType<StyledElementType<'caption'>>,
cite: StyledComponentType<StyledElementType<'cite'>>, cite: StyledComponentType<StyledElementType<'cite'>>,
code: StyledComponentType<StyledElementType<'code'>>, code: StyledComponentType<StyledElementType<'code'>>,
col: StyledComponentType<StyledElementType<'col'>>, col: StyledComponentType<StyledElementType<'col'>>,
colgroup: StyledComponentType<StyledElementType<'colgroup'>>, colgroup: StyledComponentType<StyledElementType<'colgroup'>>,
data: StyledComponentType<StyledElementType<'data'>>, data: StyledComponentType<StyledElementType<'data'>>,
datalist: StyledComponentType<StyledElementType<'datalist'>>, datalist: StyledComponentType<StyledElementType<'datalist'>>,
dd: StyledComponentType<StyledElementType<'dd'>>, dd: StyledComponentType<StyledElementType<'dd'>>,
del: StyledComponentType<StyledElementType<'del'>>, del: StyledComponentType<StyledElementType<'del'>>,
details: StyledComponentType<StyledElementType<'details'>>, details: StyledComponentType<StyledElementType<'details'>>,
dfn: StyledComponentType<StyledElementType<'dfn'>>, dfn: StyledComponentType<StyledElementType<'dfn'>>,
dialog: StyledComponentType<StyledElementType<'dialog'>>, dialog: StyledComponentType<StyledElementType<'dialog'>>,
div: StyledComponentType<StyledElementType<'div'>>, div: StyledComponentType<StyledElementType<'div'>>,
dl: StyledComponentType<StyledElementType<'dl'>>, dl: StyledComponentType<StyledElementType<'dl'>>,
dt: StyledComponentType<StyledElementType<'dt'>>, dt: StyledComponentType<StyledElementType<'dt'>>,
em: StyledComponentType<StyledElementType<'em'>>, em: StyledComponentType<StyledElementType<'em'>>,
embed: StyledComponentType<StyledElementType<'embed'>>, embed: StyledComponentType<StyledElementType<'embed'>>,
fieldset: StyledComponentType<StyledElementType<'fieldset'>>, fieldset: StyledComponentType<StyledElementType<'fieldset'>>,
figcaption: StyledComponentType<StyledElementType<'figcaption'>>, figcaption: StyledComponentType<StyledElementType<'figcaption'>>,
figure: StyledComponentType<StyledElementType<'figure'>>, figure: StyledComponentType<StyledElementType<'figure'>>,
footer: StyledComponentType<StyledElementType<'footer'>>, footer: StyledComponentType<StyledElementType<'footer'>>,
form: StyledComponentType<StyledElementType<'form'>>, form: StyledComponentType<StyledElementType<'form'>>,
h1: StyledComponentType<StyledElementType<'h1'>>, h1: StyledComponentType<StyledElementType<'h1'>>,
h2: StyledComponentType<StyledElementType<'h2'>>, h2: StyledComponentType<StyledElementType<'h2'>>,
h3: StyledComponentType<StyledElementType<'h3'>>, h3: StyledComponentType<StyledElementType<'h3'>>,
h4: StyledComponentType<StyledElementType<'h4'>>, h4: StyledComponentType<StyledElementType<'h4'>>,
h5: StyledComponentType<StyledElementType<'h5'>>, h5: StyledComponentType<StyledElementType<'h5'>>,
h6: StyledComponentType<StyledElementType<'h6'>>, h6: StyledComponentType<StyledElementType<'h6'>>,
head: StyledComponentType<StyledElementType<'head'>>, head: StyledComponentType<StyledElementType<'head'>>,
header: StyledComponentType<StyledElementType<'header'>>, header: StyledComponentType<StyledElementType<'header'>>,
hgroup: StyledComponentType<StyledElementType<'hgroup'>>, hgroup: StyledComponentType<StyledElementType<'hgroup'>>,
hr: StyledComponentType<StyledElementType<'hr'>>, hr: StyledComponentType<StyledElementType<'hr'>>,
html: StyledComponentType<StyledElementType<'html'>>, html: StyledComponentType<StyledElementType<'html'>>,
i: StyledComponentType<StyledElementType<'i'>>, i: StyledComponentType<StyledElementType<'i'>>,
iframe: StyledComponentType<StyledElementType<'iframe'>>, iframe: StyledComponentType<StyledElementType<'iframe'>>,
img: StyledComponentType<StyledElementType<'img'>>, img: StyledComponentType<StyledElementType<'img'>>,
input: StyledComponentType<StyledElementType<'input'>>, input: StyledComponentType<StyledElementType<'input'>>,
ins: StyledComponentType<StyledElementType<'ins'>>, ins: StyledComponentType<StyledElementType<'ins'>>,
kbd: StyledComponentType<StyledElementType<'kbd'>>, kbd: StyledComponentType<StyledElementType<'kbd'>>,
keygen: StyledComponentType<StyledElementType<'keygen'>>, keygen: StyledComponentType<StyledElementType<'keygen'>>,
label: StyledComponentType<StyledElementType<'label'>>, label: StyledComponentType<StyledElementType<'label'>>,
legend: StyledComponentType<StyledElementType<'legend'>>, legend: StyledComponentType<StyledElementType<'legend'>>,
li: StyledComponentType<StyledElementType<'li'>>, li: StyledComponentType<StyledElementType<'li'>>,
link: StyledComponentType<StyledElementType<'link'>>, link: StyledComponentType<StyledElementType<'link'>>,
main: StyledComponentType<StyledElementType<'main'>>, main: StyledComponentType<StyledElementType<'main'>>,
map: StyledComponentType<StyledElementType<'map'>>, map: StyledComponentType<StyledElementType<'map'>>,
mark: StyledComponentType<StyledElementType<'mark'>>, mark: StyledComponentType<StyledElementType<'mark'>>,
menu: StyledComponentType<StyledElementType<'menu'>>, menu: StyledComponentType<StyledElementType<'menu'>>,
menuitem: StyledComponentType<StyledElementType<'menuitem'>>, menuitem: StyledComponentType<StyledElementType<'menuitem'>>,
meta: StyledComponentType<StyledElementType<'meta'>>, meta: StyledComponentType<StyledElementType<'meta'>>,
meter: StyledComponentType<StyledElementType<'meter'>>, meter: StyledComponentType<StyledElementType<'meter'>>,
nav: StyledComponentType<StyledElementType<'nav'>>, nav: StyledComponentType<StyledElementType<'nav'>>,
noscript: StyledComponentType<StyledElementType<'noscript'>>, noscript: StyledComponentType<StyledElementType<'noscript'>>,
object: StyledComponentType<StyledElementType<'object'>>, object: StyledComponentType<StyledElementType<'object'>>,
ol: StyledComponentType<StyledElementType<'ol'>>, ol: StyledComponentType<StyledElementType<'ol'>>,
optgroup: StyledComponentType<StyledElementType<'optgroup'>>, optgroup: StyledComponentType<StyledElementType<'optgroup'>>,
option: StyledComponentType<StyledElementType<'option'>>, option: StyledComponentType<StyledElementType<'option'>>,
output: StyledComponentType<StyledElementType<'output'>>, output: StyledComponentType<StyledElementType<'output'>>,
p: StyledComponentType<StyledElementType<'p'>>, p: StyledComponentType<StyledElementType<'p'>>,
param: StyledComponentType<StyledElementType<'param'>>, param: StyledComponentType<StyledElementType<'param'>>,
picture: StyledComponentType<StyledElementType<'picture'>>, picture: StyledComponentType<StyledElementType<'picture'>>,
pre: StyledComponentType<StyledElementType<'pre'>>, pre: StyledComponentType<StyledElementType<'pre'>>,
progress: StyledComponentType<StyledElementType<'progress'>>, progress: StyledComponentType<StyledElementType<'progress'>>,
q: StyledComponentType<StyledElementType<'q'>>, q: StyledComponentType<StyledElementType<'q'>>,
rp: StyledComponentType<StyledElementType<'rp'>>, rp: StyledComponentType<StyledElementType<'rp'>>,
rt: StyledComponentType<StyledElementType<'rt'>>, rt: StyledComponentType<StyledElementType<'rt'>>,
ruby: StyledComponentType<StyledElementType<'ruby'>>, ruby: StyledComponentType<StyledElementType<'ruby'>>,
s: StyledComponentType<StyledElementType<'s'>>, s: StyledComponentType<StyledElementType<'s'>>,
samp: StyledComponentType<StyledElementType<'samp'>>, samp: StyledComponentType<StyledElementType<'samp'>>,
script: StyledComponentType<StyledElementType<'script'>>, script: StyledComponentType<StyledElementType<'script'>>,
section: StyledComponentType<StyledElementType<'section'>>, section: StyledComponentType<StyledElementType<'section'>>,
select: StyledComponentType<StyledElementType<'select'>>, select: StyledComponentType<StyledElementType<'select'>>,
small: StyledComponentType<StyledElementType<'small'>>, small: StyledComponentType<StyledElementType<'small'>>,
source: StyledComponentType<StyledElementType<'source'>>, source: StyledComponentType<StyledElementType<'source'>>,
span: StyledComponentType<StyledElementType<'span'>>, span: StyledComponentType<StyledElementType<'span'>>,
strong: StyledComponentType<StyledElementType<'strong'>>, strong: StyledComponentType<StyledElementType<'strong'>>,
style: StyledComponentType<StyledElementType<'style'>>, style: StyledComponentType<StyledElementType<'style'>>,
sub: StyledComponentType<StyledElementType<'sub'>>, sub: StyledComponentType<StyledElementType<'sub'>>,
summary: StyledComponentType<StyledElementType<'summary'>>, summary: StyledComponentType<StyledElementType<'summary'>>,
sup: StyledComponentType<StyledElementType<'sup'>>, sup: StyledComponentType<StyledElementType<'sup'>>,
table: StyledComponentType<StyledElementType<'table'>>, table: StyledComponentType<StyledElementType<'table'>>,
tbody: StyledComponentType<StyledElementType<'tbody'>>, tbody: StyledComponentType<StyledElementType<'tbody'>>,
td: StyledComponentType<StyledElementType<'td'>>, td: StyledComponentType<StyledElementType<'td'>>,
textarea: StyledComponentType<StyledElementType<'textarea'>>, textarea: StyledComponentType<StyledElementType<'textarea'>>,
tfoot: StyledComponentType<StyledElementType<'tfoot'>>, tfoot: StyledComponentType<StyledElementType<'tfoot'>>,
th: StyledComponentType<StyledElementType<'th'>>, th: StyledComponentType<StyledElementType<'th'>>,
thead: StyledComponentType<StyledElementType<'thead'>>, thead: StyledComponentType<StyledElementType<'thead'>>,
time: StyledComponentType<StyledElementType<'time'>>, time: StyledComponentType<StyledElementType<'time'>>,
title: StyledComponentType<StyledElementType<'title'>>, title: StyledComponentType<StyledElementType<'title'>>,
tr: StyledComponentType<StyledElementType<'tr'>>, tr: StyledComponentType<StyledElementType<'tr'>>,
track: StyledComponentType<StyledElementType<'track'>>, track: StyledComponentType<StyledElementType<'track'>>,
u: StyledComponentType<StyledElementType<'u'>>, u: StyledComponentType<StyledElementType<'u'>>,
ul: StyledComponentType<StyledElementType<'ul'>>, ul: StyledComponentType<StyledElementType<'ul'>>,
var: StyledComponentType<StyledElementType<'var'>>, var: StyledComponentType<StyledElementType<'var'>>,
video: StyledComponentType<StyledElementType<'video'>>, video: StyledComponentType<StyledElementType<'video'>>,
wbr: StyledComponentType<StyledElementType<'wbr'>>, wbr: StyledComponentType<StyledElementType<'wbr'>>,
// SVG // SVG
circle: StyledComponentType<StyledElementType<'circle'>>, circle: StyledComponentType<StyledElementType<'circle'>>,
clipPath: StyledComponentType<StyledElementType<'clipPath'>>, clipPath: StyledComponentType<StyledElementType<'clipPath'>>,
defs: StyledComponentType<StyledElementType<'defs'>>, defs: StyledComponentType<StyledElementType<'defs'>>,
ellipse: StyledComponentType<StyledElementType<'ellipse'>>, ellipse: StyledComponentType<StyledElementType<'ellipse'>>,
g: StyledComponentType<StyledElementType<'g'>>, g: StyledComponentType<StyledElementType<'g'>>,
image: StyledComponentType<StyledElementType<'image'>>, image: StyledComponentType<StyledElementType<'image'>>,
line: StyledComponentType<StyledElementType<'line'>>, line: StyledComponentType<StyledElementType<'line'>>,
linearGradient: StyledComponentType<StyledElementType<'linearGradient'>>, linearGradient: StyledComponentType<StyledElementType<'linearGradient'>>,
mask: StyledComponentType<StyledElementType<'mask'>>, mask: StyledComponentType<StyledElementType<'mask'>>,
path: StyledComponentType<StyledElementType<'path'>>, path: StyledComponentType<StyledElementType<'path'>>,
pattern: StyledComponentType<StyledElementType<'pattern'>>, pattern: StyledComponentType<StyledElementType<'pattern'>>,
polygon: StyledComponentType<StyledElementType<'polygon'>>, polygon: StyledComponentType<StyledElementType<'polygon'>>,
polyline: StyledComponentType<StyledElementType<'polyline'>>, polyline: StyledComponentType<StyledElementType<'polyline'>>,
radialGradient: StyledComponentType<StyledElementType<'radialGradient'>>, radialGradient: StyledComponentType<StyledElementType<'radialGradient'>>,
rect: StyledComponentType<StyledElementType<'rect'>>, rect: StyledComponentType<StyledElementType<'rect'>>,
stop: StyledComponentType<StyledElementType<'stop'>>, stop: StyledComponentType<StyledElementType<'stop'>>,
svg: StyledComponentType<StyledElementType<'svg'>>, svg: StyledComponentType<StyledElementType<'svg'>>,
text: StyledComponentType<StyledElementType<'text'>>, text: StyledComponentType<StyledElementType<'text'>>,
tspan: StyledComponentType<StyledElementType<'tspan'>> tspan: StyledComponentType<StyledElementType<'tspan'>>
} }
declare export default StyledComponentList & { declare export default StyledComponentList & {
@ -248,10 +245,7 @@ declare module 'styled-components' {
}; };
} }
declare module 'styled-components/native' { declare module 'styled-components/native' {
declare export type Interpolation = declare export type Interpolation =
| (<P: {}>(executionContext: P) => string) | (<P: {}>(executionContext: P) => string)
| CSSRules | CSSRules
@ -259,7 +253,6 @@ declare module 'styled-components/native' {
| string | string
| number | number
declare export type CSSRules = Interpolation[] declare export type CSSRules = Interpolation[]
// This is not exported on purpose, since it's an implementation detail // This is not exported on purpose, since it's an implementation detail
@ -339,8 +332,7 @@ declare module 'styled-components/native' {
// This is a bit hard to read. Not sure how to make it more readable. I think adding line-breaks makes it worse. // This is a bit hard to read. Not sure how to make it more readable. I think adding line-breaks makes it worse.
declare type InjectedProps = { theme : Theme | void } declare type InjectedProps = { theme : Theme | void }
declare export function withTheme<Props : {}, Component: React$ComponentType<Props>>(WrappedComponent: Component) : React$ComponentType<$Diff<React$ElementConfig<$Supertype<Component>>, InjectedProps>>; declare export function withTheme<Props : {}, Component: React$ComponentType<Props>>(WrappedComponent: Component) : React$ComponentType<$Diff<React$ElementConfig<$Supertype<Component>>, InjectedProps>>;
// @HACK This is a cheat to hide that the underlying type is "just a string" // @HACK This is a cheat to hide that the underlying type is "just a string"
// once we know of a better way, we should be able to update this accordingly. // once we know of a better way, we should be able to update this accordingly.
@ -353,54 +345,54 @@ declare module 'styled-components/native' {
}; };
declare type StyledComponentList = { declare type StyledComponentList = {
ActivityIndicator: StyledComponentType<React$ComponentType<{}>>, ActivityIndicator: StyledComponentType<React$ComponentType<{}>>,
ActivityIndicatorIOS: StyledComponentType<React$ComponentType<{}>>, ActivityIndicatorIOS: StyledComponentType<React$ComponentType<{}>>,
ART: StyledComponentType<React$ComponentType<{}>>, ART: StyledComponentType<React$ComponentType<{}>>,
Button: StyledComponentType<React$ComponentType<{}>>, Button: StyledComponentType<React$ComponentType<{}>>,
DatePickerIOS: StyledComponentType<React$ComponentType<{}>>, DatePickerIOS: StyledComponentType<React$ComponentType<{}>>,
DrawerLayoutAndroid: StyledComponentType<React$ComponentType<{}>>, DrawerLayoutAndroid: StyledComponentType<React$ComponentType<{}>>,
Image: StyledComponentType<React$ComponentType<{}>>, Image: StyledComponentType<React$ComponentType<{}>>,
ImageBackground: StyledComponentType<React$ComponentType<{}>>, ImageBackground: StyledComponentType<React$ComponentType<{}>>,
ImageEditor: StyledComponentType<React$ComponentType<{}>>, ImageEditor: StyledComponentType<React$ComponentType<{}>>,
ImageStore: StyledComponentType<React$ComponentType<{}>>, ImageStore: StyledComponentType<React$ComponentType<{}>>,
KeyboardAvoidingView: StyledComponentType<React$ComponentType<{}>>, KeyboardAvoidingView: StyledComponentType<React$ComponentType<{}>>,
ListView: StyledComponentType<React$ComponentType<{}>>, ListView: StyledComponentType<React$ComponentType<{}>>,
MapView: StyledComponentType<React$ComponentType<{}>>, MapView: StyledComponentType<React$ComponentType<{}>>,
Modal: StyledComponentType<React$ComponentType<{}>>, Modal: StyledComponentType<React$ComponentType<{}>>,
NavigatorIOS: StyledComponentType<React$ComponentType<{}>>, NavigatorIOS: StyledComponentType<React$ComponentType<{}>>,
Picker: StyledComponentType<React$ComponentType<{}>>, Picker: StyledComponentType<React$ComponentType<{}>>,
PickerIOS: StyledComponentType<React$ComponentType<{}>>, PickerIOS: StyledComponentType<React$ComponentType<{}>>,
ProgressBarAndroid: StyledComponentType<React$ComponentType<{}>>, ProgressBarAndroid: StyledComponentType<React$ComponentType<{}>>,
ProgressViewIOS: StyledComponentType<React$ComponentType<{}>>, ProgressViewIOS: StyledComponentType<React$ComponentType<{}>>,
ScrollView: StyledComponentType<React$ComponentType<{}>>, ScrollView: StyledComponentType<React$ComponentType<{}>>,
SegmentedControlIOS: StyledComponentType<React$ComponentType<{}>>, SegmentedControlIOS: StyledComponentType<React$ComponentType<{}>>,
Slider: StyledComponentType<React$ComponentType<{}>>, Slider: StyledComponentType<React$ComponentType<{}>>,
SliderIOS: StyledComponentType<React$ComponentType<{}>>, SliderIOS: StyledComponentType<React$ComponentType<{}>>,
SnapshotViewIOS: StyledComponentType<React$ComponentType<{}>>, SnapshotViewIOS: StyledComponentType<React$ComponentType<{}>>,
Switch: StyledComponentType<React$ComponentType<{}>>, Switch: StyledComponentType<React$ComponentType<{}>>,
RecyclerViewBackedScrollView: StyledComponentType<React$ComponentType<{}>>, RecyclerViewBackedScrollView: StyledComponentType<React$ComponentType<{}>>,
RefreshControl: StyledComponentType<React$ComponentType<{}>>, RefreshControl: StyledComponentType<React$ComponentType<{}>>,
SafeAreaView: StyledComponentType<React$ComponentType<{}>>, SafeAreaView: StyledComponentType<React$ComponentType<{}>>,
StatusBar: StyledComponentType<React$ComponentType<{}>>, StatusBar: StyledComponentType<React$ComponentType<{}>>,
SwipeableListView: StyledComponentType<React$ComponentType<{}>>, SwipeableListView: StyledComponentType<React$ComponentType<{}>>,
SwitchAndroid: StyledComponentType<React$ComponentType<{}>>, SwitchAndroid: StyledComponentType<React$ComponentType<{}>>,
SwitchIOS: StyledComponentType<React$ComponentType<{}>>, SwitchIOS: StyledComponentType<React$ComponentType<{}>>,
TabBarIOS: StyledComponentType<React$ComponentType<{}>>, TabBarIOS: StyledComponentType<React$ComponentType<{}>>,
Text: StyledComponentType<React$ComponentType<{}>>, Text: StyledComponentType<React$ComponentType<{}>>,
TextInput: StyledComponentType<React$ComponentType<{}>>, TextInput: StyledComponentType<React$ComponentType<{}>>,
ToastAndroid: StyledComponentType<React$ComponentType<{}>>, ToastAndroid: StyledComponentType<React$ComponentType<{}>>,
ToolbarAndroid: StyledComponentType<React$ComponentType<{}>>, ToolbarAndroid: StyledComponentType<React$ComponentType<{}>>,
Touchable: StyledComponentType<React$ComponentType<{}>>, Touchable: StyledComponentType<React$ComponentType<{}>>,
TouchableHighlight: StyledComponentType<React$ComponentType<{}>>, TouchableHighlight: StyledComponentType<React$ComponentType<{}>>,
TouchableNativeFeedback: StyledComponentType<React$ComponentType<{}>>, TouchableNativeFeedback: StyledComponentType<React$ComponentType<{}>>,
TouchableOpacity: StyledComponentType<React$ComponentType<{}>>, TouchableOpacity: StyledComponentType<React$ComponentType<{}>>,
TouchableWithoutFeedback: StyledComponentType<React$ComponentType<{}>>, TouchableWithoutFeedback: StyledComponentType<React$ComponentType<{}>>,
View: StyledComponentType<React$ComponentType<{}>>, View: StyledComponentType<React$ComponentType<{}>>,
ViewPagerAndroid: StyledComponentType<React$ComponentType<{}>>, ViewPagerAndroid: StyledComponentType<React$ComponentType<{}>>,
WebView: StyledComponentType<React$ComponentType<{}>>, WebView: StyledComponentType<React$ComponentType<{}>>,
FlatList: StyledComponentType<React$ComponentType<{}>>, FlatList: StyledComponentType<React$ComponentType<{}>>,
SectionList: StyledComponentType<React$ComponentType<{}>>, SectionList: StyledComponentType<React$ComponentType<{}>>,
VirtualizedList: StyledComponentType<React$ComponentType<{}>>, VirtualizedList: StyledComponentType<React$ComponentType<{}>>,
} }
declare export default StyledComponentList & { declare export default StyledComponentList & {

View file

@ -23,7 +23,6 @@ declare module 'zlib-sync' {
* needed. * needed.
*/ */
// Filename aliases // Filename aliases
declare module 'zlib-sync/index' { declare module 'zlib-sync/index' {
declare module.exports: $Exports<'zlib-sync'>; declare module.exports: $Exports<'zlib-sync'>;

View file

@ -10,6 +10,4 @@ export default class Bot {
this.svc = DS this.svc = DS
this.log = log this.log = log
} }
} }

View file

@ -16,6 +16,7 @@ const Chat = styled.div`
padding: 10px 0; padding: 10px 0;
font-size: 0.8em; font-size: 0.8em;
${() => MediaQuery({ sm: 'font-size: 1em;' })} ${() => MediaQuery({ sm: 'font-size: 1em;' })}
& span { & span {
display: inline-block; display: inline-block;
margin-left: 5px; margin-left: 5px;
@ -23,21 +24,19 @@ const Chat = styled.div`
` `
const TextArea = styled.div` const TextArea = styled.div`
background-color: hsla(218,5%,47%,.3); background-color: hsla(218, 5%, 47%, 0.3);
border-radius: 5px; border-radius: 5px;
padding: 10px; padding: 10px;
font-size: 0.8em; font-size: 0.8em;
${() => MediaQuery({ sm: 'font-size: 1em;' })} ${() => MediaQuery({ sm: 'font-size: 1em;' })}
& .Typist .Cursor { & .Typist .Cursor {
display: inline-block; display: inline-block;
color: transparent; color: transparent;
border-left: 1px solid var(--c-white); border-left: 1px solid var(--c-white);
user-select: none; user-select: none;
&--blinking { &--blinking {
opacity: 1; opacity: 1;
animation: blink 2s ease-in-out infinite; animation: blink 2s ease-in-out infinite;
@ -45,9 +44,11 @@ const TextArea = styled.div`
0% { 0% {
opacity: 1; opacity: 1;
} }
50% { 50% {
opacity: 0; opacity: 0;
} }
100% { 100% {
opacity: 1; opacity: 1;
} }
@ -58,7 +59,7 @@ const TextArea = styled.div`
const Timestamp = styled.span` const Timestamp = styled.span`
font-size: 0.7em; font-size: 0.7em;
color: hsla(0,0%,100%,.2); color: hsla(0, 0%, 100%, 0.2);
` `
const Username = styled.span` const Username = styled.span`

View file

@ -11,12 +11,12 @@ const Button = styled.a`
color: var(--c-white); color: var(--c-white);
padding: 0.4em 1em; padding: 0.4em 1em;
border-radius: 3px; border-radius: 3px;
border: 1px solid rgba(0,0,0,0.25); border: 1px solid rgba(0, 0, 0, 0.25);
text-decoration: none; text-decoration: none;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
transform: translateY(0px); transform: translateY(0);
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
position: relative; position: relative;
@ -28,22 +28,23 @@ const Button = styled.a`
left: 0; left: 0;
bottom: 0; bottom: 0;
transition: all 0.35s ease-in-out; transition: all 0.35s ease-in-out;
background-color: hsla(0,0%,100%,0.1); background-color: hsla(0, 0%, 100%, 0.1);
pointer-events: none; pointer-events: none;
opacity: 0; opacity: 0;
z-index: 2; z-index: 2;
} }
&:hover { &:hover {
box-shadow: 0 1px 2px rgba(0,0,0,0.75); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
transform: translateY(-1px); transform: translateY(-1px);
&::after { &::after {
opacity: 1; opacity: 1;
} }
} }
&:active { &:active {
transform: translateY(0px); transform: translateY(0);
box-shadow: none; box-shadow: none;
} }
` `

View file

@ -18,7 +18,6 @@ const Fallback = styled.div`
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
background-color: var(--fallback-color); background-color: var(--fallback-color);
` `

View file

@ -23,69 +23,67 @@ const getColors = () => {
} }
export default createGlobalStyle` export default createGlobalStyle`
body { body {
margin: 0; margin: 0;
padding: 0; padding: 0;
font-family: "source-han-sans-japanese", "Source Sans Pro", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important; font-family: "source-han-sans-japanese", "Source Sans Pro", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
/* prevent FOUC */ transition: opacity 0.2s ease-in-out;
transition: opacity 0.2s ease-in-out; height: 100%;
} overflow: auto;
color: var(--c-white);
background-color: var(--c-1);
}
* { * {
box-sizing: border-box; box-sizing: border-box;
} }
.font-sans-serif { .font-sans-serif {
font-family: sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-family: sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
} }
:root { ::selection {
${() => getColors()} background: var(--c-9);
--not-quite-black: #23272A; color: var(--c-1);
--dark-but-not-black: #2C2F33; }
--greyple: #99AAB5;
--blurple: var(--c-discord);
}
::selection { ::-moz-selection {
background: var(--c-9); background: var(--c-9);
color: var(--c-1); color: var(--c-1);
} }
::-moz-selection { :root {
background: var(--c-9); ${() => getColors()}
color: var(--c-1);
}
html { --not-quite-black: #23272a;
overflow: hidden; --dark-but-not-black: #2c2f33;
height: 100%; --greyple: #99aab5;
} --blurple: var(--c-discord);
}
body { html {
margin: 0; overflow: hidden;
padding: 0; height: 100%;
height: 100%; }
overflow: auto;
color: var(--c-white);
background-color: var(--c-1);
/* overflow-y: hidden; */
}
h1,h2,h3,h4,h5,h6 { h1,
color: var(--c-9); h2,
} h3,
h4,
h5,
h6 {
color: var(--c-9);
}
.fade-element { .fade-element {
opacity: 1; opacity: 1;
transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out;
} }
.fade {
opacity: 0;
}
.fade {
opacity: 0;
}
` `

View file

@ -25,8 +25,8 @@ const LogoBox = styled.a`
const StyledServerPic = styled(DiscordIcon)` const StyledServerPic = styled(DiscordIcon)`
border-radius: 100%; border-radius: 100%;
box-shadow: 0 0 1px rgba(0,0,0,0.1); box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
border: 1px solid rgba(0,0,0,0.25); border: 1px solid rgba(0, 0, 0, 0.25);
height: 35px; height: 35px;
width: 35px; width: 35px;
margin-right: 10px; margin-right: 10px;

View file

@ -10,8 +10,7 @@ export type CommonProps = {
} }
const Header = styled.div` const Header = styled.div`
background-color: ${({ noBackground }: any) => noBackground === false ? 'var(--c-dark);' : 'var(--c-1);'} background-color: ${({ noBackground }: any) => noBackground === false ? 'var(--c-dark)' : 'var(--c-1)'};
position: relative;
transition: background-color 0.3s ease-in-out; transition: background-color 0.3s ease-in-out;
position: fixed; position: fixed;
top: 0; top: 0;

View file

@ -23,14 +23,14 @@ const LoginButton = styled.a`
&:hover { &:hover {
transform: translateY(-1px); transform: translateY(-1px);
box-shadow: 0 1px 2px rgba(0,0,0,0.75); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
background-color: var(--c-green); background-color: var(--c-green);
border-color: rgba(0,0,0,0.25); border-color: rgba(0, 0, 0, 0.25);
text-shadow: 1px 1px 0px rgba(0,0,0,0.25); text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
} }
&:active { &:active {
transform: translateY(0px); transform: translateY(0);
box-shadow: none; box-shadow: none;
} }
` `

View file

@ -7,9 +7,11 @@ import { type User } from '../stores/user'
import styled from 'styled-components' import styled from 'styled-components'
const LayoutWrapper = styled.div` const LayoutWrapper = styled.div`
transition: opacity: 0.1s ease-out; transition: opacity 0.1s ease-out;
opacity: 0; opacity: 0;
.wf-active &, .force-active & {
.wf-active &,
.force-active & {
opacity: 1; opacity: 1;
} }
` `
@ -20,7 +22,6 @@ const ContentBox = styled.div`
max-width: 100vw; max-width: 100vw;
padding: 5px; padding: 5px;
padding-top: 50px; padding-top: 50px;
/* max-height: calc(100vh - 50px); */
` `
const Layout = ({ children, user, noBackground, router }: {children: React.Element<any>, user: User, noBackground: boolean, router: * }) => <> const Layout = ({ children, user, noBackground, router }: {children: React.Element<any>, user: User, noBackground: boolean, router: * }) => <>

View file

@ -4,10 +4,8 @@ import MediaQuery from '../../kit/media'
export default styled.div` export default styled.div`
border: solid 1px var(--role-color-outline); border: solid 1px var(--role-color-outline);
border-radius: 1.2em; border-radius: 1.2em;
box-sizing: border-box; box-sizing: border-box;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
display: flex; display: flex;
overflow: hidden; overflow: hidden;
@ -15,24 +13,18 @@ export default styled.div`
justify-content: flex-start; justify-content: flex-start;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column; flex-direction: column;
font-size: 1.2em; font-size: 1.2em;
line-height: 20px; line-height: 20px;
margin: 0.3em; margin: 0.3em;
padding: 4px 0.5em; padding: 4px 0.5em;
min-height: 32px; min-height: 32px;
max-width: 90vw; max-width: 90vw;
transition: box-shadow 0.3s ease-in-out; transition: box-shadow 0.3s ease-in-out;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.45);
text-shadow: 1px 1px 1px rgba(0,0,0,0.45);
text-overflow: ellipsis; text-overflow: ellipsis;
user-select: none; user-select: none;
white-space: nowrap; white-space: nowrap;
transform: rotateZ(0); transform: rotateZ(0);
${(props: any) => (props.active) ? ` ${(props: any) => (props.active) ? `
box-shadow: inset 0 0 0 3em var(--role-color-outline-alt); box-shadow: inset 0 0 0 3em var(--role-color-outline-alt);
` : ` ` : `
@ -42,39 +34,44 @@ export default styled.div`
/* padding-top: 4px; */ /* padding-top: 4px; */
} }
&[disabled] {
border-color: hsl(0, 0%, 40%);
color: hsla(0, 0%, 40%, 0.7);
cursor: default;
box-shadow: none;
${(props: any) => (props.active)
? `box-shadow: inset 0 0 0 3em hsla(0,0%,40%,0.1);
background-color: hsl(0,0%,40%);`
: ``}
&::after {
border-color: hsl(0, 0%, 40%);
}
&:hover::after {
border-color: hsl(0, 0%, 40%);
transform: none;
box-shadow: none;
}
}
&[disabled]:hover { &[disabled]:hover {
overflow: visible; overflow: visible;
} }
&:hover::after {
transform: translateY(-1px) rotateZ(0);
box-shadow: 0 0 1px rgba(0,0,0,0.75);
border-color: var(--role-color-active);
clip-path: border-box circle(50.2% at 49.6% 50%); /* firefox fix */
}
&:active::after {
transform: none;
}
&::after { &::after {
content: ''; content: '';
display: none; display: none;
box-sizing: border-box; box-sizing: border-box;
position: absolute; position: absolute;
left: 4px; left: 4px;
bottom: 2px; bottom: 2px;
top: 4px; top: 4px;
width: 22px; width: 22px;
height: 22px; height: 22px;
border: 1px solid var(--role-color-base); border: 1px solid var(--role-color-base);
border-radius: 100%; border-radius: 100%;
clip-path: border-box circle(50.2% at 50% 50%); /* this is just for you, firefox. */ clip-path: border-box circle(50.2% at 50% 50%); /* this is just for you, firefox. */
transform: rotateZ(0); transform: rotateZ(0);
${(props: any) => (props.active) ? ` ${(props: any) => (props.active) ? `
transition: border 0.3s ease-in-out, transform 0.1s ease-in-out, background-color 1ms ease-in-out 0.29s; transition: border 0.3s ease-in-out, transform 0.1s ease-in-out, background-color 1ms ease-in-out 0.29s;
@ -84,6 +81,17 @@ export default styled.div`
`} `}
} }
&:hover::after {
transform: translateY(-1px) rotateZ(0);
box-shadow: 0 0 1px rgba(0, 0, 0, 0.75);
border-color: var(--role-color-active);
clip-path: border-box circle(50.2% at 49.6% 50%); /* firefox fix */
}
&:active::after {
transform: none;
}
${(props: any) => MediaQuery({ ${(props: any) => MediaQuery({
md: ` md: `
font-size: 1em; font-size: 1em;
@ -100,25 +108,4 @@ export default styled.div`
} }
` `
})} })}
&[disabled] {
border-color: hsl(0,0%,40%);
color: hsla(0,0%,40%,0.7);
cursor: default;
box-shadow: none;
${(props: any) => (props.active) ? `
box-shadow: inset 0 0 0 3em hsla(0,0%,40%,0.1);
background-color: hsl(0,0%,40%);`
: ``};
&::after {
border-color: hsl(0,0%,40%);
}
&:hover::after {
border-color: hsl(0,0%,40%);
transform: none;
box-shadow: none;
}
}
` `

View file

@ -5,7 +5,7 @@ export default styled.div`
position: absolute; position: absolute;
bottom: 35px; bottom: 35px;
font-size: 0.9em; font-size: 0.9em;
background-color: rgba(0,0,0,0.50); background-color: rgba(0, 0, 0, 0.5);
padding: 5px; padding: 5px;
color: var(--c-red); color: var(--c-red);
border-radius: 3px; border-radius: 3px;
@ -14,7 +14,6 @@ export default styled.div`
opacity: 0.99; opacity: 0.99;
overflow: auto; overflow: auto;
pointer-events: none; pointer-events: none;
/* max-width: 50vw; */
white-space: normal; white-space: normal;
${() => MediaQuery({ md: ` ${() => MediaQuery({ md: `
white-space: nowrap; ` white-space: nowrap; `

View file

@ -5,7 +5,7 @@ import MediaQuery, { breakpoints } from './media'
const BreakpointDebugFloat = styled.div` const BreakpointDebugFloat = styled.div`
position: absolute; position: absolute;
bottom: 0em; bottom: 0;
left: 0; left: 0;
pointer-events: none; pointer-events: none;
height: 1.4em; height: 1.4em;

View file

@ -23,7 +23,6 @@ const ResponsiveSplitter = styled.div`
line-height: 1.6; line-height: 1.6;
font-size: 1.3em; font-size: 1.3em;
flex-direction: column; flex-direction: column;
${() => MediaQuery({ ${() => MediaQuery({
md: `flex-direction: row; min-height: 100vh; position: relative; top: -50px;` md: `flex-direction: row; min-height: 100vh; position: relative; top: -50px;`
})} })}
@ -34,9 +33,7 @@ const ResponsiveSplitter = styled.div`
& section { & section {
text-align: center; text-align: center;
${() => MediaQuery({ ${() => MediaQuery({ md: `text-align: left;` })}
md: `text-align: left;`
})}
} }
` `

View file

@ -24,13 +24,7 @@ const mapStateToProps = (state, { router: { query: { id } } }) => {
} }
const Category = styled.div`` const Category = styled.div``
const Hider = styled.div``
const Hider = styled.div`
/* opacity: ${(props: any) => props.visible ? '1' : '0'}; */
/* opacity: 1; */
/* transition: opacity 0.15s ease-out; */
/* ${(props: any) => props.visible ? '' : 'display: none;'} */
`
const RoleHolder = styled.div` const RoleHolder = styled.div`
display: flex; display: flex;

View file

@ -6,7 +6,8 @@ import DiscordButton from '../../components/discord-button'
import RPC from '../../config/rpc' import RPC from '../../config/rpc'
import redirect from '../../lib/redirect' import redirect from '../../lib/redirect'
import dynamic from 'next/dynamic' import dynamic from 'next/dynamic'
import type { PageProps, ServerSlug } from '../../types' import type { PageProps } from '../../types'
import type { ServerSlug } from '@roleypoly/types'
import getConfig from 'next/config' import getConfig from 'next/config'
const { publicRuntimeConfig: { BOT_HANDLE } } = getConfig() const { publicRuntimeConfig: { BOT_HANDLE } } = getConfig()
@ -54,21 +55,24 @@ const SecretCode = styled.input`
appearance: none; appearance: none;
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
&:focus, &:active, &:hover {
background-color: var(--c-3);
}
&:focus, &:active {
& ::placeholder {
color: transparent;
}
}
& ::placeholder { & ::placeholder {
transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
color: var(--c-7); color: var(--c-7);
text-align: center; text-align: center;
} }
&:focus,
&:active,
&:hover {
background-color: var(--c-3);
}
&:focus,
&:active {
& ::placeholder {
color: transparent;
}
}
` `
const HiderButton = styled.button` const HiderButton = styled.button`
@ -97,7 +101,7 @@ const SlugWrapper = styled.div`
const DiscordGuildPic = dynamic(() => import('../../components/discord-guild-pic')) const DiscordGuildPic = dynamic(() => import('../../components/discord-guild-pic'))
const StyledDGP = styled(DiscordGuildPic)` const StyledDGP = styled(DiscordGuildPic)`
border-radius: 100%; border-radius: 100%;
border: 2px solid rgba(0,0,0,0.2); border: 2px solid rgba(0, 0, 0, 0.2);
height: 4em; height: 4em;
margin-top: 1em; margin-top: 1em;
` `

View file

@ -23,7 +23,7 @@ const DiscordOuter = styled.div`
padding: 10px; padding: 10px;
text-align: left; text-align: left;
color: var(--c-white); color: var(--c-white);
border: 1px solid rgba(0,0,0,0.25); border: 1px solid rgba(0, 0, 0, 0.25);
width: 250px; width: 250px;
margin: 0 auto; margin: 0 auto;
user-select: none; user-select: none;
@ -34,7 +34,6 @@ const Collapser = styled.div`
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
${() => MediaQuery({ ${() => MediaQuery({
md: `flex-direction: row;` md: `flex-direction: row;`
})} })}