Skip to content

Commit

Permalink
Fix styling code
Browse files Browse the repository at this point in the history
  • Loading branch information
datlechin committed May 10, 2024
1 parent e7a8e98 commit 8be1ed7
Show file tree
Hide file tree
Showing 24 changed files with 243 additions and 231 deletions.
19 changes: 9 additions & 10 deletions extend.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,27 @@

use Datlechin\TagPasswords\Access\ScopeDiscussionVisibilityForAbility;
use Datlechin\TagPasswords\Api\Controller\AuthController;
use Datlechin\TagPasswords\Listener\AddTagAttributes;
use Datlechin\TagPasswords\Listener\AddDiscussionAttributes;
use Datlechin\TagPasswords\Listener\AddPostAttributes;
use Datlechin\TagPasswords\Listener\AddTagAttributes;
use Datlechin\TagPasswords\Listener\SavePasswordToDatabase;
use Flarum\Api\Serializer\BasicDiscussionSerializer;
use Flarum\Api\Serializer\BasicPostSerializer;
use Flarum\Discussion\Discussion;
use Flarum\Tags\Tag;
use Flarum\Extend;
use Flarum\Tags\Api\Serializer\TagSerializer;
use Flarum\Api\Serializer\DiscussionSerializer;
use Flarum\Api\Serializer\BasicDiscussionSerializer;
use Flarum\Api\Serializer\BasicPostSerializer;
use Flarum\Tags\Event\Saving;
use Flarum\Tags\Tag;

return [
(new Extend\Frontend('forum'))
->js(__DIR__ . '/js/dist/forum.js')
->css(__DIR__ . '/less/forum.less'),
->js(__DIR__.'/js/dist/forum.js')
->css(__DIR__.'/less/forum.less'),

(new Extend\Frontend('admin'))
->js(__DIR__ . '/js/dist/admin.js'),
->js(__DIR__.'/js/dist/admin.js'),

new Extend\Locales(__DIR__ . '/locale'),
new Extend\Locales(__DIR__.'/locale'),

(new Extend\Event())
->listen(Saving::class, SavePasswordToDatabase::class),
Expand Down Expand Up @@ -56,5 +55,5 @@
->default('flarum-tag-passwords.display_protected_tag_from_discussion_list', false)
->default('flarum-tag-passwords.display_discussion_avatar', false)
->default('flarum-tag-passwords.display_protected_tag_from_post_list', false)
->default('flarum-tag-passwords.display_protected_tag_from_discussion_page', true)
->default('flarum-tag-passwords.display_protected_tag_from_discussion_page', true),
];
99 changes: 60 additions & 39 deletions js/src/admin/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,48 +12,69 @@ import Group from 'flarum/common/models/Group';
app.initializers.add('datlechin/flarum-tag-passwords', () => {
app.extensionData
.for('datlechin-tag-passwords')
.registerPermission({
permission: 'flarum-tag-passwords.display_unlock_icon',
icon: 'fas fa-unlock',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_unlock_icon'),
allowGuest: true
}, 'view')
.registerPermission({
permission: 'flarum-tag-passwords.display_protected_tag_from_sidebar',
icon: 'fas fa-bars',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_sidebar'),
allowGuest: true
}, 'view')
.registerPermission({
permission: 'flarum-tag-passwords.display_protected_tag_from_tags_page',
icon: 'fas fa-th-list',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_tags_page'),
allowGuest: true
}, 'view')
.registerPermission({
permission: 'flarum-tag-passwords.display_protected_tag_from_discussion_list',
icon: 'fas fa-list',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_discussion_list'),
allowGuest: true
}, 'view')
.registerPermission({
.registerPermission(
{
permission: 'flarum-tag-passwords.display_unlock_icon',
icon: 'fas fa-unlock',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_unlock_icon'),
allowGuest: true,
},
'view'
)
.registerPermission(
{
permission: 'flarum-tag-passwords.display_protected_tag_from_sidebar',
icon: 'fas fa-bars',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_sidebar'),
allowGuest: true,
},
'view'
)
.registerPermission(
{
permission: 'flarum-tag-passwords.display_protected_tag_from_tags_page',
icon: 'fas fa-th-list',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_tags_page'),
allowGuest: true,
},
'view'
)
.registerPermission(
{
permission: 'flarum-tag-passwords.display_protected_tag_from_discussion_list',
icon: 'fas fa-list',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_discussion_list'),
allowGuest: true,
},
'view'
)
.registerPermission(
{
permission: 'flarum-tag-passwords.display_discussion_avatar',
icon: 'fas fa-user-secret',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.discussion.avatar'),
allowGuest: true
}, 'view')
.registerPermission({
permission: 'flarum-tag-passwords.display_protected_tag_from_post_list',
icon: 'fas fa-pen-square',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_post_list'),
allowGuest: true
}, 'view')
.registerPermission({
permission: 'flarum-tag-passwords.display_protected_tag_from_discussion_page',
icon: 'fas fa-link',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_discussion_page'),
allowGuest: true
}, 'view')
allowGuest: true,
},
'view'
)
.registerPermission(
{
permission: 'flarum-tag-passwords.display_protected_tag_from_post_list',
icon: 'fas fa-pen-square',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_post_list'),
allowGuest: true,
},
'view'
)
.registerPermission(
{
permission: 'flarum-tag-passwords.display_protected_tag_from_discussion_page',
icon: 'fas fa-link',
label: app.translator.trans('datlechin-tag-passwords.admin.setting.display_protected_tag_from_discussion_page'),
allowGuest: true,
},
'view'
);

Tag.prototype.isPasswordProtected = Model.attribute('isPasswordProtected');
Tag.prototype.isGroupProtected = Model.attribute('isGroupProtected');
Expand Down
24 changes: 14 additions & 10 deletions js/src/common/helpers/tooltipForDiscussionAvatar.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,13 @@ import Link from 'flarum/common/components/Link';

export default function tooltipForDiscussionAvatar(discussion, className) {
const user = discussion.user();
let attributes = {ago: humanTime(discussion.createdAt())};
let url = '#'
let avatarDisplay = <span class="Avatar Avatar--anonymous" loading="lazy">?</span>;
let attributes = { ago: humanTime(discussion.createdAt()) };
let url = '#';
let avatarDisplay = (
<span class="Avatar Avatar--anonymous" loading="lazy">
?
</span>
);
if (discussion.isProtectedTagDisplayedForDiscussionAvatar()) {
if (user) {
attributes.user = user;
Expand All @@ -16,11 +20,11 @@ export default function tooltipForDiscussionAvatar(discussion, className) {
}
}

return <Tooltip
text={app.translator.trans('core.forum.discussion_list.started_text', attributes)}
position="right">
<Link className={className} href={url}>
{avatarDisplay}
</Link>
</Tooltip>
return (
<Tooltip text={app.translator.trans('core.forum.discussion_list.started_text', attributes)} position="right">
<Link className={className} href={url}>
{avatarDisplay}
</Link>
</Tooltip>
);
}
29 changes: 15 additions & 14 deletions js/src/common/helpers/tooltipForPermission.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@ import tagsLabel from './tagsLabel';
import icon from 'flarum/common/helpers/icon';

export default function tooltipForPermission(discussion, className, title, tooltip, isPasswordProtected, isGroupProtected, tags = discussion.tags()) {

return <Tooltip text={tooltip} position="bottom">
<div className={className+"-main"}>
<h2 className={className+"-title"}>
{isPasswordProtected ? icon('fas fa-lock'): <></>}
{isGroupProtected? icon('fas fa-user-lock'): <></>}
{' '+title}
</h2>
{tagsLabel(tags, {}, true, false)}
<ul class={className+"-info"}><li class="item-tags">
{tagsLabel(tags, {}, false)}
</li></ul>
</div>
</Tooltip>
return (
<Tooltip text={tooltip} position="bottom">
<div className={className + '-main'}>
<h2 className={className + '-title'}>
{isPasswordProtected ? icon('fas fa-lock') : <></>}
{isGroupProtected ? icon('fas fa-user-lock') : <></>}
{' ' + title}
</h2>
{tagsLabel(tags, {}, true, false)}
<ul class={className + '-info'}>
<li class="item-tags">{tagsLabel(tags, {}, false)}</li>
</ul>
</div>
</Tooltip>
);
}
2 changes: 1 addition & 1 deletion js/src/common/models/ProtectedTag.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ export default class ProtectedTag extends Tag {
isUnlocked() {
return Model.attribute<boolean>('is_unlocked').call(this);
}
}
}
3 changes: 1 addition & 2 deletions js/src/forum/components/TagProtectedDiscussionHero.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ export default class TagProtectedDiscussionHero extends DiscussionHero {
<div className="container">
<ul className="DiscussionHero-items">{listItems(this.items().toArray())}</ul>
</div>

</header>
);
}
Expand All @@ -38,7 +37,7 @@ export default class TagProtectedDiscussionHero extends DiscussionHero {
title = app.translator.trans('datlechin-tag-passwords.forum.discussion_page.title.group_protected');
}
items.add('title', <h2 className="DiscussionHero-title">{title}</h2>);
items.add('tags-protected', tagsLabel(tags, {link: true}, true, false));
items.add('tags-protected', tagsLabel(tags, { link: true }, true, false));

return items;
}
Expand Down
20 changes: 8 additions & 12 deletions js/src/forum/components/TagProtectedDiscussionListItem.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,9 @@ export default class TagProtectedDiscussionListItem extends DiscussionListItem {
const attrs = this.elementAttrs();
// Check whether admin wish to display protected discussion within the discussion list
if (discussion.isProtectedTagDisplayedForDiscussionList()) {
return (
<div {...attrs}>
{this.contentView()}
</div>
);
return <div {...attrs}>{this.contentView()}</div>;
} else {
return (
<div></div>
);
return <div></div>;
}
}
processCloudView(cloud) {
Expand Down Expand Up @@ -60,13 +54,15 @@ export default class TagProtectedDiscussionListItem extends DiscussionListItem {
title = app.translator.trans('datlechin-tag-passwords.forum.discussion_list.title.group_protected');
info = app.translator.trans('datlechin-tag-passwords.forum.discussion_list.info.group_protected');
}
return <Link className="DiscussionListItem-main" href="#">
{tooltipForPermission(discussion, "DiscussionListItem", title, info, isProtectedPasswordTags, isProtectedGroupPermissionTags)}
</Link>
return (
<Link className="DiscussionListItem-main" href="#">
{tooltipForPermission(discussion, 'DiscussionListItem', title, info, isProtectedPasswordTags, isProtectedGroupPermissionTags)}
</Link>
);
}

authorAvatarView() {
const discussion = this.attrs.discussion;
return tooltipForDiscussionAvatar(discussion, "DiscussionListItem-author")
return tooltipForDiscussionAvatar(discussion, 'DiscussionListItem-author');
}
}
22 changes: 12 additions & 10 deletions js/src/forum/editDiscussionList.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,17 @@ import TagProtectedDiscussionListItem from './components/TagProtectedDiscussionL
export default function () {
function processDiscussionListItem(discussion, pageNum, pageSize, itemNum, params) {
if (discussion.numberOfProtectedTags() > 0) {
return <li key={0} data-id={0} role="article" aria-setsize="-1" aria-posinset={pageNum * pageSize + itemNum}>
<TagProtectedDiscussionListItem discussion={discussion} params={params} />
</li>
return (
<li key={0} data-id={0} role="article" aria-setsize="-1" aria-posinset={pageNum * pageSize + itemNum}>
<TagProtectedDiscussionListItem discussion={discussion} params={params} />
</li>
);
} else {
return <li key={discussion.id()} data-id={discussion.id()} role="article" aria-setsize="-1" aria-posinset={pageNum * pageSize + itemNum}>
<DiscussionListItem discussion={discussion} params={params} />
</li>
return (
<li key={discussion.id()} data-id={discussion.id()} role="article" aria-setsize="-1" aria-posinset={pageNum * pageSize + itemNum}>
<DiscussionListItem discussion={discussion} params={params} />
</li>
);
}
}

Expand Down Expand Up @@ -56,9 +60,7 @@ export default function () {
<div className={classList('DiscussionList', { 'DiscussionList--searchResults': state.isSearchResults() })}>
<ul role="feed" aria-busy={isLoading} className="DiscussionList-discussions">
{state.getPages().map((pg, pageNum) => {
return pg.items.map((discussion, itemNum) => (
processDiscussionListItem(discussion, pageNum, pageSize, itemNum, params)
));
return pg.items.map((discussion, itemNum) => processDiscussionListItem(discussion, pageNum, pageSize, itemNum, params));
})}
</ul>
<div className="DiscussionList-loadMore">{loading}</div>
Expand All @@ -67,4 +69,4 @@ export default function () {
}

override(DiscussionList.prototype, 'view', extendDiscussionListView);
};
}
12 changes: 5 additions & 7 deletions js/src/forum/editDiscussionPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ export default function () {
} else {
const params = this.requestParams();

app.store.find<Discussion>('discussions', m.route.param('id'), params).then(
show.bind(this)
);
app.store.find<Discussion>('discussions', m.route.param('id'), params).then(show.bind(this));
}
m.redraw();
}
Expand All @@ -46,7 +44,7 @@ export default function () {
*/
function show(discussion: ApiResponseSingle<Discussion>): void {
app.setTitleCount(0);
if(discussion.isProtectedTagDisplayedForDiscussionPage()) {
if (discussion.isProtectedTagDisplayedForDiscussionPage()) {
app.history.push('discussion', discussion.title());
app.setTitle(discussion.title());
// When the API responds with a discussion, it will also include a number of
Expand Down Expand Up @@ -89,8 +87,8 @@ export default function () {
app.current.set('stream', this.stream);
});
} else {
app.history.push('discussion', "test");
app.setTitle("test");
app.history.push('discussion', 'test');
app.setTitle('test');
this.stream = new PostStreamState(discussion, []);
const rawNearParam = m.route.param('near');
const nearParam = rawNearParam === 'reply' ? 'reply' : parseInt(rawNearParam);
Expand All @@ -114,4 +112,4 @@ export default function () {
});

override(DiscussionPage.prototype, 'load', extendDiscussionPageLoad);
};
}
Loading

0 comments on commit 8be1ed7

Please sign in to comment.