Changed icons set to tabler from icss and openmoji AND made dark mode work

master
sorenpeter 2 years ago
parent 243bfb944b
commit 38b3a3b7cc

Binary file not shown.

@ -0,0 +1,218 @@
/*!
* Tabler Icons 1.44.0 by tabler - https://tabler.io
* License - https://github.com/tabler/tabler-icons/blob/master/LICENSE
*/
@font-face {
font-family: "tabler-icons";
font-style: normal;
font-weight: 400;
src: url("tabler-icons.woff") format("woff")
}
.ti {
font-family: "tabler-icons" !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ti-arrow-back:before {
content: "\ea0c";
}
.ti-arrow-forward:before {
content: "\ea17";
}
.ti-arrow-ramp-left:before {
content: "\ed3c";
}
.ti-at:before {
content: "\ea2b";
}
.ti-bell-ringing:before {
content: "\ed07";
}
.ti-bold:before {
content: "\eb7b";
}
.ti-bookmark:before {
content: "\ea3a";
}
.ti-bookmark-off:before {
content: "\eced";
}
.ti-bookmarks:before {
content: "\ed08";
}
.ti-camera:before {
content: "\ea54";
}
.ti-caret-left:before {
content: "\eb5e";
}
.ti-caret-right:before {
content: "\eb5f";
}
.ti-circle-minus:before {
content: "\ea68";
}
.ti-circle-plus:before {
content: "\ea69";
}
.ti-code:before {
content: "\ea77";
}
.ti-compass:before {
content: "\ea79";
}
.ti-door-enter:before {
content: "\ef4c";
}
.ti-door-exit:before {
content: "\ef4d";
}
.ti-edit:before {
content: "\ea98";
}
.ti-file-text:before {
content: "\eaa2";
}
.ti-italic:before {
content: "\eb93";
}
.ti-link:before {
content: "\eade";
}
.ti-list-details:before {
content: "\ef40";
}
.ti-menu-2:before {
content: "\ec42";
}
.ti-message:before {
content: "\eaef";
}
.ti-message-circle:before {
content: "\eaed";
}
.ti-message-plus:before {
content: "\ec9a";
}
.ti-messages:before {
content: "\eb6c";
}
.ti-microphone:before {
content: "\eaf0";
}
.ti-moon:before {
content: "\eaf8";
}
.ti-photo:before {
content: "\eb0a";
}
.ti-rss:before {
content: "\eb19";
}
.ti-search:before {
content: "\eb1c";
}
.ti-send:before {
content: "\eb1e";
}
.ti-settings:before {
content: "\eb20";
}
.ti-shadow:before {
content: "\eed8";
}
.ti-strikethrough:before {
content: "\eb9e";
}
.ti-sun:before {
content: "\eb30";
}
.ti-trash:before {
content: "\eb41";
}
.ti-urgent:before {
content: "\eb48";
}
.ti-user-check:before {
content: "\eb49";
}
.ti-user-circle:before {
content: "\ef68";
}
.ti-user-minus:before {
content: "\eb4a";
}
.ti-user-off:before {
content: "\ecf9";
}
.ti-user-plus:before {
content: "\eb4b";
}
.ti-users:before {
content: "\ebf2";
}
.ti-video:before {
content: "\ed22";
}
.ti-volume:before {
content: "\eb51";
}
.ti-volume-3:before {
content: "\eb50";
}

@ -0,0 +1,15 @@
.external-image:before {
src: url("tabler-icons.woff") format("woff");
font-family: "tabler-icons";
font-style: normal;
font-weight: 400;
content: "\eb0a";
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

@ -9,9 +9,9 @@
/*border: solid 2px red;*/
}
/* == Variables == */
:root {
[data-theme="light"],
:root:not([data-theme="dark"]) {
--roundness: 0.25rem;
--pod-color: #3623BD;
--bg-body: #F7F7F7;
@ -34,13 +34,8 @@
}
/* Dark mode support (from: vanillacss.com) */
@media (prefers-color-scheme: dark) {
input:focus, input:active {
background-color: var(--text-color);
color: var(--secondary-color);
}
:root {
@media only screen and (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
/*--roundness: 0.25rem;*/
--pod-color: #3623BD;
--bg-body: #111;
@ -61,12 +56,30 @@
--secondary: #C89EFF;
--warning: #FCEA2C; /*Yellow from openmoji*/
}
[class*="oma-black"],
[class*="oma-right-arrow-curving"] {
filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(322deg) brightness(103%) contrast(100%);
}
}
[data-theme='dark'] {
--roundness: 0.25rem;
--pod-color: #3623BD;
--bg-body: #111;
--bg-post: #222;
--bg-code: #333;
--code-color: #EA5A47;
--text-color: #eee;
--text-small: #555;
--link-color: #64FFDA;
--link-visited: #9437FF;
--link-active: #941100;
--link-nav: #fff;
--input-box: #222;
--input-border: #7A81FF;
--button-text: #fff;
--border-color: #555;
--primary: #7777FF;
--secondary: #C89EFF;
--warning: #FCEA2C;
}
/*.ti {color: var(--border-color);}*/
/* == Meta Classes ======================================== */
@ -695,16 +708,18 @@
/*float: right;*/
/*text-align: right;*/
color: var(--text-small);
/*font-style: italic;*/
font-style: italic;
/*max-width: 30rem;*/
display: block;
/*font-size: small;*/
/*font-size: 75%;*/
/*padding: 0.25rem;*/
padding: 0.25rem 0;
padding: 0.25rem;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
border-bottom: thin dashed var(--border-color);
/*border-bottom: thin dashed var(--border-color);*/
background-color: var(--bg-code);
border-radius: var(--roundness);
}
/* Twt Hash */

@ -0,0 +1,57 @@
/* == Variables == */
:root {
--roundness: 0.25rem;
--pod-color: #3623BD;
--bg-body: #F7F7F7;
--bg-post: #fff;
--bg-code: #eee;
--code-color: #D22F27;
--text-color: #444;
--text-small: #ccc;
--link-color: #0433FF; /* Blueberry: 0433FF */
--link-visited: #9437FF; /* Grape: #9437FF */
--link-active: #941100; /* Cayenne: 941100 */
--link-nav: #222;
--input-box: #fff;
--input-border: #7A81FF;
--button-text: #fff;
--border-color: #ccc;
--primary: #7777FF;
--secondary: #C89EFF;
--warning: #FCEA2C; /*Yellow from openmoji*/
}
/* Dark mode support (from: vanillacss.com) */
@media (prefers-color-scheme: dark) {
input:focus, input:active {
background-color: var(--text-color);
color: var(--secondary-color);
}
:root {
/*--roundness: 0.25rem;*/
--pod-color: #3623BD;
--bg-body: #111;
--bg-post: #222;
--bg-code: #333;
--code-color: #EA5A47;
--text-color: #eee;
--text-small: #555;
--link-color: #64FFDA;
--link-visited: #9437FF; /* Green from the android Yarn.social app */
--link-active: #941100; /* Cayenne: 941100 */
--link-nav: #fff;
--input-box: #222;
--input-border: #7A81FF;
--button-text: #fff;
--border-color: #555;
--primary: #7777FF;
--secondary: #C89EFF;
--warning: #FCEA2C; /*Yellow from openmoji*/
}
[class*="oma-black"],
[class*="oma-right-arrow-curving"] {
filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(322deg) brightness(103%) contrast(100%);
}
}

@ -0,0 +1,81 @@
/* Light scheme (Default) */
/* Can be forced with data-theme="light" */
[data-theme="light"],
:root:not([data-theme="dark"]) {
--roundness: 0.25rem;
--pod-color: #3623BD;
--bg-body: #F7F7F7;
--bg-post: #fff;
--bg-code: #eee;
--code-color: #D22F27;
--text-color: #444;
--text-small: #ccc;
--link-color: #0433FF; /* Blueberry: 0433FF */
--link-visited: #9437FF; /* Grape: #9437FF */
--link-active: #941100; /* Cayenne: 941100 */
--link-nav: #222;
--input-box: #fff;
--input-border: #7A81FF;
--button-text: #fff;
--border-color: #ccc;
--primary: #7777FF;
--secondary: #C89EFF;
--warning: #FCEA2C; /*Yellow from openmoji*/
}
/* Dark scheme (Auto) */
/* Automatically enabled if user has Dark mode enabled */
@media only screen and (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
/*--roundness: 0.25rem;*/
--pod-color: #3623BD;
--bg-body: #111;
--bg-post: #222;
--bg-code: #333;
--code-color: #EA5A47;
--text-color: #eee;
--text-small: #555;
--link-color: #64FFDA;
--link-visited: #9437FF; /* Green from the android Yarn.social app */
--link-active: #941100; /* Cayenne: 941100 */
--link-nav: #fff;
--input-box: #222;
--input-border: #7A81FF;
--button-text: #fff;
--border-color: #555;
--primary: #7777FF;
--secondary: #C89EFF;
--warning: #FCEA2C; /*Yellow from openmoji*/
}
input:focus, input:active {
background-color: var(--text-color);
color: var(--secondary-color);
}
[class*="oma-black"], [class*="oma-right-arrow-curving"] {
filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(322deg) brightness(103%) contrast(100%);
}
}
/* Dark scheme (Forced) */
/* Enabled if forced with data-theme="dark" */
[data-theme="dark"] {
--roundness: 0.25rem;
--pod-color: #3623BD;
--bg-body: #111;
--bg-post: #222;
--bg-code: #333;
--code-color: #EA5A47;
--text-color: #eee;
--text-small: #555;
--link-color: #64FFDA;
--link-visited: #9437FF; /* Green from the android Yarn.social app */
--link-active: #941100; /* Cayenne: 941100 */
--link-nav: #fff;
--input-box: #222;
--input-border: #7A81FF;
--button-text: #fff;
--border-color: #555;
--primary: #7777FF;
--secondary: #C89EFF;
--warning: #FCEA2C; /*Yellow from openmoji*/
}

@ -3,10 +3,12 @@
<html lang="en" {{ with .Theme }}data-theme="{{ . }}"{{ end }}>
<head>
{{ if $.Debug }}
<link href="/css/02-icss.css" rel="stylesheet" />
<link href="/css/03-icons.css" rel="stylesheet" />
<link href="/css/openmoji-black-awesome.css" rel="stylesheet" />
<link href="/css/openmoji-color-awesome.css" rel="stylesheet" />
<!-- <link href="/css/02-icss.css" rel="stylesheet" /> -->
<!-- <link href="/css/03-icons.css" rel="stylesheet" /> -->
<!-- <link href="/css/openmoji-black-awesome.css" rel="stylesheet" /> -->
<!-- <link href="/css/openmoji-color-awesome.css" rel="stylesheet" /> -->
<link href="/css/02-tabler-icons.css" rel="stylesheet" />
<link href="/css/98-custom-icons.css" rel="stylesheet" />
<link href="/css/99-yarn.css" rel="stylesheet" />
<link rel="icon" type="image/png" href="/img/favicon.png" />
{{ else }}
@ -44,7 +46,7 @@
<ul>
<li class="mobile-menu">
<a id="burgerMenu" href="javascript:void(0);">
<i class="icss-bars"></i>
<i class="ti ti-menu-2"></i>
</a>
</li>
<li><a href="/">{{ $.Logo }}</a></li>
@ -118,16 +120,16 @@
</ul>
<ul class="right">
<li><a href="/discover"><i class="oma oma-bg oma-black-collaboration"></i>{{tr . "NavDiscover"}}</a>
<li><a href="/discover"><i class="ti ti-compass"></i>&nbsp;{{tr . "NavDiscover"}}</a>
<small>({{ .DiscoverUpdatedAt | time }})</small></li>
{{ if .Authenticated }}
<li><a href="/feeds"><i class="oma oma-bg oma-black-web-syndication"></i>{{tr . "NavFeeds"}}</a></li>
<li><a href="/feeds"><i class="ti ti-rss"></i>&nbsp;{{tr . "NavFeeds"}}</a></li>
{{ end }}
<!-- <li><a href="https://feeds.twtxt.net/"><i class="icss-rss"></i>External Feeds</a></li> --> <!-- TODO -->
<li><a href="https://search.twtxt.net/"><i class="oma oma-bg oma-black-magnifying-glass-tilted-left"></i>Search</a><!-- <small>(global)</small> --></li> <!-- TODO -->
<li><a href="https://search.twtxt.net/"><i class="ti ti-search"></i>&nbsp;Search</a><!-- <small>(global)</small> --></li> <!-- TODO -->
</ul>
</nav>
@ -139,11 +141,11 @@
<ul>
{{ if .Authenticated }}
<li><a href="/"><i class="oma oma-bg oma-black-interview"></i>{{tr . "NavTimeline"}}</a>
<li><a href="/"><i class="ti ti-list-details"></i>&nbsp;{{tr . "NavTimeline"}}</a>
<small>({{ .TimelineUpdatedAt | time }})</small></li>
<li><a href="/mentions"><i class="oma oma-bg oma-black-waving-hand"></i>{{tr . "NavMentions"}}</a>
<li><a href="/mentions"><i class="ti ti-at"></i>&nbsp;{{tr . "NavMentions"}}</a>
<small>({{ .LastMentionedAt | time }})</small></li>
<li><a href="/user/{{ $.Username }}/bookmarks"><i class="oma oma-bg oma-black-bookmark"></i>Bookmarks</a></li><!-- TODO: correct automatic URL -->
<li><a href="/user/{{ $.Username }}/bookmarks"><i class="ti ti-bookmarks"></i>&nbsp;Bookmarks</a></li><!-- TODO: correct automatic URL -->
{{ end }}
</ul>
@ -151,7 +153,7 @@
{{ if .Authenticated }}
<li><a href="/user/{{ $.Username }}/" ><img class="avatar u-photo" src="/user/{{ $.Username }}/avatar" alt=""/ class="dev-note">{{ $.Username }}</a></li>
<!-- <li><a href="/follow"><i class="oma oma-bg oma-black-plus"></i>{{tr . "NavFollow"}}</a></li> -->
<li><a class="secondary" href="/settings"><i class="oma oma-bg oma-black-gear"></i><!-- {{tr . "NavSettings"}} --></a></li>
<li><a class="secondary" href="/settings"><i class="ti ti-settings"></i><!-- {{tr . "NavSettings"}} --></a></li>
<!-- <li><a class="secondary" href="/logout"><i class="oma oma-bg oma-black-door"></i>{{tr . "NavLogout"}}</a></li> -->
{{ else }}
@ -197,7 +199,7 @@
<a href="/abuse" class="menu-item">{{tr . "MenuAbuse"}}</a>
<a href="/help" class="menu-item">{{tr . "MenuHelp"}}</a>
<a href="/support" class="menu-item">{{tr . "MenuSupport"}}</a>
<a href="/atom.xml"> <i class="icss-rss"></i></a>
<a href="/atom.xml"> <i class="ti ti-rss"></i>
</div>
</footer>
{{ if $.Debug }}

@ -24,10 +24,10 @@
<!-- Follow/unfollow -->
{{ if .Profile.Follows }}
<a href="/unfollow?nick={{ .Profile.Username }}" class="button">
{{tr . "UnfollowLinkTitle"}} @{{ .Profile.Username }}</a>
<i class="ti ti-circle-minus"></i>{{tr . "UnfollowLinkTitle"}} @{{ .Profile.Username }}</a>
{{ else }}
<a href="/follow?nick={{ .Profile.Username }}&url={{ .Profile.URL }}" class="button off">
{{tr . "FollowLinkTitle"}} @{{ .Profile.Username }}</a>
<i class="ti ti-circle-plus"></i>{{tr . "FollowLinkTitle"}} @{{ .Profile.Username }}</a>
{{ end }}
@ -38,13 +38,13 @@
<ul><strong>
<li>
{{ if $.User.HasMuted .Profile.URL }}
<a href="/unmute?nick={{ .Profile.Username }}"><i class="oma oma-lg oma-speaker-high-volume"></i>{{tr . "ProfileUnmuteLinkTitle"}}</a>
<a href="/unmute?nick={{ .Profile.Username }}"><i class="ti ti-volume"></i>{{tr . "ProfileUnmuteLinkTitle"}}</a>
{{ else }}
<a href="/mute?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="oma oma-lg oma-muted-speaker"></i>{{tr . "ProfileMuteLinkTitle"}}</a>
<a href="/mute?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="ti ti-volume-3"></i>{{tr . "ProfileMuteLinkTitle"}}</a>
{{ end }}
</li>
<li>
<a href="/report?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="oma oma-lg oma-warning"></i>{{tr . "ProfileReportLinkTitle"}}</a>
<a href="/report?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="ti ti-urgent" style="color:red;"></i>{{tr . "ProfileReportLinkTitle"}}</a>
</li>
</strong>
</ul>

@ -15,19 +15,20 @@
<div class="grid">
<nav class="toolbar-nav">
<ul>
<li><a id="bBtn" href="#" data-tooltip="Bold"><i class="icss-text-bold"></i></a></li>
<li><a id="iBtn" href="#" data-tooltip="Italic"><i class="icss-text-italic"></i></a></li>
<li><a id="cBtn" href="#" data-tooltip="Code"><i class="icss-text-width"></i></a></li>
<li><a id="sBtn" href="#" data-tooltip="Strikethrough"><i class="icss-x"></i></a></li>
<li><a id="usrBtn" href="#" data-tooltip="Mention"><i class="icss-user-circle"></i></a></li>
<li><a id="lnkBtn" href="#" data-tooltip="Link"><i class="icss-link"></i></a></li>
<li><a id="imgBtn" href="#" data-tooltip="Image"><i class="icss-image"></i></a></li>
<li style="padding-right:5px;">&nbsp;</li>
<li class="toolbar-form-button"><a id="bBtn" href="#" title="Bold"><i class="ti ti-bold"></i></a></li>
<li class="toolbar-form-button"><a id="iBtn" href="#" title="Italic"><i class="ti ti-italic"></i></a></li>
<li class="toolbar-form-button"><a id="sBtn" href="#" title="Strikethrough"><i class="ti ti-strikethrough"></i></a></li>
<li class="toolbar-form-button"><a id="cBtn" href="#" title="Code"><i class="ti ti-code"></i></a></li>
<li class="toolbar-form-button"><a id="usrBtn" href="#" title="Mention"><i class="ti ti-user-circle"></i></a></li>
<li class="toolbar-form-button"><a id="lnkBtn" href="#" title="Link"><i class="ti ti-link"></i></a></li>
<li class="toolbar-form-button"><a id="imgBtn" href="#" title="Image"><i class="ti ti-photo"></i></a></li>
{{ if not $.Ctx.DisableMedia }}
<li class="toolbar-form-button">
<form id="imageUploadForm" action="/upload" enctype="multipart/form-data" method="POST" data-tooltip="Upload image">
<input type="hidden" name="csrf_token" value="{{ $.CSRFToken }}">
<label for="uploadImage">
<i id="uploadImageButton" class="icss-camera"></i>
<i id="uploadImageButton" class="ti ti-camera"></i>
</label>
<input id="uploadImage" class="invisible width-none" type="file" accept="image/*" name="media_file" />
</form>
@ -37,7 +38,7 @@
<form id="audioUploadForm" action="/upload" enctype="multipart/form-data" method="POST" data-tooltip="Upload audio">
<input type="hidden" name="csrf_token" value="{{ $.CSRFToken }}">
<label for="uploadAudio">
<i id="uploadAudioButton" class="icss-microphone"></i>
<i id="uploadAudioButton" class="ti ti-microphone"></i>
</label>
<input id="uploadAudio" class="invisible width-none" type="file" accept="audio/*" name="media_file" />
</form>
@ -46,7 +47,7 @@
<form id="videoUploadForm" action="/upload" enctype="multipart/form-data" method="POST" data-tooltip="Upload video">
<input type="hidden" name="csrf_token" value="{{ $.CSRFToken }}">
<label for="uploadVideo">
<i id="uploadVideoButton" class="icss-video-camera"></i>
<i id="uploadVideoButton" class="ti ti-video"></i>
</label>
<input id="uploadVideo" class="invisible width-none" type="file" accept="video/*" name="media_file" />
</form>
@ -74,7 +75,7 @@
{{tr $.Ctx "TwtFormSave"}}
{{ else }}
{{tr $.Ctx "TwtFormPost"}}
<i class="icss-paper-plane"></i>
<i class="ti ti-send"></i>
{{ end }}
</button>
</li>
@ -136,9 +137,15 @@
{{ if $.Authenticated }}
<li>
<a class="bookmark" href="/bookmark/{{ $.Twt.Hash }}" data-tooltip="{{ if $.User.Bookmarked $.Twt.Hash }}{{tr $.Ctx "BookmarkRemoveTwt"}}{{ else }}{{tr $.Ctx "BookmarkAddTwt"}}{{ end }}">
<!-- <a class="bookmark" href="/bookmark/{{ $.Twt.Hash }}" data-tooltip="{{ if $.User.Bookmarked $.Twt.Hash }}{{tr $.Ctx "BookmarkRemoveTwt"}}{{ else }}{{tr $.Ctx "BookmarkAddTwt"}}{{ end }}">
<i class="oma oma-bg oma-{{ if $.User.Bookmarked $.Twt.Hash }}bookmark{{ else }}black-bookmark{{ end }}"></i>Bookmark
</a>
</a> -->
<a class="bookmarkBtn" style="display: {{ if not ($.User.Bookmarked $.Twt.Hash) }}inline{{ else }}none{{ end }};" href="/bookmark/{{ $.Twt.Hash }}" title="{{tr $.Ctx "BookmarkAddTwt"}}">
<i class="ti ti-bookmark"></i>
</a>
<a class="unbookmarkBtn" style="display: {{ if ($.User.Bookmarked $.Twt.Hash) }}inline{{ else }}none{{ end }};" href="/bookmark/{{ $.Twt.Hash }}" title="{{tr $.Ctx "BookmarkRemoveTwt"}}">
<i class="ti ti-bookmark-off"></i>
</a>
</li>
{{ end }}
</ul>
@ -157,19 +164,19 @@
</div>
</div>
<div class="p-summary">
{{ if and (not (eq $.view "conv")) (isFeatureEnabled "show_twt_context") }}
{{ if not (eq $.view "conv") }}
{{ with urlForRootConv $.Twt }}
{{ $rootTwt := getRootTwt $.Twt $.User }}
<small class="twt-context">
&rdsh;
<a href="{{ urlForRootConv $.Twt }}#{{ $rootTwt.Hash }}" title="Show conversation for #{{ $rootTwt.Hash }}">
<!-- &rdsh; --><i class="ti ti-arrow-forward"></i>
<a href="{{ urlForRootConv $.Twt }}#{{ $.Twt.Hash }}" title="Show conversation for #{{ $rootTwt.Hash }}">
{{ if $.User.Is $rootTwt.Twter.URL }}
{{ tr $.Ctx "MeLinkTitle" }}
{{ else }}
{{ if isLocalURL $rootTwt.Twter.URL }}
{{ $rootTwt.Twter.Nick }}
{{ else }}
{{ $rootTwt.Twter.Nick }}&commat;{{ $rootTwt.Twter.URL | hostnameFromURL }}
{{ $rootTwt.Twter.Nick }}<!-- &commat;{{ $rootTwt.Twter.URL | hostnameFromURL }} -->
{{ end }}
{{ end }}
</a>
@ -184,45 +191,45 @@
<!-- <hr /> -->
<nav class="post-menu">
<ul>
<ul>
{{ if $.Authenticated }}
{{ if eq $.LastTwt.Hash $.Twt.Hash }}
<li><a class="edit" href="#" data-hash="{{ $.Twt.Hash }}" data-text="{{ $.Twt.Text | unparseTwt }}"><i class="oma oma-bg oma-pencil"></i>{{tr $.Ctx "TwtEditLinkTitle"}}</a></li>
<!-- <li>&nbsp;</li> -->
<li><a class="delete" href="#" data-hash="{{ $.Twt.Hash }}"><i class="oma oma-bg oma-cross-mark"></i>{{tr $.Ctx "TwtDeleteLinkTitle"}}</a></li>
<!-- <li>&nbsp;</li> -->
{{ if eq $.LastTwt.Hash $.Twt.Hash }}
<li><a class="editBtn" href="#" data-hash="{{ $.Twt.Hash }}" data-text="{{ $.Twt.Text | unparseTwt }}"><i class="ti ti-edit"></i> {{tr $.Ctx "TwtEditLinkTitle"}}</a></li>
<li><a class="deleteBtn" href="#" data-hash="{{ $.Twt.Hash }}"><i class="ti ti-trash"></i> {{tr $.Ctx "TwtDeleteLinkTitle"}}</a></li>
{{ end }}
<li><a class="replyBtn" href="#" data-reply="{{ $.User.Reply $.Twt }}"><i class="ti ti-arrow-back"></i>
{{tr $.Ctx "TwtReplyLinkTitle"}}</a></li>
<!-- {{ if and (eq $.view "conv") (not (eq $.view "rootconv")) }}
{{ if lt (getForkLength $.Twt $.User) 1 }}
<li><a class="forkBtn" href="#" data-fork="{{ $.User.Fork $.Twt }}"><i class="ti ti-arrow-ramp-left" style="display: inline-block; transform: rotate(180deg);"></i>
{{tr $.Ctx "TwtForkLinkTitle"}}</a></li>
{{ end }}
{{ end }} -->
{{ end }}
<!-- <li><a class="reply" href="#" data-reply="{{ $.User.Reply $.Twt }}">&#8672; &DownArrowBar; Reply</a></li> -->
<!--
{{ if eq $.view "conv" }}
<li><a class="fork" href="#" data-fork="{{ $.User.Fork $.Twt }}"><i class="icss-arrows"></i>{{tr $.Ctx "TwtForkLinkTitle"}}</a></li>
<li><a class="fork" href="#" data-fork="{{ $.User.Fork $.Twt }}">&rdsh; Reply as new conversation</a></li>
{{ end }}
-->
<!-- <li>&nbsp;</li> -->
{{ if and (eq $.view "conv") (not (eq $.view "rootconv")) }}
{{ if gt (getForkLength $.Twt $.User) 0 }}
<li><a class="convBtn" href="{{ urlForFork $.Twt }}"><i class="ti ti-arrow-forward"></i> {{tr $.Ctx "TwtForkLinkTitle"}} <small class="yarn-count-badge">({{ getForkLength $.Twt $.User }})</small></a></li>
{{ end }}
{{ end }}
{{ with urlForConv $.Twt }}
<li><a class="convBtn" href="{{ urlForConv $.Twt }}">
<!-- <i class="icss-comment"></i> -->
<i class="oma oma-bg oma-black-chats"></i>Conversation<!-- {{tr $.Ctx "TwtConversationLinkTitle"}} -->{{ if gt (getConvLength $.Twt $.User) 1 }}<small class="badge">({{ getConvLength $.Twt $.User }})</small>{{ end }}</a>
</li>
<!-- <li>&nbsp;</li> -->
<!-- <li><a class="bookmark" href="/bookmark/{{ $.Twt.Hash }}" data-tooltip="{{ if $.User.Bookmarked $.Twt.Hash }}{{tr $.Ctx "BookmarkRemoveTwt"}}{{ else }}{{tr $.Ctx "BookmarkAddTwt"}}{{ end }}"><i class="oma oma-bg oma-{{ if $.User.Bookmarked $.Twt.Hash }}bookmark{{ else }}black-bookmark{{ end }}"></i>Bookmark</a></li> -->
{{ if eq $.view "rootconv" }}
{{ with urlForRootConv $.Twt }}
<li><a class="convBtn" href="{{ urlForRootConv $.Twt }}"><i class="ti ti-messages"></i> {{tr $.Ctx "TwtRootLinkTitle"}}</a></li>
{{ end }}
{{ else if not (eq $.view "conv") }}
{{ with urlForConv $.Twt }}
<li><a class="convBtn" href="{{ urlForConv $.Twt }}"><i class="ti ti-messages"></i> {{tr $.Ctx "TwtConversationLinkTitle"}}{{ if gt (getConvLength $.Twt $.User) 1 }} <small class="yarn-count-badge">({{ getConvLength $.Twt $.User }})</small>{{ end }}</a></li>
{{ end }}
{{ end }}
</ul>
<li><a class="reply" href="#" data-reply="{{ $.User.Reply $.Twt }}">
<!-- <i class="oma oma-lg oma-left-arrow"></i> -->
<!-- <li><a class="reply" href="#" data-reply="{{ $.User.Reply $.Twt }}">
<i class="oma oma-lg oma-right-arrow-curving-down" style="transform: rotate(90deg)"></i>
{{tr $.Ctx "TwtReplyLinkTitle"}}
</a></li>
-->
<!-- {{ if $.Authenticated }}
<li>
<a class="bookmark" href="/bookmark/{{ $.Twt.Hash }}" data-tooltip="{{ if $.User.Bookmarked $.Twt.Hash }}{{tr $.Ctx "BookmarkRemoveTwt"}}{{ else }}{{tr $.Ctx "BookmarkAddTwt"}}{{ end }}">
@ -231,14 +238,14 @@
</li>
{{ end }} -->
</ul><ul class="right twt-hash">
<ul class="right twt-hash">
<!-- float: right -->
<li>
{{ if eq $.view "conv" }}
<!-- &rdsh; -->
<a class="fork" href="#" data-fork="{{ $.User.Fork $.Twt }}">
<i class="oma oma-lg oma-right-arrow-curving-up" style="transform: rotate(90deg)"></i>
<i class="ti ti-arrow-ramp-left" style="display: inline-block; transform: rotate(180deg);"></i>
Reply to:</a>
{{ end }}
@ -324,10 +331,10 @@
{{ define "profileLinks" }}
<ul>
<li><a href="/user/{{ $.Profile.Username }}" class="u-url">Posts</a> <small>({{ .Profile.LastPostedAt | time }})</small></li>
<li><a href="/user/{{ $.Profile.Username }}" class="u-url"><i class="ti ti-message"></i>&nbsp;Posts</a> <small>({{ .Profile.LastPostedAt | time }})</small></li>
{{ if $.Profile.ShowBookmarks }}
<li><a href="/user/{{ $.Profile.Username }}/bookmarks">{{tr $.Ctx "ProfileBookmarksLinkTitle"}} {{ $.Profile.Bookmarks | len }}</a></li>
<li><a href="/user/{{ $.Profile.Username }}/bookmarks"><i class="ti ti-bookmarks"></i>&nbsp;{{tr $.Ctx "ProfileBookmarksLinkTitle"}} {{ $.Profile.Bookmarks | len }}</a></li>
{{ end }}
{{ if $.Profile.ShowFollowing }}
@ -336,7 +343,7 @@
<li><a href="#">{{tr $.Ctx "ProfileFollowingLinkTitle"}} {{ $.Profile.NFollowing }}</a></li>
{{ end }}
{{ else }}
<li><a href="/user/{{ $.Profile.Username }}/following">{{tr $.Ctx "ProfileFollowingLinkTitle"}} {{ $.Profile.NFollowing }}</a></li>
<li><a href="/user/{{ $.Profile.Username }}/following"><i class="ti ti-users"></i>&nbsp;{{tr $.Ctx "ProfileFollowingLinkTitle"}} {{ $.Profile.NFollowing }}</a></li>
{{ end }}
{{ end }}
@ -346,7 +353,7 @@
<li><a href="#">{{tr $.Ctx "ProfileFollowersLinkTitle"}} {{ $.Profile.NFollowers }}</a></li>
{{ end }}
{{ else }}
<li><a href="/user/{{ $.Profile.Username }}/followers">{{tr $.Ctx "ProfileFollowersLinkTitle"}} {{ $.Profile.NFollowers }}</a></li>
<li><a href="/user/{{ $.Profile.Username }}/followers"><i class="ti ti-users"></i>&nbsp;{{tr $.Ctx "ProfileFollowersLinkTitle"}} {{ $.Profile.NFollowers }}</a></li>
{{ end }}
{{ end }}
@ -354,13 +361,13 @@
<ul class="right">
{{ if $.ShowConfig }}
<li><a href="/user/{{ $.Profile.Username }}/config.yaml"><i class="oma oma-lg oma-black-gear"></i>{{tr $.Ctx "ProfileConfigLinkTitle"}}</a></li>
<li><a href="/user/{{ $.Profile.Username }}/config.yaml"><i class="ti ti-settings"></i>&nbsp;{{tr $.Ctx "ProfileConfigLinkTitle"}}</a></li>
{{ end }}
<li><a target="_blank" href="{{ $.Profile.URL }}"><i class="oma oma-lg oma-black-page-with-curl"></i>{{tr $.Ctx "ProfileTwtxtLinkTitle"}}<span class="dev-note">.txt</span></a></li> <!-- TODO: add ".txt" to "twtxt.txt" -->
<li><a target="_blank" href="{{ $.Profile.URL }}"><i class="ti ti-file-text"></i>&nbsp;{{tr $.Ctx "ProfileTwtxtLinkTitle"}}<!-- <span class="dev-note">.txt</span> --></a></li> <!-- TODO: add ".txt" to "twtxt.txt" -->
{{ if eq $.Profile.Type "User" }}
<li><a target="_blank" href="{{ $.Profile.URL | trimSuffix "/twtxt.txt" }}/atom.xml"><i class="oma oma-lg oma-black-web-syndication"></i>{{tr $.Ctx "ProfileAtomLinkTitle"}}</a></li>
<li><a target="_blank" href="{{ $.Profile.URL | trimSuffix "/twtxt.txt" }}/atom.xml"><i class="ti ti-rss"></i>&nbsp;{{tr $.Ctx "ProfileAtomLinkTitle"}}</a></li>
{{ end }}
</ul>
{{ end }}

@ -21,10 +21,10 @@
<!-- Follow/unfollow -->
{{ if .Profile.Follows }}
<a href="/unfollow?nick={{ .Profile.Username }}" class="button">
{{tr . "UnfollowLinkTitle"}} @{{ .Profile.Username }}</a>
<i class="ti ti-circle-minus"></i>{{tr . "UnfollowLinkTitle"}} @{{ .Profile.Username }}</a>
{{ else }}
<a href="/follow?nick={{ .Profile.Username }}&url={{ .Profile.URL }}" class="button off">
{{tr . "FollowLinkTitle"}} @{{ .Profile.Username }}</a>
<i class="ti ti-circle-plus"></i>{{tr . "FollowLinkTitle"}} @{{ .Profile.Username }}</a>
{{ end }}
@ -35,13 +35,13 @@
<ul><strong>
<li>
{{ if $.User.HasMuted .Profile.URL }}
<a href="/unmute?nick={{ .Profile.Username }}"><i class="oma oma-lg oma-speaker-high-volume"></i>{{tr . "ProfileUnmuteLinkTitle"}}</a>
<a href="/unmute?nick={{ .Profile.Username }}"><i class="ti ti-volume"></i>{{tr . "ProfileUnmuteLinkTitle"}}</a>
{{ else }}
<a href="/mute?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="oma oma-lg oma-muted-speaker"></i>{{tr . "ProfileMuteLinkTitle"}}</a>
<a href="/mute?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="ti ti-volume-3"></i>{{tr . "ProfileMuteLinkTitle"}}</a>
{{ end }}
</li>
<li>
<a href="/report?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="oma oma-lg oma-warning"></i>{{tr . "ProfileReportLinkTitle"}}</a>
<a href="/report?nick={{ .Profile.Username }}&url={{ .Profile.URL }}"><i class="ti ti-urgent" style="color:red;"></i>{{tr . "ProfileReportLinkTitle"}}</a>
</li>
</strong>
</ul>

@ -18,7 +18,7 @@
<div class="bio">
<a href="/user/{{ .User.Username }}" class="u-url p-name" data-tooltip="{{tr . "SettingsFormViewProfile"}}">
{{ .User.Username }}</a>
<blockquote>{{ .User.Tagline }}</blockquote>
<blockquote>{{ .User.Tagline }}&nbsp;</blockquote>
</div>
</section>

Loading…
Cancel
Save