diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml new file mode 100644 index 000000000..b80ae44fa --- /dev/null +++ b/.github/workflows/develop.yml @@ -0,0 +1,48 @@ +name: staging deployment v1 + +on: + push: + branches: + - develop + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [12.x] + python-version: [3.0] + env: + S3_BUCKET_PREFIX: hackingstudio-code4maus-projects + AWS_REGION: eu-central-1 + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + steps: + - name: Checkout app + uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: before install dep + run: | + sudo apt-get install -y python3-pip python3-setuptools libcups2-dev + pip3 install --user awscli + export PATH=$PATH:$HOME/.local/bin + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + - name: Install dependencies + run: | + yarn install + - name: build app + run: NODE_ENV=production yarn build + - name: serverless deploy + run: SLS_STAGE=staging BRANCH=develop yarn deploy diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml new file mode 100644 index 000000000..08a8c3b5c --- /dev/null +++ b/.github/workflows/production.yml @@ -0,0 +1,47 @@ +name: production deployment v1 + +on: + push: + branches: + - production +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [12.x] + python-version: [3.0] + env: + S3_BUCKET_PREFIX: hackingstudio-code4maus-projects + AWS_REGION: eu-central-1 + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + steps: + - name: Checkout app + uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: before install dep + run: | + sudo apt-get install -y python3-pip python3-setuptools libcups2-dev + pip3 install --user awscli + export PATH=$PATH:$HOME/.local/bin + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + - name: Install dependencies + run: | + yarn install + - name: build app + run: NODE_ENV=production yarn build + - name: serverless deploy + run: SLS_STAGE=prod BRANCH=production yarn deploy diff --git a/.gitignore b/.gitignore index 33632648b..736415084 100644 --- a/.gitignore +++ b/.gitignore @@ -26,9 +26,6 @@ npm-* .env .env.backend -# External assets -/assets/ - # Cache /.cache/ .webpack/ @@ -43,4 +40,4 @@ yarn-error.log .vscode/ # Jupyter Checkpoints -.ipynb_checkpoints/ \ No newline at end of file +.ipynb_checkpoints/ diff --git a/assets/blocks-media/green-flag.svg b/assets/blocks-media/green-flag.svg new file mode 100644 index 000000000..c78bfa3d3 --- /dev/null +++ b/assets/blocks-media/green-flag.svg @@ -0,0 +1,88 @@ + + diff --git a/assets/blocks-media/zoom-in.svg b/assets/blocks-media/zoom-in.svg new file mode 100644 index 000000000..480da8330 --- /dev/null +++ b/assets/blocks-media/zoom-in.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/blocks-media/zoom-out.svg b/assets/blocks-media/zoom-out.svg new file mode 100644 index 000000000..1a4a6ddd5 --- /dev/null +++ b/assets/blocks-media/zoom-out.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/blocks-media/zoom-reset.svg b/assets/blocks-media/zoom-reset.svg new file mode 100644 index 000000000..db1a63af9 --- /dev/null +++ b/assets/blocks-media/zoom-reset.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/header_menu.svg b/assets/icons/header_menu.svg new file mode 100644 index 000000000..36420cc7c --- /dev/null +++ b/assets/icons/header_menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/header_open.svg b/assets/icons/header_open.svg new file mode 100644 index 000000000..4397b8d95 --- /dev/null +++ b/assets/icons/header_open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/header_save.svg b/assets/icons/header_save.svg new file mode 100644 index 000000000..ecbb99161 --- /dev/null +++ b/assets/icons/header_save.svg @@ -0,0 +1,69 @@ + + diff --git a/assets/icons/icon_aussehen.svg b/assets/icons/icon_aussehen.svg new file mode 100644 index 000000000..9bb83db7c --- /dev/null +++ b/assets/icons/icon_aussehen.svg @@ -0,0 +1,70 @@ + + diff --git a/assets/icons/icon_bewegung.svg b/assets/icons/icon_bewegung.svg new file mode 100644 index 000000000..f73e53f2d --- /dev/null +++ b/assets/icons/icon_bewegung.svg @@ -0,0 +1,89 @@ + + diff --git a/assets/icons/icon_ereignisse.svg b/assets/icons/icon_ereignisse.svg new file mode 100644 index 000000000..e4a2e6413 --- /dev/null +++ b/assets/icons/icon_ereignisse.svg @@ -0,0 +1,69 @@ + + diff --git a/assets/icons/icon_film.svg b/assets/icons/icon_film.svg new file mode 100644 index 000000000..2207d7950 --- /dev/null +++ b/assets/icons/icon_film.svg @@ -0,0 +1,112 @@ + + diff --git a/assets/icons/icon_film_schraeg.svg b/assets/icons/icon_film_schraeg.svg new file mode 100644 index 000000000..dfb5f7ddd --- /dev/null +++ b/assets/icons/icon_film_schraeg.svg @@ -0,0 +1,139 @@ + + diff --git a/assets/icons/icon_fuehlen.svg b/assets/icons/icon_fuehlen.svg new file mode 100644 index 000000000..b700b434a --- /dev/null +++ b/assets/icons/icon_fuehlen.svg @@ -0,0 +1,68 @@ + + diff --git a/assets/icons/icon_gif.svg b/assets/icons/icon_gif.svg new file mode 100644 index 000000000..efc6bab54 --- /dev/null +++ b/assets/icons/icon_gif.svg @@ -0,0 +1,96 @@ + + diff --git a/assets/icons/icon_hilfe.svg b/assets/icons/icon_hilfe.svg new file mode 100644 index 000000000..3ef7b5459 --- /dev/null +++ b/assets/icons/icon_hilfe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/icon_klang.svg b/assets/icons/icon_klang.svg new file mode 100644 index 000000000..1e0fa05ef --- /dev/null +++ b/assets/icons/icon_klang.svg @@ -0,0 +1,68 @@ + + diff --git a/assets/icons/icon_music.svg b/assets/icons/icon_music.svg new file mode 100644 index 000000000..232c4ec02 --- /dev/null +++ b/assets/icons/icon_music.svg @@ -0,0 +1,35 @@ + + diff --git a/assets/icons/icon_myblocks.svg b/assets/icons/icon_myblocks.svg new file mode 100644 index 000000000..0d90d9a6f --- /dev/null +++ b/assets/icons/icon_myblocks.svg @@ -0,0 +1,68 @@ + + diff --git a/assets/icons/icon_operatoren.svg b/assets/icons/icon_operatoren.svg new file mode 100644 index 000000000..13cb0e25a --- /dev/null +++ b/assets/icons/icon_operatoren.svg @@ -0,0 +1,81 @@ + + diff --git a/assets/icons/icon_print.svg b/assets/icons/icon_print.svg new file mode 100644 index 000000000..42431fa8a --- /dev/null +++ b/assets/icons/icon_print.svg @@ -0,0 +1,102 @@ + + diff --git a/assets/icons/icon_steuerung.svg b/assets/icons/icon_steuerung.svg new file mode 100644 index 000000000..993eb9857 --- /dev/null +++ b/assets/icons/icon_steuerung.svg @@ -0,0 +1,68 @@ + + diff --git a/assets/icons/icon_variablen.svg b/assets/icons/icon_variablen.svg new file mode 100644 index 000000000..28420fb07 --- /dev/null +++ b/assets/icons/icon_variablen.svg @@ -0,0 +1,68 @@ + + diff --git a/assets/icons/menu_edugames.svg b/assets/icons/menu_edugames.svg new file mode 100644 index 000000000..58340759b --- /dev/null +++ b/assets/icons/menu_edugames.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/menu_eltern-info.svg b/assets/icons/menu_eltern-info.svg new file mode 100644 index 000000000..1857e024e --- /dev/null +++ b/assets/icons/menu_eltern-info.svg @@ -0,0 +1,189 @@ + diff --git a/assets/icons/menu_examples.svg b/assets/icons/menu_examples.svg new file mode 100644 index 000000000..a2aae58ba --- /dev/null +++ b/assets/icons/menu_examples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/menu_impressum.svg b/assets/icons/menu_impressum.svg new file mode 100644 index 000000000..e1f8cd84f --- /dev/null +++ b/assets/icons/menu_impressum.svg @@ -0,0 +1,15 @@ + diff --git a/assets/icons/menu_lehrer.svg b/assets/icons/menu_lehrer.svg new file mode 100644 index 000000000..52237628f --- /dev/null +++ b/assets/icons/menu_lehrer.svg @@ -0,0 +1,144 @@ + + + + \ No newline at end of file diff --git a/assets/icons/menu_mausseite.svg b/assets/icons/menu_mausseite.svg new file mode 100644 index 000000000..e899a92a3 --- /dev/null +++ b/assets/icons/menu_mausseite.svg @@ -0,0 +1,146 @@ + diff --git a/assets/icons/menu_plus.svg b/assets/icons/menu_plus.svg new file mode 100644 index 000000000..8b6743c4e --- /dev/null +++ b/assets/icons/menu_plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/menu_projects.svg b/assets/icons/menu_projects.svg new file mode 100644 index 000000000..43b5333a4 --- /dev/null +++ b/assets/icons/menu_projects.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/tab_sound.svg b/assets/icons/tab_sound.svg new file mode 100644 index 000000000..c2fb275f6 --- /dev/null +++ b/assets/icons/tab_sound.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/target_add.svg b/assets/icons/target_add.svg new file mode 100644 index 000000000..25a281ac1 --- /dev/null +++ b/assets/icons/target_add.svg @@ -0,0 +1,33 @@ + + diff --git a/assets/icons/target_bg.svg b/assets/icons/target_bg.svg new file mode 100644 index 000000000..9167cc52d --- /dev/null +++ b/assets/icons/target_bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/target_costume.svg b/assets/icons/target_costume.svg new file mode 100644 index 000000000..ea908da84 --- /dev/null +++ b/assets/icons/target_costume.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/target_exchange.svg b/assets/icons/target_exchange.svg new file mode 100644 index 000000000..171c79b37 --- /dev/null +++ b/assets/icons/target_exchange.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/beta_head_logo.png b/assets/img/beta_head_logo.png new file mode 100644 index 000000000..e69c9e13e Binary files /dev/null and b/assets/img/beta_head_logo.png differ diff --git a/assets/img/beta_header_sans.png b/assets/img/beta_header_sans.png new file mode 100644 index 000000000..9d01c58d8 Binary files /dev/null and b/assets/img/beta_header_sans.png differ diff --git a/assets/img/block1.png b/assets/img/block1.png new file mode 100644 index 000000000..de85521c1 Binary files /dev/null and b/assets/img/block1.png differ diff --git a/assets/img/block2.png b/assets/img/block2.png new file mode 100644 index 000000000..77aa335c8 Binary files /dev/null and b/assets/img/block2.png differ diff --git a/assets/img/block3.png b/assets/img/block3.png new file mode 100644 index 000000000..73aa14c64 Binary files /dev/null and b/assets/img/block3.png differ diff --git a/assets/img/button_print.png b/assets/img/button_print.png new file mode 100644 index 000000000..f8c84d203 Binary files /dev/null and b/assets/img/button_print.png differ diff --git a/assets/img/button_printnow.png b/assets/img/button_printnow.png new file mode 100644 index 000000000..b62b74f44 Binary files /dev/null and b/assets/img/button_printnow.png differ diff --git a/assets/img/button_share.png b/assets/img/button_share.png new file mode 100644 index 000000000..03ac41857 Binary files /dev/null and b/assets/img/button_share.png differ diff --git a/assets/img/code.gif b/assets/img/code.gif new file mode 100644 index 000000000..de84d8e80 Binary files /dev/null and b/assets/img/code.gif differ diff --git a/assets/img/fant.png b/assets/img/fant.png new file mode 100644 index 000000000..807a9c1c5 Binary files /dev/null and b/assets/img/fant.png differ diff --git a/assets/img/favicon.jpg b/assets/img/favicon.jpg new file mode 100644 index 000000000..8cfac0081 Binary files /dev/null and b/assets/img/favicon.jpg differ diff --git a/assets/img/favicon.png b/assets/img/favicon.png new file mode 100644 index 000000000..26502c35c Binary files /dev/null and b/assets/img/favicon.png differ diff --git a/assets/img/head_logo.png b/assets/img/head_logo.png new file mode 100644 index 000000000..8a9752ff8 Binary files /dev/null and b/assets/img/head_logo.png differ diff --git a/assets/img/head_logo_beta.png b/assets/img/head_logo_beta.png new file mode 100644 index 000000000..e69c9e13e Binary files /dev/null and b/assets/img/head_logo_beta.png differ diff --git a/assets/img/loader.svg b/assets/img/loader.svg new file mode 100644 index 000000000..ca43cbfde --- /dev/null +++ b/assets/img/loader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/logo_text.png b/assets/img/logo_text.png new file mode 100644 index 000000000..399be7754 Binary files /dev/null and b/assets/img/logo_text.png differ diff --git a/assets/img/logo_text.png.png b/assets/img/logo_text.png.png new file mode 100644 index 000000000..399be7754 Binary files /dev/null and b/assets/img/logo_text.png.png differ diff --git a/assets/img/logo_text_beta.png b/assets/img/logo_text_beta.png new file mode 100644 index 000000000..9d01c58d8 Binary files /dev/null and b/assets/img/logo_text_beta.png differ diff --git a/assets/img/maus1.png b/assets/img/maus1.png new file mode 100644 index 000000000..adcb33b68 Binary files /dev/null and b/assets/img/maus1.png differ diff --git a/assets/img/maus_question.svg b/assets/img/maus_question.svg new file mode 100644 index 000000000..8b4fb79d5 --- /dev/null +++ b/assets/img/maus_question.svg @@ -0,0 +1,171 @@ + + + + + diff --git a/assets/img/meine_sache.png b/assets/img/meine_sache.png new file mode 100644 index 000000000..aa41be5d4 Binary files /dev/null and b/assets/img/meine_sache.png differ diff --git a/assets/img/meine_sachen.png b/assets/img/meine_sachen.png new file mode 100644 index 000000000..aa41be5d4 Binary files /dev/null and b/assets/img/meine_sachen.png differ diff --git a/assets/img/planetschule_logo.jpg b/assets/img/planetschule_logo.jpg new file mode 100644 index 000000000..2284a2cbd Binary files /dev/null and b/assets/img/planetschule_logo.jpg differ diff --git a/assets/img/screenshot_editor.png b/assets/img/screenshot_editor.png new file mode 100644 index 000000000..29cb9cda6 Binary files /dev/null and b/assets/img/screenshot_editor.png differ diff --git a/assets/img/wdr_logo.svg b/assets/img/wdr_logo.svg new file mode 100644 index 000000000..d585b15a3 --- /dev/null +++ b/assets/img/wdr_logo.svg @@ -0,0 +1,55 @@ + + + + \ No newline at end of file diff --git a/assets/project-assets/282fb24fedf9ed8f6b7dd08366a0f83c.mp3 b/assets/project-assets/282fb24fedf9ed8f6b7dd08366a0f83c.mp3 new file mode 100644 index 000000000..c00fda49d Binary files /dev/null and b/assets/project-assets/282fb24fedf9ed8f6b7dd08366a0f83c.mp3 differ diff --git a/assets/project-assets/3a343d19f40be5196f5b1cad1c7d1e39.jpg b/assets/project-assets/3a343d19f40be5196f5b1cad1c7d1e39.jpg new file mode 100644 index 000000000..c8a722327 Binary files /dev/null and b/assets/project-assets/3a343d19f40be5196f5b1cad1c7d1e39.jpg differ diff --git a/assets/project-assets/7a0b6208f0ac9b50189eaa3a2fa68590.jpg b/assets/project-assets/7a0b6208f0ac9b50189eaa3a2fa68590.jpg new file mode 100644 index 000000000..1372e3cef Binary files /dev/null and b/assets/project-assets/7a0b6208f0ac9b50189eaa3a2fa68590.jpg differ diff --git a/assets/project-assets/a14c503a8981039b7ab3c70cbf355886.jpg b/assets/project-assets/a14c503a8981039b7ab3c70cbf355886.jpg new file mode 100644 index 000000000..a07944cbe Binary files /dev/null and b/assets/project-assets/a14c503a8981039b7ab3c70cbf355886.jpg differ diff --git a/assets/project-assets/a35419bc3c9a8888430c157960ef28b4.jpg b/assets/project-assets/a35419bc3c9a8888430c157960ef28b4.jpg new file mode 100644 index 000000000..d1d949221 Binary files /dev/null and b/assets/project-assets/a35419bc3c9a8888430c157960ef28b4.jpg differ diff --git a/assets/project-assets/b38904cb3103c903cd6be4b569b8db5c.mp3 b/assets/project-assets/b38904cb3103c903cd6be4b569b8db5c.mp3 new file mode 100644 index 000000000..63b7d3666 Binary files /dev/null and b/assets/project-assets/b38904cb3103c903cd6be4b569b8db5c.mp3 differ diff --git a/assets/project-assets/b533867ddb6e18b4d508f11be3b46095.jpg b/assets/project-assets/b533867ddb6e18b4d508f11be3b46095.jpg new file mode 100644 index 000000000..2c4560992 Binary files /dev/null and b/assets/project-assets/b533867ddb6e18b4d508f11be3b46095.jpg differ diff --git a/assets/project-assets/bea568d0b736f0a365cb41e7d05f8100.jpg b/assets/project-assets/bea568d0b736f0a365cb41e7d05f8100.jpg new file mode 100644 index 000000000..f98376a4f Binary files /dev/null and b/assets/project-assets/bea568d0b736f0a365cb41e7d05f8100.jpg differ diff --git a/assets/project-assets/c6824e69f8d1c3c8859666fcbe3e547c.svg b/assets/project-assets/c6824e69f8d1c3c8859666fcbe3e547c.svg new file mode 100644 index 000000000..b62bf1bd6 --- /dev/null +++ b/assets/project-assets/c6824e69f8d1c3c8859666fcbe3e547c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/netlify.toml b/netlify.toml index 26683849d..0317fd9e6 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,4 +1,8 @@ [build] - Command = "NODE_ENV=production yarn build:netlify" + Command = "NODE_ENV=staging yarn build:netlify" Functions = "lambda" Publish = "build" +[[headers]] + for = "/*" + [headers.values] + Access-Control-Allow-Origin = "https://logs1414.xiti.com" diff --git a/package.json b/package.json index 3bcfe15d8..b0098a109 100644 --- a/package.json +++ b/package.json @@ -129,9 +129,9 @@ "rimraf": "^2.6.1", "scratch-paint": "0.2.0-prerelease.20181120191526", "scratch-render": "0.1.0-prerelease.20210325231800", + "scratch-render-fonts": "1.0.0-prerelease.20210401210003", "scratch-storage": "1.2.2", "scratch-svg-renderer": "0.2.0-prerelease.20210511195415", - "scratch-render-fonts": "1.0.0-prerelease.20210401210003", "selenium-webdriver": "4.0.0-alpha.1", "serverless": "^1.30.3", "serverless-domain-manager": "^3.1.0", @@ -183,6 +183,7 @@ "jspdf": "^1.5.3", "lodash.keyby": "^4.6.0", "multer": "^1.4.1", + "piano-analytics-js": "^6.8.3", "qrcode.react": "^0.9.3", "scratch-audio": "0.1.0-prerelease.20200528195344", "scratch-blocks": "0.1.0-prerelease.20210529032338", diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..88294b13f --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +awscli diff --git a/scripts/deploy-frontend.sh b/scripts/deploy-frontend.sh index 49c8e6f9e..538a46805 100755 --- a/scripts/deploy-frontend.sh +++ b/scripts/deploy-frontend.sh @@ -3,16 +3,19 @@ # todo: make dynamic via serverless BUCKET="hackingstudio-code4maus-app" -if [ "$TRAVIS_BRANCH" == "production" ]; then +if [ "$BRANCH" == "production" ]; then BUCKET="${BUCKET}-prod" -elif [ "$TRAVIS_BRANCH" == "develop" ]; then +elif [ "$BRANCH" == "develop" ]; then BUCKET="${BUCKET}-staging" else BUCKET="${BUCKET}-dev" fi +echo "Deploying to bucket: ${BUCKET}" aws s3 sync build s3://${BUCKET} --delete --acl public-read for FILE in $(find build -name index.html -printf '%P\n'); do aws s3 cp build/${FILE} s3://${BUCKET}/${FILE} --metadata-directive REPLACE --cache-control max-age=0,no-cache,no-store,must-revalidate --content-type text/html --acl public-read done + aws s3 cp build/service-worker.js s3://${BUCKET}/service-worker.js --metadata-directive REPLACE --cache-control max-age=0,no-cache,no-store,must-revalidate --content-type application/javascript --acl public-read + diff --git a/serverless.yml b/serverless.yml index 506a8e28c..19ffceaee 100644 --- a/serverless.yml +++ b/serverless.yml @@ -2,7 +2,7 @@ service: hackingstudio-code4maus provider: name: aws - runtime: nodejs12.x + runtime: nodejs18.x region: eu-central-1 role: 'arn:aws:iam::#{AWS::AccountId}:role/hackingstudio/code4maus/hackingstudio-code4maus-functions' stage: ${file(scripts/env.js):stage} diff --git a/src/components/edu-stage/edu-stage.jsx b/src/components/edu-stage/edu-stage.jsx index f1e4b97df..40a599705 100644 --- a/src/components/edu-stage/edu-stage.jsx +++ b/src/components/edu-stage/edu-stage.jsx @@ -17,6 +17,7 @@ import { eduUrl } from '../../lib/routing' import { gamesKeyed } from '../../lib/edu/' import VideoPlayer from '../video-player/video-player.jsx' import styles from './edu-stage.css' +import { guiTypePages, paEvent } from '../../lib/piano-analytics/main' const EduStageComponent = (props) => { const [isPreVideoModalOpen, setPreVideoModalOpen] = useState(false) @@ -58,7 +59,10 @@ const EduStageComponent = (props) => {
{saveProjectError}
- Willkommen zu Programmieren mit der Maus! -
-- Hier lernst du Schritt für Schritt Bildergeschichten und Spiele mit - der Maus zu programmieren. Viel Spaß! -
+ return ( ++ Willkommen zu Programmieren mit der Maus! +
++ Hier lernst du Schritt für Schritt Bildergeschichten und Spiele mit + der Maus zu programmieren. Viel Spaß! +
+ + +