Move files around, formatter helper

Formatters for username belong to account, not to note
New helper for transforming a markdown text to html
This commit is contained in:
Melody Becker 2024-11-22 15:55:41 +01:00
parent 5fb5dae31e
commit c919cc8c67
16 changed files with 69 additions and 27 deletions

View file

@ -9,7 +9,7 @@
[admin] [admin]
username = "server-admin" username = "server-admin"
first_time_setup_otp = "Example otp password" first_time_setup_otp = "Example otp password"
profiling_password = "Example profiling password" profiling_password = ""
[webauthn] [webauthn]
display_name = "Linstrom" display_name = "Linstrom"

View file

@ -1,15 +0,0 @@
<div class="{{ @classes }}">
{{#if (equals @server "mastodon")}}
<Note::Formatter::Mastodon>{{ @content }}Masto</Note::Formatter::Mastodon>
{{else if (equals @server "misskey")}}
<Note::Formatter::Misskey>{{ @content }}Misskey</Note::Formatter::Misskey>
{{else if (equals @server "akoma")}}
<Note::Formatter::Akoma>{{ @content }}Akoma</Note::Formatter::Akoma>
{{else if (equals @server "linstrom")}}
<Note::Formatter::Linstrom>{{ @content }}Linstrom</Note::Formatter::Linstrom>
{{else if (equals @server "wafrn")}}
<Note::Formatter::Wafrn>{{ @content }}Wafrn</Note::Formatter::Wafrn>
{{else}}
<Note::Formatter::Linstrom>{{ @content }}Unkown:{{@server}}</Note::Formatter::Linstrom>
{{/if}}
</div>

View file

@ -0,0 +1,16 @@
<div class="{{@classes}}">
{{#if (equals @server "mastodon")}}
<Note::Formatter::Mastodon>{{@content}}Masto</Note::Formatter::Mastodon>
{{else if (equals @server "misskey")}}
<Note::Formatter::Misskey>{{@content}}Misskey</Note::Formatter::Misskey>
{{else if (equals @server "akoma")}}
<Note::Formatter::Akoma>{{@content}}Akoma</Note::Formatter::Akoma>
{{else if (equals @server "linstrom")}}
<Note::Formatter::Linstrom>{{@content}}Linstrom</Note::Formatter::Linstrom>
{{else if (equals @server "wafrn")}}
<Note::Formatter::Wafrn>{{@content}}Wafrn</Note::Formatter::Wafrn>
{{else}}
<Note::Formatter::Linstrom
>{{@content}}Unkown:{{@server}}</Note::Formatter::Linstrom>
{{/if}}
</div>

View file

@ -0,0 +1,24 @@
import { helper } from '@ember/component/helper'
class Token {
declare token: string
declare elements: Array<string | Token>
public constructor(token: string) {
this.token = token
this.elements = new Array()
}
}
export default helper(function formatter(
positional: Array<string>,
named: {
matchers: Array<{ match: RegExp; replace: string }>
},
): string {
let out = positional[0] ?? ''
named.matchers.forEach((x) => {
out = out.replaceAll(x.match, x.replace)
})
return out
})

View file

@ -1,26 +1,26 @@
import { module, test } from 'qunit' import { module, test } from 'qunit';
import { setupRenderingTest } from 'frontend-reactive/tests/helpers' import { setupRenderingTest } from 'frontend-reactive/tests/helpers';
import { render } from '@ember/test-helpers' import { render } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars' import { hbs } from 'ember-cli-htmlbars';
module('Integration | Component | account/profilepicture', function (hooks) { module('Integration | Component | account/profilepicture', function (hooks) {
setupRenderingTest(hooks) setupRenderingTest(hooks);
test('it renders', async function (assert) { test('it renders', async function (assert) {
// Set any properties with this.set('myProperty', 'value'); // Set any properties with this.set('myProperty', 'value');
// Handle any actions with this.set('myAction', function(val) { ... }); // Handle any actions with this.set('myAction', function(val) { ... });
await render(hbs`<Account::Header::Profilepicture />`) await render(hbs`<Account::Header::Profilepicture />`);
assert.dom().hasText('') assert.dom().hasText('');
// Template block usage: // Template block usage:
await render(hbs` await render(hbs`
<Account::Profilepicture> <Account::Profilepicture>
template block text template block text
</Account::Profilepicture> </Account::Profilepicture>
`) `);
assert.dom().hasText('template block text') assert.dom().hasText('template block text');
}) });
}) });

View file

@ -0,0 +1,17 @@
import { module, test } from 'qunit'
import { setupRenderingTest } from 'frontend-reactive/tests/helpers'
import { render } from '@ember/test-helpers'
import { hbs } from 'ember-cli-htmlbars'
module('Integration | Helper | tokeniseContent', function (hooks) {
setupRenderingTest(hooks)
// TODO: Replace this with your real tests.
test('it renders', async function (assert) {
this.set('inputValue', '1234')
await render(hbs`{{formatter this.inputValue}}`)
assert.dom().hasText('1234')
})
})