import {LitElement, html} from './lit-all.min.js';
import * as tfrpc from '/static/tfrpc.js';
import {styles, generate_theme} from './tf-styles.js';
class TfUserElement extends LitElement {
	static get properties() {
		return {
			id: {type: String},
			fallback_name: {type: String},
			icon_only: {type: Boolean},
			users: {type: Object},
			nolink: {type: Boolean},
		};
	}
	static styles = styles;
	constructor() {
		super();
		this.id = null;
		this.fallback_name = null;
		this.icon_only = false;
		this.users = {};
	}
	render() {
		let user = this.users[this.id];
		let shape =
			user?.follow_depth === undefined || user.follow_depth >= 2
				? 'w3-circle'
				: 'w3-round';
		let image = html`😎`;
		let name = this.users?.[this.id]?.name;
		let name_string = name ?? this.fallback_name ?? this.id;
		name = this.icon_only
			? undefined
			: !this.nolink
				? html`${name_string}`
				: html`${name_string}`;
		if (user) {
			let image_link = user.image;
			if (typeof image_link == 'string' && !image_link.startsWith('&')) {
				try {
					image_link = JSON.parse(image_link)?.link;
				} catch {}
			}
			if (image_link !== undefined) {
				image = html``;
			}
		}
		return html`