Skip to content

Commit 91ba44a

Browse files
committed
refactor: delete copy link button from header
1 parent b83d468 commit 91ba44a

3 files changed

Lines changed: 5 additions & 145 deletions

File tree

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
<h{{ level }} id="{{ text | urlify }}" class="block-header block-header--{{ level }} block-header--anchor">
2-
<div class="block-header__copy-link-splash"></div>
3-
<div class="block-header__copy-link">
4-
<div class="block-header__copy-link-icon--initial">{{ svg('copy') }}</div>
5-
<div class="block-header__copy-link-icon--success">{{ svg('check') }}</div>
6-
</div>
1+
<h{{ level }} id="{{ text | urlify }}" class="block-header block-header--{{ level }}">
72
<a href="#{{ text | urlify }}">
83
{{ text }}
94
</a>
105
</h{{ level }}>
11-

src/frontend/js/modules/page.js

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@ export default class Page {
2020
*/
2121
static get CSS() {
2222
return {
23-
page: 'page',
24-
copyLinkBtn: 'block-header__copy-link',
25-
header: 'block-header--anchor',
26-
headerLinkCopied: 'block-header--link-copied',
23+
page: 'page'
2724
};
2825
}
2926

@@ -35,11 +32,11 @@ export default class Page {
3532
this.tableOfContent = this.createTableOfContent();
3633

3734
/**
38-
* Add click event listener to capture copy link button clicks
35+
* Add click event listener
3936
*/
4037
const page = document.querySelector(`.${Page.CSS.page}`);
4138

42-
page.addEventListener('click', this.copyAnchorLinkIfNeeded);
39+
page.addEventListener('click', (event) => { });
4340
}
4441

4542
/**
@@ -69,39 +66,11 @@ export default class Page {
6966
try {
7067
// eslint-disable-next-line no-new
7168
new TableOfContent({
72-
tagSelector:
73-
'h2.block-header--anchor,' +
74-
'h3.block-header--anchor,' +
75-
'h4.block-header--anchor',
69+
tagSelector: '.block-header',
7670
appendTo: document.getElementById('layout-sidebar-right'),
7771
});
7872
} catch (error) {
7973
console.error(error); // @todo send to Hawk
8074
}
8175
}
82-
83-
/**
84-
* Checks if 'copy link' button was clicked and copies the link to clipboard
85-
*
86-
* @param e - click event
87-
*/
88-
copyAnchorLinkIfNeeded = async (e) => {
89-
const copyLinkButtonClicked = e.target.closest(`.${Page.CSS.copyLinkBtn}`);
90-
91-
if (!copyLinkButtonClicked) {
92-
return;
93-
}
94-
95-
const header = e.target.closest(`.${Page.CSS.header}`);
96-
const link = header.querySelector('a').href;
97-
98-
await copyToClipboard(link);
99-
header.classList.add(Page.CSS.headerLinkCopied);
100-
101-
header.addEventListener('mouseleave', () => {
102-
setTimeout(() => {
103-
header.classList.remove(Page.CSS.headerLinkCopied);
104-
}, 500);
105-
}, { once: true });
106-
}
10776
}

src/frontend/styles/components/page.pcss

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -125,111 +125,9 @@
125125
pointer-events: none;
126126
}
127127

128-
&--link-copied {
129-
.block-header__copy-link,
130-
.block-header__copy-link:hover {
131-
background: var(--color-success);
132-
opacity: 1;
133-
animation: check-square-in 250ms ease-in;
134-
pointer-events: none;
135-
}
136-
137-
.block-header__copy-link-icon--initial {
138-
display: none;
139-
}
140-
141-
.block-header__copy-link-icon--success {
142-
display: flex;
143-
animation: check-sign-in 350ms ease-in forwards;
144-
}
145-
146-
.block-header__copy-link-splash {
147-
opacity: 0;
148-
visibility: visible;
149-
transform: scale(3.5);
150-
}
151-
}
152-
153-
&__copy-link-splash {
154-
position: absolute;
155-
left: 0;
156-
width: 28px;
157-
height: 28px;
158-
background-color: var(--color-success);
159-
transform: scale(1);
160-
border-radius: 100%;
161-
transition: transform 400ms ease-out, opacity 400ms;
162-
visibility: hidden;
163-
}
164-
165-
&__copy-link-icon--success {
166-
width: 24px;
167-
height: 24px;
168-
display: none;
169-
color: white;
170-
}
171-
172-
&__copy-link-icon--initial {
173-
display: flex;
174-
justify-content: center;
175-
align-items: center;
176-
}
177-
178-
&__copy-link {
179-
width: 28px;
180-
height: 28px;
181-
cursor: pointer;
182-
display: flex;
183-
align-items: center;
184-
justify-content: center;
185-
border-radius: 8px;
186-
@apply --squircle;
187-
color: var(--color-text-second);
188-
opacity: 0;
189-
margin-right: 8px;
190-
191-
@media (--can-hover) {
192-
&:hover {
193-
background: var(--color-link-hover);
194-
}
195-
}
196-
}
197-
198-
@media (--can-hover) {
199-
&:hover {
200-
.block-header__copy-link {
201-
opacity: 1;
202-
}
203-
}
204-
}
205-
206128
.inline-code {
207129
line-height: inherit;
208130
}
209-
210-
@keyframes check-sign-in {
211-
from {
212-
transform: scale(.7);
213-
}
214-
80% {
215-
transform: scale(1.1);
216-
}
217-
to {
218-
transform: none;
219-
}
220-
}
221-
222-
@keyframes check-square-in {
223-
from {
224-
transform: scale(1.05);
225-
}
226-
80% {
227-
transform: scale(.96);
228-
}
229-
to {
230-
transform: none;
231-
}
232-
}
233131
}
234132

235133
/**
@@ -580,4 +478,3 @@
580478
}
581479
}
582480
}
583-

0 commit comments

Comments
 (0)