) => (
4 |
7 | )
8 |
--------------------------------------------------------------------------------
/apps/tanstack-query-zustand/src/pages/UserPage/ui/UserTabs/PlaylistsTab/PlaylistsTab.module.css:
--------------------------------------------------------------------------------
1 | .createPlaylistButton {
2 | display: block;
3 |
4 | width: 328px;
5 | height: 54px;
6 | margin: 0 auto;
7 | margin-bottom: 24px;
8 | }
9 |
10 | .emptyState {
11 | text-align: center;
12 | padding: 60px 0;
13 | color: #888;
14 | font-size: 16px;
15 | }
16 |
--------------------------------------------------------------------------------
/apps/tanstack-query-zustand/src/shared/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export { default as useDebounceCallback } from './debounceCallback'
2 | export { default as useDebounceValue } from './debounceValue'
3 | export { default as useGetId } from './getId'
4 | export { default as useInfiniteScroll } from './infiniteScroll'
5 | export { default as useThrottleCallback } from './throttleCallback'
6 |
--------------------------------------------------------------------------------
/youtube/rtk-query/lesson1/vite.config.ts:
--------------------------------------------------------------------------------
1 | import react from '@vitejs/plugin-react-swc'
2 | import path from 'path'
3 | import { defineConfig } from 'vite'
4 |
5 | // https://vite.dev/config/
6 | export default defineConfig({
7 | plugins: [react()],
8 | resolve: {
9 | alias: {
10 | '@/': `${path.resolve(__dirname, 'src')}/`,
11 | },
12 | },
13 | })
14 |
--------------------------------------------------------------------------------
/apps/nextjs/src/features/auth/ui/MeInfo/MeInfo.tsx:
--------------------------------------------------------------------------------
1 | import { Logout } from '@/features/auth/ui/Logout/Logout'
2 | import { authApi } from '@/shared/api/auth-api'
3 |
4 | export const MeInfo = async () => {
5 | const meData = await authApi.getMe()
6 |
7 | return (
8 |
9 | userLogin: {meData.login}
10 |
11 |
12 | )
13 | }
14 |
--------------------------------------------------------------------------------
/apps/reatom/src/features/auth/ui/ProfileDropdownMenu/ProfileDropdownMenu.module.css:
--------------------------------------------------------------------------------
1 | .trigger {
2 | cursor: pointer;
3 | display: flex;
4 | gap: 8px;
5 | align-items: center;
6 | }
7 |
8 | .avatar {
9 | overflow: hidden;
10 | width: 34px;
11 | height: 34px;
12 | border-radius: 50%;
13 | }
14 |
15 | .name {
16 | color: var(--color-text-primary);
17 | }
18 |
--------------------------------------------------------------------------------
/apps/reatom/src/features/tags/api/tags-api.ts:
--------------------------------------------------------------------------------
1 | export const MOCK_HASHTAGS = [
2 | 'Rock',
3 | 'Jazz',
4 | 'Blues',
5 | 'Metal',
6 | 'Folk',
7 | 'Coding',
8 | 'Dark Ambient',
9 | 'Chill',
10 | 'Lo-fi',
11 | ]
12 |
13 | export const MOCK_5_HASHTAGS = MOCK_HASHTAGS.slice(0, 5)
14 |
15 | export type TagDto = {
16 | id: string
17 | name: string
18 | }
19 |
--------------------------------------------------------------------------------
/apps/rtk-query/src/shared/icons/KeyboardArrowRightIcon.tsx:
--------------------------------------------------------------------------------
1 | import type { SVGProps } from 'react'
2 |
3 | export const KeyboardArrowRightIcon = (props: SVGProps) => (
4 |
7 | )
8 |
--------------------------------------------------------------------------------
/apps/tanstack-query-zustand/.storybook/main.ts:
--------------------------------------------------------------------------------
1 | import type { StorybookConfig } from '@storybook/react-vite'
2 |
3 | const config: StorybookConfig = {
4 | stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
5 | addons: [],
6 | framework: {
7 | name: '@storybook/react-vite',
8 | options: {},
9 | },
10 | }
11 | export default config
12 |
--------------------------------------------------------------------------------
/apps/tanstack-query-zustand/src/pages/UserPage/UserPage.tsx:
--------------------------------------------------------------------------------
1 | import { PageWrapper } from '../common'
2 | import { UserInfo, UserTabs } from './ui'
3 | import s from './UserPage.module.css'
4 |
5 | export const UserPage = () => {
6 | return (
7 |
8 |
9 |
10 |
11 | )
12 | }
13 |
--------------------------------------------------------------------------------
/apps/ui-vanilla/src/shared/icons/KeyboardArrowRightIcon.tsx:
--------------------------------------------------------------------------------
1 | import type { SVGProps } from 'react'
2 |
3 | export const KeyboardArrowRightIcon = (props: SVGProps) => (
4 |
7 | )
8 |
--------------------------------------------------------------------------------