Cleaned up linter errors

This commit is contained in:
Sean Hickey 2018-05-22 15:07:33 -04:00 committed by chrisgarrity
parent fd24fbacef
commit f54379e0d7
7 changed files with 8 additions and 532 deletions

View file

@ -17,9 +17,9 @@
width: 100%; width: 100%;
ul { ul {
justify-content: space-between;
align-items: center;
margin: 5px 0; margin: 5px 0;
align-items: center;
justify-content: space-between;
img { img {
margin: 20px 0; margin: 20px 0;

View file

@ -109,16 +109,13 @@ const ConferenceExpectations = () => (
</p> </p>
<img <img
className="moderator"
alt="Karen Photo" alt="Karen Photo"
className="moderator"
src="/images/conference/expect/2018/karen.jpg" src="/images/conference/expect/2018/karen.jpg"
/> />
<p> <p>
<b>Karen Brennan (moderator)</b> <b>Karen Brennan (moderator)</b>
</p> </p>
<p>
</p>
</div> </div>
<div className="card"> <div className="card">
<div className="date"> <div className="date">
@ -134,8 +131,8 @@ const ConferenceExpectations = () => (
</p> </p>
<img <img
className="moderator"
alt="Ricarose Photo" alt="Ricarose Photo"
className="moderator"
src="/images/conference/expect/2018/ricarose.png" src="/images/conference/expect/2018/ricarose.png"
/> />

View file

@ -100,8 +100,8 @@
.schedule { .schedule {
.title { .title {
margin-top: 20px;
display: flex; display: flex;
margin-top: 20px;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;

View file

@ -10,8 +10,8 @@
.title-banner { .title-banner {
margin-bottom: 0; margin-bottom: 0;
background-image: url("/images/conference/index/2018/title-banner.jpg"); background-image: url("/images/conference/index/2018/title-banner.jpg");
padding: 48px 0;
background-position: top; background-position: top;
padding: 48px 0;
h1, h1,
h3, h3,
@ -24,7 +24,7 @@
} }
h1 { h1 {
font-size: 4.0rem; font-size: 4rem;
} }
p { p {

View file

@ -1,211 +0,0 @@
const FormattedDate = require('react-intl').FormattedDate;
const FormattedMessage = require('react-intl').FormattedMessage;
const React = require('react');
const render = require('../../../../lib/render.jsx');
const FlexRow = require('../../../../components/flex-row/flex-row.jsx');
const Page = require('../../../../components/page/conference/2018/page.jsx');
const TitleBanner = require('../../../../components/title-banner/title-banner.jsx');
require('../../../../components/forms/button.scss');
require('./index.scss');
const ConferenceSplash = () => (
<div className="index mod-2018">
<TitleBanner className="mod-conference">
<h1>
<FormattedMessage id="conference-2018.subtitle" />
</h1>
<h3>
<FormattedMessage id="conference-2018.dateDesc" />
</h3>
<h3>
<FormattedMessage id="conference-2018.soldOut" />
</h3>
<h4>
<FormattedMessage id="conference-2018.comingSoon" />
</h4>
</TitleBanner>
<div className="inner">
<section className="info">
<FlexRow className="uneven">
<div className="long">
<p>
<FormattedMessage id="conference-2018.desc1" />
</p>
<p>
<FormattedMessage id="conference-2018.desc2" />
</p>
</div>
<div className="short">
<p>
<b><FormattedMessage id="conference-2018.date" /></b>{' '}
{/* eslint-disable react/jsx-sort-props */}
<FormattedDate
value={new Date(2018, 6, 26)}
year="numeric"
month="long"
day="2-digit"
/>
{' - '}
<FormattedDate
value={new Date(2018, 6, 28)}
year="numeric"
month="long"
day="2-digit"
/>
{/* eslint-enable react/jsx-sort-props */}
<br />
<FormattedMessage id="conference-2018.dateDescMore" />
<br />
<b><FormattedMessage id="conference-2018.location" /></b>{' '}
<FormattedMessage id="conference-2018.locationDetails" />
</p>
</div>
</FlexRow>
<FlexRow className="uneven">
<div className="long">
<h3 id="questions"><FormattedMessage id="conference-2018.questionsTitle" /></h3>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.soldoutQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.soldoutAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.submissionQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.submissionAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.regQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.regAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.accommodationsQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.accommodationsAns1"
values={{
marriottLink: (
<a href="http://www.marriott.com/hotels/travel/boscb-boston-marriott-cambridge/">
Boston Marriott Cambridge
</a>
),
holidayinnLink: (
<a href="http://www.hiexpress.com/hotels/us/en/reservation/searchresult?qAdlt=1&qBrs=6c.hi.ex.rs.ic.cp.in.sb.cw.cv.ul.vn&qChld=0&qDest=CAMBRIDGE%2CMA%2CUnited+States&qFRA=1&qGRM=0&qIta=99504425&qPSt=0&qRRSrt=rt&qRef=df&qRms=1&qRpn=1&qRpp=12&qSHp=1&qSmP=3&qSrt=sBR&qWch=0&srb_u=1&icdv=99504425&dp=true">
Holiday Inn Express and Suites
</a>
),
residenceinnLink: (
<a href="http://www.marriott.com/hotels/travel/boscm-residence-inn-boston-cambridge/">
Residence Inn
</a>
),
lemeridienLink: (
<a href="http://www.starwoodhotels.com/lemeridien/property/overview/index.html?propertyID=3253&language=en_US">
Le Meridien
</a>
)
}}
/>
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.accommodationsAns2"
values={{
acLink: (
<a href="http://www.marriott.com/meeting-event-hotels/group-corporate-travel/groupCorp.mi?resLinkData=Scratch%20Conference%5EBOSAR%60sccscca%7Csccsccb%60229%60USD%60false%604%607/25/18%607/28/18%607/4/18&app=resvlink&stop_mobi=yes">
AC Hotel Boston Cambridge
</a>
),
doubletreeLink: (
<a href="https://secure3.hilton.com/en_US/dt/reservation/book.htm?inputModule=HOTEL&ctyhocn=BOSCODT&spec_plan=CDTMIT&arrival=20180725&departure=20180728&cid=OM,WW,HILTONLINK,EN,DirectLink&fromId=HILTONLINKDIRECT">
DoubleTree by Hilton Hotel Boston - Downtown
</a>
),
hotelbostonLink: (
<a href="https://www.hotelboston.com/">
Hotel Boston
</a>
),
mitLink: (
<a href="http://www.media.mit.edu/contact/accommodations">
<FormattedMessage id="conference-2018.here" />
</a>
)
}}
/>
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.letterQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.letterAns"
values={{
emailLink: (
<a href="mailto:conference@scratch.mit.edu">
conference@scratch.mit.edu
</a>
)
}}
/>
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.preConfQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.preConfAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.bringQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage id="conference-2018.bringAns" />
</p>
</div>
<div>
<p className="conf2018-question">
<FormattedMessage id="conference-2018.moreQ" />
</p>
<p className="conf2018-answer">
<FormattedMessage
id="conference-2018.moreAns"
values={{
emailLink: (
<a href="mailto:conference@scratch.mit.edu">
conference@scratch.mit.edu
</a>
)
}}
/>
</p>
</div>
</div>
</FlexRow>
</section>
</div>
</div>
);
render(<Page><ConferenceSplash /></Page>, document.getElementById('app'));

View file

@ -1,253 +0,0 @@
@import "../../../../colors";
@import "../../../../frameless";
.index {
.title-banner {
margin-bottom: 0;
background-image: url("/images/conference/index/2018/title-banner.jpg");
background-position: top;
padding: 48px 0;
h1,
h3,
h4,
p {
margin: 0 auto;
padding: 5px 0;
text-align: center;
color: $type-white;
}
h4 {
font-weight: normal;
}
p {
margin-top: 3rem;
&.sub-button {
margin-top: 1rem;
}
b {
margin-top: 2rem;
a {
text-decoration: underline;
color: $type-white;
}
}
a {
button {
}
}
}
@media only screen and (max-width: $mobile - 1) {
h3 {
display: none;
margin-top: 0;
}
p {
margin-top: .25rem;
}
}
@media only screen and (max-width: $desktop - 1) {
h1 {
font-size: 2.5rem;
}
p {
margin-top: 1.5rem;
}
}
}
.flex-row {
align-items: flex-start;
justify-content: space-between;
&.uneven {
img {
width: 100%;
}
@media only screen and (max-width: $tablet - 1) {
img {
width: 30%;
}
}
@media only screen and (min-width: $tablet) and (max-width: $desktop - 1) {
img {
width: 70%;
}
}
}
}
.info {
text-align: left;
.conf2018-question {
margin-bottom: 0;
font-weight: 500;
}
.conf2018-answer {
margin-top: 0;
}
@media only screen and (max-width: $desktop - 1) {
.uneven {
.short {
width: 70%;
}
}
}
}
}
@media only screen and (max-width: $tablet - 1) {
.index {
.flex-row {
align-items: center;
}
}
}
.conf2018-panel {
border-bottom: 1px solid $ui-border;
}
.conf2018-panel.mod-last {
border-bottom: 0;
}
.flex-row.conf2018-panel-title {
justify-content: flex-start;
align-items: center;
}
.conf2018-panel-desc {
margin: 2rem 0;
}
td {
padding: .75rem 1.25rem;
vertical-align: top;
}
.conf2018-panel-row-icon-image {
margin-top: .125rem;
width: 1rem;
height: 1rem;
}
.button.mod-register {
padding: .75em 3.5em;
text-align: center;
color: $type-white;
font-size: 1rem;
font-weight: 500;
}
@media only screen and (max-width: $mobile - 1) {
.index.mod-2018 {
text-align: left;
}
.title-banner-image.mod-2018 {
height: 10rem;
}
.conf2018-panel,
.title-banner-h3.mod-2018 {
width: initial;
}
.conf2018-panel {
margin: auto .5rem;
}
.title-banner-h3.mod-2018 {
margin: 1rem .5rem .5rem;
font-size: 1.1rem;
}
.flex-row.conf2018-panel-title {
flex-direction: row;
}
.conf2018-panel-title-text {
max-width: 14rem;
}
.conf2018-panel-row > td {
padding: .75rem .375rem .75rem 0;
}
}
@media only screen and (min-width: $mobile) and (max-width: $tablet - 1) {
.index.mod-2018 {
text-align: left;
}
.title-banner-image.mod-2018 {
height: 10rem;
}
.conf2018-panel,
.title-banner-h3.mod-2018 {
margin: auto .5rem ;
width: initial;
}
.title-banner-h3.mod-2018 {
font-size: 1.1rem;
}
.flex-row.conf2018-panel-title {
flex-direction: row;
}
.conf2018-panel-title-text {
max-width: 18.75rem;
}
.button.mod-register {
padding: .75em 2em;
}
}
@media only screen and (min-width: $tablet) and (max-width: $desktop - 1) {
.index.mod-2018 {
text-align: left;
}
.title-banner-image.mod-2018 {
height: 15rem;
}
.conf2018-panel,
.title-banner-h3.mod-2018 {
margin: auto;
width: 38.75rem;
}
.title-banner-h3.mod-2018 {
font-size: 1.1rem;
}
.button.mod-register {
padding: .75em 1.25em;
}
}

View file

@ -1,57 +0,0 @@
{
"conference-2018.title": "Scratch Conference 2018:",
"conference-2018.subtitle": "The Next Generation",
"conference-2018.dateDesc": "July 26-28, 2018 | Cambridge, MA, USA",
"conference-2018.dateDescMore": " (with opening reception the evening of July 25)",
"conference-2018.locationDetails": "MIT Media Lab, Cambridge, MA",
"conference-2018.seeBelow": "Learn more about conference dates and locations below.",
"conference-2018.date": "When:",
"conference-2018.location": "Where:",
"conference-2018.desc1": "Join us for the Scratch@MIT conference, a playful gathering of educators, researchers, developers, and other members of the worldwide Scratch community.",
"conference-2018.desc2": "We're planning a very participatory conference, with an entire day of hands-on workshops and lots of opportunities for peer-to-peer discussion and collaboration. The conference is intended primarily for adults who support young people learning Scratch.",
"conference-2018.registrationDate": "Registration opens March 1, 2018.",
"conference-2018.registerNow": "Register Now!",
"conference-2018.soldOut": "Scratch@MIT is sold out!",
"conference-2018.comingSoon": "Full event schedule coming soon",
"conference-2018.sessionDesc": "Interested in offering a session? We invite four types of proposals:",
"conference-2018.sessionItem1Title": "Poster/demonstration (90 minutes).",
"conference-2018.sessionItem1Desc": "Show off your project in an exhibition setting, alongside other presenters. You will be provided with display space for a poster and table space for a computer or handouts.",
"conference-2018.sessionItem2Title": "Hands-on workshop (90 minutes).",
"conference-2018.sessionItem2Desc": "Engage participants in hands-on activities, highlighting new ways of creating and collaborating with Scratch.",
"conference-2018.sessionItem3Title": "Interactive panel (60 minutes).",
"conference-2018.sessionItem3Desc": "Discuss a Scratch-related topic in a panel with three or more people. Your proposal should describe how you will engage the audience during the session.",
"conference-2018.sessionItem4Title": "Ignite talk (5 minutes).",
"conference-2018.sessionItem4Desc": "Share what you've been doing in a short, lively presentation.",
"conference-2018.deadline": "Deadline for proposals is February 5, 2018.",
"conference-2018.proposal": " Submit Your Proposal",
"conference-2018.proposalDeadline": "Deadline for proposals: February 5",
"conference-2018.proposalAccept": "Notification of acceptance: March 1",
"conference-2018.registrationTitle": "Registration:",
"conference-2018.registrationEarly": "Early Bird Registration (March 1-May 1): $200",
"conference-2018.registrationStandard": "Standard Registration (after May 1): $300",
"conference-2018.questions": "Questions? Contact the Scratch Team at {emailLink}",
"conference-2018.questionsTitle": "Questions:",
"conference-2018.soldoutQ": "The conference is sold out. What can I do?",
"conference-2018.soldoutAns": "Scratch@MIT is sold out and at capacity. Regrettably, we are unable to add any additional guests. Please keep in mind that you must have registered on Eventbrite to attend Scratch@MIT; people who are not registered / do not have a ticket will not be able to attend the conference.",
"conference-2018.submissionQ": "I missed the submission deadline. Can I still submit a proposal for the conference?",
"conference-2018.submissionAns": "We are no longer accepting proposal submissions.",
"conference-2018.regQ": "I can only attend one day of the conference. Do you offer single-day registration?",
"conference-2018.regAns": "Sorry, we are not offering single-day tickets.",
"conference-2018.accommodationsQ": "I want to plan my visit. Do you have suggestions for accommodations?",
"conference-2018.accommodationsAns1": "Yes, MIT partners with several hotels in the area who offer discounts to participants attending MIT events, including: {marriottLink} (0.4 miles from the MIT Media Lab), {holidayinnLink} (1.6 miles), {residenceinnLink} (0.3 miles), and {lemeridienLink} (0.9 miles). To reserve a room at one of these hotels, call the hotel and request the MIT discount. Advance booking is strongly recommended, as summer is a busy time in Boston. All MIT rates are subject to availability.",
"conference-2018.accommodationsAns2": "If you are looking for additional accommodation options, we also recommend the {acLink} (7.1 miles), {doubletreeLink} (3.3 miles), and {hotelbostonLink} with the code MITSC2018 (5.3 mile). You might also consider home-share options such as Airbnb. Find an extended list of accommodations {mitLink}.",
"conference-2018.here": "here",
"conference-2018.letterQ": "Can I get a visa letter?",
"conference-2018.letterAns": "Yes. Contact us at {emailLink}, and we can email you a letter.",
"conference-2018.preConfQ": "In previous years, there was an event on Wednesday evening before the conference. Will you be hosting something similar this year?",
"conference-2018.preConfAns": "There will be an informal, optional reception the evening of Wednesday, July 25. Participants may register early at this time as well.",
"conference-2018.bringQ": "What should I bring?",
"conference-2018.bringAns": "Plan to bring your personal device (laptops are preferred) and power cord. Presenters should plan to bring all additional presentation materials (we will provide projectors and screens). Snacks and beverages will be available throughout the day.",
"conference-2018.moreQ": "Have additional questions?",
"conference-2018.moreAns": "Contact the Scratch Team at {emailLink}."
}