Skip to content

Commit 9196888

Browse files
committed
feat: add seo metadata and social previews
1 parent 9518802 commit 9196888

54 files changed

Lines changed: 2156 additions & 609 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
* text=auto
2+
3+
*.ts text eol=lf
4+
*.tsx text eol=lf
5+
*.js text eol=lf
6+
*.jsx text eol=lf
7+
*.css text eol=lf
8+
*.scss text eol=lf
9+
*.md text eol=lf
10+
*.json text eol=lf
11+
*.yml text eol=lf
12+
*.yaml text eol=lf
13+
*.html text eol=lf
14+
*.graphql text eol=lf
15+
16+
*.png binary
17+
*.jpg binary
18+
*.jpeg binary
19+
*.gif binary
20+
*.ico binary
21+
*.svg binary
22+
*.woff binary
23+
*.woff2 binary
24+
*.eot binary
25+
*.ttf binary
26+
*.mp4 binary
27+
*.webm binary
28+
*.mov binary
29+
*.zip binary
30+
*.gz binary
31+
*.tgz binary
32+
*.pdf binary

.github/dependabot.yml

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,70 @@
11
version: 2
22

33
updates:
4-
- package-ecosystem: "npm"
5-
directory: "/"
4+
- package-ecosystem: 'npm'
5+
directory: '/'
66

7-
schedule:
8-
interval: "daily"
9-
time: "05:00"
10-
timezone: "Europe/Moscow"
7+
schedule:
8+
interval: 'daily'
9+
time: '05:00'
10+
timezone: 'Europe/Moscow'
1111

12-
versioning-strategy: increase
12+
versioning-strategy: increase
1313

14-
commit-message:
15-
prefix: "deps"
16-
include: "scope"
14+
commit-message:
15+
prefix: 'deps'
16+
include: 'scope'
1717

18-
labels:
19-
- "dependencies"
20-
- "npm"
21-
- "automated"
18+
labels:
19+
- 'dependencies'
20+
- 'npm'
21+
- 'automated'
2222

23-
assignees:
24-
- "teacoder52"
23+
assignees:
24+
- 'teacoder52'
2525

26-
reviewers:
27-
- "teacoder52"
26+
reviewers:
27+
- 'teacoder52'
2828

29-
rebase-strategy: "auto"
29+
rebase-strategy: 'auto'
3030

31-
ignore:
32-
- dependency-name: "next"
33-
update-types:
34-
- "version-update:semver-major"
31+
ignore:
32+
- dependency-name: 'next'
33+
update-types:
34+
- 'version-update:semver-major'
3535

36-
- dependency-name: "react"
37-
update-types:
38-
- "version-update:semver-major"
36+
- dependency-name: 'react'
37+
update-types:
38+
- 'version-update:semver-major'
3939

40-
- dependency-name: "react-dom"
41-
update-types:
42-
- "version-update:semver-major"
40+
- dependency-name: 'react-dom'
41+
update-types:
42+
- 'version-update:semver-major'
4343

44-
allow:
45-
- dependency-type: "direct"
46-
- dependency-type: "indirect"
44+
allow:
45+
- dependency-type: 'direct'
46+
- dependency-type: 'indirect'
4747

48-
- package-ecosystem: "github-actions"
49-
directory: "/"
48+
- package-ecosystem: 'github-actions'
49+
directory: '/'
5050

51-
schedule:
52-
interval: "weekly"
53-
day: "sunday"
54-
time: "06:00"
55-
timezone: "Europe/Moscow"
51+
schedule:
52+
interval: 'weekly'
53+
day: 'sunday'
54+
time: '06:00'
55+
timezone: 'Europe/Moscow'
5656

57-
commit-message:
58-
prefix: "ci"
57+
commit-message:
58+
prefix: 'ci'
5959

60-
labels:
61-
- "ci"
62-
- "dependencies"
60+
labels:
61+
- 'ci'
62+
- 'dependencies'
6363

64-
assignees:
65-
- "teacoder52"
64+
assignees:
65+
- 'teacoder52'
6666

67-
reviewers:
68-
- "teacoder52"
67+
reviewers:
68+
- 'teacoder52'
6969

70-
rebase-strategy: "auto"
70+
rebase-strategy: 'auto'

.github/workflows/ci.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- develop
8+
pull_request:
9+
branches:
10+
- main
11+
- develop
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
quality:
18+
name: Code Quality and Build Verification
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Node.js
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version: 22.19.0
29+
cache: yarn
30+
31+
- name: Enable Corepack
32+
run: corepack enable
33+
34+
- name: Install dependencies
35+
run: yarn install --immutable
36+
37+
- name: Run Prettier check
38+
run: yarn prettier --check .
39+
40+
- name: Run TypeScript type check
41+
run: yarn tsc --noEmit
42+
43+
- name: Build application
44+
run: yarn build

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22.19.0

.prettierignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
node_modules
2+
.pnp.*
3+
.yarn/cache
4+
.yarn/releases
5+
.yarn/unplugged
6+
7+
.next
8+
out
9+
dist
10+
11+
storybook-static
12+
13+
*.log
14+
npm-debug.log*
15+
yarn-debug.log*
16+
yarn-error.log*

.release-it.json

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
{
2-
"$schema": "https://unpkg.com/release-it@17.10.0/schema/release-it.json",
3-
"git": {
4-
"commitMessage": "chore: release v${version}"
5-
},
6-
"npm": {
7-
"publish": false
8-
},
9-
"github": {
10-
"release": false
11-
},
12-
"gitlab": {
13-
"release": true
14-
},
15-
"plugins": {
16-
"@release-it/conventional-changelog": {
17-
"preset": {
18-
"name": "conventionalcommits",
19-
"types": [
20-
{ "type": "feat", "section": "Features" },
21-
{ "type": "fix", "section": "Bug Fixes" },
22-
{ "type": "perf", "section": "Performance Updates" },
23-
{ "type": "refactor", "section": "Refactors" },
24-
{ "type": "style", "section": "Stylistic Updates" },
25-
{ "type": "chore", "section": "Chores" },
26-
{ "type": "docs", "section": "Documentation" },
27-
{ "type": "test", "section": "Tests" },
28-
{ "type": "build", "section": "Build System" },
29-
{ "type": "ci", "section": "CI/CD" },
30-
{ "type": "revert", "section": "Reverts" }
31-
]
32-
},
33-
"infile": "CHANGELOG.md"
34-
}
35-
}
2+
"$schema": "https://unpkg.com/release-it@17.10.0/schema/release-it.json",
3+
"git": {
4+
"commitMessage": "chore: release v${version}"
5+
},
6+
"npm": {
7+
"publish": false
8+
},
9+
"github": {
10+
"release": false
11+
},
12+
"gitlab": {
13+
"release": true
14+
},
15+
"plugins": {
16+
"@release-it/conventional-changelog": {
17+
"preset": {
18+
"name": "conventionalcommits",
19+
"types": [
20+
{ "type": "feat", "section": "Features" },
21+
{ "type": "fix", "section": "Bug Fixes" },
22+
{ "type": "perf", "section": "Performance Updates" },
23+
{ "type": "refactor", "section": "Refactors" },
24+
{ "type": "style", "section": "Stylistic Updates" },
25+
{ "type": "chore", "section": "Chores" },
26+
{ "type": "docs", "section": "Documentation" },
27+
{ "type": "test", "section": "Tests" },
28+
{ "type": "build", "section": "Build System" },
29+
{ "type": "ci", "section": "CI/CD" },
30+
{ "type": "revert", "section": "Reverts" }
31+
]
32+
},
33+
"infile": "CHANGELOG.md"
34+
}
35+
}
3636
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import type { Decorator } from '@storybook/react'
2+
3+
import { withTheme } from './withTheme'
4+
5+
export const withProviders: Decorator = (Story, context) => {
6+
return withTheme(Story, context)
7+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import type { Decorator } from '@storybook/react'
2+
3+
import { ThemeProvider } from '../../src/providers/ThemeProvider'
4+
5+
export const withTheme: Decorator = (Story, context) => {
6+
return (
7+
<ThemeProvider>
8+
<Story {...context} />
9+
</ThemeProvider>
10+
)
11+
}

.storybook/main.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
import type { StorybookConfig } from "@storybook/nextjs-vite";
1+
import type { StorybookConfig } from '@storybook/nextjs-vite'
22

33
const config: StorybookConfig = {
4-
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
4+
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
55
addons: [
6-
"@chromatic-com/storybook",
7-
"@storybook/addon-vitest",
8-
"@storybook/addon-a11y",
9-
"@storybook/addon-docs",
6+
'@chromatic-com/storybook',
7+
'@storybook/addon-vitest',
8+
'@storybook/addon-a11y',
9+
'@storybook/addon-docs'
1010
],
11-
framework: "@storybook/nextjs-vite",
12-
staticDirs: ["..\\public"],
13-
};
14-
export default config;
11+
framework: '@storybook/nextjs-vite',
12+
staticDirs: ['..\\public']
13+
}
14+
15+
export default config

.storybook/preview.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
import type { Preview } from "@storybook/nextjs-vite";
1+
import type { Preview } from '@storybook/nextjs-vite'
22

3-
import "../src/assets/styles/globals.css";
3+
import '../src/assets/styles/globals.css'
4+
5+
import { withProviders } from './decorators/withProviders'
46

57
const preview: Preview = {
68
parameters: {
79
controls: {
810
matchers: {
911
color: /(background|color)$/i,
10-
date: /Date$/i,
11-
},
12+
date: /Date$/i
13+
}
1214
},
13-
1415
a11y: {
15-
// 'todo' - show a11y violations in the test UI only
16-
// 'error' - fail CI on a11y violations
17-
// 'off' - skip a11y checks entirely
18-
test: "todo",
19-
},
16+
test: 'todo'
17+
}
2018
},
21-
};
19+
decorators: [withProviders]
20+
}
2221

23-
export default preview;
22+
export default preview

0 commit comments

Comments
 (0)