Skip to content

Commit 8010fc1

Browse files
committed
feat(web): custom-scrollbar
1 parent e57c3d4 commit 8010fc1

File tree

2 files changed

+47
-22
lines changed

2 files changed

+47
-22
lines changed

web/src/components/FileViewer/index.tsx

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,20 @@ import React from "react";
22
import styled from "styled-components";
33

44
import DocViewer, { DocViewerRenderers } from "@cyntler/react-doc-viewer";
5+
56
import "@cyntler/react-doc-viewer/dist/index.css";
6-
import { OverlayScrollbarsComponent } from "overlayscrollbars-react";
7+
import { customScrollbar } from "styles/customScrollbar";
78

89
import MarkdownRenderer from "./Viewers/MarkdownViewer";
910

10-
import "overlayscrollbars/styles/overlayscrollbars.css";
11-
1211
const Wrapper = styled.div`
1312
background-color: ${({ theme }) => theme.whiteBackground};
1413
border-radius: 3px;
1514
box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.06);
1615
max-height: 750px;
1716
overflow: scroll;
17+
18+
${customScrollbar}
1819
`;
1920

2021
const StyledDocViewer = styled(DocViewer)`
@@ -29,25 +30,23 @@ const StyledDocViewer = styled(DocViewer)`
2930
const FileViewer: React.FC<{ url: string }> = ({ url }) => {
3031
const docs = [{ uri: url }];
3132
return (
32-
<OverlayScrollbarsComponent options={{ showNativeOverlaidScrollbars: true }}>
33-
<Wrapper className="file-viewer-wrapper">
34-
<StyledDocViewer
35-
documents={docs}
36-
pluginRenderers={[...DocViewerRenderers, MarkdownRenderer]}
37-
config={{
38-
header: {
39-
disableHeader: true,
40-
disableFileName: true,
41-
},
42-
pdfZoom: {
43-
defaultZoom: 0.8,
44-
zoomJump: 0.1,
45-
},
46-
pdfVerticalScrollByDefault: true, // false as default
47-
}}
48-
/>
49-
</Wrapper>
50-
</OverlayScrollbarsComponent>
33+
<Wrapper className="file-viewer-wrapper">
34+
<StyledDocViewer
35+
documents={docs}
36+
pluginRenderers={[...DocViewerRenderers, MarkdownRenderer]}
37+
config={{
38+
header: {
39+
disableHeader: true,
40+
disableFileName: true,
41+
},
42+
pdfZoom: {
43+
defaultZoom: 0.8,
44+
zoomJump: 0.1,
45+
},
46+
pdfVerticalScrollByDefault: true, // false as default
47+
}}
48+
/>
49+
</Wrapper>
5150
);
5251
};
5352

web/src/styles/customScrollbar.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { css } from "styled-components";
2+
3+
export const customScrollbar = css`
4+
::-webkit-scrollbar {
5+
width: 6px;
6+
height: 6px;
7+
}
8+
::-webkit-scrollbar-track {
9+
background: transparent;
10+
}
11+
::-webkit-scrollbar-thumb {
12+
background-color: ${({ theme }) => theme.violetPurple};
13+
border-radius: 10px;
14+
transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
15+
}
16+
::-webkit-scrollbar-thumb:hover {
17+
background-color: ${({ theme }) => theme.secondaryPurple};
18+
}
19+
::-webkit-scrollbar-thumb:active {
20+
background-color: ${({ theme }) => theme.lavenderPurple};
21+
}
22+
23+
// firefox
24+
scrollbar-width: thin;
25+
scrollbar-color: ${({ theme }) => theme.violetPurple} transparent;
26+
`;

0 commit comments

Comments
 (0)