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

Set up foundation for translations page #107

Merged
merged 46 commits into from
Jul 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
1abdd8f
Set up foundation for translations page design
henrycatalinismith Jul 4, 2024
e5b5367
Fix lint error
henrycatalinismith Jul 4, 2024
4017a00
Fix build error
henrycatalinismith Jul 4, 2024
490d390
Merge branch 'main' into issue-73/translation-page
henrycatalinismith Jul 6, 2024
c4f1d5c
Block writes unless the languageName is valid
henrycatalinismith Jul 7, 2024
320d151
Remove unnecessary div
henrycatalinismith Jul 7, 2024
50611bd
Fix hook dependency arrays and re-enable lint rule
henrycatalinismith Jul 7, 2024
b295fcb
Block editing while saving
henrycatalinismith Jul 7, 2024
ae2669b
Simplify messages page
henrycatalinismith Jul 8, 2024
295d749
Merge pull request #113 from zetkin/issue-73/simplification
henrycatalinismith Jul 8, 2024
0f96bb6
Move @types/react-window to devDependencies in root and remove @emoti…
henrycatalinismith Jul 8, 2024
c0dde1e
Avoid undefined translation
henrycatalinismith Jul 8, 2024
0c25688
Move menu button to the right
henrycatalinismith Jul 8, 2024
21972db
Remove @mui/joy style properties
henrycatalinismith Jul 8, 2024
9dcbe94
Close sidebar when viewport width exceeds breakpoint
henrycatalinismith Jul 8, 2024
cbad1e3
Remove unused classes
henrycatalinismith Jul 8, 2024
f04a357
Sort messages by translation status
henrycatalinismith Jul 8, 2024
5aa1995
Remove unused API routes
henrycatalinismith Jul 8, 2024
0d7816b
Slightly tidy up some of the brokenness from removing the @mui/joy theme
henrycatalinismith Jul 9, 2024
a5d3874
Add more theme config to repair visuals
henrycatalinismith Jul 9, 2024
126314f
Delay rendering FixedSizeList until client render to avoid undefined …
henrycatalinismith Jul 9, 2024
66c4d87
Arrange params in a row rather than a column
henrycatalinismith Jul 9, 2024
a68b0ae
Implement pull request UI
henrycatalinismith Jul 9, 2024
9a09aa6
Fix sidebar overlay background color
henrycatalinismith Jul 9, 2024
9409d45
Remove unused route handler
henrycatalinismith Jul 9, 2024
58b2090
Extract server actions into their own files
henrycatalinismith Jul 9, 2024
f2a1dd7
Show translation update status
henrycatalinismith Jul 9, 2024
35ad1ce
Realign home and project pages with designs
henrycatalinismith Jul 10, 2024
e6913d4
Fix outline color
henrycatalinismith Jul 10, 2024
838e6a2
Align sidebar implementation with designs
henrycatalinismith Jul 10, 2024
db58c7d
Regenerate package-lock.json
henrycatalinismith Jul 13, 2024
38a5748
Tighten up PullRequestButton state changes
henrycatalinismith Jul 13, 2024
3db3fd7
Prevent MessageForm textarea from growing
henrycatalinismith Jul 13, 2024
1b2a702
Remove unnecesary explicit key prop
henrycatalinismith Jul 13, 2024
09c5969
Fix height and padding-related issues with the message list
henrycatalinismith Jul 13, 2024
7ebd519
Tidy up state management in MessageForm
henrycatalinismith Jul 13, 2024
1ec625a
Remove @emotion/cache
henrycatalinismith Jul 13, 2024
8b4f662
Update webapp/src/components/MessageForm.tsx
henrycatalinismith Jul 14, 2024
c3b7974
Remove Yarn reference
henrycatalinismith Jul 14, 2024
e00d2aa
Fix linter error
henrycatalinismith Jul 14, 2024
0cd0051
Remove body scroll
henrycatalinismith Jul 14, 2024
c8ea86d
Avoid stale resetValue ref if rerendered with new translation prop
henrycatalinismith Jul 14, 2024
5ad6f33
Avoid horizontal scrollbar due to long message IDs
henrycatalinismith Jul 14, 2024
a8da526
Only set overflow: hidden on the body for the MessageList component
henrycatalinismith Jul 14, 2024
4dfeebb
Trap focus in sidebar when open on mobile
henrycatalinismith Jul 14, 2024
3b6fda0
Close sidebar when escape is pressed
henrycatalinismith Jul 14, 2024
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
98 changes: 49 additions & 49 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,94 +6,94 @@ module.exports = {
},
parserOptions: { ecmaVersion: 8 }, // to enable features such as async/await
// We don't want to lint generated files nor node_modules, but we want to lint .prettierrc.json (ignored by default by eslint)
ignorePatterns: ['node_modules/*', '.next/*', '.out/*', '!.prettierrc.json'],
extends: ['eslint:recommended', 'next', 'prettier'],
settings: { react: { version: 'detect' } },
ignorePatterns: ["node_modules/*", ".next/*", ".out/*", "!.prettierrc.json"],
extends: ["eslint:recommended", "next", "prettier"],
settings: { react: { version: "detect" } },
overrides: [
{
files: ['.prettierrc.json'],
files: [".prettierrc.json"],

// default parser esprima does not support json
parser: '@typescript-eslint/parser',
parser: "@typescript-eslint/parser",
},

// This configuration will apply only to TypeScript files
{
files: ['**/*.ts', '**/*.tsx', 'src/**/*.js'],
parser: '@typescript-eslint/parser',
files: ["**/*.ts", "**/*.tsx", "src/**/*.js"],
parser: "@typescript-eslint/parser",
env: {
browser: true,
node: true,
es6: true,
},
extends: [
'plugin:@typescript-eslint/recommended', // TypeScript rules
'plugin:jsx-a11y/recommended', // Accessibility rules
"plugin:@typescript-eslint/recommended", // TypeScript rules
"plugin:jsx-a11y/recommended", // Accessibility rules
],
plugins: ['no-switch-statements'],
plugins: ["no-switch-statements"],
rules: {
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-unused-vars': ['error'],
'@typescript-eslint/member-ordering': [
'error',
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-unused-vars": ["error"],
"@typescript-eslint/member-ordering": [
"error",
{
default: { memberTypes: 'never', order: 'alphabetically' },
classes: ['field', 'constructor', 'method'],
interfaces: ['signature', 'method', 'constructor', 'field'],
default: { memberTypes: "never", order: "alphabetically" },
classes: ["field", "constructor", "method"],
interfaces: ["signature", "method", "constructor", "field"],
},
],
curly: 'error',
'import/order': [
'error',
curly: "error",
"import/order": [
"error",
{
groups: [['external', 'builtin']],
'newlines-between': 'always',
groups: [["external", "builtin"]],
"newlines-between": "always",
},
],
'jsx-a11y/anchor-is-valid': 'off',
'no-console': 'error',
'no-switch-statements/no-switch': 'error',
'prefer-const': ['error', {}],
'react/jsx-handler-names': [
'error',
"jsx-a11y/anchor-is-valid": "off",
"no-console": "error",
"no-switch-statements/no-switch": "error",
"prefer-const": ["error", {}],
"react/jsx-handler-names": [
"error",
{
eventHandlerPrefix: 'on',
eventHandlerPropPrefix: 'on',
eventHandlerPrefix: "on",
eventHandlerPropPrefix: "on",
},
],
'react/jsx-no-target-blank': 'error',
'react/jsx-sort-props': [
'error',
"react/jsx-no-target-blank": "error",
"react/jsx-sort-props": [
"error",
{
ignoreCase: true,
reservedFirst: true,
},
],
'react/no-danger': 'error',
'react/no-deprecated': 'error',
'react/no-typos': 'error',
'react/no-unknown-property': 'error',
'react/no-unsafe': [
'error',
"react/no-danger": "error",
"react/no-deprecated": "error",
"react/no-typos": "error",
"react/no-unknown-property": "error",
"react/no-unsafe": [
"error",
{
checkAliases: true,
},
],
'react/no-unused-prop-types': 'error',
'react/prefer-stateless-function': 'error',
'react/prop-types': 'off',
'react/react-in-jsx-scope': 'off',
'react-hooks/exhaustive-deps': 'off',
'react/self-closing-comp': [
'error',
"react/no-unused-prop-types": "error",
"react/prefer-stateless-function": "error",
"react/prop-types": "off",
"react/react-in-jsx-scope": "off",
"react-hooks/exhaustive-deps": "error",
"react/self-closing-comp": [
"error",
{
component: true,
html: true,
},
],
'sort-keys': 'error',
'sort-vars': 'error',
"sort-keys": "error",
"sort-vars": "error",
},
},
],
Expand Down
Loading