Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Redesign of whole application #1069

Merged
merged 131 commits into from
Aug 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
b13b88b
Remove code to make single page apps work on GitHub pages
LukasKalbertodt Jun 7, 2023
0f452c4
Make a fresh start: setup basic color scheme logic
LukasKalbertodt Jun 7, 2023
407851c
Switch to React 18's `createRoot`
LukasKalbertodt Jun 7, 2023
c35b3c5
Replace theme-ui with just emotion-js
LukasKalbertodt Jun 7, 2023
de698f0
Eject from CRA
LukasKalbertodt Jun 7, 2023
80ea325
Most majority of `src` files into `old-src`
LukasKalbertodt Jun 7, 2023
c06524d
Replace old CRA stuff with custom scripts and configs
LukasKalbertodt Jun 7, 2023
a9afac9
Use `DefinePlugin` to fix references to `process.env` in code
LukasKalbertodt Jun 7, 2023
2f6dc29
Make almost all lints warnings
LukasKalbertodt Jun 7, 2023
c8067f2
Add new header (without functionality yet)
LukasKalbertodt Jun 7, 2023
9c839e6
Remove more CRA leftovers
LukasKalbertodt Jun 8, 2023
b9c9dda
Fix various lint errors
LukasKalbertodt Jun 8, 2023
ad6ebbc
Use shared ESLint config `@opencast/eslint-config-ts-react`
LukasKalbertodt Jun 21, 2023
64ac335
Switch to double quotes
LukasKalbertodt Jun 21, 2023
cc49b0c
Fix some type errors
LukasKalbertodt Jun 22, 2023
9a5eba3
Use `@opencast/appkit` and remove `err.tsx`
LukasKalbertodt Jun 22, 2023
ec09960
Adjust webpack config to enable easier local appkit development
LukasKalbertodt Jun 27, 2023
d0b5d10
Use color scheme logic from appkit
LukasKalbertodt Jun 27, 2023
549378c
Include and use Roboto as font for everything
LukasKalbertodt Jun 28, 2023
6301b24
Add working header menus for language and appearance buttons
LukasKalbertodt Jun 28, 2023
3c3a517
Update to new, final neutral color palette
LukasKalbertodt Jul 5, 2023
33a62b3
Add `GlobalStyle`
LukasKalbertodt Jul 5, 2023
c4925ba
Avoid using `useConfig` from appkit
LukasKalbertodt Jul 6, 2023
d3a990b
Fix focus behavior of header buttons
LukasKalbertodt Jul 6, 2023
96e93bb
Add step progress bar indicator
LukasKalbertodt Jul 6, 2023
8e975a6
Move old video select step to `src` folder
LukasKalbertodt Jul 13, 2023
6a3281f
Run `eslint --fix`
LukasKalbertodt Jul 13, 2023
00efcaf
Update `@typescript-eslint` packages to get rid of TS 5.1 warning
LukasKalbertodt Jul 13, 2023
3ecbc4c
Add `hasWebcam` to studio state instead of passing it through
LukasKalbertodt Jul 13, 2023
af9a22b
Re-add redesigned first step (video setup)
LukasKalbertodt Jul 17, 2023
f6775db
Make button container fixed height to avoid layout shift
LukasKalbertodt Jul 17, 2023
6d74582
Switch to completely grey neutral colors
LukasKalbertodt Jul 17, 2023
4b9a68b
Replace some hardcoded colors with the proper variable
LukasKalbertodt Jul 17, 2023
e7308a1
Make header look better in dark mode
LukasKalbertodt Jul 17, 2023
b0cb5b1
Make video setup look better in dark mode
LukasKalbertodt Jul 17, 2023
a09efc6
Remove fixed color from step-done icon (use cutout instead)
LukasKalbertodt Jul 17, 2023
c32fff7
Add shortcuts via `react-hotkeys-hook`
LukasKalbertodt Jul 18, 2023
63edb3a
Show available shortcuts when pressing Alt
LukasKalbertodt Jul 18, 2023
8f6da5d
Add box with information about Studio
LukasKalbertodt Jul 18, 2023
f943179
Add shortcuts overview and add a few more shortcuts
LukasKalbertodt Jul 19, 2023
ee439f0
Replace all single quotes in `old-src` with double quotes
LukasKalbertodt Jul 19, 2023
08abc51
Re-add redesigned second step (audio setup)
LukasKalbertodt Jul 19, 2023
4becc07
Adjust danger colors to appkit's ones
LukasKalbertodt Jul 19, 2023
51e1e27
Fix borders in shortcut overview in dark mode
LukasKalbertodt Jul 19, 2023
2ae4364
Fix CI script
LukasKalbertodt Jul 19, 2023
267c477
Re-add redesigned third step (recording)
LukasKalbertodt Jul 19, 2023
1e4bfb7
Add shortcuts for prev/next buttons
LukasKalbertodt Jul 19, 2023
d04353f
Switch to NPM version of @opencast/appkit
LukasKalbertodt Jul 20, 2023
d1449cb
Fix deployment
LukasKalbertodt Jul 20, 2023
ebf3472
Fix public path in webpack config once again
LukasKalbertodt Jul 24, 2023
278d55a
Disable shortcut overlay on mouseclick or any key up event
LukasKalbertodt Jul 24, 2023
c68f8e9
Fix `key`s in `ShortcutKeys`
LukasKalbertodt Jul 24, 2023
6ae09b6
Re-add redesigned fourth step (review & cut)
LukasKalbertodt Jul 24, 2023
f5a07db
Use translated word for "ctrl" (e.g. "strg" in German)
LukasKalbertodt Jul 24, 2023
e74d269
Add line break opportunities to shortcut labels
LukasKalbertodt Jul 24, 2023
56ba734
Show `?` shortcut when pressing alt
LukasKalbertodt Jul 24, 2023
d475138
Improve shortcut overview box
LukasKalbertodt Jul 24, 2023
4d3718f
Fix space shortcut in recording step
LukasKalbertodt Jul 24, 2023
b97b25b
Make "Space or K" shortcuts work if K is pressed and a button is sele…
LukasKalbertodt Jul 24, 2023
a1663df
Add draggable cut end markers to review step
LukasKalbertodt Jul 24, 2023
3f78499
Add draggable playhead and improve dragging controls a lot
LukasKalbertodt Jul 24, 2023
463792e
Refactor step management to reduce code
LukasKalbertodt Jul 25, 2023
0a00043
Improve step container a bit for smaller screens
LukasKalbertodt Jul 25, 2023
1fd8d93
Improve scrubber a bit for mobile devices
LukasKalbertodt Jul 25, 2023
0f2d61e
Improve overflowing behavior for smaller screens
LukasKalbertodt Jul 25, 2023
a6c8a3f
Partially re-add step 5 (finish) with redesign
LukasKalbertodt Jul 25, 2023
14b3162
Re-add upload functionality to last step
LukasKalbertodt Jul 27, 2023
24da098
Make the title field in upload step have `autofocus` set
LukasKalbertodt Jul 31, 2023
f6b13e3
Add link to return.target (if specified) in last step
LukasKalbertodt Jul 31, 2023
4ce1221
Add shortcuts to "finish" step
LukasKalbertodt Jul 31, 2023
94b9204
Deduplicate some CSS code
LukasKalbertodt Jul 31, 2023
fcefdb9
Add proper focus style to upload form input fields
LukasKalbertodt Jul 31, 2023
1611c95
Fix video preferences positioning
LukasKalbertodt Aug 1, 2023
48a24b7
Make video preferences popover look better in dark mode
LukasKalbertodt Aug 1, 2023
8f46fdf
Remove box shadow of video-preference hovering button
LukasKalbertodt Aug 1, 2023
e87070c
Make scrubber and cut-markers also work with touch inputs
LukasKalbertodt Aug 1, 2023
e3910c4
Remove useless meta tag from index.html
LukasKalbertodt Aug 1, 2023
f45da8c
Add box shadow to review videos
LukasKalbertodt Aug 1, 2023
0432657
Improve colors of recording controls
LukasKalbertodt Aug 1, 2023
36022ed
Use proper accent color variables from appkit
LukasKalbertodt Aug 1, 2023
9449f0e
Add hover effect to video preferences radio button
LukasKalbertodt Aug 1, 2023
711f4f9
Add proper link colors to about modal
LukasKalbertodt Aug 1, 2023
62571fc
Fix `<select>` in dark mode and deduplicate code
LukasKalbertodt Aug 1, 2023
cf6627e
Add upload size to upload button
LukasKalbertodt Aug 1, 2023
8ae29f1
Use accent color for source select buttons and improve their dark mode
LukasKalbertodt Aug 1, 2023
afb5c0f
Update to appkit 0.1.4
LukasKalbertodt Aug 1, 2023
0012e1d
Improve header on narrow screens
LukasKalbertodt Aug 1, 2023
38c6733
Fix video preview not playing/showing on iOS
LukasKalbertodt Aug 1, 2023
8b69a15
Fix preview in first step for narrow videos
LukasKalbertodt Aug 1, 2023
0e18e9b
Fix recording button on some devices (e.g. iPhone 13 Mini)
LukasKalbertodt Aug 1, 2023
e4e37bc
Decrease size of gear-icon for video prefs
LukasKalbertodt Aug 1, 2023
05b64a4
Hide shortcuts overlay onblur as well
LukasKalbertodt Aug 1, 2023
196214a
Remove outdated comment
LukasKalbertodt Aug 1, 2023
dc0ba9f
Add logic to prevent closing the tab if there are unsaved recordings
LukasKalbertodt Aug 1, 2023
aa1cffd
Slightly improve/strengthen overlay box background effect
LukasKalbertodt Aug 1, 2023
d6e2b30
Minor improvements for small screens
LukasKalbertodt Aug 1, 2023
92f8a5f
Improve focus outline in a few places
LukasKalbertodt Aug 1, 2023
07b1533
Improve overlay box by marking it as modal and disabling background
LukasKalbertodt Aug 1, 2023
d3220ff
Improve screen reader support a bit
LukasKalbertodt Aug 1, 2023
1aa156d
Throttle seek events in "review" step to make seeking faster
LukasKalbertodt Aug 2, 2023
5579a74
Slightly redesign shortcuts overview
LukasKalbertodt Aug 2, 2023
15c8242
Fix recording shortcut overlay
LukasKalbertodt Aug 2, 2023
1fcd676
Fix bright shadow in dark mode
LukasKalbertodt Aug 2, 2023
ba4ca07
Make shadows in dark mode less strong
LukasKalbertodt Aug 2, 2023
33257ec
Fix red plus in shortcut overlay on red button
LukasKalbertodt Aug 2, 2023
ddab30f
Make play button in review step darker
LukasKalbertodt Aug 2, 2023
ede7667
Improve shortcuts on Mac and show icon for shift key
LukasKalbertodt Aug 2, 2023
9bdd20a
Fix overlay box on screens with short screens
LukasKalbertodt Aug 2, 2023
2e1739a
Remove `theme.customCSS` setting
LukasKalbertodt Aug 2, 2023
99bfec3
Hide cut marker if cutting is disable
LukasKalbertodt Aug 2, 2023
c80d4e5
Re-add (conditional) warnings on the first page
LukasKalbertodt Aug 2, 2023
20eb066
Remove all of the remaining `old-src` folder
LukasKalbertodt Aug 2, 2023
966486c
Update editorconfig
LukasKalbertodt Aug 2, 2023
9505130
Remove some instances of `any`
LukasKalbertodt Aug 2, 2023
4fb3de8
Explicitly ignore remaining `any` usages to enable fully strict mode
LukasKalbertodt Aug 2, 2023
69337cd
Remove outdated "tests" section in contributing docs
LukasKalbertodt Aug 2, 2023
636de3a
Remove unused constants
LukasKalbertodt Aug 2, 2023
ff7653c
Add eslint rule to enforce consistent member delimiter style
LukasKalbertodt Aug 2, 2023
de808f0
Merge branch 'master' into redesign
LukasKalbertodt Aug 2, 2023
08092bd
Fix step button shortcuts (in particular, in audio setup)
LukasKalbertodt Aug 21, 2023
56d5d55
Show "reselect sources" button in video select if there is a problem
LukasKalbertodt Aug 21, 2023
2329ad4
Hide controls in recording step when some stream stopped working
LukasKalbertodt Aug 21, 2023
398eb23
Add `S` key as alternative to "Alt" for showing available shortcuts
LukasKalbertodt Aug 21, 2023
3f1e801
Slightly improve contrast of step buttons
LukasKalbertodt Aug 21, 2023
0b00557
Change next/back shortcuts on mac to shift+cmd+arrow
LukasKalbertodt Aug 21, 2023
d844a9b
Improve `<select>` by removing browser styles and use custom arrow
LukasKalbertodt Aug 22, 2023
db7a097
Fix recording in Safari by actually calling `stop`
LukasKalbertodt Aug 22, 2023
f704b77
Hide video settings button when there is no stream
LukasKalbertodt Aug 21, 2023
cb7f590
Update to appkit 0.2.0
LukasKalbertodt Aug 24, 2023
8b6526b
Improve contrast in progress bar
LukasKalbertodt Aug 24, 2023
cf08afb
Add padding to overlay boxes (on large screens)
LukasKalbertodt Aug 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .babelrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
'use strict';

module.exports = {
parserOpts: {
strictMode: true,
},
plugins: ['@emotion'],
presets: [
['@babel/preset-env', {
// Set to `true` to show which transforms will be run
// during the build
debug: false,
}],
[
'@babel/preset-typescript',
{
allowDeclareFields: true,
},
],
[
'@babel/preset-react',
{
runtime: 'automatic',
importSource: '@emotion/react',
},
],
],
};
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ root = true
indent_style = space
indent_size = 2
max_line_length = 100
quote_type = single
quote_type = double

# We recommend you to keep these unchanged
end_of_line = lf
Expand Down
2 changes: 0 additions & 2 deletions .env

This file was deleted.

57 changes: 15 additions & 42 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,46 +1,19 @@
{
"extends": ["react-app", "plugin:react/recommended"],
"plugins": ["@babel"],

"extends": ["@opencast/eslint-config-ts-react"],
"rules": {
"no-tabs": "error",
"react/jsx-pascal-case": "off",
"react/prop-types": 0,
"react/no-unknown-property": ["error", { "ignore": ["sx"] }],
"react/jsx-curly-spacing": "warn",
"no-unused-expressions": "off",
"@babel/no-unused-expressions": "warn",
"quotes": ["warn", "single", { "avoidEscape": true }],

"arrow-parens": ["error", "as-needed"],
"arrow-spacing": "error",
"block-spacing": ["error", "always"],
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
"comma-dangle": ["warn", "only-multiline"],
"comma-spacing": "warn",
"comma-style": "warn",
"curly": "warn",
"eol-last": ["error", "always"],
"func-call-spacing": ["error", "never"],
"indent": ["error", 2, { "SwitchCase": 1, "MemberExpression": "off" }],
"jsx-quotes": ["error", "prefer-double"],
"keyword-spacing": "warn",
"linebreak-style": ["error", "unix"],
"max-len": ["error", { "code": 120, "ignoreUrls": true }],
"no-multi-spaces": ["warn", { "ignoreEOLComments": true }],
"no-trailing-spaces": "error",
"object-curly-spacing": ["error", "always", { "arraysInObjects": false, "objectsInObjects": false }],
"semi": ["error", "always"],
"semi-spacing": "warn",
"space-before-function-paren": ["error", "never"],
"space-before-blocks": "warn",
"space-infix-ops": "error",
"space-in-parens": "warn"
"@typescript-eslint/member-delimiter-style": "warn"
},
"settings": {
"react": {
"pragma": "jsx",
"version": "detect"
}
}
"overrides": [
{
"files": ["./webpack.config.ts"],
"parserOptions": {
"project": false
}
}
],
"ignorePatterns": [
"node_modules",
"old-src",
"build"
]
}
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
node-version: 16
- run: npm ci
- run: npx eslint src --max-warnings=0
- run: npm run build
- run: npm test
- run: npm run build:dev
- run: npm run typecheck


# Prepare test deployment
Expand All @@ -35,7 +35,7 @@ jobs:
fi
deploydir="/$(echo "${deploydir}" | LC_ALL=C sed -e 's/[^a-zA-Z0-9\-_]/-/g')"
echo ${deploydir} > deploydir.tmp
PUBLIC_URL=${deploydir} npm run build
PUBLIC_PATH=${deploydir} npm run build:release

- name: Archive test deployment files as artifact
uses: actions/upload-artifact@v3
Expand All @@ -53,7 +53,7 @@ jobs:
REACT_APP_INCLUDE_LEGAL_NOTICES: 1
run: |
rm -rf build
PUBLIC_URL="/" npm run build
PUBLIC_PATH="/" npm run build:release

- name: Archive prod deployment files as artifact
if: github.repository_owner == 'elan-ev' && github.ref == 'refs/heads/master'
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*

tsconfig.tsbuildinfo
22 changes: 0 additions & 22 deletions CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,28 +169,6 @@ further below for information on that.
# Note: this setting can ONLY be set via `settings.toml` and not via GET
# parameter.
#allowedDomains = ["mylms.myuniversity.de"]

[theme]
# You can add here your own CSS
customCSS = """
/* Sample pink theme */
#root {
--theme-ui-colors-primary: #b03c7e;
--theme-ui-colors-btn-hover: #93326a;
}

/* Sample dark theme */
/*
:root {
--theme-ui-colors-background: #303238;
--theme-ui-colors-text: #FFF;
}
#root {
--theme-ui-colors-info: #737373;
--theme-ui-colors-gray-3: #797676;
}
*/
"""
```


Expand Down
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes
16 changes: 0 additions & 16 deletions doc/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,6 @@ If a pull request relates to an existing issue, please also link that issue.
If you want to make us happy, please also provide this reasoning as part of your git commit messages.


Tests
-----

Opencast Studio comes with a set of tests.
Passing these tests is a requirement for all contributions.
These tests are also run automatically on our CI system.

To run tests locally, use::

npm test

If the CI tests on your pull request fail and you are sure it is not caused by your patch, please complain.
Errors happen and we can easily trigger a new build.
Your patch cannot be merged without these tests passing.


Documentation
-------------

Expand Down
Loading