mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-11-27 09:35:56 -05:00
deletes comments and old files
This commit is contained in:
parent
b64cdbac1f
commit
3268232a2b
4 changed files with 0 additions and 345 deletions
|
@ -1,6 +1,4 @@
|
||||||
const injectIntl = require('react-intl').injectIntl;
|
const injectIntl = require('react-intl').injectIntl;
|
||||||
// const intlShape = require('react-intl').intlShape;
|
|
||||||
// const FormattedMessage = require('react-intl').FormattedMessage;
|
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const FormattedMessage = require('react-intl').FormattedMessage;
|
const FormattedMessage = require('react-intl').FormattedMessage;
|
||||||
import {connect} from 'react-redux';
|
import {connect} from 'react-redux';
|
||||||
|
@ -159,8 +157,6 @@ const BannedSplash = ({hasSession, user, adminMessages, getAdminMessages}) => {
|
||||||
name="newUsername"
|
name="newUsername"
|
||||||
placeholder={'Type your new username'}
|
placeholder={'Type your new username'}
|
||||||
spellCheck={false}
|
spellCheck={false}
|
||||||
// toolTip={this.state.focused === 'username' && !touched.username &&
|
|
||||||
// this.props.intl.formatMessage({id: 'registration.usernameAdviceShort'})}
|
|
||||||
validationClassName="validation-left validation-full-width-input"
|
validationClassName="validation-left validation-full-width-input"
|
||||||
/* eslint-disable react/jsx-no-bind */
|
/* eslint-disable react/jsx-no-bind */
|
||||||
onChange={e => {
|
onChange={e => {
|
||||||
|
|
|
@ -1,213 +0,0 @@
|
||||||
/* eslint-disable */
|
|
||||||
const injectIntl = require('react-intl').injectIntl;
|
|
||||||
// const intlShape = require('react-intl').intlShape;
|
|
||||||
// const FormattedMessage = require('react-intl').FormattedMessage;
|
|
||||||
const React = require('react');
|
|
||||||
import {connect} from 'react-redux';
|
|
||||||
import {selectBannedUser, selectHasFetchedSession} from '../../redux/session';
|
|
||||||
const messageActions = require('../../redux/messages.js');
|
|
||||||
const JoinFlowStep = require('../../components/join-flow/join-flow-step.jsx');
|
|
||||||
const FormikInput = require('../../components/formik-forms/formik-input.jsx');
|
|
||||||
import {Formik} from 'formik';
|
|
||||||
const PropTypes = require('prop-types');
|
|
||||||
|
|
||||||
const Page = require('../../components/page/www/page.jsx');
|
|
||||||
const render = require('../../lib/render.jsx');
|
|
||||||
import bannedIcon from './blocked-account.svg';
|
|
||||||
|
|
||||||
require('../../components/extension-landing/extension-landing.scss');
|
|
||||||
require('./banned-splash.scss');
|
|
||||||
|
|
||||||
const validateUsernameConfirm = (username, usernameConfirm) => {
|
|
||||||
if (!usernameConfirm) {
|
|
||||||
// return 'Username is required';
|
|
||||||
} else if (username !== usernameConfirm) {
|
|
||||||
return "Usernames don't match";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const BannedSplash = ({hasSession, user, adminMessages, getAdminMessages}) => {
|
|
||||||
|
|
||||||
React.useEffect(() => {
|
|
||||||
if (user && user.username && user.token){
|
|
||||||
getAdminMessages(user.username, user.token);
|
|
||||||
}
|
|
||||||
}, [user]);
|
|
||||||
|
|
||||||
if (hasSession && (!user || !user.banned)){
|
|
||||||
window.location = '/';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (user && user.banned){
|
|
||||||
return (<div id="banned-splash">
|
|
||||||
<div id="force-account-rename">
|
|
||||||
<div id="force-account-rename-inner">
|
|
||||||
<div
|
|
||||||
id="force-account-rename-text"
|
|
||||||
className="col"
|
|
||||||
>
|
|
||||||
<span>
|
|
||||||
<img
|
|
||||||
className="banned-icon"
|
|
||||||
src={bannedIcon}
|
|
||||||
/>
|
|
||||||
<h1 className="inline">Account Blocked</h1>
|
|
||||||
</span>
|
|
||||||
<h3>To recover access to your account, change your username.</h3>
|
|
||||||
<p>Your scratch account <b>{user && user.username}</b> has been temporarily blocked because your usernamed appears to contain personal information.</p>
|
|
||||||
<p>This is a serious privacy issue. When you share information like this, it is visible to everyone on the internet, so please be careful what you share</p>
|
|
||||||
<p>When creating an username, please remember to avoid using last names, school names, or other private information in your username.</p>
|
|
||||||
</div>
|
|
||||||
<div className="col">
|
|
||||||
<Formik
|
|
||||||
initialValues={{
|
|
||||||
newUsername: '',
|
|
||||||
newUsernameConfirm: ''
|
|
||||||
}}
|
|
||||||
// validate={this.validateForm}
|
|
||||||
validateOnBlur={false}
|
|
||||||
validateOnChange={false}
|
|
||||||
// onSubmit={this.handleValidSubmit}
|
|
||||||
>
|
|
||||||
{({
|
|
||||||
errors,
|
|
||||||
// handleSubmit,
|
|
||||||
// isSubmitting,
|
|
||||||
setFieldError,
|
|
||||||
setFieldTouched,
|
|
||||||
setFieldValue,
|
|
||||||
// touched,
|
|
||||||
validateField,
|
|
||||||
values
|
|
||||||
}) => {
|
|
||||||
return (
|
|
||||||
<JoinFlowStep
|
|
||||||
description={<span>Make sure the username you chose is aligned with <a href="/community_guidelines">Scratch's Community Guidelines</a></span>}
|
|
||||||
innerClassName="change-username-inner"
|
|
||||||
outerClassName="change-username-outer"
|
|
||||||
title={'Change your Username'}
|
|
||||||
// waiting={isSubmitting}
|
|
||||||
// onSubmit={handleSubmit}
|
|
||||||
nextButton={'Change'}
|
|
||||||
>
|
|
||||||
<div>
|
|
||||||
<FormikInput
|
|
||||||
autoCapitalize="off"
|
|
||||||
autoComplete="off"
|
|
||||||
autoCorrect="off"
|
|
||||||
// className={'join-flow-input'}
|
|
||||||
error={errors.newUsername}
|
|
||||||
id="newUsername"
|
|
||||||
name="newUsername"
|
|
||||||
placeholder={'Type your new username'}
|
|
||||||
spellCheck={false}
|
|
||||||
// toolTip={this.state.focused === 'username' && !touched.username &&
|
|
||||||
// this.props.intl.formatMessage({id: 'registration.usernameAdviceShort'})}
|
|
||||||
/* eslint-disable react/jsx-no-bind */
|
|
||||||
// validate={newUsername => validateUsername(newUsername)}
|
|
||||||
validationClassName="validation-left validation-full-width-input"
|
|
||||||
/* eslint-disable react/jsx-no-bind */
|
|
||||||
onBlur={() => validateField('newUsername')}
|
|
||||||
onChange={e => {
|
|
||||||
setFieldValue('newUsername', e.target.value.substring(0, 30));
|
|
||||||
setFieldTouched('newUsername');
|
|
||||||
setFieldError('newUsername', null);
|
|
||||||
}}
|
|
||||||
// onFocus={() => this.handleFocused('username')}
|
|
||||||
/* eslint-enable react/jsx-no-bind */
|
|
||||||
// onSetRef={this.handleSetUsernameRef}
|
|
||||||
/>
|
|
||||||
<FormikInput
|
|
||||||
autoCapitalize="off"
|
|
||||||
autoComplete="off"
|
|
||||||
autoCorrect="off"
|
|
||||||
className={'join-flow-input'}
|
|
||||||
error={errors.newUsernameConfirm}
|
|
||||||
id="newUsernameConfirm"
|
|
||||||
name="newUsernameConfirm"
|
|
||||||
placeholder={'Type your new username again'}
|
|
||||||
spellCheck={false}
|
|
||||||
// toolTip={this.state.focused === 'username' && !touched.username &&
|
|
||||||
// this.props.intl.formatMessage({id: 'registration.usernameAdviceShort'})}
|
|
||||||
/* eslint-disable react/jsx-no-bind */
|
|
||||||
validate={newUsernameConfirm => validateUsernameConfirm(values.newUsername, newUsernameConfirm)}
|
|
||||||
validationClassName="validation-left validation-full-width-input"
|
|
||||||
onBlur={() => {
|
|
||||||
validateField('newUsernameConfirm');
|
|
||||||
}}
|
|
||||||
onChange={e => {
|
|
||||||
setFieldValue('newUsernameConfirm', e.target.value.substring(0, 30));
|
|
||||||
setFieldTouched('newUsernameConfirm');
|
|
||||||
setFieldError('newUsernameConfirm', null);
|
|
||||||
}}
|
|
||||||
/* eslint-enable react/jsx-no-bind */
|
|
||||||
// onSetRef={this.handleSetUsernameRef}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</JoinFlowStep>);
|
|
||||||
}}
|
|
||||||
</Formik>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="admin-message-list">
|
|
||||||
<div id="admin-message-list-title">
|
|
||||||
<b>Here are your past admin notifications</b>
|
|
||||||
</div>
|
|
||||||
{adminMessages.map(message => (
|
|
||||||
<div
|
|
||||||
className="admin-message"
|
|
||||||
key={message.id}
|
|
||||||
>
|
|
||||||
<div className="admin-message-date">
|
|
||||||
{new Date(message.datetime_created).toDateString()}
|
|
||||||
</div>
|
|
||||||
{/* // eslint-disable-next-line react/no-danger */}
|
|
||||||
<div dangerouslySetInnerHTML={{__html: message.message}} />
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return <div />;
|
|
||||||
};
|
|
||||||
|
|
||||||
BannedSplash.propTypes = {
|
|
||||||
user: PropTypes.shape({
|
|
||||||
username: PropTypes.string,
|
|
||||||
banned: PropTypes.bool,
|
|
||||||
token: PropTypes.string
|
|
||||||
}),
|
|
||||||
hasSession: PropTypes.bool,
|
|
||||||
adminMessages: PropTypes.arrayOf(PropTypes.shape({
|
|
||||||
id: PropTypes.number.isRequired,
|
|
||||||
datetimeCreated: PropTypes.string.isRequired,
|
|
||||||
message: PropTypes.string.isRequired
|
|
||||||
})),
|
|
||||||
getAdminMessages: PropTypes.func
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// LET SESSION MAKE BANNED BE A STRING THAT SAYS THE KIND OF BANNED
|
|
||||||
// THIS IS AN API CHANGE ON THE SESSION
|
|
||||||
const ConnectedBannedSplash = connect(
|
|
||||||
state => ({
|
|
||||||
user: selectBannedUser(state),
|
|
||||||
hasSession: selectHasFetchedSession(state),
|
|
||||||
adminMessages: state.messages.messages && state.messages.messages.admin
|
|
||||||
}),
|
|
||||||
dispatch => ({
|
|
||||||
getAdminMessages: (username, token) => {
|
|
||||||
dispatch(messageActions.getAdminMessages(
|
|
||||||
username, token, 0
|
|
||||||
));
|
|
||||||
}
|
|
||||||
})
|
|
||||||
)(BannedSplash);
|
|
||||||
|
|
||||||
|
|
||||||
const WrappedBannedSplash = injectIntl(ConnectedBannedSplash);
|
|
||||||
|
|
||||||
render(<Page><WrappedBannedSplash /></Page>, document.getElementById('app'),
|
|
||||||
{messages: messageActions.messagesReducer});
|
|
|
@ -1,125 +0,0 @@
|
||||||
@import "../../colors";
|
|
||||||
@import "../../frameless";
|
|
||||||
|
|
||||||
.validation-left {
|
|
||||||
transform: translate(-20.5rem, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media #{$intermediate-and-smaller} {
|
|
||||||
.validation-full-width-input {
|
|
||||||
box-sizing: border-box;
|
|
||||||
transform: unset;
|
|
||||||
margin-bottom: .75rem;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.inline{
|
|
||||||
display:inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
#banned-splash{
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#force-account-rename{
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
#force-account-rename-inner{
|
|
||||||
max-width: 1094px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
@media only screen and (max-width: 800px) {
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
text-align: left;
|
|
||||||
|
|
||||||
input{
|
|
||||||
box-sizing: border-box;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
background-color: #575E75;
|
|
||||||
.col{
|
|
||||||
padding: 40px;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#admin-message-list{
|
|
||||||
display: inline-block;
|
|
||||||
padding: 25px;
|
|
||||||
max-width: 1094px;
|
|
||||||
|
|
||||||
#admin-message-list-title{
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.admin-message{
|
|
||||||
text-align: left;
|
|
||||||
.admin-message-date{
|
|
||||||
color: #575E75;
|
|
||||||
font-size: 12px;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
text-align: left;
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 16px;
|
|
||||||
background-color: #E5F0FF;
|
|
||||||
margin: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#force-account-rename-text{
|
|
||||||
h1, h3, p{
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.empty{
|
|
||||||
text-align: left;
|
|
||||||
|
|
||||||
.admin-message{
|
|
||||||
margin: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.banned-message-box{
|
|
||||||
margin: 20px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.join-flow-outer-content{
|
|
||||||
background-color: white;
|
|
||||||
border-radius: 16px;
|
|
||||||
color: #575e75;
|
|
||||||
max-width: 468px;
|
|
||||||
min-height: auto !important;
|
|
||||||
@media only screen and (max-width: 800px) {
|
|
||||||
margin: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.banned-icon{
|
|
||||||
margin-right: 10px;
|
|
||||||
padding-top: 10px;
|
|
||||||
margin-bottom: -3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-flush-bottom-button{
|
|
||||||
background-color: #855CD6;
|
|
||||||
}
|
|
||||||
.modal-flush-bottom-button:hover{
|
|
||||||
background-color: #855CD6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.join-flow-outer-content{
|
|
||||||
border: solid 4px #818698;
|
|
||||||
border-radius: 21px;
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.66463 34.3035C3.16405 34.7261 3.91148 34.6638 4.33407 34.1643L30.3944 3.36576C30.817 2.86634 30.7547 2.11891 30.2553 1.69632C29.7559 1.27374 29.0084 1.33602 28.5859 1.83544L25.5707 5.39883H7.19999C4.21765 5.39883 1.79999 7.81649 1.79999 10.7988V25.1988C1.79999 27.2974 2.99711 29.1164 4.74571 30.0102L2.52551 32.634C2.10293 33.1335 2.16521 33.8809 2.66463 34.3035ZM6.59065 27.8298L18.6752 13.548H4.49999V25.1988C4.49999 26.4804 5.39295 27.5535 6.59065 27.8298ZM28.8 30.5988H10.4308L12.7154 27.8988H28.8C30.2912 27.8988 31.5 26.69 31.5 25.1988V13.548H24.8584L31.2553 5.98803C33.0033 6.88198 34.2 8.70066 34.2 10.7988V25.1988C34.2 28.1812 31.7823 30.5988 28.8 30.5988Z" fill="white"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 838 B |
Loading…
Reference in a new issue