src
webapp
.storybook
components
features
···
1
1
// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format
2
2
-
import storybook from "eslint-plugin-storybook";
2
2
+
import storybook from 'eslint-plugin-storybook';
3
3
4
4
import js from '@eslint/js';
5
5
import prettierPlugin from 'eslint-plugin-prettier';
6
6
import tseslint from '@typescript-eslint/eslint-plugin';
7
7
import tsparser from '@typescript-eslint/parser';
8
8
9
9
-
export default [js.configs.recommended, {
10
10
-
ignores: [
11
11
-
'src/webapp/**',
12
12
-
'dist/**',
13
13
-
'node_modules/**',
14
14
-
'src/modules/atproto/infrastructure/lexicon/**',
15
15
-
],
16
16
-
}, {
17
17
-
files: ['**/*.js'],
18
18
-
languageOptions: {
19
19
-
ecmaVersion: 2022,
20
20
-
sourceType: 'script',
21
21
-
globals: {
22
22
-
console: 'readonly',
23
23
-
process: 'readonly',
24
24
-
Buffer: 'readonly',
25
25
-
__dirname: 'readonly',
26
26
-
__filename: 'readonly',
27
27
-
module: 'readonly',
28
28
-
require: 'readonly',
29
29
-
exports: 'readonly',
30
30
-
global: 'readonly',
31
31
-
setTimeout: 'readonly',
9
9
+
export default [
10
10
+
js.configs.recommended,
11
11
+
{
12
12
+
ignores: [
13
13
+
'src/webapp/**',
14
14
+
'dist/**',
15
15
+
'node_modules/**',
16
16
+
'src/modules/atproto/infrastructure/lexicon/**',
17
17
+
],
18
18
+
},
19
19
+
{
20
20
+
files: ['**/*.js'],
21
21
+
languageOptions: {
22
22
+
ecmaVersion: 2022,
23
23
+
sourceType: 'script',
24
24
+
globals: {
25
25
+
console: 'readonly',
26
26
+
process: 'readonly',
27
27
+
Buffer: 'readonly',
28
28
+
__dirname: 'readonly',
29
29
+
__filename: 'readonly',
30
30
+
module: 'readonly',
31
31
+
require: 'readonly',
32
32
+
exports: 'readonly',
33
33
+
global: 'readonly',
34
34
+
setTimeout: 'readonly',
35
35
+
},
36
36
+
},
37
37
+
plugins: {
38
38
+
prettier: prettierPlugin,
39
39
+
},
40
40
+
rules: {
41
41
+
'prettier/prettier': 'error',
42
42
+
'no-unused-vars': 'warn',
43
43
+
'no-console': 'warn',
32
44
},
33
45
},
34
34
-
plugins: {
35
35
-
prettier: prettierPlugin,
46
46
+
{
47
47
+
files: ['**/*.ts'],
48
48
+
plugins: {
49
49
+
'@typescript-eslint': tseslint,
50
50
+
prettier: prettierPlugin,
51
51
+
},
52
52
+
languageOptions: {
53
53
+
parser: tsparser,
54
54
+
ecmaVersion: 2022,
55
55
+
sourceType: 'module',
56
56
+
globals: {
57
57
+
console: 'readonly',
58
58
+
process: 'readonly',
59
59
+
Buffer: 'readonly',
60
60
+
__dirname: 'readonly',
61
61
+
__filename: 'readonly',
62
62
+
module: 'readonly',
63
63
+
require: 'readonly',
64
64
+
exports: 'readonly',
65
65
+
global: 'readonly',
66
66
+
fetch: 'readonly',
67
67
+
// Jest globals
68
68
+
describe: 'readonly',
69
69
+
test: 'readonly',
70
70
+
it: 'readonly',
71
71
+
expect: 'readonly',
72
72
+
beforeAll: 'readonly',
73
73
+
beforeEach: 'readonly',
74
74
+
afterAll: 'readonly',
75
75
+
afterEach: 'readonly',
76
76
+
jest: 'readonly',
77
77
+
URLSearchParams: 'readonly',
78
78
+
setTimeout: 'readonly',
79
79
+
NodeJS: 'readonly',
80
80
+
clearTimeout: 'readonly',
81
81
+
setImmediate: 'readonly',
82
82
+
},
83
83
+
},
84
84
+
rules: {
85
85
+
'prettier/prettier': 'error',
86
86
+
'no-unused-vars': 'off', // Turn off base rule
87
87
+
'@typescript-eslint/no-unused-vars': 'warn',
88
88
+
'no-console': 'warn',
89
89
+
},
36
90
},
37
37
-
rules: {
38
38
-
'prettier/prettier': 'error',
39
39
-
'no-unused-vars': 'warn',
40
40
-
'no-console': 'warn',
41
41
-
},
42
42
-
}, {
43
43
-
files: ['**/*.ts'],
44
44
-
plugins: {
45
45
-
'@typescript-eslint': tseslint,
46
46
-
prettier: prettierPlugin,
47
47
-
},
48
48
-
languageOptions: {
49
49
-
parser: tsparser,
50
50
-
ecmaVersion: 2022,
51
51
-
sourceType: 'module',
52
52
-
globals: {
53
53
-
console: 'readonly',
54
54
-
process: 'readonly',
55
55
-
Buffer: 'readonly',
56
56
-
__dirname: 'readonly',
57
57
-
__filename: 'readonly',
58
58
-
module: 'readonly',
59
59
-
require: 'readonly',
60
60
-
exports: 'readonly',
61
61
-
global: 'readonly',
62
62
-
fetch: 'readonly',
63
63
-
// Jest globals
64
64
-
describe: 'readonly',
65
65
-
test: 'readonly',
66
66
-
it: 'readonly',
67
67
-
expect: 'readonly',
68
68
-
beforeAll: 'readonly',
69
69
-
beforeEach: 'readonly',
70
70
-
afterAll: 'readonly',
71
71
-
afterEach: 'readonly',
72
72
-
jest: 'readonly',
73
73
-
URLSearchParams: 'readonly',
74
74
-
setTimeout: 'readonly',
75
75
-
NodeJS: 'readonly',
76
76
-
clearTimeout: 'readonly',
77
77
-
setImmediate: 'readonly',
91
91
+
{
92
92
+
files: ['**/*.test.ts', '**/*.spec.ts'],
93
93
+
languageOptions: {
94
94
+
parser: tsparser,
95
95
+
ecmaVersion: 2022,
96
96
+
sourceType: 'module',
97
97
+
globals: {
98
98
+
console: 'readonly',
99
99
+
process: 'readonly',
100
100
+
Buffer: 'readonly',
101
101
+
__dirname: 'readonly',
102
102
+
__filename: 'readonly',
103
103
+
module: 'readonly',
104
104
+
require: 'readonly',
105
105
+
exports: 'readonly',
106
106
+
global: 'readonly',
107
107
+
fetch: 'readonly',
108
108
+
// Jest globals
109
109
+
describe: 'readonly',
110
110
+
test: 'readonly',
111
111
+
it: 'readonly',
112
112
+
expect: 'readonly',
113
113
+
beforeAll: 'readonly',
114
114
+
beforeEach: 'readonly',
115
115
+
afterAll: 'readonly',
116
116
+
afterEach: 'readonly',
117
117
+
jest: 'readonly',
118
118
+
// Browser globals for e2e tests using Playwright
119
119
+
document: 'readonly',
120
120
+
window: 'readonly',
121
121
+
navigator: 'readonly',
122
122
+
location: 'readonly',
123
123
+
setTimeout: 'readonly',
124
124
+
NodeJS: 'readonly',
125
125
+
clearTimeout: 'readonly',
126
126
+
},
127
127
+
},
128
128
+
plugins: {
129
129
+
'@typescript-eslint': tseslint,
130
130
+
prettier: prettierPlugin,
78
131
},
79
79
-
},
80
80
-
rules: {
81
81
-
'prettier/prettier': 'error',
82
82
-
'no-unused-vars': 'off', // Turn off base rule
83
83
-
'@typescript-eslint/no-unused-vars': 'warn',
84
84
-
'no-console': 'warn',
85
85
-
},
86
86
-
}, {
87
87
-
files: ['**/*.test.ts', '**/*.spec.ts'],
88
88
-
languageOptions: {
89
89
-
parser: tsparser,
90
90
-
ecmaVersion: 2022,
91
91
-
sourceType: 'module',
92
92
-
globals: {
93
93
-
console: 'readonly',
94
94
-
process: 'readonly',
95
95
-
Buffer: 'readonly',
96
96
-
__dirname: 'readonly',
97
97
-
__filename: 'readonly',
98
98
-
module: 'readonly',
99
99
-
require: 'readonly',
100
100
-
exports: 'readonly',
101
101
-
global: 'readonly',
102
102
-
fetch: 'readonly',
103
103
-
// Jest globals
104
104
-
describe: 'readonly',
105
105
-
test: 'readonly',
106
106
-
it: 'readonly',
107
107
-
expect: 'readonly',
108
108
-
beforeAll: 'readonly',
109
109
-
beforeEach: 'readonly',
110
110
-
afterAll: 'readonly',
111
111
-
afterEach: 'readonly',
112
112
-
jest: 'readonly',
113
113
-
// Browser globals for e2e tests using Playwright
114
114
-
document: 'readonly',
115
115
-
window: 'readonly',
116
116
-
navigator: 'readonly',
117
117
-
location: 'readonly',
118
118
-
setTimeout: 'readonly',
119
119
-
NodeJS: 'readonly',
120
120
-
clearTimeout: 'readonly',
132
132
+
rules: {
133
133
+
'prettier/prettier': 'error',
134
134
+
'no-unused-vars': 'off',
135
135
+
'@typescript-eslint/no-unused-vars': 'warn',
136
136
+
'no-console': 'warn',
121
137
},
122
138
},
123
123
-
plugins: {
124
124
-
'@typescript-eslint': tseslint,
125
125
-
prettier: prettierPlugin,
126
126
-
},
127
127
-
rules: {
128
128
-
'prettier/prettier': 'error',
129
129
-
'no-unused-vars': 'off',
130
130
-
'@typescript-eslint/no-unused-vars': 'warn',
131
131
-
'no-console': 'warn',
132
132
-
},
133
133
-
}, ...storybook.configs["flat/recommended"]];
139
139
+
...storybook.configs['flat/recommended'],
140
140
+
];
···
1
1
-
import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview";
1
1
+
import * as a11yAddonAnnotations from '@storybook/addon-a11y/preview';
2
2
import { setProjectAnnotations } from '@storybook/nextjs-vite';
3
3
import * as projectAnnotations from './preview';
4
4
5
5
// This is an important step to apply the right configuration when testing your stories.
6
6
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
7
7
-
setProjectAnnotations([a11yAddonAnnotations, projectAnnotations]);
7
7
+
setProjectAnnotations([a11yAddonAnnotations, projectAnnotations]);
···
143
143
</Text>
144
144
)}
145
145
146
146
-
<Group gap={"xs"} grow>
146
146
+
<Group gap={'xs'} grow>
147
147
<Button
148
148
onClick={handleSubmit}
149
149
disabled={submitting || selectedCollectionIds.length === 0}
···
2
2
3
3
export default function CollectionSelectorSkeleton() {
4
4
return (
5
5
-
<Stack gap={"xs"}>
5
5
+
<Stack gap={'xs'}>
6
6
<Skeleton w={'100%'} h={50} />
7
7
<Skeleton w={'100%'} h={50} />
8
8
<Skeleton w={'100%'} h={50} />
···
1
1
-
/// <reference types="@vitest/browser/providers/playwright" />
1
1
+
/// <reference types="@vitest/browser/providers/playwright" />