Skip to content

Commit d2dd8b5

Browse files
committed
feature/Extract list item to component
1 parent 0a1be63 commit d2dd8b5

File tree

8 files changed

+44
-43
lines changed

8 files changed

+44
-43
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
@import './variables.scss';
2+
3+
.list-item {
4+
&--wrapper {
5+
border: 1px solid $color-light;
6+
border-radius: 5px;
7+
margin: 16px 0px;
8+
}
9+
}

app/assets/stylesheets/snippets.scss

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@
1818
text-decoration-color: $color-primary;
1919
}
2020

21-
&--wrapper {
22-
border: 1px solid $color-light;
23-
border-radius: 5px;
24-
margin: 16px 0px;
25-
}
26-
2721
&--title-wrapper {
2822
display: flex;
2923
align-items: center;

app/javascript/list-item.vue

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<template>
2+
<div class="list-item--wrapper">
3+
<slot></slot>
4+
</div>
5+
</template>
6+
7+
<script>
8+
export default {
9+
10+
}
11+
</script>

app/javascript/packs/snippet_app.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ import NewSnippet from '../new-snippet.vue'
7272
import NewSnippetButton from '../new-snippet-button.vue'
7373
import Popover from '../popover.vue';
7474
import Sidebar from '../sidebar.vue'
75-
import SnippetListItem from '../snippet-list-item.vue'
75+
import ListItem from '../list-item.vue'
7676
import Snipt from '../snipt.vue'
7777
import SnippetPreview from '../snippet-preview.vue'
7878
import SnippetShow from '../snippet-show.vue'
@@ -103,13 +103,13 @@ document.addEventListener('DOMContentLoaded', () => {
103103
FoldersShow,
104104
FolderRow,
105105
Home,
106+
ListItem,
106107
Modal,
107108
NewSnippet,
108109
NewSnippetButton,
109110
Popover,
110111
Snipt,
111112
Sidebar,
112-
SnippetListItem,
113113
SnippetPreview,
114114
SnippetShow,
115115
Tab,

app/javascript/snippet-list-item.vue

Lines changed: 0 additions & 14 deletions
This file was deleted.

app/javascript/snipt.vue

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</action-snippet>
1111
</modal>
1212

13-
<div class="snippets--list-item--wrapper">
13+
<list-item>
1414
<a class="snippets--list-item" :href="snippetPath">
1515
<div class="snippets--list-item--title-wrapper">
1616
<span class="snippets--list-item--title-link">{{ snippet.description }}</span>
@@ -39,15 +39,16 @@
3939
</div>
4040
</div>
4141
</a>
42-
</div>
42+
</list-item>
4343
</div>
4444
</template>
4545

4646
<script>
47+
import ActionSnippet from './action-snippet';
48+
import ListItem from './list-item';
49+
import Modal from './modal';
4750
import MoreButton from './more-button';
4851
import Popover from './popover';
49-
import Modal from './modal';
50-
import ActionSnippet from './action-snippet';
5152
5253
import snippetsMixin from './mixins/snippetsMixin';
5354
import foldersMixin from './mixins/foldersMixin';
@@ -56,7 +57,7 @@ import { EventBus } from './event-bus.js';
5657
import { store } from './store';
5758
5859
export default {
59-
components: { MoreButton, ActionSnippet, Modal, Popover },
60+
components: { MoreButton, ListItem, ActionSnippet, Modal, Popover },
6061
6162
mixins: [snippetsMixin, foldersMixin],
6263

app/javascript/tabs.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ export default {
5959
&--header {
6060
padding: 16px;
6161
border-radius: 2px;
62+
border-bottom: 1px solid lightgray;
6263
6364
&:hover {
6465
cursor: pointer;
@@ -68,8 +69,9 @@ export default {
6869
&-active {
6970
@extend .tabs--header;
7071
71-
text-decoration: underline;
72-
text-decoration-color: #3AAFA9;
72+
// text-decoration: underline;
73+
// text-decoration-color: #3AAFA9;
74+
border-bottom: 2px solid #3AAFA9;
7375
}
7476
}
7577
}

app/views/users/show.html.erb

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,22 @@
1717
</tab>
1818
<tab name="<%= @followers.size %> Followers">
1919
<% @followers.each_with_index do |follower, index| %>
20-
<% if index > 0 %>
21-
<div class="horizontal-line"></div>
22-
<% end %>
23-
<a href="<%= user_path(follower)%>" class="follow--container">
24-
<user-preview :user="<%= follower.serialize.to_json %>"></user-preview>
25-
<span class="follow--description"><%= follower.description %></span>
26-
</a>
20+
<list-item>
21+
<a href="<%= user_path(follower)%>" class="follow--container">
22+
<user-preview :user="<%= follower.serialize.to_json %>"></user-preview>
23+
<span class="follow--description"><%= follower.description %></span>
24+
</a>
25+
</list-item>
2726
<% end %>
2827
</tab>
2928
<tab name="<%= @following.size %> Following">
3029
<% @following.each_with_index do |following_user, index| %>
31-
<% if index > 0 %>
32-
<div class="horizontal-line"></div>
33-
<% end %>
34-
<a href="<%= user_path(following_user)%>" class="follow--container">
35-
<user-preview :user="<%= following_user.serialize.to_json %>"></user-preview>
36-
<span class="follow--description"><%= following_user.description %></span>
37-
</a>
30+
<list-item>
31+
<a href="<%= user_path(following_user)%>" class="follow--container">
32+
<user-preview :user="<%= following_user.serialize.to_json %>"></user-preview>
33+
<span class="follow--description"><%= following_user.description %></span>
34+
</a>
35+
</list-item>
3836
<% end %>
3937
</tab>
4038
</tabs>

0 commit comments

Comments
 (0)