import React, { useState, useEffect, useReducer } from 'react'; import { BrowserRouter as Router, Switch, Route, Link, useParams, useLocation } from 'react-router-dom'; import moment from 'moment-timezone'; import './light.css'; import { Container, Divider, Dropdown, Form, Grid, Header, Icon, Image, Menu, Message, Popup, Segment, Table } from 'semantic-ui-react'; import { statusColor, BasicTable, staticUrl, requester, isAdmin } from './utils.js'; import { LoginForm, SignupForm } from './LoginSignup.js'; import { AccountForm } from './Account.js'; import { PayPalSubscribeDeal } from './PayPal.js'; function MemberInfo(props) { const user = props.user; const member = user.member; const lastTrans = user.transactions && user.transactions.slice(0,3); const lastCard = user.cards && user.cards.sort((a, b) => a.last_seen_at < b.last_seen_at)[0]; return (
Click here to view your application forms.
Visit the account settings page to set one.
Create a ${user.member.monthly_fees} / month subscription, get your first three months for the price of two:
Press submit at the bottom if everything's correct.
This page allows you to sign up from outside of Protospace.
Welcome to the Protospace member portal! Here you can view member info, join classes, and manage your membership.
Next member meeting: {getDateStat('next_meeting')}
Next monthly clean: {getDateStat('next_clean')}
Member count: {getStat('member_count')} [more]
Green members: {getStat('green_count')}
Card scans today: {getZeroStat('card_scans')}
Minecraft players: {mcPlayers.length} {mcPlayers.length > 5 && '🔥'}
Server IP:
Players:
games.protospace.ca
{mcPlayers.length ? mcPlayers.map(x =>
Mumble users: {mumbleUsers.length}
Server IP:
Users:
mumble.protospace.ca
{mumbleUsers.length ? mumbleUsers.map(x =>
Trotec availability: {getTrackStat('TROTECS300')}
Last use:
{getTrackLast('TROTECS300')}
{getTrackAgo('TROTECS300')}
by {getTrackName('TROTECS300')}
Rabbit availability: {getTrackStat('FRICKIN-LASER')}
Last use:
{getTrackLast('FRICKIN-LASER')}
{getTrackAgo('FRICKIN-LASER')}
by {getTrackName('FRICKIN-LASER')}