mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-11-23 23:57:55 -05:00
Merge pull request #6717 from LLK/hotfix/totally-normal-2022
[Master] [Hotfix] Totally normal 2022
This commit is contained in:
commit
e0d76e91db
19 changed files with 369 additions and 77 deletions
170
package-lock.json
generated
170
package-lock.json
generated
|
@ -228,9 +228,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@babel/core": {
|
||||
"version": "7.17.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz",
|
||||
"integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==",
|
||||
"version": "7.17.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.7.tgz",
|
||||
"integrity": "sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@ampproject/remapping": "^2.1.0",
|
||||
|
@ -238,8 +238,8 @@
|
|||
"@babel/generator": "^7.17.7",
|
||||
"@babel/helper-compilation-targets": "^7.17.7",
|
||||
"@babel/helper-module-transforms": "^7.17.7",
|
||||
"@babel/helpers": "^7.17.8",
|
||||
"@babel/parser": "^7.17.8",
|
||||
"@babel/helpers": "^7.17.7",
|
||||
"@babel/parser": "^7.17.7",
|
||||
"@babel/template": "^7.16.7",
|
||||
"@babel/traverse": "^7.17.3",
|
||||
"@babel/types": "^7.17.0",
|
||||
|
@ -262,15 +262,15 @@
|
|||
}
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.17.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz",
|
||||
"integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==",
|
||||
"version": "7.17.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.7.tgz",
|
||||
"integrity": "sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA==",
|
||||
"dev": true
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"version": "4.3.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
||||
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "2.1.2"
|
||||
|
@ -283,9 +283,18 @@
|
|||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
|
||||
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
|
||||
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
|
||||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
|
@ -447,9 +456,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@babel/helpers": {
|
||||
"version": "7.17.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz",
|
||||
"integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==",
|
||||
"version": "7.17.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.7.tgz",
|
||||
"integrity": "sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/template": "^7.16.7",
|
||||
|
@ -1261,9 +1270,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@types/babel__core": {
|
||||
"version": "7.1.19",
|
||||
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
|
||||
"integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
|
||||
"version": "7.1.18",
|
||||
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz",
|
||||
"integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/parser": "^7.1.0",
|
||||
|
@ -4116,6 +4125,32 @@
|
|||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"cat-blocks": {
|
||||
"version": "npm:scratch-blocks@0.1.0-prerelease.20220318143026",
|
||||
"resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20220318143026.tgz",
|
||||
"integrity": "sha512-eYJYzjYt3fmF5a243eBIgQfNj+c3ApHFE8jkm1KV/tEiFanJ8XlLZay9LmbnhYhK0618+s0uEQrpJ9WC6xnX/Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"exports-loader": "0.6.3",
|
||||
"google-closure-library": "20190301.0.0",
|
||||
"imports-loader": "0.6.5",
|
||||
"scratch-l10n": "3.14.20220317031619"
|
||||
},
|
||||
"dependencies": {
|
||||
"scratch-l10n": {
|
||||
"version": "3.14.20220317031619",
|
||||
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20220317031619.tgz",
|
||||
"integrity": "sha512-tDKXRFxKFob9htBeOu+873mujoePXc4sGQulWDdMVCM8cYz63geCWziX5fCwp2pu3pJKQLEth0ftd2eoXkT1RA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/cli": "^7.1.2",
|
||||
"@babel/core": "^7.1.2",
|
||||
"babel-plugin-react-intl": "^3.0.1",
|
||||
"transifex": "1.6.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"cdt2d": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cdt2d/-/cdt2d-1.0.0.tgz",
|
||||
|
@ -19383,27 +19418,42 @@
|
|||
}
|
||||
},
|
||||
"scratch-blocks": {
|
||||
"version": "0.1.0-prerelease.20220323044431",
|
||||
"resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20220323044431.tgz",
|
||||
"integrity": "sha512-7+1tSHTns2UrvG0bY1u0YbM3cuRx57yXjuCdbxepLLgsOsHVDYLT+gjxsExvGtidrGo3T2LtO72Ccwhq6X3U0w==",
|
||||
"version": "0.1.0-prerelease.20220325094325",
|
||||
"resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20220325094325.tgz",
|
||||
"integrity": "sha512-VGQuLpmLDhQSIdak6/zJ9jQRXBALFKmqBdGowqVdgvTnF0er8tzZYrR7kldkb+P6Tvx+wONsMj1G4lW6sOp4Yg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"exports-loader": "0.6.3",
|
||||
"google-closure-library": "20190301.0.0",
|
||||
"imports-loader": "0.6.5",
|
||||
"scratch-l10n": "3.14.20220323031542"
|
||||
"scratch-l10n": "3.14.20220325031535"
|
||||
},
|
||||
"dependencies": {
|
||||
"scratch-l10n": {
|
||||
"version": "3.14.20220325031535",
|
||||
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20220325031535.tgz",
|
||||
"integrity": "sha512-o55Sa99ildlX916DISBOJqxibLf2IbStq61rG+UmUFawhv3B1lP5l3R9piMlF2LEyqcNVUrYg7Ht9reT5jMVpQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/cli": "^7.1.2",
|
||||
"@babel/core": "^7.1.2",
|
||||
"babel-plugin-react-intl": "^3.0.1",
|
||||
"transifex": "1.6.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"scratch-gui": {
|
||||
"version": "0.1.0-prerelease.20220323131121",
|
||||
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-0.1.0-prerelease.20220323131121.tgz",
|
||||
"integrity": "sha512-560WEW6LpvJzyhNr5h1aQdDcTxPPzZlQ8gfwczi+/BSIwGUCRrJ0KbeQyPeVW66ZblvSQP0228Hw+XhkpT5e1Q==",
|
||||
"version": "0.1.0-prerelease.20220330160452",
|
||||
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-0.1.0-prerelease.20220330160452.tgz",
|
||||
"integrity": "sha512-JOROdu6Si7NibuLOMFlNdlpKZWwq9iq3tuhsuvWmUOlSaO4LOw5hHuxDpvHncimALqAtPvwD/ehOaP4d+VHfiQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"arraybuffer-loader": "^1.0.6",
|
||||
"autoprefixer": "^9.0.1",
|
||||
"base64-loader": "1.0.0",
|
||||
"bowser": "1.9.4",
|
||||
"cat-blocks": "npm:scratch-blocks@0.1.0-prerelease.20220318143026",
|
||||
"classnames": "2.2.6",
|
||||
"computed-style-to-inline-style": "3.0.0",
|
||||
"copy-webpack-plugin": "6.4.1",
|
||||
|
@ -19431,9 +19481,9 @@
|
|||
"prop-types": "^15.5.10",
|
||||
"query-string": "^5.1.1",
|
||||
"raw-loader": "^0.5.1",
|
||||
"react": "16.2.0",
|
||||
"react": "^16.0.0",
|
||||
"react-contextmenu": "2.9.4",
|
||||
"react-dom": "16.2.1",
|
||||
"react-dom": "^16.0.0",
|
||||
"react-draggable": "3.0.5",
|
||||
"react-ga": "2.5.3",
|
||||
"react-intl": "2.9.0",
|
||||
|
@ -19448,14 +19498,14 @@
|
|||
"redux": "3.7.2",
|
||||
"redux-throttle": "0.1.1",
|
||||
"scratch-audio": "0.1.0-prerelease.20200528195344",
|
||||
"scratch-blocks": "0.1.0-prerelease.20220323044431",
|
||||
"scratch-l10n": "3.14.20220323031542",
|
||||
"scratch-paint": "0.2.0-prerelease.20220323045250",
|
||||
"scratch-blocks": "0.1.0-prerelease.20220325094325",
|
||||
"scratch-l10n": "3.14.20220330154906",
|
||||
"scratch-paint": "0.2.0-prerelease.20220324094313",
|
||||
"scratch-render": "0.1.0-prerelease.20211028200436",
|
||||
"scratch-render-fonts": "1.0.0-prerelease.20210401210003",
|
||||
"scratch-storage": "1.3.5",
|
||||
"scratch-svg-renderer": "0.2.0-prerelease.20210727023023",
|
||||
"scratch-vm": "0.2.0-prerelease.20220322143111",
|
||||
"scratch-vm": "0.2.0-prerelease.20220324055952",
|
||||
"startaudiocontext": "1.2.1",
|
||||
"style-loader": "^0.23.0",
|
||||
"text-encoding": "0.7.0",
|
||||
|
@ -19620,30 +19670,6 @@
|
|||
"schema-utils": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"react": {
|
||||
"version": "16.2.0",
|
||||
"resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz",
|
||||
"integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fbjs": "^0.8.16",
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1",
|
||||
"prop-types": "^15.6.0"
|
||||
}
|
||||
},
|
||||
"react-dom": {
|
||||
"version": "16.2.1",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.1.tgz",
|
||||
"integrity": "sha512-0ujGgYnpX0GlaAjUfwU7ddy0DjuzPmTHHi2SlPolGv7hAyUpK7XA7WZcxit5ZcU7cW5QU1HJjlS3eMn42tSfYQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fbjs": "^0.8.16",
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1",
|
||||
"prop-types": "^15.6.0"
|
||||
}
|
||||
},
|
||||
"react-modal": {
|
||||
"version": "3.9.1",
|
||||
"resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.9.1.tgz",
|
||||
|
@ -19692,6 +19718,18 @@
|
|||
"symbol-observable": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"scratch-l10n": {
|
||||
"version": "3.14.20220330154906",
|
||||
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20220330154906.tgz",
|
||||
"integrity": "sha512-uW3DYX3oimFNH/mmLtn3cC6eU14lJleZQSo7rTqYnHghhwo/Hy+PNciEovB2C/ighubaNSfvX4xI8oujCib7eA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/cli": "^7.1.2",
|
||||
"@babel/core": "^7.1.2",
|
||||
"babel-plugin-react-intl": "^3.0.1",
|
||||
"transifex": "1.6.6"
|
||||
}
|
||||
},
|
||||
"scratch-storage": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/scratch-storage/-/scratch-storage-1.3.5.tgz",
|
||||
|
@ -19752,9 +19790,9 @@
|
|||
}
|
||||
},
|
||||
"scratch-l10n": {
|
||||
"version": "3.14.20220323031542",
|
||||
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20220323031542.tgz",
|
||||
"integrity": "sha512-cAMcHITpLrHUUC5W6Y2rNeVxjK7CNUCv27RllBVhop5EGOHv2N7c9J5N8tbLo5o1vFMlsKkkJEI+3OcBv+Edkg==",
|
||||
"version": "3.14.20220330154906",
|
||||
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20220330154906.tgz",
|
||||
"integrity": "sha512-uW3DYX3oimFNH/mmLtn3cC6eU14lJleZQSo7rTqYnHghhwo/Hy+PNciEovB2C/ighubaNSfvX4xI8oujCib7eA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/cli": "^7.1.2",
|
||||
|
@ -19764,9 +19802,9 @@
|
|||
}
|
||||
},
|
||||
"scratch-paint": {
|
||||
"version": "0.2.0-prerelease.20220323045250",
|
||||
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20220323045250.tgz",
|
||||
"integrity": "sha512-7tV6PS5sHbuhR826VacIDc4R3F+wojPTzDoJodGOwWp18/34bN3azLSYNj9f8Eat6HXdjuV4JSgGy5Lrx7E7dQ==",
|
||||
"version": "0.2.0-prerelease.20220324094313",
|
||||
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20220324094313.tgz",
|
||||
"integrity": "sha512-Mrg/9RiEol7ecR5svok8/4i19HGJISZSiqwCJUWHpAI/uEuUf8qjUoM/4H5/wBE33AK5VCY6oqnT4kUCR11dQw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@scratch/paper": "0.11.20200728195508",
|
||||
|
@ -19994,9 +20032,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"scratch-vm": {
|
||||
"version": "0.2.0-prerelease.20220322143111",
|
||||
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20220322143111.tgz",
|
||||
"integrity": "sha512-Tw8MNGGxI6QByp4DQS2TnNr5M/v30ZNYLWAlDBtBiPzvbXyq6WXlyxa8CoRq8jpbbIthMVmzJGIzmo5AVwH1QA==",
|
||||
"version": "0.2.0-prerelease.20220324055952",
|
||||
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20220324055952.tgz",
|
||||
"integrity": "sha512-hriUqa2ZB0CryRuEs8NTbUEVlJQDi1axw10rLknRiUNLixFKdLSIgdtmpZq8BhL5UB6vOGs9bZpOWZQGt1JkHQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@vernier/godirect": "1.5.0",
|
||||
|
|
|
@ -134,8 +134,8 @@
|
|||
"regenerator-runtime": "0.13.9",
|
||||
"sass": "1.49.7",
|
||||
"sass-loader": "10.2.1",
|
||||
"scratch-gui": "0.1.0-prerelease.20220323131121",
|
||||
"scratch-l10n": "3.14.20220323031542",
|
||||
"scratch-gui": "0.1.0-prerelease.20220330160452",
|
||||
"scratch-l10n": "3.14.20220330154906",
|
||||
"selenium-webdriver": "4.1.0",
|
||||
"slick-carousel": "1.6.0",
|
||||
"style-loader": "0.12.3",
|
||||
|
|
|
@ -9,7 +9,9 @@ const thumbnailUrl = require('../../lib/user-thumbnail');
|
|||
require('./grid.scss');
|
||||
|
||||
const Grid = props => (
|
||||
<div className={classNames('grid', props.className)}>
|
||||
<div
|
||||
className={classNames('grid', props.className)}
|
||||
>
|
||||
<FlexRow>
|
||||
{props.items.map((item, key) => {
|
||||
const href = `/${props.itemType}/${item.id}/`;
|
||||
|
@ -19,6 +21,7 @@ const Grid = props => (
|
|||
avatar={thumbnailUrl(item.author.id)}
|
||||
creator={item.author.username}
|
||||
favorites={item.stats.favorites}
|
||||
isUpsideDown={props.isUpsideDown}
|
||||
href={href}
|
||||
key={key}
|
||||
loves={item.stats.loves}
|
||||
|
@ -39,6 +42,7 @@ const Grid = props => (
|
|||
return (
|
||||
<Thumbnail
|
||||
href={href}
|
||||
isUpsideDown={props.isUpsideDown}
|
||||
key={key}
|
||||
owner={item.owner}
|
||||
src={item.image}
|
||||
|
@ -54,6 +58,7 @@ const Grid = props => (
|
|||
|
||||
Grid.propTypes = {
|
||||
className: PropTypes.string,
|
||||
isUpsideDown: PropTypes.bool,
|
||||
itemType: PropTypes.string,
|
||||
items: PropTypes.arrayOf(PropTypes.object),
|
||||
showAvatar: PropTypes.bool,
|
||||
|
|
37
src/components/oldtimey-mode/oldtimey-mode.jsx
Normal file
37
src/components/oldtimey-mode/oldtimey-mode.jsx
Normal file
|
@ -0,0 +1,37 @@
|
|||
const PropTypes = require('prop-types');
|
||||
const React = require('react');
|
||||
const oldtimeySound = require('./projector2.mp3');
|
||||
import {connect} from 'react-redux';
|
||||
import {isTimeTravel1920} from '../../redux/time-travel';
|
||||
|
||||
require('./oldtimey-mode.scss');
|
||||
|
||||
const OldTimeyMode = props => {
|
||||
if (!props.show) return null;
|
||||
return (
|
||||
<div className="oldtimey-mode">
|
||||
<audio
|
||||
src={oldtimeySound}
|
||||
ref={audio => {
|
||||
audio && (audio.volume = 0.1); // eslint-disable-line no-unused-expressions
|
||||
}}
|
||||
autoPlay
|
||||
loop
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
OldTimeyMode.propTypes = {
|
||||
show: PropTypes.bool
|
||||
};
|
||||
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
// This is the button's mode, as opposed to the actual current state
|
||||
show: isTimeTravel1920(state)
|
||||
});
|
||||
|
||||
module.exports = connect(
|
||||
mapStateToProps
|
||||
)(OldTimeyMode);
|
11
src/components/oldtimey-mode/oldtimey-mode.scss
Normal file
11
src/components/oldtimey-mode/oldtimey-mode.scss
Normal file
|
@ -0,0 +1,11 @@
|
|||
@import "../../colors";
|
||||
|
||||
.oldtimey-mode {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent url("/images/oldtimey.png") center center;
|
||||
background-size: 100% 100%;
|
||||
z-index: 500;
|
||||
pointer-events: none;
|
||||
}
|
BIN
src/components/oldtimey-mode/projector.wav
Normal file
BIN
src/components/oldtimey-mode/projector.wav
Normal file
Binary file not shown.
BIN
src/components/oldtimey-mode/projector2.mp3
Normal file
BIN
src/components/oldtimey-mode/projector2.mp3
Normal file
Binary file not shown.
|
@ -7,6 +7,9 @@ const Footer = require('../../footer/www/footer.jsx');
|
|||
const DonorRecognition = require('./donor-recognition.jsx');
|
||||
const ErrorBoundary = require('../../errorboundary/errorboundary.jsx');
|
||||
|
||||
const OldTimeyMode = require('../../oldtimey-mode/oldtimey-mode.jsx');
|
||||
|
||||
|
||||
const today = new Date();
|
||||
const semi = today.getDate() === 1 && today.getMonth() === 3;
|
||||
|
||||
|
@ -17,6 +20,7 @@ const Page = ({
|
|||
}) => (
|
||||
<ErrorBoundary componentName="Page">
|
||||
<div className={classNames('page', className)}>
|
||||
<OldTimeyMode />
|
||||
<div
|
||||
className={classNames({
|
||||
staging: process.env.SCRATCH_ENV === 'staging'
|
||||
|
|
|
@ -110,12 +110,16 @@ const Thumbnail = props => {
|
|||
</a>
|
||||
);
|
||||
}
|
||||
|
||||
const surpriseClass = props.isUpsideDown ? 'upsideDown' : '';
|
||||
|
||||
return (
|
||||
<div
|
||||
className={classNames(
|
||||
'thumbnail',
|
||||
props.type,
|
||||
props.className
|
||||
props.className,
|
||||
surpriseClass
|
||||
)}
|
||||
>
|
||||
{imgElement}
|
||||
|
@ -136,6 +140,7 @@ Thumbnail.propTypes = {
|
|||
className: PropTypes.string,
|
||||
creator: PropTypes.string,
|
||||
favorites: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
||||
isUpsideDown: PropTypes.bool,
|
||||
href: PropTypes.string,
|
||||
linkTitle: PropTypes.bool,
|
||||
loves: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
||||
|
|
|
@ -112,4 +112,8 @@
|
|||
height: $gallery-height;
|
||||
}
|
||||
}
|
||||
|
||||
&.upsideDown {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ const messageCountReducer = require('./message-count.js').messageCountReducer;
|
|||
const permissionsReducer = require('./permissions.js').permissionsReducer;
|
||||
const sessionReducer = require('./session.js').sessionReducer;
|
||||
const navigationReducer = require('./navigation.js').navigationReducer;
|
||||
const timeTravelReducer = require('./time-travel.js').default;
|
||||
|
||||
|
||||
/**
|
||||
* Returns a combined reducer to be used for a page in `render.jsx`.
|
||||
|
@ -22,6 +24,7 @@ module.exports = opts => {
|
|||
messageCount: messageCountReducer,
|
||||
navigation: navigationReducer,
|
||||
permissions: permissionsReducer,
|
||||
session: sessionReducer
|
||||
session: sessionReducer,
|
||||
timeTravel: timeTravelReducer
|
||||
}));
|
||||
};
|
||||
|
|
53
src/redux/time-travel.js
Normal file
53
src/redux/time-travel.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
const SET_TIME_TRAVEL = 'scratch-www/time-travel/SET_TIME_TRAVEL';
|
||||
const initialState = {
|
||||
year: 'NOW'
|
||||
};
|
||||
|
||||
const NOW = 'NOW';
|
||||
const YEAR_1920 = '1920';
|
||||
|
||||
const reducer = function (state, action) {
|
||||
if (typeof state === 'undefined') state = initialState;
|
||||
switch (action.type) {
|
||||
case SET_TIME_TRAVEL:
|
||||
return Object.assign({}, state, {
|
||||
year: action.year
|
||||
});
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
|
||||
const isTimeTravel1920 = function (state) {
|
||||
return state.timeTravel.year === YEAR_1920;
|
||||
};
|
||||
|
||||
const setTimeTravel1920 = function () {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: YEAR_1920
|
||||
};
|
||||
};
|
||||
|
||||
const setTimeTravelNow = function () {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: NOW
|
||||
};
|
||||
};
|
||||
|
||||
const setTimeTravel = function (mode) {
|
||||
return {
|
||||
type: SET_TIME_TRAVEL,
|
||||
year: mode
|
||||
};
|
||||
};
|
||||
|
||||
export {
|
||||
reducer as default,
|
||||
initialState as timeTravelInitialState,
|
||||
isTimeTravel1920,
|
||||
setTimeTravel1920,
|
||||
setTimeTravelNow,
|
||||
setTimeTravel
|
||||
};
|
|
@ -83,6 +83,7 @@ const PreviewPresentation = ({
|
|||
isRemixing,
|
||||
isScratcher,
|
||||
isShared,
|
||||
isTotallyNormal,
|
||||
justRemixed,
|
||||
justShared,
|
||||
loveCount,
|
||||
|
@ -357,6 +358,7 @@ const PreviewPresentation = ({
|
|||
cloudHost={cloudHost}
|
||||
hasCloudPermission={isScratcher}
|
||||
isFullScreen={isFullScreen}
|
||||
isTotallyNormal={isTotallyNormal}
|
||||
previewInfoVisible="false"
|
||||
projectHost={projectHost}
|
||||
projectId={projectId}
|
||||
|
@ -722,7 +724,6 @@ PreviewPresentation.propTypes = {
|
|||
favoriteCount: PropTypes.number,
|
||||
intl: intlShape,
|
||||
isAdmin: PropTypes.bool,
|
||||
isTotallyNormal: PropTypes.bool, // eslint-disable-line react/no-unused-prop-types
|
||||
isFullScreen: PropTypes.bool,
|
||||
isLoggedIn: PropTypes.bool,
|
||||
isNewScratcher: PropTypes.bool,
|
||||
|
@ -731,6 +732,7 @@ PreviewPresentation.propTypes = {
|
|||
isRemixing: PropTypes.bool,
|
||||
isScratcher: PropTypes.bool,
|
||||
isShared: PropTypes.bool,
|
||||
isTotallyNormal: PropTypes.bool,
|
||||
justRemixed: PropTypes.bool,
|
||||
justShared: PropTypes.bool,
|
||||
loveCount: PropTypes.number,
|
||||
|
|
|
@ -768,6 +768,7 @@ class Preview extends React.Component {
|
|||
isRemixing={this.state.isRemixing}
|
||||
isScratcher={this.props.isScratcher}
|
||||
isShared={this.props.isShared}
|
||||
isTotallyNormal={this.props.isTotallyNormal}
|
||||
justRemixed={this.state.justRemixed}
|
||||
justShared={this.state.justShared}
|
||||
loveCount={this.state.loveCount}
|
||||
|
@ -848,6 +849,7 @@ class Preview extends React.Component {
|
|||
enableCommunity={this.props.enableCommunity}
|
||||
hasCloudPermission={this.props.isScratcher}
|
||||
isShared={this.props.isShared}
|
||||
isTotallyNormal={this.props.isTotallyNormal}
|
||||
projectHost={this.props.projectHost}
|
||||
projectId={this.state.projectId}
|
||||
projectTitle={this.props.projectInfo.title}
|
||||
|
|
BIN
src/views/search/Teleport3.wav
Normal file
BIN
src/views/search/Teleport3.wav
Normal file
Binary file not shown.
|
@ -16,6 +16,7 @@ const TitleBanner = require('../../components/title-banner/title-banner.jsx');
|
|||
const Tabs = require('../../components/tabs/tabs.jsx');
|
||||
|
||||
import {selectIsTotallyNormal} from '../../redux/session';
|
||||
import {setTimeTravel} from '../../redux/time-travel';
|
||||
|
||||
const Page = require('../../components/page/www/page.jsx');
|
||||
const render = require('../../lib/render.jsx');
|
||||
|
@ -31,7 +32,8 @@ class Search extends React.Component {
|
|||
'getSearchState',
|
||||
'handleChangeSortMode',
|
||||
'handleGetSearchMore',
|
||||
'getTab'
|
||||
'getTab',
|
||||
'tick'
|
||||
]);
|
||||
this.state = this.getSearchState();
|
||||
this.state.loaded = [];
|
||||
|
@ -40,6 +42,11 @@ class Search extends React.Component {
|
|||
this.state.offset = 0;
|
||||
this.state.loadMore = false;
|
||||
|
||||
this.state.isUpsideDown = false;
|
||||
this.state.isRainbow = false;
|
||||
|
||||
this.state.elapsed = 0;
|
||||
|
||||
let mode = '';
|
||||
const query = window.location.search;
|
||||
const m = query.lastIndexOf('mode=');
|
||||
|
@ -56,7 +63,6 @@ class Search extends React.Component {
|
|||
if (ACCEPTABLE_MODES.indexOf(mode) !== -1) {
|
||||
this.state.mode = mode;
|
||||
}
|
||||
|
||||
}
|
||||
componentDidMount () {
|
||||
// just in case there's a URL in the wild with pluses to indicate spaces,
|
||||
|
@ -88,13 +94,26 @@ class Search extends React.Component {
|
|||
// Error means that term was not URI encoded and decoding failed.
|
||||
// We can silence this error because not all query strings are intended to be decoded.
|
||||
}
|
||||
|
||||
this.props.dispatch(navigationActions.setSearchTerm(term));
|
||||
}
|
||||
|
||||
componentDidUpdate (prevProps) {
|
||||
if (this.props.searchTerm !== prevProps.searchTerm) {
|
||||
if (this.props.searchTerm !== prevProps.searchTerm ||
|
||||
this.props.isTotallyNormal !== prevProps.isTotallyNormal) {
|
||||
if (this.props.isTotallyNormal) {
|
||||
this.setEasterEggs(this.props.searchTerm);
|
||||
}
|
||||
this.handleGetSearchMore();
|
||||
}
|
||||
}
|
||||
|
||||
tick () {
|
||||
this.setState(prevState => (
|
||||
{elapsed: (prevState.elapsed + 10) % 360}
|
||||
));
|
||||
}
|
||||
|
||||
encodeSearchTerm () {
|
||||
let termText = '';
|
||||
if (this.props.searchTerm) {
|
||||
|
@ -124,6 +143,24 @@ class Search extends React.Component {
|
|||
window.location = newLocation;
|
||||
}
|
||||
}
|
||||
|
||||
setEasterEggs (term) {
|
||||
if (term === 'upside down' || term === 'upsidedown' || term === 'upside-down') {
|
||||
this.setState({isUpsideDown: true});
|
||||
}
|
||||
|
||||
if (term.includes('rainbow')) {
|
||||
this.setState({isRainbow: true});
|
||||
setInterval(this.tick, 200);
|
||||
}
|
||||
|
||||
if (term.includes('time travel') || term.includes('april fools') ||
|
||||
term.includes('old timey') || term.includes('oldtimey')) {
|
||||
this.props.dispatch(setTimeTravel('1920'));
|
||||
document.body.style.filter = 'brightness(.9)contrast(.8)sepia(1.0)';
|
||||
}
|
||||
}
|
||||
|
||||
handleGetSearchMore () {
|
||||
const termText = this.encodeSearchTerm();
|
||||
const locale = this.props.intl.locale;
|
||||
|
@ -182,11 +219,13 @@ class Search extends React.Component {
|
|||
}
|
||||
return allTab;
|
||||
}
|
||||
|
||||
getProjectBox () {
|
||||
const results = (
|
||||
<Grid
|
||||
cards
|
||||
showAvatar
|
||||
isUpsideDown={this.state.isUpsideDown}
|
||||
itemType={this.state.tab}
|
||||
items={this.state.loaded}
|
||||
showFavorites={false}
|
||||
|
@ -195,6 +234,7 @@ class Search extends React.Component {
|
|||
/>
|
||||
);
|
||||
let searchAction = null;
|
||||
|
||||
if (this.state.loaded.length === 0 && this.state.offset !== 0) {
|
||||
searchAction = <h2 className="search-prompt"><FormattedMessage id="general.searchEmpty" /></h2>;
|
||||
} else if (this.state.loadMore) {
|
||||
|
@ -210,16 +250,30 @@ class Search extends React.Component {
|
|||
<div
|
||||
id="projectBox"
|
||||
key="projectBox"
|
||||
style={this.fancyStyle()}
|
||||
>
|
||||
{results}
|
||||
{searchAction}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
fancyStyle () {
|
||||
if (this.state.isRainbow) {
|
||||
return {
|
||||
filter: `hue-rotate(${this.state.elapsed}deg) saturate(400%)`
|
||||
};
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
render () {
|
||||
return (
|
||||
<div>
|
||||
<div className="outer">
|
||||
<div
|
||||
className="outer"
|
||||
>
|
||||
<TitleBanner className="masthead">
|
||||
<div className="inner">
|
||||
<h1 className="title-banner-h1">
|
||||
|
|
BIN
static/images/oldtimey.png
Normal file
BIN
static/images/oldtimey.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1,013 KiB |
74
static/svgs/space-cat.svg
Normal file
74
static/svgs/space-cat.svg
Normal file
|
@ -0,0 +1,74 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="90.99702453613281" height="102.05416107177734" viewBox="-0.5393884181976318 -0.07916021347045898 90.99702453613281 102.05416107177734">
|
||||
<!-- Exported by Scratch - http://scratch.mit.edu/ -->
|
||||
<g id="ID0.09973295871168375">
|
||||
<g id="ID0.38591043977066875">
|
||||
<path id="ID0.5587377939373255" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 47.2 37.3 C 47.2 37.3 48.4 33.3 52 30.7 C 56.8 27.4 62.3 26.5 61.3 23.1 C 59.8 17.6 52.2 19.8 46.7 25.1 C 41.3 30.4 42.4 33.3 42.4 33.3 C 42.4 33.3 42.1 38.9 47.2 37.3 Z "/>
|
||||
<g id="ID0.9676653761416674">
|
||||
<path id="ID0.0763801415450871" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 37.1 24.1 C 37.1 24.1 33 20.1 29.3 12.1 C 27.7 8.6 36.1 8.9 32 2.7 C 30.8 0.9 22.8 5.7 21.4 7.3 C 20.1 8.8 20 9.7 21.3 11.3 C 25.8 17.1 26.7 26.2 26.7 26.2 "/>
|
||||
<path id="ID0.055647328961640596" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 30.2 9.5 C 30.2 9.5 29.1 10.3 27.7 10.7 "/>
|
||||
</g>
|
||||
<g id="Layer_3_7_">
|
||||
<path id="ID0.09487091470509768" fill="#FAA51F" d="M 17.2 39.8 C 15.2 41.3 13.1 43.5 11.9 46.6 C 9.3 53.6 11.6 61.7 7.2 61.6 C 2.8 61.6 -3.4 49.8 5.6 40.4 C 8.7 37.2 12.1 35.4 14.9 34 C 15.6 33.6 22.1 30.9 25.9 32.9 C 29.6 34.8 28.6 36.4 28.1 37.2 C 27.5 38 19.9 37.6 17.2 39.8 Z " stroke-width="1"/>
|
||||
<path id="ID0.206121654715389" fill="#FFFFFF" d="M 7.5 61.6 C 5.4 62 2.1 58.2 1.3 54.6 C 0.5 51 1.3 48.2 1.8 46.4 C 2.7 44.7 2.6 49.4 5.3 50 C 8 50.6 11.4 48.1 11.4 48.1 C 11.4 48.1 10.6 53.4 10.2 56.4 C 9.9 59.1 9.6 61 7.5 61.6 Z " stroke-width="1"/>
|
||||
<path id="ID0.7381807691417634" fill="none" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 17.2 39.8 C 15.2 41.3 13.1 43.5 11.9 46.6 C 9.3 53.6 11.6 61.7 7.2 61.6 C 2.8 61.6 -3.4 49.8 5.6 40.4 C 8.7 37.2 12.1 35.4 14.9 34 C 15.6 33.6 22.1 30.9 25.9 32.9 C 29.6 34.8 28.6 36.4 28.1 37.2 C 27.5 38 19.9 37.6 17.2 39.8 Z "/>
|
||||
</g>
|
||||
<g id="Layer_2_14_">
|
||||
<path id="ID0.0715795997530222" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 32 31.9 "/>
|
||||
</g>
|
||||
<path id="ID0.4700182010419667" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 45.3 31.1 C 40.6 26.4 34.8 18.2 26.4 26.5 C 18 34.8 25 40.5 29.7 45.3 C 34.4 50 38.6 48.5 43.4 43.7 C 48.3 38.9 50 35.8 45.3 31.1 Z "/>
|
||||
<path id="ID0.8155788099393249" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 37.4 47.8 C 37.4 47.8 30.8 47.7 27.1 52.3 C 25.2 54.7 24.9 61.6 20.2 60.9 C 14.5 60 16.3 51.1 22.3 46.4 C 27.7 42.2 30.4 43 30.4 43 "/>
|
||||
<path id="ID0.9267381150275469" fill="#FFFFFF" d="M 41.4 30.8 C 38.4 27.8 34.7 22.7 30.1 27.3 C 25.5 31.9 29.9 35.5 32.9 38.5 C 35.9 41.5 38.3 40.8 40.9 38.2 C 43.5 35.6 44.4 33.8 41.4 30.8 Z " stroke-width="1"/>
|
||||
<g id="ID0.5876337415538728">
|
||||
<path id="ID0.6729683084413409" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 24.1 38.8 C 24.1 38.8 21.2 33.4 13.5 29 C 10.2 27.1 10.3 34.4 4.6 29.4 C 2.7 27.8 7.5 22 9.2 20.5 C 10.8 19.1 12.2 19.2 13.7 20.6 C 16.8 23.4 24.9 28 24.9 28 "/>
|
||||
<path id="ID0.6592974476516247" fill="#FAA51F" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 10.6 29.7 C 10.6 29.7 11.7 28.6 12.3 27.2 "/>
|
||||
</g>
|
||||
<g id="Layer_2_13_">
|
||||
<path id="ID0.0841677337884903" fill="#FAA51F" d="M 61.9 30.1 C 61.4 30 60.9 30 60.4 29.9 L 60.4 29.9 C 58.1 30.5 55.6 31.4 52.9 32.7 C 36.2 40.6 27.3 53.3 28.4 66.3 C 29.4 78.6 44.3 82.9 45.1 83.1 L 49.3 90.5 L 49.3 90.5 L 54.2 99.1 L 56.9 91.7 L 59.4 85 C 59.4 85 63.9 83.7 67.7 81.2 C 69.1 80.3 71.5 78.3 72.6 77.3 L 75.4 76.8 L 83.8 77.9 L 85.4 78.1 L 84.7 76.5 L 80.9 67.5 C 80.9 67.5 83.1 60.1 82.8 56.4 C 82.2 50.3 79.6 46.7 79.6 46.7 C 79.6 46.7 81.3 44.4 82 41.4 C 81.9 41.2 81.7 41.1 81.6 40.9 C 76.5 34.8 69.4 31.1 61.9 30.1 Z " stroke-width="1"/>
|
||||
<path id="ID0.5103519866243005" fill="#FFFFFF" d="M 61.9 30.1 C 59.2 30.7 56.3 31.7 53.2 33.3 C 49.6 35 46.4 36.6 42 39.8 C 35.1 44.8 30.9 54.6 38 63.1 C 42.1 68 48.3 62.8 48.3 62.8 L 55.1 60.1 C 55.1 60.1 59.8 54.5 63.8 52.8 C 67.7 51 69.7 53.7 69.7 53.7 L 78.3 50.5 L 79 47.5 L 79.1 46.8 C 79.1 46.8 81.2 44.3 81.7 41.1 C 76.5 34.8 69.4 31.1 61.9 30.1 Z " stroke-width="1"/>
|
||||
<path id="ID0.9912767210043967" fill="none" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 58.5 87.6 L 60.5 81.7 "/>
|
||||
<path id="ID0.6875613899901509" fill="none" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 61.9 30.1 C 61.4 30 60.9 30 60.4 29.9 C 58.1 30.5 55.5 31.4 52.9 32.7 C 36.2 40.6 27.3 53.3 28.4 66.3 C 29.4 78.6 44.3 82.9 45.1 83.1 L 49.3 90.5 L 54.2 99.1 L 56.9 91.7 L 59.4 85 C 59.4 85 63.9 83.7 67.7 81.2 C 69.1 80.3 71.5 78.3 72.6 77.3 L 75.4 76.8 L 83.8 77.9 L 85.4 78.1 L 84.7 76.5 L 80.9 67.5 C 80.9 67.5 83.1 60.1 82.8 56.4 C 82.2 50.3 79.6 46.7 79.6 46.7 C 79.6 46.7 81.3 44.4 82 41.4 C 81.9 41.2 81.7 41.1 81.6 40.9 C 76.5 34.8 69.4 31.1 61.9 30.1 Z "/>
|
||||
</g>
|
||||
<g id="Layer_5_7_">
|
||||
<path id="ID0.20810980116948485" fill="#FFFFFF" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 81.1 57.6 C 80.8 52.4 77.9 48.4 74.7 48.6 C 71.5 48.8 69.1 53.1 69.4 58.3 C 69.7 63.5 72.6 67.5 75.8 67.3 C 79 67.1 81.4 62.8 81.1 57.6 Z "/>
|
||||
<path id="ID0.7512365346774459" fill="#414142" d="M 78.8 54.8 C 78.4 53.8 77.4 53.3 76.5 53.7 C 75.6 54 75.2 55.1 75.5 56.1 C 75.9 57.1 76.9 57.6 77.8 57.2 C 78.8 56.8 79.2 55.8 78.8 54.8 " stroke-width="1"/>
|
||||
</g>
|
||||
<g id="Layer_7_7_">
|
||||
<path id="ID0.584295348264277" fill="#FFFFFF" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 60.6 68.9 C 60.3 63.7 57 59.7 53.1 60 C 49.3 60.2 46.5 64.6 46.8 69.8 C 47.1 75 50.4 79 54.3 78.8 C 58 78.4 60.9 74 60.6 68.9 Z "/>
|
||||
<path id="ID0.8320168349891901" fill="#414142" d="M 58 66 C 57.4 65.2 56.2 64.9 55.5 65.5 C 54.7 66.1 54.6 67.2 55.2 68.1 C 55.8 68.9 57 69.2 57.7 68.6 C 58.5 68 58.6 66.8 58 66 " stroke-width="1"/>
|
||||
</g>
|
||||
<path id="ID0.6457894956693053" fill="#5F4B43" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 63.5 54.4 C 65 53.6 67.6 53.2 66.7 51.5 C 66.2 50.8 63 49.1 61.4 50.1 C 59.7 51.2 58.4 55.3 59.4 56.5 C 60.4 57.7 62.2 55.1 63.5 54.4 Z "/>
|
||||
<path id="ID0.5298887402750552" fill="#FFFFFF" stroke="#8E5322" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 48.7 46.7 C 45.3 50.7 45.2 55.3 45.2 55.3 C 45.2 55.3 40 53.8 41.6 49.4 C 43.5 43.7 48.7 46.7 48.7 46.7 Z "/>
|
||||
</g>
|
||||
<path id="ID0.053966973908245564" fill="#FFFFFF" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 79.4 78.7 L 85.7 80.3 C 87.2 80.7 88.3 79.1 87.6 77.8 L 84.4 71.9 "/>
|
||||
<path id="ID0.1555270254611969" fill="#FFFFFF" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 39.7 35.9 C 25.9 46 22.9 65.4 33.1 79.2 C 37 84.5 42.2 88.2 48 90.2 L 52 98.9 C 53 101 55.9 101 56.8 98.9 L 60 91.8 C 65.7 91.5 71.4 89.5 76.3 85.9 C 90.1 75.8 93.1 56.4 82.9 42.6 C 72.8 28.8 53.5 25.8 39.7 35.9 Z "/>
|
||||
<g id="ID0.5774397738277912">
|
||||
<path id="ID0.7828251798637211" fill="#6D6E71" d="M 83.4 45.2 C 90.8 57.4 82.5 65.9 70.3 73.3 C 58.1 80.7 46.7 84.2 39.3 72 C 31.9 59.8 35.8 44 47.9 36.6 C 60 29.2 76 33.1 83.4 45.2 Z " stroke-width="1"/>
|
||||
<path id="ID0.36082394095137715" fill="#A7A9AC" d="M 54.5 33.8 L 50.9 35.4 C 68.3 34.8 85.8 65.3 68.3 74.3 C 50.8 83.3 68.5 74.4 68.5 74.4 C 69.1 74.1 69.6 73.7 70.2 73.4 C 82.4 66 90.7 57.5 83.3 45.3 C 77.3 35.2 65.4 30.8 54.5 33.8 Z " stroke-width="1"/>
|
||||
<path id="ID0.2866909154690802" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 83.4 45.2 C 90.8 57.4 82.5 65.9 70.3 73.3 C 58.1 80.7 46.7 84.2 39.3 72 C 31.9 59.8 35.8 44 47.9 36.6 C 60 29.2 76 33.1 83.4 45.2 Z "/>
|
||||
</g>
|
||||
<path id="ID0.12203236622735858" fill="none" stroke="#FFFFFF" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M 81.5 55.7 C 81.5 55.7 79.6 63.1 69.1 67.7 "/>
|
||||
<path id="ID0.4920350951142609" fill="none" stroke="#FFFFFF" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M 65.1 69.6 L 63.6 70.3 "/>
|
||||
<g id="ID0.2624542023986578">
|
||||
<path id="ID0.1011484288610518" fill="#FFFFFF" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 23.9 17.8 L 20.3 10.2 L 33.1 3.5 L 33.1 3.5 L 27.6 6.4 L 32.2 14.6 L 23.9 17.8 "/>
|
||||
<path id="ID0.9947993699461222" fill="#FFFFFF" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 30.5 11.3 C 30.5 11.3 36.5 8.7 33 3.5 L 27.5 6.4 L 30.5 11.3 Z "/>
|
||||
<path id="ID0.910616482142359" fill="#FFFFFF" stroke="#58595B" stroke-width="1.4000132602999924" stroke-linecap="round" stroke-linejoin="round" d="M 24.9641 11.2261 C 25.3675 10.8916 25.8691 10.7524 26.3535 10.7976 C 26.8379 10.8429 27.305 11.0726 27.6395 11.4759 C 27.974 11.8793 28.1132 12.3809 28.068 12.8653 C 28.0227 13.3497 27.793 13.8169 27.3896 14.1513 C 26.9863 14.4858 26.4847 14.625 26.0003 14.5798 C 25.5159 14.5345 25.0487 14.3048 24.7143 13.9015 C 24.3798 13.4981 24.2406 12.9965 24.2858 12.5121 C 24.331 12.0277 24.5607 11.5605 24.9641 11.2261 Z "/>
|
||||
<path id="ID0.05219633784145117" fill="#D1D3D4" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 20.3 10.2 L 19.7 9.1 C 19.4 8.5 19.6 7.7 20.2 7.4 L 30.7 1.6 C 31.4 1.2 32.2 1.5 32.5 2.2 L 33.1 3.6 L 20.3 10.2 Z "/>
|
||||
<path id="ID0.8260174826718867" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 21.3 6.5 L 21.9 7.5 "/>
|
||||
<path id="ID0.48421383230015635" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 23.3 5.6 L 23.8 6.4 "/>
|
||||
<path id="ID0.9640323268249631" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 25.5 4.5 L 26 5.4 "/>
|
||||
<path id="ID0.8807248384691775" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 27.5 3.5 L 28 4.4 "/>
|
||||
<path id="ID0.8796985191293061" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 29.5 2.4 L 30 3.4 "/>
|
||||
</g>
|
||||
<g id="ID0.357671526260674">
|
||||
<path id="ID0.8794409851543605" fill="#FFFFFF" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 20.5 24.4 L 13.9 18.9 L 4.1 29.8 L 4.1 29.8 L 8.4 25.2 L 15.2 31.8 L 20.5 24.4 "/>
|
||||
<path id="ID0.8567405277863145" fill="#FFFFFF" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 12.4 29.3 C 12.4 29.3 8.3 34.6 4 29.8 L 8.3 25.2 L 12.4 29.3 Z "/>
|
||||
<path id="ID0.5000843121670187" fill="#FFFFFF" stroke="#58595B" stroke-width="1.399987475238863" stroke-linecap="round" stroke-linejoin="round" d="M 13.847 23.8693 C 14.2716 23.5623 14.7813 23.4565 15.2616 23.5337 C 15.7419 23.6108 16.1929 23.8709 16.4999 24.2955 C 16.807 24.7201 16.9128 25.2298 16.8356 25.7101 C 16.7584 26.1905 16.4984 26.6414 16.0738 26.9485 C 15.6492 27.2555 15.1395 27.3613 14.6591 27.2841 C 14.1788 27.207 13.7279 26.9469 13.4208 26.5223 C 13.1137 26.0977 13.008 25.588 13.0851 25.1077 C 13.1623 24.6274 13.4224 24.1764 13.847 23.8693 Z "/>
|
||||
<path id="ID0.5419647269882262" fill="#D1D3D4" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 13.9 18.9 L 12.9 18 C 12.4 17.5 11.6 17.5 11.1 18.1 L 2.7 27 C 2.2 27.6 2.2 28.5 2.9 28.9 L 4.1 29.8 L 13.9 18.9 Z "/>
|
||||
<path id="ID0.2554870289750397" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 10 19 L 10.8 19.8 "/>
|
||||
<path id="ID0.0665745297446847" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 8.6 20.7 L 9.3 21.4 "/>
|
||||
<path id="ID0.7712228633463383" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 7 22.6 L 7.8 23.3 "/>
|
||||
<path id="ID0.586033093277365" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 5.5 24.3 L 6.3 25 "/>
|
||||
<path id="ID0.053929599933326244" fill="none" stroke="#58595B" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" d="M 3.9 26 L 4.7 26.8 "/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 13 KiB |
|
@ -138,7 +138,7 @@ module.exports = {
|
|||
]
|
||||
},
|
||||
{
|
||||
test: /\.(png|jpg|gif|eot|svg|ttf|woff)$/,
|
||||
test: /\.(png|jpg|gif|eot|svg|ttf|woff|mp3)$/,
|
||||
loader: 'url-loader'
|
||||
}
|
||||
],
|
||||
|
|
Loading…
Reference in a new issue