Commit 2d0af0cab4123fd7135e10336529dce4672c29df
minimal public feed!
mix irving committed on 2/23/2017, 9:32:01 AMParent: d6637ae89d381d174f5c5aac3dafebebe079c33a
Files changed
main/html/hypertabs.mcss | added |
main/html/tabs.mcss | deleted |
main/html/scroller.mcss | added |
message/html/compose.mcss | added |
message/html/message.mcss | added |
package.json | changed |
router/html/page/public.js | changed |
main/html/hypertabs.mcss | ||
---|---|---|
@@ -1,0 +1,96 @@ | ||
1 | +Hypertabs { | |
2 | + display: flex | |
3 | + flex-direction: column | |
4 | + | |
5 | + height: 100% /* needed to stop scroller blowing out */ | |
6 | + | |
7 | + nav { | |
8 | + display: flex | |
9 | + | |
10 | + background: linear-gradient(to bottom, #efefef, #e5e5e5) | |
11 | + | |
12 | + section.tabs { | |
13 | + flex-grow: 1 | |
14 | + display: flex | |
15 | + min-width: 0 | |
16 | + | |
17 | + div.tab { | |
18 | + flex-grow: 1 | |
19 | + | |
20 | + display: flex | |
21 | + align-items: center | |
22 | + justify-content: space-between | |
23 | + | |
24 | + min-width: 3.5rem | |
25 | + font-size: .9rem | |
26 | + background-color: #efefef | |
27 | + overflow-x: hidden | |
28 | + | |
29 | + padding: 0 .4rem | |
30 | + margin-left: .6rem | |
31 | + border: 1px gainsboro solid | |
32 | + border-bottom: none | |
33 | + | |
34 | + -selected { | |
35 | + color: #222 | |
36 | + background-color: #fff | |
37 | + | |
38 | + a.close { | |
39 | + visibility: visible | |
40 | + } | |
41 | + } | |
42 | + | |
43 | + -notify { | |
44 | + background-color: orange; | |
45 | + } | |
46 | + | |
47 | + | |
48 | + a { | |
49 | + color: #666 | |
50 | + | |
51 | + :hover { | |
52 | + color: #0088cc | |
53 | + text-decoration: none | |
54 | + } | |
55 | + } | |
56 | + | |
57 | + a.link { | |
58 | + flex-grow: 1 | |
59 | + flex-shrink: 0 | |
60 | + overflow-x: hidden | |
61 | + min-width: 0 | |
62 | + max-width: 90% | |
63 | + white-space: nowrap | |
64 | + text-overflow: ellipsis | |
65 | + | |
66 | + padding: 0.5rem .2rem | |
67 | + } | |
68 | + | |
69 | + a.close { | |
70 | + visibility: hidden | |
71 | + } | |
72 | + } | |
73 | + | |
74 | + } | |
75 | + | |
76 | + div.extra { | |
77 | + display: flex | |
78 | + align-items: center | |
79 | + } | |
80 | + } | |
81 | + | |
82 | + section.content { | |
83 | + display: flex | |
84 | + | |
85 | + height: 100% /* needed to stop making nav weird */ | |
86 | + | |
87 | + div.page { | |
88 | + flex-grow: 1 | |
89 | + | |
90 | + display: flex /*hack to get give Scroller context it needs */ | |
91 | + | |
92 | + padding-top: .2rem | |
93 | + } | |
94 | + } | |
95 | +} | |
96 | + |
main/html/tabs.mcss | ||
---|---|---|
@@ -1,96 +1,0 @@ | ||
1 | -Hypertabs { | |
2 | - display: flex | |
3 | - flex-direction: column | |
4 | - | |
5 | - height: 100% /* needed to stop scroller blowing out */ | |
6 | - | |
7 | - nav { | |
8 | - display: flex | |
9 | - | |
10 | - background: linear-gradient(to bottom, #efefef, #e5e5e5) | |
11 | - | |
12 | - section.tabs { | |
13 | - flex-grow: 1 | |
14 | - display: flex | |
15 | - min-width: 0 | |
16 | - | |
17 | - div.tab { | |
18 | - flex-grow: 1 | |
19 | - | |
20 | - display: flex | |
21 | - align-items: center | |
22 | - justify-content: space-between | |
23 | - | |
24 | - min-width: 3.5rem | |
25 | - font-size: .9rem | |
26 | - background-color: #efefef | |
27 | - overflow-x: hidden | |
28 | - | |
29 | - padding: 0 .4rem | |
30 | - margin-left: .6rem | |
31 | - border: 1px gainsboro solid | |
32 | - border-bottom: none | |
33 | - | |
34 | - -selected { | |
35 | - color: #222 | |
36 | - background-color: #fff | |
37 | - | |
38 | - a.close { | |
39 | - visibility: visible | |
40 | - } | |
41 | - } | |
42 | - | |
43 | - -notify { | |
44 | - background-color: orange; | |
45 | - } | |
46 | - | |
47 | - | |
48 | - a { | |
49 | - color: #666 | |
50 | - | |
51 | - :hover { | |
52 | - color: #0088cc | |
53 | - text-decoration: none | |
54 | - } | |
55 | - } | |
56 | - | |
57 | - a.link { | |
58 | - flex-grow: 1 | |
59 | - flex-shrink: 0 | |
60 | - overflow-x: hidden | |
61 | - min-width: 0 | |
62 | - max-width: 90% | |
63 | - white-space: nowrap | |
64 | - text-overflow: ellipsis | |
65 | - | |
66 | - padding: 0.5rem .2rem | |
67 | - } | |
68 | - | |
69 | - a.close { | |
70 | - visibility: hidden | |
71 | - } | |
72 | - } | |
73 | - | |
74 | - } | |
75 | - | |
76 | - div.extra { | |
77 | - display: flex | |
78 | - align-items: center | |
79 | - } | |
80 | - } | |
81 | - | |
82 | - section.content { | |
83 | - display: flex | |
84 | - | |
85 | - height: 100% /* needed to stop making nav weird */ | |
86 | - | |
87 | - div.page { | |
88 | - flex-grow: 1 | |
89 | - | |
90 | - display: flex /*hack to get give Scroller context it needs */ | |
91 | - | |
92 | - padding-top: .2rem | |
93 | - } | |
94 | - } | |
95 | -} | |
96 | - |
main/html/scroller.mcss | ||
---|---|---|
@@ -1,0 +1,24 @@ | ||
1 | +Scroller { | |
2 | + display: flex | |
3 | + flex-direction: column | |
4 | + | |
5 | + overflow: auto | |
6 | + width: 100% | |
7 | + height: 100% | |
8 | + min-height: 0px | |
9 | + | |
10 | + div.wrapper { | |
11 | + flex: 1 | |
12 | + width: 600px | |
13 | + margin-left: auto | |
14 | + margin-right: auto | |
15 | + | |
16 | + section.content { | |
17 | + | |
18 | + div { | |
19 | + border-bottom: solid 1px gainsboro | |
20 | + } | |
21 | + } | |
22 | + } | |
23 | +} | |
24 | + |
message/html/compose.mcss | ||
---|---|---|
@@ -1,0 +1,116 @@ | ||
1 | +Compose { | |
2 | + display: flex | |
3 | + flex-direction: column | |
4 | + | |
5 | + padding: 1rem .5rem 1rem 7.3rem | |
6 | + | |
7 | + textarea { | |
8 | + border: 1px solid gainsboro | |
9 | + border-top-left-radius: 0 | |
10 | + border-top-right-radius: 0 | |
11 | + } | |
12 | + | |
13 | + input.channel { | |
14 | + border: 1px solid gainsboro | |
15 | + border-bottom: none | |
16 | + border-bottom-left-radius: 0 | |
17 | + border-bottom-right-radius: 0 | |
18 | + padding: .5rem | |
19 | + | |
20 | + :focus { | |
21 | + outline: none | |
22 | + box-shadow: none | |
23 | + } | |
24 | + :disabled { | |
25 | + background-color: #f1f1f1 | |
26 | + cursor: not-allowed | |
27 | + } | |
28 | + } | |
29 | + | |
30 | + section.actions { | |
31 | + display: flex | |
32 | + flex-direction: row | |
33 | + align-items: baseline | |
34 | + | |
35 | + margin-top: .4rem | |
36 | + | |
37 | + input[type="file"] { | |
38 | + flex-grow: 1 | |
39 | + | |
40 | + padding: .5rem 0 | |
41 | + | |
42 | + width: 5.5rem | |
43 | + color: transparent | |
44 | + | |
45 | + ::-webkit-file-upload-button { | |
46 | + visibility: hidden | |
47 | + } | |
48 | + | |
49 | + ::before { | |
50 | + _composeButton | |
51 | + padding-top: .3rem | |
52 | + | |
53 | + content: '๐' | |
54 | + font-size: 1rem | |
55 | + | |
56 | + outline: none | |
57 | + white-space: nowrap | |
58 | + -webkit-user-select: none | |
59 | + } | |
60 | + | |
61 | + :active, :focus { | |
62 | + outline: none | |
63 | + box-shadow: none | |
64 | + } | |
65 | + } | |
66 | + | |
67 | + button { | |
68 | + _composeButton | |
69 | + | |
70 | + text-transform: uppercase | |
71 | + font-weight: bold | |
72 | + font-size: .7rem | |
73 | + } | |
74 | + } | |
75 | + | |
76 | + -expanded { | |
77 | + textarea { | |
78 | + height: 200px | |
79 | + transition: height .15s ease-out | |
80 | + } | |
81 | + | |
82 | + input.channel { | |
83 | + display: flex | |
84 | + } | |
85 | + | |
86 | + section.actions { | |
87 | + display: flex | |
88 | + } | |
89 | + } | |
90 | + | |
91 | + -contracted { | |
92 | + textarea { | |
93 | + height: 50px | |
94 | + transition: height .15s ease-in | |
95 | + } | |
96 | + | |
97 | + input.channel { | |
98 | + display: none | |
99 | + } | |
100 | + | |
101 | + section.actions { | |
102 | + display: none | |
103 | + } | |
104 | + } | |
105 | + | |
106 | +} | |
107 | + | |
108 | +_composeButton { | |
109 | + background: #fff | |
110 | + color: #666 | |
111 | + border: 1px solid #bbb | |
112 | + border-radius: .5rem | |
113 | + padding: .5rem | |
114 | + margin: 0 | |
115 | + cursor: pointer | |
116 | +} |
message/html/message.mcss | ||
---|---|---|
@@ -1,0 +1,108 @@ | ||
1 | +Message { | |
2 | + padding: 1rem .5rem 1rem 7.5rem | |
3 | + min-height: 5rem | |
4 | + | |
5 | + position: relative | |
6 | + display: flex | |
7 | + flex-direction: row | |
8 | + flex-wrap: wrap | |
9 | + justify-content: flex-end | |
10 | + | |
11 | + header.author { | |
12 | + position: absolute | |
13 | + left: .5rem | |
14 | + } | |
15 | + | |
16 | + section.title { | |
17 | + flex-grow: 1 | |
18 | + font-size: .9rem | |
19 | + } | |
20 | + | |
21 | + section.meta { | |
22 | + display: flex | |
23 | + align-items: center | |
24 | + * { | |
25 | + margin-left: .4rem | |
26 | + } | |
27 | + | |
28 | + a { | |
29 | + _textSubtle | |
30 | + } | |
31 | + | |
32 | + /* this is for private message_meta, TODO find a better home */ | |
33 | + (img) { | |
34 | + height: 1.8rem | |
35 | + width: 1.8rem | |
36 | + margin: 0 .2rem -.2rem | |
37 | + } | |
38 | + } | |
39 | + | |
40 | + section.content { | |
41 | + flex-basis: 100% | |
42 | + | |
43 | + (img) { | |
44 | + max-width: 100% | |
45 | + } | |
46 | + } | |
47 | + | |
48 | + section.raw-content { | |
49 | + margin-left: -7rem | |
50 | + flex-basis: 130% | |
51 | + pre { | |
52 | + border: 1px gainsboro solid | |
53 | + padding: .8rem | |
54 | + | |
55 | + span { | |
56 | + font-weight: 600 | |
57 | + } | |
58 | + a { | |
59 | + word-break: break-all | |
60 | + } | |
61 | + } | |
62 | + } | |
63 | + | |
64 | + section.actions { | |
65 | + flex-basis: 100% | |
66 | + display: flex | |
67 | + justify-content: flex-end | |
68 | + | |
69 | + font-size: .9rem | |
70 | + a { | |
71 | + margin-left: .5em | |
72 | + } | |
73 | + } | |
74 | + | |
75 | + footer.backlinks { | |
76 | + flex-basis: 100% | |
77 | + } | |
78 | + | |
79 | + | |
80 | + -mini { | |
81 | + font-size: .9rem | |
82 | + justify-content: flex-start | |
83 | + padding: .25rem .5rem | |
84 | + min-height: inherit | |
85 | + | |
86 | + header.author { | |
87 | + order: 0 | |
88 | + position: initial | |
89 | + left: initial | |
90 | + min-width: 7rem | |
91 | + } | |
92 | + | |
93 | + section.content { | |
94 | + order: 1 | |
95 | + flex-basis: initial | |
96 | + flex-grow: 1 | |
97 | + } | |
98 | + | |
99 | + section.meta { | |
100 | + order: 2 | |
101 | + } | |
102 | + | |
103 | + section.raw-content { | |
104 | + order: 3 | |
105 | + margin-left: 0 | |
106 | + } | |
107 | + } | |
108 | +} |
package.json | ||
---|---|---|
@@ -29,8 +29,9 @@ | ||
29 | 29 | "micro-css": "^1.0.0", |
30 | 30 | "mutant": "^3.16.0", |
31 | 31 | "mutant-pull-reduce": "^1.0.1", |
32 | 32 | "open-external": "^0.1.1", |
33 | + "patchcore": "^0.2.2", | |
33 | 34 | "pull-cat": "^1.1.11", |
34 | 35 | "pull-next": "0.0.2", |
35 | 36 | "pull-scroll": "^1.0.3", |
36 | 37 | "pull-stream": "^3.5.0", |
router/html/page/public.js | ||
---|---|---|
@@ -8,10 +8,12 @@ | ||
8 | 8 | exports.gives = nest('router.html.page') |
9 | 9 | |
10 | 10 | exports.needs = nest({ |
11 | 11 | 'sbot.pull.log': 'first', |
12 | - 'message.html.compose': 'first', | |
13 | - 'message.html.render': 'first', | |
12 | + 'message.html': { | |
13 | + compose: 'first', | |
14 | + render: 'first', | |
15 | + }, | |
14 | 16 | 'main.html.scroller': 'first' |
15 | 17 | }) |
16 | 18 | |
17 | 19 | exports.create = function (api) { |
Built with git-ssb-web