Browse Source

Add sort imports plugin (#731)

* setup sort imports plugin

* linting

* fix preview.jsx lint issue
Bartosz Dryl 3 years ago
parent
commit
08af5508b7
100 changed files with 330 additions and 206 deletions
  1. 3 0
      .prettierrc.js
  2. 1 0
      .storybook/manager.js
  3. 3 2
      .storybook/preview.jsx
  4. 2 1
      package.json
  5. 2 1
      src/App.tsx
  6. 7 5
      src/MainLayout.tsx
  7. 3 2
      src/api/client/cache.ts
  8. 2 1
      src/api/client/executors.ts
  9. 10 9
      src/api/client/index.ts
  10. 2 1
      src/api/client/resolvers.ts
  11. 2 1
      src/api/hooks/categories.ts
  12. 1 0
      src/api/hooks/channel.ts
  13. 1 2
      src/api/hooks/coverVideo.ts
  14. 1 1
      src/api/hooks/index.ts
  15. 1 0
      src/api/hooks/membership.ts
  16. 1 0
      src/api/hooks/queryNode.ts
  17. 2 1
      src/api/hooks/search.ts
  18. 2 1
      src/api/hooks/video.ts
  19. 1 0
      src/api/hooks/videosConnection.ts
  20. 4 3
      src/api/hooks/workers.ts
  21. 3 2
      src/api/queries/__generated__/categories.generated.tsx
  22. 3 3
      src/api/queries/__generated__/channels.generated.tsx
  23. 3 3
      src/api/queries/__generated__/memberships.generated.tsx
  24. 3 2
      src/api/queries/__generated__/queryNode.generated.tsx
  25. 4 4
      src/api/queries/__generated__/search.generated.tsx
  26. 2 2
      src/api/queries/__generated__/shared.generated.tsx
  27. 4 4
      src/api/queries/__generated__/videos.generated.tsx
  28. 3 2
      src/api/queries/__generated__/workers.generated.tsx
  29. 2 2
      src/components/BackgroundPattern.tsx
  30. 4 3
      src/components/ChannelGallery.tsx
  31. 3 2
      src/components/ChannelGrid.tsx
  32. 3 2
      src/components/ChannelLink/ChannelLink.style.ts
  33. 5 3
      src/components/ChannelLink/ChannelLink.tsx
  34. 1 0
      src/components/ChannelLink/index.ts
  35. 2 1
      src/components/ChannelPreview.tsx
  36. 3 1
      src/components/CoverVideo/CoverVideo.style.ts
  37. 10 8
      src/components/CoverVideo/CoverVideo.tsx
  38. 5 3
      src/components/Dialogs/ActionDialog/ActionDialog.stories.tsx
  39. 3 2
      src/components/Dialogs/ActionDialog/ActionDialog.style.ts
  40. 5 2
      src/components/Dialogs/ActionDialog/ActionDialog.tsx
  41. 5 3
      src/components/Dialogs/BaseDialog/BaseDialog.stories.tsx
  42. 1 0
      src/components/Dialogs/BaseDialog/BaseDialog.style.ts
  43. 5 3
      src/components/Dialogs/BaseDialog/BaseDialog.tsx
  44. 7 5
      src/components/Dialogs/ImageCropDialog/ImageCropDialog.stories.tsx
  45. 4 2
      src/components/Dialogs/ImageCropDialog/ImageCropDialog.style.ts
  46. 8 5
      src/components/Dialogs/ImageCropDialog/ImageCropDialog.tsx
  47. 3 2
      src/components/Dialogs/ImageCropDialog/cropper.ts
  48. 4 2
      src/components/Dialogs/MessageDialog/MessageDialog.stories.tsx
  49. 2 1
      src/components/Dialogs/MessageDialog/MessageDialog.style.ts
  50. 5 2
      src/components/Dialogs/MessageDialog/MessageDialog.tsx
  51. 4 2
      src/components/Dialogs/Multistepper/Multistepper.stories.tsx
  52. 4 2
      src/components/Dialogs/Multistepper/Multistepper.style.ts
  53. 6 3
      src/components/Dialogs/Multistepper/Multistepper.tsx
  54. 4 2
      src/components/Dialogs/TransactionDialog/TransactionDialog.stories.tsx
  55. 3 2
      src/components/Dialogs/TransactionDialog/TransactionDialog.style.ts
  56. 6 3
      src/components/Dialogs/TransactionDialog/TransactionDialog.tsx
  57. 2 2
      src/components/Dialogs/index.ts
  58. 1 2
      src/components/ErrorFallback.tsx
  59. 5 4
      src/components/InfiniteGrids/InfiniteChannelGrid.tsx
  60. 5 4
      src/components/InfiniteGrids/InfiniteVideoGrid.tsx
  61. 1 1
      src/components/InfiniteGrids/index.ts
  62. 3 3
      src/components/InfiniteGrids/useInfiniteGrid.ts
  63. 2 2
      src/components/InterruptedVideosGallery.tsx
  64. 2 1
      src/components/Link/Link.style.ts
  65. 1 0
      src/components/Link/Link.tsx
  66. 1 0
      src/components/Link/index.ts
  67. 4 2
      src/components/NoConnectionIndicator/NoConnectionIndicator.stories.tsx
  68. 3 2
      src/components/NoConnectionIndicator/NoConnectionIndicator.style.ts
  69. 4 2
      src/components/NoConnectionIndicator/NoConnectionIndicator.tsx
  70. 1 0
      src/components/NoConnectionIndicator/index.ts
  71. 1 0
      src/components/PlaceholderVideoGrid.tsx
  72. 3 2
      src/components/Sidenav/SidenavBase.style.ts
  73. 6 4
      src/components/Sidenav/SidenavBase.tsx
  74. 5 4
      src/components/Sidenav/StudioSidenav/StudioSidenav.tsx
  75. 4 2
      src/components/Sidenav/ViewerSidenav/FollowedChannels.style.ts
  76. 6 4
      src/components/Sidenav/ViewerSidenav/FollowedChannels.tsx
  77. 5 3
      src/components/Sidenav/ViewerSidenav/ViewerSidenav.tsx
  78. 3 1
      src/components/SignInSteps/AccountStep.style.ts
  79. 6 4
      src/components/SignInSteps/AccountStep.tsx
  80. 3 1
      src/components/SignInSteps/ExtensionStep.style.ts
  81. 5 3
      src/components/SignInSteps/ExtensionStep.tsx
  82. 2 1
      src/components/SignInSteps/SignInSteps.style.ts
  83. 5 2
      src/components/SignInSteps/SignInStepsStepper.tsx
  84. 2 1
      src/components/SignInSteps/TermsStep.style.tsx
  85. 5 3
      src/components/SignInSteps/TermsStep.tsx
  86. 4 3
      src/components/StudioEntrypoint.tsx
  87. 1 0
      src/components/TermsOfService.tsx
  88. 3 1
      src/components/Topbar/StudioTopbar/StudioTopbar.style.tsx
  89. 5 4
      src/components/Topbar/StudioTopbar/StudioTopbar.tsx
  90. 1 0
      src/components/Topbar/StudioTopbar/index.ts
  91. 2 1
      src/components/Topbar/TopbarBase.stories.tsx
  92. 5 3
      src/components/Topbar/TopbarBase.style.tsx
  93. 1 0
      src/components/Topbar/TopbarBase.tsx
  94. 5 2
      src/components/Topbar/ViewerTopbar/ViewerTopbar.tsx
  95. 1 0
      src/components/Topbar/ViewerTopbar/index.ts
  96. 1 1
      src/components/Topbar/index.ts
  97. 4 4
      src/components/VideoGallery.tsx
  98. 3 2
      src/components/VideoGrid.tsx
  99. 3 2
      src/components/VideoPreview.tsx
  100. 2 2
      src/components/ViewErrorFallback.tsx

+ 3 - 0
.prettierrc.js

@@ -1,4 +1,7 @@
 module.exports = {
 module.exports = {
   ...require('@joystream/prettier-config'),
   ...require('@joystream/prettier-config'),
   printWidth: 120,
   printWidth: 120,
+  importOrder: ['^@/(.*)$', '^./', '^[./]'],
+  experimentalBabelParserPluginsList: ['jsx', 'typescript'],
+  importOrderSeparation: true,
 }
 }

+ 1 - 0
.storybook/manager.js

@@ -1,4 +1,5 @@
 import addons from '@storybook/addons'
 import addons from '@storybook/addons'
+
 import joystreamTheme from './theme'
 import joystreamTheme from './theme'
 
 
 addons.setConfig({
 addons.setConfig({

+ 3 - 2
.storybook/preview.jsx

@@ -1,8 +1,9 @@
-import React, { useRef } from 'react'
 import { css } from '@emotion/react'
 import { css } from '@emotion/react'
-import { GlobalStyle } from '../src/shared/components'
+import React, { useRef } from 'react'
 import useResizeObserver from 'use-resize-observer'
 import useResizeObserver from 'use-resize-observer'
 
 
+import { GlobalStyle } from '../src/shared/components'
+
 const wrapperStyle = css`
 const wrapperStyle = css`
   padding: 10px;
   padding: 10px;
   height: calc(100vh - 20px);
   height: calc(100vh - 20px);

+ 2 - 1
package.json

@@ -133,7 +133,8 @@
     "@storybook/preset-create-react-app": "^3.1.5",
     "@storybook/preset-create-react-app": "^3.1.5",
     "@storybook/react": "^6.1.16",
     "@storybook/react": "^6.1.16",
     "@storybook/theming": "^6.1.16",
     "@storybook/theming": "^6.1.16",
-    "@svgr/cli": "^5.5.0"
+    "@svgr/cli": "^5.5.0",
+    "@trivago/prettier-plugin-sort-imports": "^2.0.2"
   },
   },
   "browserslist": {
   "browserslist": {
     "production": [
     "production": [

+ 2 - 1
src/App.tsx

@@ -1,8 +1,9 @@
-import React from 'react'
 import { ApolloProvider } from '@apollo/client'
 import { ApolloProvider } from '@apollo/client'
+import React from 'react'
 
 
 import { createApolloClient } from '@/api'
 import { createApolloClient } from '@/api'
 import { ConnectionStatusProvider, OverlayManagerProvider, SnackbarProvider } from '@/hooks'
 import { ConnectionStatusProvider, OverlayManagerProvider, SnackbarProvider } from '@/hooks'
+
 import MainLayout from './MainLayout'
 import MainLayout from './MainLayout'
 
 
 export default function App() {
 export default function App() {

+ 7 - 5
src/MainLayout.tsx

@@ -1,13 +1,15 @@
+import loadable from '@loadable/component'
 import React from 'react'
 import React from 'react'
 import { BrowserRouter, Routes, Route } from 'react-router-dom'
 import { BrowserRouter, Routes, Route } from 'react-router-dom'
-import loadable from '@loadable/component'
-import { GlobalStyle } from '@/shared/components'
+
+import { TopbarBase, StudioLoading } from '@/components'
 import { BASE_PATHS } from '@/config/routes'
 import { BASE_PATHS } from '@/config/routes'
-import { ViewerLayout } from './views/viewer'
+import { GlobalStyle } from '@/shared/components'
+import { routingTransitions } from '@/styles/routingTransitions'
+
 import { LegalLayout } from './views/legal'
 import { LegalLayout } from './views/legal'
 import { PlaygroundLayout } from './views/playground'
 import { PlaygroundLayout } from './views/playground'
-import { TopbarBase, StudioLoading } from '@/components'
-import { routingTransitions } from '@/styles/routingTransitions'
+import { ViewerLayout } from './views/viewer'
 
 
 const LoadableStudioLayout = loadable(() => import('./views/studio/StudioLayout'), {
 const LoadableStudioLayout = loadable(() => import('./views/studio/StudioLayout'), {
   fallback: (
   fallback: (

+ 3 - 2
src/api/client/cache.ts

@@ -1,6 +1,9 @@
 import { InMemoryCache } from '@apollo/client'
 import { InMemoryCache } from '@apollo/client'
+import { ReadFieldFunction } from '@apollo/client/cache/core/types/common'
+import { FieldPolicy, FieldReadFunction } from '@apollo/client/cache/inmemory/policies'
 import { offsetLimitPagination, relayStylePagination } from '@apollo/client/utilities'
 import { offsetLimitPagination, relayStylePagination } from '@apollo/client/utilities'
 import { parseISO } from 'date-fns'
 import { parseISO } from 'date-fns'
+
 import {
 import {
   AllChannelFieldsFragment,
   AllChannelFieldsFragment,
   AssetAvailability,
   AssetAvailability,
@@ -11,8 +14,6 @@ import {
   VideoFieldsFragment,
   VideoFieldsFragment,
   VideoOrderByInput,
   VideoOrderByInput,
 } from '../queries'
 } from '../queries'
-import { FieldPolicy, FieldReadFunction } from '@apollo/client/cache/inmemory/policies'
-import { ReadFieldFunction } from '@apollo/client/cache/core/types/common'
 
 
 const getVideoKeyArgs = (args: Record<string, GetVideosQueryVariables['where']> | null) => {
 const getVideoKeyArgs = (args: Record<string, GetVideosQueryVariables['where']> | null) => {
   // make sure queries asking for a specific category are separated in cache
   // make sure queries asking for a specific category are separated in cache

+ 2 - 1
src/api/client/executors.ts

@@ -1,7 +1,8 @@
-import { ORION_GRAPHQL_URL, QUERY_NODE_GRAPHQL_URL } from '@/config/urls'
 import { HttpLink } from '@apollo/client'
 import { HttpLink } from '@apollo/client'
 import { linkToExecutor } from '@graphql-tools/links'
 import { linkToExecutor } from '@graphql-tools/links'
 
 
+import { ORION_GRAPHQL_URL, QUERY_NODE_GRAPHQL_URL } from '@/config/urls'
+
 const createExecutors = () => {
 const createExecutors = () => {
   const queryNodeLink = new HttpLink({ uri: QUERY_NODE_GRAPHQL_URL })
   const queryNodeLink = new HttpLink({ uri: QUERY_NODE_GRAPHQL_URL })
   const orionLink = new HttpLink({ uri: ORION_GRAPHQL_URL })
   const orionLink = new HttpLink({ uri: ORION_GRAPHQL_URL })

+ 10 - 9
src/api/client/index.ts

@@ -1,20 +1,21 @@
 import { ApolloClient, split } from '@apollo/client'
 import { ApolloClient, split } from '@apollo/client'
+import { SchemaLink } from '@apollo/client/link/schema'
 import { WebSocketLink } from '@apollo/client/link/ws'
 import { WebSocketLink } from '@apollo/client/link/ws'
-import { wrapSchema } from '@graphql-tools/wrap'
+import { getMainDefinition } from '@apollo/client/utilities'
+import { delegateToSchema } from '@graphql-tools/delegate'
+import { CreateProxyingResolverFn } from '@graphql-tools/delegate/types'
 import { mergeSchemas } from '@graphql-tools/merge'
 import { mergeSchemas } from '@graphql-tools/merge'
+import { wrapSchema } from '@graphql-tools/wrap'
 import { buildASTSchema, GraphQLFieldResolver } from 'graphql'
 import { buildASTSchema, GraphQLFieldResolver } from 'graphql'
-import { SchemaLink } from '@apollo/client/link/schema'
 
 
-import extendedQueryNodeSchema from '../schemas/extendedQueryNode.graphql'
-import orionSchema from '../schemas/orion.graphql'
+import { createExecutors } from '@/api/client/executors'
+import { QUERY_NODE_GRAPHQL_SUBSCRIPTION_URL } from '@/config/urls'
 
 
 import cache from './cache'
 import cache from './cache'
 import { queryNodeStitchingResolvers } from './resolvers'
 import { queryNodeStitchingResolvers } from './resolvers'
-import { createExecutors } from '@/api/client/executors'
-import { delegateToSchema } from '@graphql-tools/delegate'
-import { CreateProxyingResolverFn } from '@graphql-tools/delegate/types'
-import { getMainDefinition } from '@apollo/client/utilities'
-import { QUERY_NODE_GRAPHQL_SUBSCRIPTION_URL } from '@/config/urls'
+
+import extendedQueryNodeSchema from '../schemas/extendedQueryNode.graphql'
+import orionSchema from '../schemas/orion.graphql'
 
 
 // we do this so that operationName is passed along with the queries
 // we do this so that operationName is passed along with the queries
 // this is needed for our mocking backend to operate
 // this is needed for our mocking backend to operate

+ 2 - 1
src/api/client/resolvers.ts

@@ -1,6 +1,7 @@
-import { GraphQLSchema } from 'graphql'
 import { delegateToSchema, Transform } from '@graphql-tools/delegate'
 import { delegateToSchema, Transform } from '@graphql-tools/delegate'
 import type { IResolvers, ISchemaLevelResolver } from '@graphql-tools/utils'
 import type { IResolvers, ISchemaLevelResolver } from '@graphql-tools/utils'
+import { GraphQLSchema } from 'graphql'
+
 import {
 import {
   TransformOrionViewsField,
   TransformOrionViewsField,
   ORION_VIEWS_QUERY_NAME,
   ORION_VIEWS_QUERY_NAME,

+ 2 - 1
src/api/hooks/categories.ts

@@ -1,6 +1,7 @@
-import { useGetVideoCategoriesQuery, GetVideoCategoriesQuery, GetVideoCategoriesQueryVariables } from '@/api/queries'
 import { QueryHookOptions } from '@apollo/client'
 import { QueryHookOptions } from '@apollo/client'
 
 
+import { useGetVideoCategoriesQuery, GetVideoCategoriesQuery, GetVideoCategoriesQueryVariables } from '@/api/queries'
+
 type Opts = QueryHookOptions<GetVideoCategoriesQuery>
 type Opts = QueryHookOptions<GetVideoCategoriesQuery>
 const useCategories = (variables?: GetVideoCategoriesQueryVariables, opts?: Opts) => {
 const useCategories = (variables?: GetVideoCategoriesQueryVariables, opts?: Opts) => {
   const { data, ...rest } = useGetVideoCategoriesQuery({ ...opts, variables })
   const { data, ...rest } = useGetVideoCategoriesQuery({ ...opts, variables })

+ 1 - 0
src/api/hooks/channel.ts

@@ -1,4 +1,5 @@
 import { MutationHookOptions, QueryHookOptions } from '@apollo/client'
 import { MutationHookOptions, QueryHookOptions } from '@apollo/client'
+
 import {
 import {
   AssetAvailability,
   AssetAvailability,
   FollowChannelMutation,
   FollowChannelMutation,

+ 1 - 2
src/api/hooks/coverVideo.ts

@@ -1,7 +1,6 @@
 import { CoverVideo, AllChannelFieldsFragment } from '@/api/queries'
 import { CoverVideo, AllChannelFieldsFragment } from '@/api/queries'
-import { MockVideo } from '@/mocking/data/mockVideos'
-
 import { mockCoverVideo } from '@/mocking/data/mockCoverVideo'
 import { mockCoverVideo } from '@/mocking/data/mockCoverVideo'
+import { MockVideo } from '@/mocking/data/mockVideos'
 
 
 type UseCoverVideo = () => {
 type UseCoverVideo = () => {
   data: {
   data: {

+ 1 - 1
src/api/hooks/index.ts

@@ -1,5 +1,5 @@
-import useCoverVideo from './coverVideo'
 import useCategories from './categories'
 import useCategories from './categories'
+import useCoverVideo from './coverVideo'
 import useSearch from './search'
 import useSearch from './search'
 import useVideosConnection from './videosConnection'
 import useVideosConnection from './videosConnection'
 
 

+ 1 - 0
src/api/hooks/membership.ts

@@ -1,4 +1,5 @@
 import { QueryHookOptions } from '@apollo/client'
 import { QueryHookOptions } from '@apollo/client'
+
 import {
 import {
   GetMembershipQuery,
   GetMembershipQuery,
   useGetMembershipQuery,
   useGetMembershipQuery,

+ 1 - 0
src/api/hooks/queryNode.ts

@@ -1,4 +1,5 @@
 import { SubscriptionHookOptions } from '@apollo/client'
 import { SubscriptionHookOptions } from '@apollo/client'
+
 import {
 import {
   GetQueryNodeStateSubscription,
   GetQueryNodeStateSubscription,
   GetQueryNodeStateSubscriptionVariables,
   GetQueryNodeStateSubscriptionVariables,

+ 2 - 1
src/api/hooks/search.ts

@@ -1,6 +1,7 @@
-import { useSearchQuery, SearchQueryVariables, SearchQuery } from '@/api/queries'
 import { QueryHookOptions } from '@apollo/client'
 import { QueryHookOptions } from '@apollo/client'
 
 
+import { useSearchQuery, SearchQueryVariables, SearchQuery } from '@/api/queries'
+
 type Opts = QueryHookOptions<SearchQuery>
 type Opts = QueryHookOptions<SearchQuery>
 const useSearch = (variables: SearchQueryVariables, opts?: Opts) => {
 const useSearch = (variables: SearchQueryVariables, opts?: Opts) => {
   const { data, ...rest } = useSearchQuery({ ...opts, variables })
   const { data, ...rest } = useSearchQuery({ ...opts, variables })

+ 2 - 1
src/api/hooks/video.ts

@@ -1,3 +1,5 @@
+import { QueryHookOptions, MutationHookOptions } from '@apollo/client'
+
 import {
 import {
   useGetVideoQuery,
   useGetVideoQuery,
   useAddVideoViewMutation,
   useAddVideoViewMutation,
@@ -7,7 +9,6 @@ import {
   GetVideosQueryVariables,
   GetVideosQueryVariables,
   useGetVideosQuery,
   useGetVideosQuery,
 } from '@/api/queries'
 } from '@/api/queries'
-import { QueryHookOptions, MutationHookOptions } from '@apollo/client'
 
 
 type VideoOpts = QueryHookOptions<GetVideoQuery>
 type VideoOpts = QueryHookOptions<GetVideoQuery>
 export const useVideo = (id: string, opts?: VideoOpts) => {
 export const useVideo = (id: string, opts?: VideoOpts) => {

+ 1 - 0
src/api/hooks/videosConnection.ts

@@ -1,4 +1,5 @@
 import { QueryHookOptions } from '@apollo/client'
 import { QueryHookOptions } from '@apollo/client'
+
 import { GetVideosConnectionQuery, GetVideosConnectionQueryVariables, useGetVideosConnectionQuery } from '@/api/queries'
 import { GetVideosConnectionQuery, GetVideosConnectionQueryVariables, useGetVideosConnectionQuery } from '@/api/queries'
 
 
 type Opts = QueryHookOptions<GetVideosConnectionQuery>
 type Opts = QueryHookOptions<GetVideosConnectionQuery>

+ 4 - 3
src/api/hooks/workers.ts

@@ -1,5 +1,7 @@
-import { getRandomIntInclusive } from '@/utils/number'
 import { QueryHookOptions } from '@apollo/client'
 import { QueryHookOptions } from '@apollo/client'
+import { useCallback } from 'react'
+
+import { WorkerType } from '@/api/queries'
 import {
 import {
   GetWorkerQuery,
   GetWorkerQuery,
   GetWorkersQuery,
   GetWorkersQuery,
@@ -7,8 +9,7 @@ import {
   useGetWorkerQuery,
   useGetWorkerQuery,
   useGetWorkersQuery,
   useGetWorkersQuery,
 } from '@/api/queries/__generated__/workers.generated'
 } from '@/api/queries/__generated__/workers.generated'
-import { WorkerType } from '@/api/queries'
-import { useCallback } from 'react'
+import { getRandomIntInclusive } from '@/utils/number'
 
 
 type WorkerOpts = QueryHookOptions<GetWorkerQuery>
 type WorkerOpts = QueryHookOptions<GetWorkerQuery>
 export const useWorker = (id: string, opts?: WorkerOpts) => {
 export const useWorker = (id: string, opts?: WorkerOpts) => {

+ 3 - 2
src/api/queries/__generated__/categories.generated.tsx

@@ -1,7 +1,8 @@
-import * as Types from './baseTypes.generated'
-
 import { gql } from '@apollo/client'
 import { gql } from '@apollo/client'
 import * as Apollo from '@apollo/client'
 import * as Apollo from '@apollo/client'
+
+import * as Types from './baseTypes.generated'
+
 export type VideoCategoryFieldsFragment = { __typename?: 'VideoCategory'; id: string; name?: Types.Maybe<string> }
 export type VideoCategoryFieldsFragment = { __typename?: 'VideoCategory'; id: string; name?: Types.Maybe<string> }
 
 
 export type GetVideoCategoriesQueryVariables = Types.Exact<{ [key: string]: never }>
 export type GetVideoCategoriesQueryVariables = Types.Exact<{ [key: string]: never }>

+ 3 - 3
src/api/queries/__generated__/channels.generated.tsx

@@ -1,9 +1,9 @@
-import * as Types from './baseTypes.generated'
+import { gql } from '@apollo/client'
+import * as Apollo from '@apollo/client'
 
 
+import * as Types from './baseTypes.generated'
 import { DataObjectFieldsFragment, DataObjectFieldsFragmentDoc } from './shared.generated'
 import { DataObjectFieldsFragment, DataObjectFieldsFragmentDoc } from './shared.generated'
-import { gql } from '@apollo/client'
 
 
-import * as Apollo from '@apollo/client'
 export type BasicChannelFieldsFragment = {
 export type BasicChannelFieldsFragment = {
   __typename?: 'Channel'
   __typename?: 'Channel'
   id: string
   id: string

+ 3 - 3
src/api/queries/__generated__/memberships.generated.tsx

@@ -1,9 +1,9 @@
-import * as Types from './baseTypes.generated'
+import { gql } from '@apollo/client'
+import * as Apollo from '@apollo/client'
 
 
+import * as Types from './baseTypes.generated'
 import { BasicChannelFieldsFragment, BasicChannelFieldsFragmentDoc } from './channels.generated'
 import { BasicChannelFieldsFragment, BasicChannelFieldsFragmentDoc } from './channels.generated'
-import { gql } from '@apollo/client'
 
 
-import * as Apollo from '@apollo/client'
 export type BasicMembershipFieldsFragment = {
 export type BasicMembershipFieldsFragment = {
   __typename?: 'Membership'
   __typename?: 'Membership'
   id: string
   id: string

+ 3 - 2
src/api/queries/__generated__/queryNode.generated.tsx

@@ -1,7 +1,8 @@
-import * as Types from './baseTypes.generated'
-
 import { gql } from '@apollo/client'
 import { gql } from '@apollo/client'
 import * as Apollo from '@apollo/client'
 import * as Apollo from '@apollo/client'
+
+import * as Types from './baseTypes.generated'
+
 export type GetQueryNodeStateSubscriptionVariables = Types.Exact<{ [key: string]: never }>
 export type GetQueryNodeStateSubscriptionVariables = Types.Exact<{ [key: string]: never }>
 
 
 export type GetQueryNodeStateSubscription = {
 export type GetQueryNodeStateSubscription = {

+ 4 - 4
src/api/queries/__generated__/search.generated.tsx

@@ -1,10 +1,10 @@
-import * as Types from './baseTypes.generated'
+import { gql } from '@apollo/client'
+import * as Apollo from '@apollo/client'
 
 
-import { VideoFieldsFragment, VideoFieldsFragmentDoc } from './videos.generated'
+import * as Types from './baseTypes.generated'
 import { BasicChannelFieldsFragment, BasicChannelFieldsFragmentDoc } from './channels.generated'
 import { BasicChannelFieldsFragment, BasicChannelFieldsFragmentDoc } from './channels.generated'
-import { gql } from '@apollo/client'
+import { VideoFieldsFragment, VideoFieldsFragmentDoc } from './videos.generated'
 
 
-import * as Apollo from '@apollo/client'
 export type SearchQueryVariables = Types.Exact<{
 export type SearchQueryVariables = Types.Exact<{
   text: Types.Scalars['String']
   text: Types.Scalars['String']
 }>
 }>

+ 2 - 2
src/api/queries/__generated__/shared.generated.tsx

@@ -1,7 +1,7 @@
-import * as Types from './baseTypes.generated'
+import { gql } from '@apollo/client'
 
 
+import * as Types from './baseTypes.generated'
 import { BasicWorkerFieldsFragment, BasicWorkerFieldsFragmentDoc } from './workers.generated'
 import { BasicWorkerFieldsFragment, BasicWorkerFieldsFragmentDoc } from './workers.generated'
-import { gql } from '@apollo/client'
 
 
 export type DataObjectFieldsFragment = {
 export type DataObjectFieldsFragment = {
   __typename?: 'DataObject'
   __typename?: 'DataObject'

+ 4 - 4
src/api/queries/__generated__/videos.generated.tsx

@@ -1,10 +1,10 @@
-import * as Types from './baseTypes.generated'
+import { gql } from '@apollo/client'
+import * as Apollo from '@apollo/client'
 
 
-import { DataObjectFieldsFragment, DataObjectFieldsFragmentDoc } from './shared.generated'
+import * as Types from './baseTypes.generated'
 import { BasicChannelFieldsFragment, BasicChannelFieldsFragmentDoc } from './channels.generated'
 import { BasicChannelFieldsFragment, BasicChannelFieldsFragmentDoc } from './channels.generated'
-import { gql } from '@apollo/client'
+import { DataObjectFieldsFragment, DataObjectFieldsFragmentDoc } from './shared.generated'
 
 
-import * as Apollo from '@apollo/client'
 export type VideoMediaMetadataFieldsFragment = {
 export type VideoMediaMetadataFieldsFragment = {
   __typename?: 'VideoMediaMetadata'
   __typename?: 'VideoMediaMetadata'
   id: string
   id: string

+ 3 - 2
src/api/queries/__generated__/workers.generated.tsx

@@ -1,7 +1,8 @@
-import * as Types from './baseTypes.generated'
-
 import { gql } from '@apollo/client'
 import { gql } from '@apollo/client'
 import * as Apollo from '@apollo/client'
 import * as Apollo from '@apollo/client'
+
+import * as Types from './baseTypes.generated'
+
 export type BasicWorkerFieldsFragment = {
 export type BasicWorkerFieldsFragment = {
   __typename?: 'Worker'
   __typename?: 'Worker'
   id: string
   id: string

+ 2 - 2
src/components/BackgroundPattern.tsx

@@ -1,8 +1,8 @@
-import React from 'react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+import React from 'react'
 
 
-import { zIndex, transitions, media } from '@/shared/theme'
 import { SvgBgPattern } from '@/shared/illustrations'
 import { SvgBgPattern } from '@/shared/illustrations'
+import { zIndex, transitions, media } from '@/shared/theme'
 
 
 const PATTERN_OFFSET = {
 const PATTERN_OFFSET = {
   SMALL: '-150px',
   SMALL: '-150px',

+ 4 - 3
src/components/ChannelGallery.tsx

@@ -1,10 +1,11 @@
-import React from 'react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+import React from 'react'
 
 
+import { BasicChannelFieldsFragment } from '@/api/queries'
 import { Gallery } from '@/shared/components'
 import { Gallery } from '@/shared/components'
-import ChannelPreview from './ChannelPreview'
 import { sizes } from '@/shared/theme'
 import { sizes } from '@/shared/theme'
-import { BasicChannelFieldsFragment } from '@/api/queries'
+
+import ChannelPreview from './ChannelPreview'
 
 
 type ChannelGalleryProps = {
 type ChannelGalleryProps = {
   title?: string
   title?: string

+ 3 - 2
src/components/ChannelGrid.tsx

@@ -1,9 +1,10 @@
-import React from 'react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+import React from 'react'
 
 
+import { BasicChannelFieldsFragment } from '@/api/queries'
 import { Grid } from '@/shared/components'
 import { Grid } from '@/shared/components'
+
 import ChannelPreview from './ChannelPreview'
 import ChannelPreview from './ChannelPreview'
-import { BasicChannelFieldsFragment } from '@/api/queries'
 
 
 const StyledChannelPreview = styled(ChannelPreview)`
 const StyledChannelPreview = styled(ChannelPreview)`
   margin: 0 auto;
   margin: 0 auto;

+ 3 - 2
src/components/ChannelLink/ChannelLink.style.ts

@@ -1,8 +1,9 @@
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
-import { colors, sizes, typography } from '@/shared/theme'
-import { Placeholder } from '@/shared/components'
 import { Link } from 'react-router-dom'
 import { Link } from 'react-router-dom'
 
 
+import { Placeholder } from '@/shared/components'
+import { colors, sizes, typography } from '@/shared/theme'
+
 type ContainerProps = {
 type ContainerProps = {
   disabled?: boolean
   disabled?: boolean
 }
 }

+ 5 - 3
src/components/ChannelLink/ChannelLink.tsx

@@ -1,10 +1,12 @@
 import React from 'react'
 import React from 'react'
-import Avatar, { AvatarSize } from '@/shared/components/Avatar'
-import { absoluteRoutes } from '@/config/routes'
-import { Container, Handle, HandlePlaceholder } from './ChannelLink.style'
+
 import { useBasicChannel } from '@/api/hooks'
 import { useBasicChannel } from '@/api/hooks'
 import { BasicChannelFieldsFragment } from '@/api/queries'
 import { BasicChannelFieldsFragment } from '@/api/queries'
+import { absoluteRoutes } from '@/config/routes'
 import { useAsset } from '@/hooks'
 import { useAsset } from '@/hooks'
+import Avatar, { AvatarSize } from '@/shared/components/Avatar'
+
+import { Container, Handle, HandlePlaceholder } from './ChannelLink.style'
 
 
 type ChannelLinkProps = {
 type ChannelLinkProps = {
   id?: string
   id?: string

+ 1 - 0
src/components/ChannelLink/index.ts

@@ -1,2 +1,3 @@
 import ChannelLink from './ChannelLink'
 import ChannelLink from './ChannelLink'
+
 export default ChannelLink
 export default ChannelLink

+ 2 - 1
src/components/ChannelPreview.tsx

@@ -1,9 +1,10 @@
 import React from 'react'
 import React from 'react'
-import { ChannelPreviewBase } from '@/shared/components'
+
 import { useChannel } from '@/api/hooks'
 import { useChannel } from '@/api/hooks'
 import { useChannelVideoCount } from '@/api/hooks/channel'
 import { useChannelVideoCount } from '@/api/hooks/channel'
 import { absoluteRoutes } from '@/config/routes'
 import { absoluteRoutes } from '@/config/routes'
 import { useAsset } from '@/hooks'
 import { useAsset } from '@/hooks'
+import { ChannelPreviewBase } from '@/shared/components'
 
 
 type ChannelPreviewProps = {
 type ChannelPreviewProps = {
   id?: string
   id?: string

+ 3 - 1
src/components/CoverVideo/CoverVideo.style.ts

@@ -1,8 +1,10 @@
+import { css, keyframes } from '@emotion/react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
 import { darken, fluidRange } from 'polished'
 import { darken, fluidRange } from 'polished'
+
 import { Button, IconButton, Placeholder, Text } from '@/shared/components'
 import { Button, IconButton, Placeholder, Text } from '@/shared/components'
 import { breakpoints, colors, sizes, media } from '@/shared/theme'
 import { breakpoints, colors, sizes, media } from '@/shared/theme'
-import { css, keyframes } from '@emotion/react'
+
 import ChannelLink from '../ChannelLink'
 import ChannelLink from '../ChannelLink'
 
 
 const CONTENT_OVERLAP_MAP = {
 const CONTENT_OVERLAP_MAP = {

+ 10 - 8
src/components/CoverVideo/CoverVideo.tsx

@@ -1,4 +1,14 @@
 import React, { useState } from 'react'
 import React, { useState } from 'react'
+import { Link } from 'react-router-dom'
+import { CSSTransition } from 'react-transition-group'
+
+import { useCoverVideo } from '@/api/hooks'
+import { absoluteRoutes } from '@/config/routes'
+import { useAsset } from '@/hooks'
+import { Placeholder, VideoPlayer } from '@/shared/components'
+import { SvgPlayerPause, SvgPlayerPlay, SvgPlayerSoundOff, SvgPlayerSoundOn } from '@/shared/icons'
+import { transitions } from '@/shared/theme'
+
 import {
 import {
   Container,
   Container,
   HorizontalGradientOverlay,
   HorizontalGradientOverlay,
@@ -17,14 +27,6 @@ import {
   ControlsContainer,
   ControlsContainer,
   ButtonsContainer,
   ButtonsContainer,
 } from './CoverVideo.style'
 } from './CoverVideo.style'
-import { CSSTransition } from 'react-transition-group'
-import { absoluteRoutes } from '@/config/routes'
-import { Placeholder, VideoPlayer } from '@/shared/components'
-import { Link } from 'react-router-dom'
-import { transitions } from '@/shared/theme'
-import { useCoverVideo } from '@/api/hooks'
-import { SvgPlayerPause, SvgPlayerPlay, SvgPlayerSoundOff, SvgPlayerSoundOn } from '@/shared/icons'
-import { useAsset } from '@/hooks'
 
 
 const VIDEO_PLAYBACK_DELAY = 1250
 const VIDEO_PLAYBACK_DELAY = 1250
 
 

+ 5 - 3
src/components/Dialogs/ActionDialog/ActionDialog.stories.tsx

@@ -1,8 +1,10 @@
-import React, { useState } from 'react'
-import ActionDialog, { ActionDialogProps } from './ActionDialog'
 import { Story, Meta } from '@storybook/react'
 import { Story, Meta } from '@storybook/react'
-import { Button } from '@/shared/components'
+import React, { useState } from 'react'
+
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
+import { Button } from '@/shared/components'
+
+import ActionDialog, { ActionDialogProps } from './ActionDialog'
 
 
 export default {
 export default {
   title: 'General/ActionDialog',
   title: 'General/ActionDialog',

+ 3 - 2
src/components/Dialogs/ActionDialog/ActionDialog.style.ts

@@ -1,7 +1,8 @@
-import styled from '@emotion/styled'
 import { css } from '@emotion/react'
 import { css } from '@emotion/react'
-import { media, sizes, colors, typography } from '@/shared/theme'
+import styled from '@emotion/styled'
+
 import { Button } from '@/shared/components'
 import { Button } from '@/shared/components'
+import { media, sizes, colors, typography } from '@/shared/theme'
 
 
 type ButtonProps = {
 type ButtonProps = {
   error?: boolean
   error?: boolean

+ 5 - 2
src/components/Dialogs/ActionDialog/ActionDialog.tsx

@@ -1,12 +1,15 @@
 import React from 'react'
 import React from 'react'
-import BaseDialog, { BaseDialogProps } from '../BaseDialog'
+
+import { Button } from '@/shared/components'
+
 import {
 import {
   ActionsContainer,
   ActionsContainer,
   ButtonsContainer,
   ButtonsContainer,
   AdditionalActionsContainer,
   AdditionalActionsContainer,
   StyledPrimaryButton,
   StyledPrimaryButton,
 } from './ActionDialog.style'
 } from './ActionDialog.style'
-import { Button } from '@/shared/components'
+
+import BaseDialog, { BaseDialogProps } from '../BaseDialog'
 
 
 export type ActionDialogProps = {
 export type ActionDialogProps = {
   additionalActionsNode?: React.ReactNode
   additionalActionsNode?: React.ReactNode

+ 5 - 3
src/components/Dialogs/BaseDialog/BaseDialog.stories.tsx

@@ -1,8 +1,10 @@
-import React, { useState } from 'react'
-import Dialog, { BaseDialogProps } from './BaseDialog'
 import { Story, Meta } from '@storybook/react'
 import { Story, Meta } from '@storybook/react'
-import { Button } from '@/shared/components'
+import React, { useState } from 'react'
+
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
+import { Button } from '@/shared/components'
+
+import Dialog, { BaseDialogProps } from './BaseDialog'
 
 
 export default {
 export default {
   title: 'General/BaseDialog',
   title: 'General/BaseDialog',

+ 1 - 0
src/components/Dialogs/BaseDialog/BaseDialog.style.ts

@@ -1,4 +1,5 @@
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+
 import { IconButton } from '@/shared/components'
 import { IconButton } from '@/shared/components'
 import { colors, sizes, media, zIndex } from '@/shared/theme'
 import { colors, sizes, media, zIndex } from '@/shared/theme'
 
 

+ 5 - 3
src/components/Dialogs/BaseDialog/BaseDialog.tsx

@@ -1,11 +1,13 @@
 import React, { useEffect } from 'react'
 import React, { useEffect } from 'react'
-import { DialogBackDrop, StyledContainer, StyledExitButton } from './BaseDialog.style'
-import { SvgGlyphClose } from '@/shared/icons'
+import { CSSTransition } from 'react-transition-group'
+
 import Portal from '@/components/Portal'
 import Portal from '@/components/Portal'
 import { useOverlayManager } from '@/hooks'
 import { useOverlayManager } from '@/hooks'
-import { CSSTransition } from 'react-transition-group'
+import { SvgGlyphClose } from '@/shared/icons'
 import { transitions } from '@/shared/theme'
 import { transitions } from '@/shared/theme'
 
 
+import { DialogBackDrop, StyledContainer, StyledExitButton } from './BaseDialog.style'
+
 export type BaseDialogProps = {
 export type BaseDialogProps = {
   showDialog?: boolean
   showDialog?: boolean
   exitButton?: boolean
   exitButton?: boolean

+ 7 - 5
src/components/Dialogs/ImageCropDialog/ImageCropDialog.stories.tsx

@@ -1,11 +1,13 @@
-import React, { useState, useRef } from 'react'
+import { css } from '@emotion/react'
+import styled from '@emotion/styled/'
 import { Story, Meta } from '@storybook/react'
 import { Story, Meta } from '@storybook/react'
+import React, { useState, useRef } from 'react'
+
+import { OverlayManagerProvider } from '@/hooks'
+import { Avatar, Placeholder } from '@/shared/components'
 import { ImageCropData, AssetDimensions } from '@/types/cropper'
 import { ImageCropData, AssetDimensions } from '@/types/cropper'
+
 import ImageCropDialog, { ImageCropDialogImperativeHandle, ImageCropDialogProps } from './ImageCropDialog'
 import ImageCropDialog, { ImageCropDialogImperativeHandle, ImageCropDialogProps } from './ImageCropDialog'
-import { Avatar, Placeholder } from '@/shared/components'
-import { OverlayManagerProvider } from '@/hooks'
-import { css } from '@emotion/react'
-import styled from '@emotion/styled/'
 
 
 export default {
 export default {
   title: 'General/ImageCropDialog',
   title: 'General/ImageCropDialog',

+ 4 - 2
src/components/Dialogs/ImageCropDialog/ImageCropDialog.style.ts

@@ -1,8 +1,10 @@
+import { css } from '@emotion/react'
+import styled from '@emotion/styled'
+
 import { Placeholder, Text } from '@/shared/components'
 import { Placeholder, Text } from '@/shared/components'
 import Slider from '@/shared/components/Slider'
 import Slider from '@/shared/components/Slider'
 import { colors, sizes } from '@/shared/theme'
 import { colors, sizes } from '@/shared/theme'
-import { css } from '@emotion/react'
-import styled from '@emotion/styled'
+
 import ActionDialog from '../ActionDialog'
 import ActionDialog from '../ActionDialog'
 
 
 export const StyledActionDialog = styled(ActionDialog)`
 export const StyledActionDialog = styled(ActionDialog)`

+ 8 - 5
src/components/Dialogs/ImageCropDialog/ImageCropDialog.tsx

@@ -1,8 +1,10 @@
+import React, { forwardRef, useCallback, useImperativeHandle, useRef, useState } from 'react'
+
 import { IconButton } from '@/shared/components'
 import { IconButton } from '@/shared/components'
+import { SvgGlyphPan, SvgGlyphZoomIn, SvgGlyphZoomOut } from '@/shared/icons'
 import { ImageCropData, AssetDimensions } from '@/types/cropper'
 import { ImageCropData, AssetDimensions } from '@/types/cropper'
-import React, { forwardRef, useCallback, useImperativeHandle, useRef, useState } from 'react'
-import { ActionDialogProps } from '../ActionDialog'
-import { CropperImageType, useCropper } from './cropper'
+import { validateImage } from '@/utils/image'
+
 import {
 import {
   AlignInfo,
   AlignInfo,
   AlignInfoContainer,
   AlignInfoContainer,
@@ -15,8 +17,9 @@ import {
   StyledSlider,
   StyledSlider,
   ZoomControl,
   ZoomControl,
 } from './ImageCropDialog.style'
 } from './ImageCropDialog.style'
-import { SvgGlyphPan, SvgGlyphZoomIn, SvgGlyphZoomOut } from '@/shared/icons'
-import { validateImage } from '@/utils/image'
+import { CropperImageType, useCropper } from './cropper'
+
+import { ActionDialogProps } from '../ActionDialog'
 
 
 export type ImageCropDialogProps = {
 export type ImageCropDialogProps = {
   imageType: CropperImageType
   imageType: CropperImageType

+ 3 - 2
src/components/Dialogs/ImageCropDialog/cropper.ts

@@ -1,7 +1,8 @@
-import { useEffect, useState } from 'react'
 import Cropper from 'cropperjs'
 import Cropper from 'cropperjs'
-import { AssetDimensions, ImageCropData } from '@/types/cropper'
 import 'cropperjs/dist/cropper.min.css'
 import 'cropperjs/dist/cropper.min.css'
+import { useEffect, useState } from 'react'
+
+import { AssetDimensions, ImageCropData } from '@/types/cropper'
 
 
 const MAX_ZOOM = 3
 const MAX_ZOOM = 3
 
 

+ 4 - 2
src/components/Dialogs/MessageDialog/MessageDialog.stories.tsx

@@ -1,8 +1,10 @@
-import React from 'react'
-import MessageDialog, { MessageDialogProps } from './MessageDialog'
 import { Story, Meta } from '@storybook/react'
 import { Story, Meta } from '@storybook/react'
+import React from 'react'
+
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 
 
+import MessageDialog, { MessageDialogProps } from './MessageDialog'
+
 export default {
 export default {
   title: 'General/MessageDialog',
   title: 'General/MessageDialog',
   component: MessageDialog,
   component: MessageDialog,

+ 2 - 1
src/components/Dialogs/MessageDialog/MessageDialog.style.ts

@@ -1,6 +1,7 @@
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
-import { colors, sizes } from '@/shared/theme'
+
 import { Text } from '@/shared/components'
 import { Text } from '@/shared/components'
+import { colors, sizes } from '@/shared/theme'
 
 
 export const MessageIconWrapper = styled.div`
 export const MessageIconWrapper = styled.div`
   margin-bottom: ${sizes(4)};
   margin-bottom: ${sizes(4)};

+ 5 - 2
src/components/Dialogs/MessageDialog/MessageDialog.tsx

@@ -1,8 +1,11 @@
 import React, { ReactNode } from 'react'
 import React, { ReactNode } from 'react'
-import ActionDialog, { ActionDialogProps } from '../ActionDialog/ActionDialog'
-import { StyledTitleText, StyledDescriptionText, MessageIconWrapper } from './MessageDialog.style'
+
 import { SvgOutlineError, SvgOutlineSuccess, SvgOutlineWarning } from '@/shared/icons'
 import { SvgOutlineError, SvgOutlineSuccess, SvgOutlineWarning } from '@/shared/icons'
 
 
+import { StyledTitleText, StyledDescriptionText, MessageIconWrapper } from './MessageDialog.style'
+
+import ActionDialog, { ActionDialogProps } from '../ActionDialog/ActionDialog'
+
 type DialogVariant = 'success' | 'warning' | 'error' | 'info'
 type DialogVariant = 'success' | 'warning' | 'error' | 'info'
 
 
 export type MessageDialogProps = {
 export type MessageDialogProps = {

+ 4 - 2
src/components/Dialogs/Multistepper/Multistepper.stories.tsx

@@ -1,9 +1,11 @@
-import React, { useState } from 'react'
-import Multistepper from './Multistepper'
 import { Story, Meta } from '@storybook/react'
 import { Story, Meta } from '@storybook/react'
+import React, { useState } from 'react'
+
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 import { Button } from '@/shared/components'
 import { Button } from '@/shared/components'
 
 
+import Multistepper from './Multistepper'
+
 export default {
 export default {
   title: 'General/Multistepper',
   title: 'General/Multistepper',
   component: Multistepper,
   component: Multistepper,

+ 4 - 2
src/components/Dialogs/Multistepper/Multistepper.style.ts

@@ -1,8 +1,10 @@
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
-import BaseDialog from '../BaseDialog'
+
 import { Text } from '@/shared/components'
 import { Text } from '@/shared/components'
-import { colors, sizes, media, typography } from '@/shared/theme'
 import { SvgGlyphChevronRight } from '@/shared/icons'
 import { SvgGlyphChevronRight } from '@/shared/icons'
+import { colors, sizes, media, typography } from '@/shared/theme'
+
+import BaseDialog from '../BaseDialog'
 
 
 type CircleProps = {
 type CircleProps = {
   isFilled?: boolean
   isFilled?: boolean

+ 6 - 3
src/components/Dialogs/Multistepper/Multistepper.tsx

@@ -1,5 +1,8 @@
 import React, { Fragment } from 'react'
 import React, { Fragment } from 'react'
-import { BaseDialogProps } from '../BaseDialog'
+
+import { Text } from '@/shared/components'
+import { SvgGlyphCheck } from '@/shared/icons'
+
 import {
 import {
   StyledDialog,
   StyledDialog,
   StyledHeader,
   StyledHeader,
@@ -10,8 +13,8 @@ import {
   StyledChevron,
   StyledChevron,
   StyledStepTitle,
   StyledStepTitle,
 } from './Multistepper.style'
 } from './Multistepper.style'
-import { SvgGlyphCheck } from '@/shared/icons'
-import { Text } from '@/shared/components'
+
+import { BaseDialogProps } from '../BaseDialog'
 
 
 type Step = {
 type Step = {
   title: string
   title: string

+ 4 - 2
src/components/Dialogs/TransactionDialog/TransactionDialog.stories.tsx

@@ -1,9 +1,11 @@
-import React from 'react'
-import TransactionDialog, { TransactionDialogProps } from './TransactionDialog'
 import { Meta, Story } from '@storybook/react'
 import { Meta, Story } from '@storybook/react'
+import React from 'react'
+
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 import { OverlayManagerProvider } from '@/hooks/useOverlayManager'
 import { ExtrinsicStatus } from '@/joystream-lib'
 import { ExtrinsicStatus } from '@/joystream-lib'
 
 
+import TransactionDialog, { TransactionDialogProps } from './TransactionDialog'
+
 export default {
 export default {
   title: 'General/TransactionDialog',
   title: 'General/TransactionDialog',
   component: TransactionDialog,
   component: TransactionDialog,

+ 3 - 2
src/components/Dialogs/TransactionDialog/TransactionDialog.style.ts

@@ -1,8 +1,9 @@
+import { css } from '@emotion/react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
-import { sizes, media, colors, transitions } from '@/shared/theme'
+
 import Spinner from '@/shared/components/Spinner'
 import Spinner from '@/shared/components/Spinner'
-import { css } from '@emotion/react'
 import { SvgTransactionIllustration } from '@/shared/illustrations'
 import { SvgTransactionIllustration } from '@/shared/illustrations'
+import { sizes, media, colors, transitions } from '@/shared/theme'
 
 
 type StepProps = {
 type StepProps = {
   isActive?: boolean
   isActive?: boolean

+ 6 - 3
src/components/Dialogs/TransactionDialog/TransactionDialog.tsx

@@ -1,10 +1,13 @@
 import React from 'react'
 import React from 'react'
-import ActionDialog, { ActionDialogProps } from '../ActionDialog/ActionDialog'
-import { TextContainer, StyledTransactionIllustration, StyledSpinner, StepsBar, Step } from './TransactionDialog.style'
-import { StyledTitleText, StyledDescriptionText } from '../MessageDialog/MessageDialog.style'
+
 import { ExtrinsicStatus } from '@/joystream-lib'
 import { ExtrinsicStatus } from '@/joystream-lib'
 import { Tooltip } from '@/shared/components'
 import { Tooltip } from '@/shared/components'
 
 
+import { TextContainer, StyledTransactionIllustration, StyledSpinner, StepsBar, Step } from './TransactionDialog.style'
+
+import ActionDialog, { ActionDialogProps } from '../ActionDialog/ActionDialog'
+import { StyledTitleText, StyledDescriptionText } from '../MessageDialog/MessageDialog.style'
+
 export type TransactionDialogProps = Pick<ActionDialogProps, 'className'> & {
 export type TransactionDialogProps = Pick<ActionDialogProps, 'className'> & {
   status: ExtrinsicStatus | null
   status: ExtrinsicStatus | null
   onClose: () => void
   onClose: () => void

+ 2 - 2
src/components/Dialogs/index.ts

@@ -1,8 +1,8 @@
 import ActionDialog from './ActionDialog'
 import ActionDialog from './ActionDialog'
-import MessageDialog from './MessageDialog'
 import BaseDialog, { BaseDialogProps } from './BaseDialog'
 import BaseDialog, { BaseDialogProps } from './BaseDialog'
-import Multistepper from './Multistepper'
 import ImageCropDialog, { ImageCropDialogImperativeHandle } from './ImageCropDialog'
 import ImageCropDialog, { ImageCropDialogImperativeHandle } from './ImageCropDialog'
+import MessageDialog from './MessageDialog'
+import Multistepper from './Multistepper'
 import TransactionDialog from './TransactionDialog'
 import TransactionDialog from './TransactionDialog'
 
 
 export { BaseDialog, ActionDialog, Multistepper, ImageCropDialog, TransactionDialog, MessageDialog }
 export { BaseDialog, ActionDialog, Multistepper, ImageCropDialog, TransactionDialog, MessageDialog }

+ 1 - 2
src/components/ErrorFallback.tsx

@@ -1,7 +1,6 @@
-import React from 'react'
-
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
 import { FallbackRender } from '@sentry/react/dist/errorboundary'
 import { FallbackRender } from '@sentry/react/dist/errorboundary'
+import React from 'react'
 
 
 import { Button, Text } from '@/shared/components'
 import { Button, Text } from '@/shared/components'
 import { sizes, colors } from '@/shared/theme'
 import { sizes, colors } from '@/shared/theme'

+ 5 - 4
src/components/InfiniteGrids/InfiniteChannelGrid.tsx

@@ -1,9 +1,7 @@
-import React, { useCallback, useState } from 'react'
-import styled from '@emotion/styled'
 import { css } from '@emotion/react'
 import { css } from '@emotion/react'
+import styled from '@emotion/styled'
+import React, { useCallback, useState } from 'react'
 
 
-import { sizes } from '@/shared/theme'
-import { Grid, Text } from '@/shared/components'
 import {
 import {
   GetChannelsConnectionDocument,
   GetChannelsConnectionDocument,
   GetChannelsConnectionQuery,
   GetChannelsConnectionQuery,
@@ -11,6 +9,9 @@ import {
   AssetAvailability,
   AssetAvailability,
 } from '@/api/queries'
 } from '@/api/queries'
 import ChannelPreview from '@/components/ChannelPreview'
 import ChannelPreview from '@/components/ChannelPreview'
+import { Grid, Text } from '@/shared/components'
+import { sizes } from '@/shared/theme'
+
 import useInfiniteGrid from './useInfiniteGrid'
 import useInfiniteGrid from './useInfiniteGrid'
 
 
 type InfiniteChannelGridProps = {
 type InfiniteChannelGridProps = {

+ 5 - 4
src/components/InfiniteGrids/InfiniteVideoGrid.tsx

@@ -1,9 +1,6 @@
-import React, { useCallback, useEffect, useState } from 'react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+import React, { useCallback, useEffect, useState } from 'react'
 
 
-import { sizes } from '@/shared/theme'
-import { Grid, Text, Placeholder } from '@/shared/components'
-import VideoPreview from '@/components/VideoPreview'
 import {
 import {
   GetVideosConnectionDocument,
   GetVideosConnectionDocument,
   GetVideosConnectionQuery,
   GetVideosConnectionQuery,
@@ -11,6 +8,10 @@ import {
   VideoWhereInput,
   VideoWhereInput,
   AssetAvailability,
   AssetAvailability,
 } from '@/api/queries'
 } from '@/api/queries'
+import VideoPreview from '@/components/VideoPreview'
+import { Grid, Text, Placeholder } from '@/shared/components'
+import { sizes } from '@/shared/theme'
+
 import useInfiniteGrid from './useInfiniteGrid'
 import useInfiniteGrid from './useInfiniteGrid'
 
 
 type InfiniteVideoGridProps = {
 type InfiniteVideoGridProps = {

+ 1 - 1
src/components/InfiniteGrids/index.ts

@@ -1,4 +1,4 @@
-import InfiniteVideoGrid from './InfiniteVideoGrid'
 import InfiniteChannelGrid from './InfiniteChannelGrid'
 import InfiniteChannelGrid from './InfiniteChannelGrid'
+import InfiniteVideoGrid from './InfiniteVideoGrid'
 
 
 export { InfiniteVideoGrid, InfiniteChannelGrid }
 export { InfiniteVideoGrid, InfiniteChannelGrid }

+ 3 - 3
src/components/InfiniteGrids/useInfiniteGrid.ts

@@ -1,8 +1,8 @@
-import { useEffect } from 'react'
 import { ApolloError, useQuery } from '@apollo/client'
 import { ApolloError, useQuery } from '@apollo/client'
-import { debounce } from 'lodash'
-import { DocumentNode } from 'graphql'
 import { TypedDocumentNode } from '@graphql-typed-document-node/core'
 import { TypedDocumentNode } from '@graphql-typed-document-node/core'
+import { DocumentNode } from 'graphql'
+import { debounce } from 'lodash'
+import { useEffect } from 'react'
 
 
 type PaginatedData<T> = {
 type PaginatedData<T> = {
   edges: {
   edges: {

+ 2 - 2
src/components/InterruptedVideosGallery.tsx

@@ -1,8 +1,8 @@
-import React from 'react'
 import { RouteComponentProps } from '@reach/router'
 import { RouteComponentProps } from '@reach/router'
+import React from 'react'
 
 
-import { usePersonalData } from '@/hooks'
 import { VideoGallery } from '@/components'
 import { VideoGallery } from '@/components'
+import { usePersonalData } from '@/hooks'
 
 
 const INTERRUPTED_VIDEOS_COUNT = 16
 const INTERRUPTED_VIDEOS_COUNT = 16
 
 

+ 2 - 1
src/components/Link/Link.style.ts

@@ -1,5 +1,6 @@
-import { Link } from 'react-router-dom'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+import { Link } from 'react-router-dom'
+
 import { typography, colors } from '@/shared/theme'
 import { typography, colors } from '@/shared/theme'
 
 
 export const StyledLink = styled(Link)`
 export const StyledLink = styled(Link)`

+ 1 - 0
src/components/Link/Link.tsx

@@ -1,4 +1,5 @@
 import React, { ReactChild } from 'react'
 import React, { ReactChild } from 'react'
+
 import { DisabledLabel, StyledLink } from './Link.style'
 import { DisabledLabel, StyledLink } from './Link.style'
 
 
 export type LinkProps = {
 export type LinkProps = {

+ 1 - 0
src/components/Link/index.ts

@@ -1,2 +1,3 @@
 import Link from './Link'
 import Link from './Link'
+
 export default Link
 export default Link

+ 4 - 2
src/components/NoConnectionIndicator/NoConnectionIndicator.stories.tsx

@@ -1,8 +1,10 @@
-import React from 'react'
 import { Story, Meta } from '@storybook/react'
 import { Story, Meta } from '@storybook/react'
-import NoConnectionIndicator, { NoConnectionIndicatorProps } from './NoConnectionIndicator'
+import React from 'react'
+
 import { ConnectionStatusProvider, SnackbarProvider } from '@/hooks'
 import { ConnectionStatusProvider, SnackbarProvider } from '@/hooks'
 
 
+import NoConnectionIndicator, { NoConnectionIndicatorProps } from './NoConnectionIndicator'
+
 export default {
 export default {
   title: 'General/NoConnectionIndicator',
   title: 'General/NoConnectionIndicator',
   component: NoConnectionIndicator,
   component: NoConnectionIndicator,

+ 3 - 2
src/components/NoConnectionIndicator/NoConnectionIndicator.style.ts

@@ -1,7 +1,8 @@
-import { colors, sizes, zIndex, media } from '@/shared/theme'
-import { TOP_NAVBAR_HEIGHT } from '@/components'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
 
 
+import { TOP_NAVBAR_HEIGHT } from '@/components'
+import { colors, sizes, zIndex, media } from '@/shared/theme'
+
 export const TextWrapper = styled.div`
 export const TextWrapper = styled.div`
   width: 100%;
   width: 100%;
   display: flex;
   display: flex;

+ 4 - 2
src/components/NoConnectionIndicator/NoConnectionIndicator.tsx

@@ -1,9 +1,11 @@
+import React from 'react'
+import { CSSTransition } from 'react-transition-group'
+
 import { ConnectionStatus } from '@/hooks'
 import { ConnectionStatus } from '@/hooks'
 import { Text } from '@/shared/components'
 import { Text } from '@/shared/components'
 import { SvgAlertWarning } from '@/shared/icons'
 import { SvgAlertWarning } from '@/shared/icons'
 import { transitions } from '@/shared/theme'
 import { transitions } from '@/shared/theme'
-import React from 'react'
-import { CSSTransition } from 'react-transition-group'
+
 import { IndicatorWrapper, TextWrapper, IconWrapper } from './NoConnectionIndicator.style'
 import { IndicatorWrapper, TextWrapper, IconWrapper } from './NoConnectionIndicator.style'
 
 
 export type NoConnectionIndicatorProps = {
 export type NoConnectionIndicatorProps = {

+ 1 - 0
src/components/NoConnectionIndicator/index.ts

@@ -1,2 +1,3 @@
 import NoConnectionIndicator from './NoConnectionIndicator'
 import NoConnectionIndicator from './NoConnectionIndicator'
+
 export default NoConnectionIndicator
 export default NoConnectionIndicator

+ 1 - 0
src/components/PlaceholderVideoGrid.tsx

@@ -1,6 +1,7 @@
 import React from 'react'
 import React from 'react'
 
 
 import { Grid } from '@/shared/components'
 import { Grid } from '@/shared/components'
+
 import VideoPreview from './VideoPreview'
 import VideoPreview from './VideoPreview'
 
 
 type PlaceholderVideoGridProps = {
 type PlaceholderVideoGridProps = {

+ 3 - 2
src/components/Sidenav/SidenavBase.style.ts

@@ -1,10 +1,11 @@
-import { Text } from '@/shared/components'
-import { colors, sizes, transitions, typography, zIndex, media } from '@/shared/theme'
 import isPropValid from '@emotion/is-prop-valid'
 import isPropValid from '@emotion/is-prop-valid'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
 import { Link, LinkProps } from 'react-router-dom'
 import { Link, LinkProps } from 'react-router-dom'
+
+import { Text } from '@/shared/components'
 import { badgeStyles } from '@/shared/components/Badge'
 import { badgeStyles } from '@/shared/components/Badge'
 import { SvgJoystreamFullLogo } from '@/shared/illustrations'
 import { SvgJoystreamFullLogo } from '@/shared/illustrations'
+import { colors, sizes, transitions, typography, zIndex, media } from '@/shared/theme'
 
 
 export const EXPANDED_SIDENAVBAR_WIDTH = 360
 export const EXPANDED_SIDENAVBAR_WIDTH = 360
 export const NAVBAR_LEFT_PADDING = 24
 export const NAVBAR_LEFT_PADDING = 24

+ 6 - 4
src/components/Sidenav/SidenavBase.tsx

@@ -1,6 +1,12 @@
 import React, { ReactNode } from 'react'
 import React, { ReactNode } from 'react'
 import { useMatch } from 'react-router-dom'
 import { useMatch } from 'react-router-dom'
+import { CSSTransition } from 'react-transition-group'
 import useResizeObserver from 'use-resize-observer'
 import useResizeObserver from 'use-resize-observer'
+
+import { absoluteRoutes } from '@/config/routes'
+import HamburgerButton from '@/shared/components/HamburgerButton'
+import { transitions } from '@/shared/theme'
+
 import {
 import {
   SidebarNav,
   SidebarNav,
   SidebarNavList,
   SidebarNavList,
@@ -17,10 +23,6 @@ import {
   StudioText,
   StudioText,
   LegalLinksWrapper,
   LegalLinksWrapper,
 } from './SidenavBase.style'
 } from './SidenavBase.style'
-import { CSSTransition } from 'react-transition-group'
-import { transitions } from '@/shared/theme'
-import HamburgerButton from '@/shared/components/HamburgerButton'
-import { absoluteRoutes } from '@/config/routes'
 
 
 type NavSubitem = {
 type NavSubitem = {
   name: string
   name: string

+ 5 - 4
src/components/Sidenav/StudioSidenav/StudioSidenav.tsx

@@ -1,12 +1,13 @@
 import React, { useState } from 'react'
 import React, { useState } from 'react'
-import { useDrafts, useAuthorizedUser, useEditVideoSheet, useUploadsManager, useDisplayDataLostWarning } from '@/hooks'
+import { useNavigate } from 'react-router'
+import { CSSTransition } from 'react-transition-group'
+
+import SidenavBase, { NavItemType } from '@/components/Sidenav/SidenavBase'
 import { absoluteRoutes } from '@/config/routes'
 import { absoluteRoutes } from '@/config/routes'
+import { useDrafts, useAuthorizedUser, useEditVideoSheet, useUploadsManager, useDisplayDataLostWarning } from '@/hooks'
 import { Button } from '@/shared/components'
 import { Button } from '@/shared/components'
-import SidenavBase, { NavItemType } from '@/components/Sidenav/SidenavBase'
 import { SvgGlyphAddVideo, SvgGlyphExternal, SvgNavChannel, SvgNavUpload, SvgNavVideos } from '@/shared/icons'
 import { SvgGlyphAddVideo, SvgGlyphExternal, SvgNavChannel, SvgNavUpload, SvgNavVideos } from '@/shared/icons'
-import { CSSTransition } from 'react-transition-group'
 import { transitions } from '@/shared/theme'
 import { transitions } from '@/shared/theme'
-import { useNavigate } from 'react-router'
 
 
 const studioNavbarItems: NavItemType[] = [
 const studioNavbarItems: NavItemType[] = [
   {
   {

+ 4 - 2
src/components/Sidenav/ViewerSidenav/FollowedChannels.style.ts

@@ -1,7 +1,9 @@
-import { sizes, colors, typography } from '@/shared/theme'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
-import ChannelLink from '../../ChannelLink'
+
 import { Text } from '@/shared/components'
 import { Text } from '@/shared/components'
+import { sizes, colors, typography } from '@/shared/theme'
+
+import ChannelLink from '../../ChannelLink'
 import { NAVBAR_LEFT_PADDING, EXPANDED_SIDENAVBAR_WIDTH } from '../SidenavBase.style'
 import { NAVBAR_LEFT_PADDING, EXPANDED_SIDENAVBAR_WIDTH } from '../SidenavBase.style'
 
 
 export const FollowedChannelsWrapper = styled.div`
 export const FollowedChannelsWrapper = styled.div`

+ 6 - 4
src/components/Sidenav/ViewerSidenav/FollowedChannels.tsx

@@ -1,4 +1,10 @@
 import React, { useState } from 'react'
 import React, { useState } from 'react'
+import { CSSTransition } from 'react-transition-group'
+
+import { FollowedChannel } from '@/hooks/usePersonalData/localStorageClient/types'
+import { SvgGlyphChevronDown, SvgGlyphChevronUp } from '@/shared/icons'
+import { transitions } from '@/shared/theme'
+
 import {
 import {
   ChannelsWrapper,
   ChannelsWrapper,
   ChannelsTitle,
   ChannelsTitle,
@@ -9,10 +15,6 @@ import {
   ShowMoreIconWrapper,
   ShowMoreIconWrapper,
   FollowedChannelsWrapper,
   FollowedChannelsWrapper,
 } from './FollowedChannels.style'
 } from './FollowedChannels.style'
-import { transitions } from '@/shared/theme'
-import { CSSTransition } from 'react-transition-group'
-import { FollowedChannel } from '@/hooks/usePersonalData/localStorageClient/types'
-import { SvgGlyphChevronDown, SvgGlyphChevronUp } from '@/shared/icons'
 
 
 const MAX_CHANNELS = 4
 const MAX_CHANNELS = 4
 
 

+ 5 - 3
src/components/Sidenav/ViewerSidenav/ViewerSidenav.tsx

@@ -1,11 +1,13 @@
 import React, { useState } from 'react'
 import React, { useState } from 'react'
-import { usePersonalData } from '@/hooks'
+
+import SidenavBase, { NavItemType } from '@/components/Sidenav/SidenavBase'
 import { absoluteRoutes } from '@/config/routes'
 import { absoluteRoutes } from '@/config/routes'
+import { usePersonalData } from '@/hooks'
 import { Button } from '@/shared/components'
 import { Button } from '@/shared/components'
-import SidenavBase, { NavItemType } from '@/components/Sidenav/SidenavBase'
-import FollowedChannels from './FollowedChannels'
 import { SvgGlyphExternal, SvgNavChannels, SvgNavHome, SvgNavVideos } from '@/shared/icons'
 import { SvgGlyphExternal, SvgNavChannels, SvgNavHome, SvgNavVideos } from '@/shared/icons'
 
 
+import FollowedChannels from './FollowedChannels'
+
 const viewerSidenavItems: NavItemType[] = [
 const viewerSidenavItems: NavItemType[] = [
   {
   {
     icon: <SvgNavHome />,
     icon: <SvgNavHome />,

+ 3 - 1
src/components/SignInSteps/AccountStep.style.ts

@@ -1,8 +1,10 @@
+import styled from '@emotion/styled'
+
 import { Button, Text, RadioButton } from '@/shared/components'
 import { Button, Text, RadioButton } from '@/shared/components'
 import Spinner from '@/shared/components/Spinner'
 import Spinner from '@/shared/components/Spinner'
 import { SvgAccountCreationIllustration } from '@/shared/illustrations'
 import { SvgAccountCreationIllustration } from '@/shared/illustrations'
 import { sizes, colors, typography, transitions, media } from '@/shared/theme'
 import { sizes, colors, typography, transitions, media } from '@/shared/theme'
-import styled from '@emotion/styled'
+
 import { StepWrapper } from './SignInSteps.style'
 import { StepWrapper } from './SignInSteps.style'
 
 
 type AccountWrapperProps = {
 type AccountWrapperProps = {

+ 6 - 4
src/components/SignInSteps/AccountStep.tsx

@@ -1,8 +1,12 @@
+import React, { FormEvent, useState } from 'react'
+import { useNavigate } from 'react-router'
+import { CSSTransition, SwitchTransition } from 'react-transition-group'
+
 import { useUser } from '@/hooks'
 import { useUser } from '@/hooks'
 import { Text } from '@/shared/components'
 import { Text } from '@/shared/components'
+import { SvgGlyphChannel, SvgOutlineConnect } from '@/shared/icons'
 import { transitions } from '@/shared/theme'
 import { transitions } from '@/shared/theme'
-import React, { FormEvent, useState } from 'react'
-import { CSSTransition, SwitchTransition } from 'react-transition-group'
+
 import {
 import {
   StyledSpinner,
   StyledSpinner,
   AccountStepImg,
   AccountStepImg,
@@ -28,8 +32,6 @@ import {
   StyledPolkadotLogo,
   StyledPolkadotLogo,
   StyledJoystreamLogo,
   StyledJoystreamLogo,
 } from './SignInSteps.style'
 } from './SignInSteps.style'
-import { useNavigate } from 'react-router'
-import { SvgGlyphChannel, SvgOutlineConnect } from '@/shared/icons'
 
 
 type AccountStepProps = {
 type AccountStepProps = {
   nextStepPath: string
   nextStepPath: string

+ 3 - 1
src/components/SignInSteps/ExtensionStep.style.ts

@@ -1,6 +1,8 @@
+import styled from '@emotion/styled'
+
 import { Button, Text } from '@/shared/components'
 import { Button, Text } from '@/shared/components'
 import { sizes } from '@/shared/theme'
 import { sizes } from '@/shared/theme'
-import styled from '@emotion/styled'
+
 import { StepFooter } from './SignInSteps.style'
 import { StepFooter } from './SignInSteps.style'
 
 
 export const StyledButton = styled(Button)`
 export const StyledButton = styled(Button)`

+ 5 - 3
src/components/SignInSteps/ExtensionStep.tsx

@@ -1,11 +1,13 @@
 import React, { useEffect } from 'react'
 import React, { useEffect } from 'react'
-import { StyledButton, StyledStepFooter, StyledListItem, PolkadotExtensionRejectedWrapper } from './ExtensionStep.style'
-import { BottomBarIcon, StepSubTitle, StepTitle, StepWrapper, StyledPolkadotLogo } from './SignInSteps.style'
-import { Text, Button } from '@/shared/components'
 import { useNavigate } from 'react-router'
 import { useNavigate } from 'react-router'
+
 import { useRouterQuery, useUser, useDialog } from '@/hooks'
 import { useRouterQuery, useUser, useDialog } from '@/hooks'
+import { Text, Button } from '@/shared/components'
 import { SvgGlyphExternal } from '@/shared/icons'
 import { SvgGlyphExternal } from '@/shared/icons'
 
 
+import { StyledButton, StyledStepFooter, StyledListItem, PolkadotExtensionRejectedWrapper } from './ExtensionStep.style'
+import { BottomBarIcon, StepSubTitle, StepTitle, StepWrapper, StyledPolkadotLogo } from './SignInSteps.style'
+
 type ExtensionStepProps = {
 type ExtensionStepProps = {
   nextStepPath: string
   nextStepPath: string
 }
 }

+ 2 - 1
src/components/SignInSteps/SignInSteps.style.ts

@@ -1,8 +1,9 @@
+import styled from '@emotion/styled'
+
 import { Text } from '@/shared/components'
 import { Text } from '@/shared/components'
 import { SvgGlyphWarning } from '@/shared/icons/GlyphWarning'
 import { SvgGlyphWarning } from '@/shared/icons/GlyphWarning'
 import { SvgJoystreamLogo, SvgPolkadotLogo } from '@/shared/illustrations'
 import { SvgJoystreamLogo, SvgPolkadotLogo } from '@/shared/illustrations'
 import { sizes, colors } from '@/shared/theme'
 import { sizes, colors } from '@/shared/theme'
-import styled from '@emotion/styled'
 
 
 export const StepWrapper = styled.div`
 export const StepWrapper = styled.div`
   width: 100%;
   width: 100%;

+ 5 - 2
src/components/SignInSteps/SignInStepsStepper.tsx

@@ -1,11 +1,14 @@
-import { useRouterQuery } from '@/hooks'
 import React from 'react'
 import React from 'react'
 import { useNavigate } from 'react-router'
 import { useNavigate } from 'react-router'
-import { Multistepper } from '../Dialogs'
+
+import { useRouterQuery } from '@/hooks'
+
 import AccountStep from './AccountStep'
 import AccountStep from './AccountStep'
 import ExtensionStep from './ExtensionStep'
 import ExtensionStep from './ExtensionStep'
 import TermsStep from './TermsStep'
 import TermsStep from './TermsStep'
 
 
+import { Multistepper } from '../Dialogs'
+
 const SignInStepsStepper: React.FC = () => {
 const SignInStepsStepper: React.FC = () => {
   const navigate = useNavigate()
   const navigate = useNavigate()
   const step = Number(useRouterQuery('step'))
   const step = Number(useRouterQuery('step'))

+ 2 - 1
src/components/SignInSteps/TermsStep.style.tsx

@@ -1,7 +1,8 @@
+import styled from '@emotion/styled'
 import React from 'react'
 import React from 'react'
+
 import { Button, IconButton } from '@/shared/components'
 import { Button, IconButton } from '@/shared/components'
 import { colors, sizes } from '@/shared/theme'
 import { colors, sizes } from '@/shared/theme'
-import styled from '@emotion/styled'
 
 
 export const TermsBox = styled.div`
 export const TermsBox = styled.div`
   scroll-behavior: smooth;
   scroll-behavior: smooth;

+ 5 - 3
src/components/SignInSteps/TermsStep.tsx

@@ -1,11 +1,13 @@
+import React, { useEffect, useRef, useState } from 'react'
+import { CSSTransition } from 'react-transition-group'
+
+import TermsOfService from '@/components/TermsOfService'
 import { absoluteRoutes } from '@/config/routes'
 import { absoluteRoutes } from '@/config/routes'
 import { SvgGlyphChevronDown } from '@/shared/icons'
 import { SvgGlyphChevronDown } from '@/shared/icons'
 import { transitions } from '@/shared/theme'
 import { transitions } from '@/shared/theme'
-import React, { useEffect, useRef, useState } from 'react'
-import { CSSTransition } from 'react-transition-group'
+
 import { StepFooter, StepWrapper } from './SignInSteps.style'
 import { StepFooter, StepWrapper } from './SignInSteps.style'
 import { TermsBox, TextWrapper, TermsOverlay, ScrollButton, ContinueButton } from './TermsStep.style'
 import { TermsBox, TextWrapper, TermsOverlay, ScrollButton, ContinueButton } from './TermsStep.style'
-import TermsOfService from '@/components/TermsOfService'
 
 
 const TermsStep: React.FC = () => {
 const TermsStep: React.FC = () => {
   const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false)
   const [hasScrolledToBottom, setHasScrolledToBottom] = useState(false)

+ 4 - 3
src/components/StudioEntrypoint.tsx

@@ -1,10 +1,11 @@
-import React from 'react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
-import { Spinner, Text } from '@/shared/components'
+import React from 'react'
+import { Navigate } from 'react-router-dom'
+
 import { TOP_NAVBAR_HEIGHT } from '@/components'
 import { TOP_NAVBAR_HEIGHT } from '@/components'
 import { absoluteRoutes } from '@/config/routes'
 import { absoluteRoutes } from '@/config/routes'
 import { useUser } from '@/hooks'
 import { useUser } from '@/hooks'
-import { Navigate } from 'react-router-dom'
+import { Spinner, Text } from '@/shared/components'
 
 
 const DEFAULT_ROUTE = absoluteRoutes.studio.videos()
 const DEFAULT_ROUTE = absoluteRoutes.studio.videos()
 
 

+ 1 - 0
src/components/TermsOfService.tsx

@@ -1,4 +1,5 @@
 import React from 'react'
 import React from 'react'
+
 import { LegalLastUpdateText, LegalListItem, LegalParagraph, Text } from '@/shared/components'
 import { LegalLastUpdateText, LegalListItem, LegalParagraph, Text } from '@/shared/components'
 
 
 const TermsOfService: React.FC = () => {
 const TermsOfService: React.FC = () => {

+ 3 - 1
src/components/Topbar/StudioTopbar/StudioTopbar.style.tsx

@@ -1,7 +1,9 @@
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
 import { Link } from 'react-router-dom'
 import { Link } from 'react-router-dom'
-import { media, colors, sizes, transitions, typography, zIndex } from '@/shared/theme'
+
 import { Avatar, Text, Placeholder } from '@/shared/components'
 import { Avatar, Text, Placeholder } from '@/shared/components'
+import { media, colors, sizes, transitions, typography, zIndex } from '@/shared/theme'
+
 import TopbarBase from '../TopbarBase'
 import TopbarBase from '../TopbarBase'
 import { TOP_NAVBAR_HEIGHT } from '../TopbarBase.style'
 import { TOP_NAVBAR_HEIGHT } from '../TopbarBase.style'
 
 

+ 5 - 4
src/components/Topbar/StudioTopbar/StudioTopbar.tsx

@@ -1,9 +1,13 @@
 import React, { useState, useEffect, useRef } from 'react'
 import React, { useState, useEffect, useRef } from 'react'
-import { useUser, useDisplayDataLostWarning, useEditVideoSheet, useAsset } from '@/hooks'
+import { useNavigate } from 'react-router'
+import { CSSTransition } from 'react-transition-group'
+
 import { BasicChannelFieldsFragment } from '@/api/queries'
 import { BasicChannelFieldsFragment } from '@/api/queries'
 import { absoluteRoutes } from '@/config/routes'
 import { absoluteRoutes } from '@/config/routes'
+import { useUser, useDisplayDataLostWarning, useEditVideoSheet, useAsset } from '@/hooks'
 import { Placeholder, Text, Button, ExpandButton, IconButton } from '@/shared/components'
 import { Placeholder, Text, Button, ExpandButton, IconButton } from '@/shared/components'
 import { SvgGlyphAddVideo, SvgGlyphCheck, SvgGlyphLogOut, SvgGlyphNewChannel } from '@/shared/icons'
 import { SvgGlyphAddVideo, SvgGlyphCheck, SvgGlyphLogOut, SvgGlyphNewChannel } from '@/shared/icons'
+import { transitions } from '@/shared/theme'
 
 
 import {
 import {
   StyledTopbarBase,
   StyledTopbarBase,
@@ -26,9 +30,6 @@ import {
   AvatarPlaceholder,
   AvatarPlaceholder,
   GlyphCheckContainer,
   GlyphCheckContainer,
 } from './StudioTopbar.style'
 } from './StudioTopbar.style'
-import { CSSTransition } from 'react-transition-group'
-import { transitions } from '@/shared/theme'
-import { useNavigate } from 'react-router'
 
 
 type StudioTopbarProps = {
 type StudioTopbarProps = {
   hideChannelInfo?: boolean
   hideChannelInfo?: boolean

+ 1 - 0
src/components/Topbar/StudioTopbar/index.ts

@@ -1,2 +1,3 @@
 import StudioTopbar from './StudioTopbar'
 import StudioTopbar from './StudioTopbar'
+
 export default StudioTopbar
 export default StudioTopbar

+ 2 - 1
src/components/Topbar/TopbarBase.stories.tsx

@@ -1,7 +1,8 @@
+import { Story, Meta } from '@storybook/react'
 import React from 'react'
 import React from 'react'
 import { BrowserRouter } from 'react-router-dom'
 import { BrowserRouter } from 'react-router-dom'
+
 import TopbarBase, { TopbarBaseProps } from './TopbarBase'
 import TopbarBase, { TopbarBaseProps } from './TopbarBase'
-import { Story, Meta } from '@storybook/react'
 
 
 export default {
 export default {
   title: 'Shared/T/TopbarBase',
   title: 'Shared/T/TopbarBase',

+ 5 - 3
src/components/Topbar/TopbarBase.style.tsx

@@ -1,10 +1,12 @@
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
-import { Text } from '@/shared/components'
+import { Link } from 'react-router-dom'
+
 import { StyledSearchbar } from '@/components/Topbar/ViewerTopbar/ViewerTopbar.style'
 import { StyledSearchbar } from '@/components/Topbar/ViewerTopbar/ViewerTopbar.style'
+import { Text } from '@/shared/components'
+import { SvgJoystreamFullLogo, SvgJoystreamOneLetterLogo } from '@/shared/illustrations'
 import { colors, sizes, transitions, typography, zIndex, media } from '@/shared/theme'
 import { colors, sizes, transitions, typography, zIndex, media } from '@/shared/theme'
-import { Link } from 'react-router-dom'
+
 import { TopbarVariant } from './TopbarBase'
 import { TopbarVariant } from './TopbarBase'
-import { SvgJoystreamFullLogo, SvgJoystreamOneLetterLogo } from '@/shared/illustrations'
 
 
 type TopNavbarStyleProps = {
 type TopNavbarStyleProps = {
   hasFocus?: boolean
   hasFocus?: boolean

+ 1 - 0
src/components/Topbar/TopbarBase.tsx

@@ -1,4 +1,5 @@
 import React from 'react'
 import React from 'react'
+
 import { FullLogo, Header, LogoLink, StudioText, LogoContainer, ShortLogo } from './TopbarBase.style'
 import { FullLogo, Header, LogoLink, StudioText, LogoContainer, ShortLogo } from './TopbarBase.style'
 
 
 export type TopbarVariant = 'default' | 'studio'
 export type TopbarVariant = 'default' | 'studio'

+ 5 - 2
src/components/Topbar/ViewerTopbar/ViewerTopbar.tsx

@@ -1,8 +1,11 @@
-import { absoluteRoutes, QUERY_PARAMS } from '@/config/routes'
-import { useLocation, useNavigate } from 'react-router-dom'
 import React, { useEffect, useState } from 'react'
 import React, { useEffect, useState } from 'react'
+import { useLocation, useNavigate } from 'react-router-dom'
+
+import { absoluteRoutes, QUERY_PARAMS } from '@/config/routes'
 import { RoutingState } from '@/types/routing'
 import { RoutingState } from '@/types/routing'
+
 import { SearchbarContainer, StyledSearchbar } from './ViewerTopbar.style'
 import { SearchbarContainer, StyledSearchbar } from './ViewerTopbar.style'
+
 import TopbarBase from '../TopbarBase'
 import TopbarBase from '../TopbarBase'
 
 
 const ViewerTopbar: React.FC = () => {
 const ViewerTopbar: React.FC = () => {

+ 1 - 0
src/components/Topbar/ViewerTopbar/index.ts

@@ -1,2 +1,3 @@
 import ViewerTopbar from './ViewerTopbar'
 import ViewerTopbar from './ViewerTopbar'
+
 export default ViewerTopbar
 export default ViewerTopbar

+ 1 - 1
src/components/Topbar/index.ts

@@ -1,6 +1,6 @@
+import StudioTopbar from './StudioTopbar'
 import TopbarBase, { TopbarBaseProps } from './TopbarBase'
 import TopbarBase, { TopbarBaseProps } from './TopbarBase'
 import ViewerTopbar from './ViewerTopbar'
 import ViewerTopbar from './ViewerTopbar'
-import StudioTopbar from './StudioTopbar'
 
 
 export { TOP_NAVBAR_HEIGHT } from './TopbarBase.style'
 export { TOP_NAVBAR_HEIGHT } from './TopbarBase.style'
 export type { TopbarBaseProps }
 export type { TopbarBaseProps }

+ 4 - 4
src/components/VideoGallery.tsx

@@ -1,13 +1,13 @@
-import React, { useState, useMemo, useCallback } from 'react'
 import { css } from '@emotion/react'
 import { css } from '@emotion/react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+import React, { useState, useMemo, useCallback } from 'react'
 
 
+import { VideoFieldsFragment } from '@/api/queries'
 import { Gallery, CAROUSEL_ARROW_HEIGHT, MIN_VIDEO_PREVIEW_WIDTH } from '@/shared/components'
 import { Gallery, CAROUSEL_ARROW_HEIGHT, MIN_VIDEO_PREVIEW_WIDTH } from '@/shared/components'
-
 import { breakpointsOfGrid } from '@/shared/components/Grid'
 import { breakpointsOfGrid } from '@/shared/components/Grid'
-import VideoPreview from './VideoPreview'
 import { sizes } from '@/shared/theme'
 import { sizes } from '@/shared/theme'
-import { VideoFieldsFragment } from '@/api/queries'
+
+import VideoPreview from './VideoPreview'
 
 
 interface VideoFieldsWithProgress extends VideoFieldsFragment {
 interface VideoFieldsWithProgress extends VideoFieldsFragment {
   progress?: number
   progress?: number

+ 3 - 2
src/components/VideoGrid.tsx

@@ -1,9 +1,10 @@
-import React from 'react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
+import React from 'react'
 
 
+import { VideoFieldsFragment } from '@/api/queries'
 import { Grid } from '@/shared/components'
 import { Grid } from '@/shared/components'
+
 import VideoPreview from './VideoPreview'
 import VideoPreview from './VideoPreview'
-import { VideoFieldsFragment } from '@/api/queries'
 
 
 const StyledVideoPreview = styled(VideoPreview)`
 const StyledVideoPreview = styled(VideoPreview)`
   margin: 0 auto;
   margin: 0 auto;

+ 3 - 2
src/components/VideoPreview.tsx

@@ -1,14 +1,15 @@
 import React from 'react'
 import React from 'react'
+
 import { useVideo } from '@/api/hooks'
 import { useVideo } from '@/api/hooks'
+import { AssetAvailability } from '@/api/queries'
 import { absoluteRoutes } from '@/config/routes'
 import { absoluteRoutes } from '@/config/routes'
+import { useDrafts, useAuthorizedUser, useAsset } from '@/hooks'
 import VideoPreviewBase, {
 import VideoPreviewBase, {
   VideoPreviewBaseMetaProps,
   VideoPreviewBaseMetaProps,
   VideoPreviewBaseProps,
   VideoPreviewBaseProps,
   VideoPreviewPublisherProps,
   VideoPreviewPublisherProps,
 } from '@/shared/components/VideoPreviewBase/VideoPreviewBase'
 } from '@/shared/components/VideoPreviewBase/VideoPreviewBase'
-import { useDrafts, useAuthorizedUser, useAsset } from '@/hooks'
 import { copyToClipboard } from '@/utils/broswer'
 import { copyToClipboard } from '@/utils/broswer'
-import { AssetAvailability } from '@/api/queries'
 
 
 export type VideoPreviewProps = {
 export type VideoPreviewProps = {
   id?: string
   id?: string

+ 2 - 2
src/components/ViewErrorFallback.tsx

@@ -1,10 +1,10 @@
-import React from 'react'
 import styled from '@emotion/styled'
 import styled from '@emotion/styled'
 import { FallbackRender } from '@sentry/react/dist/errorboundary'
 import { FallbackRender } from '@sentry/react/dist/errorboundary'
+import React from 'react'
 
 
 import { Button, Text } from '@/shared/components'
 import { Button, Text } from '@/shared/components'
-import { sizes, colors } from '@/shared/theme'
 import { SvgWellErrorIllustration } from '@/shared/illustrations'
 import { SvgWellErrorIllustration } from '@/shared/illustrations'
+import { sizes, colors } from '@/shared/theme'
 
 
 const Container = styled.div`
 const Container = styled.div`
   margin: ${sizes(20)} auto 0;
   margin: ${sizes(20)} auto 0;

Some files were not shown because too many files changed in this diff