JS frontend stuff

Move old ember frontend to properly named folder
Add vue based new frontend
This commit is contained in:
Melody Becker 2025-07-07 21:48:39 +02:00
parent 8947d97825
commit 88398334fe
Signed by: mstar
SSH key fingerprint: SHA256:vkXfS9FG2pVNVfvDrzd1VW9n8VJzqqdKQGljxxX8uK8
254 changed files with 837 additions and 0 deletions

View file

View file

@ -0,0 +1,36 @@
import Model, { attr, hasMany, type AsyncHasMany } from '@ember-data/model';
import type CustomAccountFieldModel from './custom-account-field';
import type MediaMetadataModel from './media-metadata';
import type OriginServer from './origin-server';
export default class Account extends Model {
@attr declare createdAt: Date;
@attr declare updatedAt: Date;
@attr declare username: string;
@attr declare originServer: OriginServer;
@attr declare originServerId: number;
@attr declare displayName: string;
@hasMany('custom-account-field')
declare customFields: AsyncHasMany<CustomAccountFieldModel>;
@attr declare customFieldIds: Array<number>;
@attr declare isBot: boolean;
@attr declare description: string;
@attr declare icon: MediaMetadataModel;
@attr declare iconId: string;
@attr declare banner: MediaMetadataModel;
@attr declare bannerId: string;
@attr declare background: MediaMetadataModel;
@attr declare backgroundId: string;
@attr declare relationIds: Array<number>;
@attr declare indexable: boolean;
@attr declare restrictedFollow: boolean;
@attr declare identifiesAs: Array<string>;
@attr declare pronouns: Array<string>;
@attr declare roles: Array<string>;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
account: Account;
}
}

View file

@ -0,0 +1,16 @@
import Model, { attr } from '@ember-data/model';
export default class CustomAccountField extends Model {
@attr declare createdAt: Date;
@attr declare updatedAt: Date;
@attr declare key: string;
@attr declare value: string;
@attr declare verified?: boolean;
@attr declare belongsToId: string;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
customAccountField: CustomAccountField;
}
}

View file

@ -0,0 +1,17 @@
import Model, { attr } from '@ember-data/model';
import type MediaMetadataModel from './media-metadata';
import type OriginServer from './origin-server';
export default class Emote extends Model {
@attr declare metadataId: string;
@attr declare metadata: MediaMetadataModel;
@attr declare name: string;
@attr declare serverId: number;
@attr declare server: OriginServer;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
emote: Emote;
}
}

View file

@ -0,0 +1,18 @@
import Model, { attr } from '@ember-data/model';
export default class MediaMetadata extends Model {
@attr declare createdAt: Date;
@attr declare updatedAt: Date;
@attr declare isRemote: boolean;
@attr declare url: string;
@attr declare mimeType: string;
@attr declare name: string;
@attr declare altText: string;
@attr declare blurred: boolean;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
mediaMetadata: MediaMetadata;
}
}

View file

@ -0,0 +1,32 @@
import Model, { attr, hasMany, type AsyncHasMany } from '@ember-data/model';
import type AccountModel from './account';
import type MediaMetadataModel from './media-metadata';
import type OriginServer from './origin-server';
export default class Note extends Model {
@attr declare content: string;
@attr declare originServer: OriginServer;
@attr declare originServerId: number;
@attr declare reactionCount: number;
@attr declare createdAt: Date;
@attr declare updatedAt: Date;
@attr declare author: AccountModel;
@attr declare authorId: string;
@attr declare contentWarning?: string;
@attr declare inReplyToId?: string;
@attr declare quotesId?: string;
@attr declare emoteIds?: Array<string>;
@hasMany('media-metadata')
declare attachments: AsyncHasMany<MediaMetadataModel>;
@attr declare attachmentIds: Array<string>;
@attr declare accessLevel: number;
@hasMany('account') declare pings?: AsyncHasMany<AccountModel>;
@attr declare pingIds?: Array<string>;
@attr declare reactionIds: Array<number>;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
note: Note;
}
}

View file

@ -0,0 +1,14 @@
import Model, { attr } from '@ember-data/model';
export default class OriginServer extends Model {
@attr() declare serverType: string;
@attr() declare name: string;
@attr() declare iconUrl: string;
@attr() declare isSelf: boolean;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
originServer: OriginServer;
}
}

View file

@ -0,0 +1,15 @@
import Model, { attr } from '@ember-data/model';
import type EmoteModel from './emote';
export default class Reaction extends Model {
@attr declare noteId: string;
@attr declare reactorId: string;
@attr declare emoteId: number;
@attr declare emote: EmoteModel;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
reaction: Reaction;
}
}

View file

@ -0,0 +1,16 @@
import Model, { attr } from '@ember-data/model';
export default class Relation extends Model {
@attr declare createdAt: Date;
@attr declare updatedAt: Date;
@attr declare fromId: string;
@attr declare toId: string;
@attr declare requested: boolean;
@attr declare accepted: boolean;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
relation: Relation;
}
}

View file

@ -0,0 +1,64 @@
// Code generated by cmd/RolesApiTypeGenerator DO NOT EDIT.
// If you need to refresh the content, run go generate again
import Model, { attr } from '@ember-data/model';
export default class Role extends Model {
@attr() declare createdAt: Date;
@attr() declare updatedAt: Date;
@attr() declare name: string;
@attr() declare priority: number;
@attr() declare isUserRole: boolean;
@attr() declare isBuiltIn: boolean;
@attr() declare canSendCustomReactions?: boolean;
@attr() declare autoCwPostsText?: string;
@attr() declare withholdNotesRegexes?: Array<string>;
@attr() declare canAssignRoles?: boolean;
@attr() declare canSupressInteractionsBetweenUsers?: boolean;
@attr() declare canSendCustomEmotes?: boolean;
@attr() declare canOverwriteDisplayNames?: boolean;
@attr() declare canManageCustomEmotes?: boolean;
@attr() declare canDeleteNotes?: boolean;
@attr() declare canManageAvatarDecorations?: boolean;
@attr() declare canManageAds?: boolean;
@attr() declare blockedUsers?: Array<string>;
@attr() declare hasMentionCountLimit?: boolean;
@attr() declare disallowInteractionsWith?: Array<string>;
@attr() declare withholdNotesBasedOnRegex?: boolean;
@attr() declare fullAdmin?: boolean;
@attr() declare canSendAnnouncements?: boolean;
@attr() declare autoNsfwMedia?: boolean;
@attr() declare scanCreatedPublicNotes?: boolean;
@attr() declare scanCreatedPrivateNotes?: boolean;
@attr() declare canSendFollowerOnlyNotes?: boolean;
@attr() declare canSendPrivateNotes?: boolean;
@attr() declare canIncludeSurvey?: boolean;
@attr() declare canChangeDisplayName?: boolean;
@attr() declare canLogin?: boolean;
@attr() declare canAffectOtherAdmins?: boolean;
@attr() declare autoCwPosts?: boolean;
@attr() declare scanCreatedFollowerOnlyNotes?: boolean;
@attr() declare canViewDeletedNotes?: boolean;
@attr() declare mentionLimit?: number;
@attr() declare withholdNotesForManualApproval?: boolean;
@attr() declare canConfirmWithheldNotes?: boolean;
@attr() declare canSendMedia?: boolean;
@attr() declare canSendPublicNotes?: boolean;
@attr() declare canSendReplies?: boolean;
@attr() declare canQuote?: boolean;
@attr() declare canIncludeLinks?: boolean;
@attr() declare canRecoverDeletedNotes?: boolean;
@attr() declare canMentionOthers?: boolean;
@attr() declare scanCreatedLocalNotes?: boolean;
@attr() declare canSendLocalNotes?: boolean;
@attr() declare canBoost?: boolean;
@attr() declare canFederateFedi?: boolean;
@attr() declare canFederateBsky?: boolean;
@attr() declare canSubmitReports?: boolean;
}
declare module 'ember-data/types/registries/model' {
export default interface ModelRegistry {
role: Role;
}
}