* feat: add README for @cio/db package and remove existingAccounts.json * load session, load profile and organization, add create profile hook * chore: cache session request The trick was passing all the cookies to the backend. Previously I was only passing the better-auth.session_token and not better-auth.session_data. Read about the difference here https://www.better-auth.com/docs/concepts/cookies#custom-cookies * feat: login, logout, onboarding, verify email, reset password. * feat: complete change email and email verification * feat: standardise how we make rpc calls and create org endpoints * fix ui errors * fix: handle potential undefined customerId and standardize avatar URL property * refactor: standardize custom domain handling and update telegram chat ID references * chore: add tailwind prefix to @cio/ui this fixed the media query issues because @cio/ui classes were overriding this dashboard tailwind build * chore: clean up org sidebar * chore: persist mode state * feat: implement order breadcrumbs * chore: upgrade to better auth 1.4 * chore: address common auth flow bugs and setup app for others to setup locally.
37 lines
840 B
TypeScript
37 lines
840 B
TypeScript
import { SvelteNodeViewRenderer } from 'svelte-tiptap';
|
|
import Image, { type ImageOptions } from '@tiptap/extension-image';
|
|
import type { Component } from 'svelte';
|
|
import type { NodeViewProps, Node } from '@tiptap/core';
|
|
|
|
export const ImageExtended = (component: Component<NodeViewProps>): Node<ImageOptions, unknown> => {
|
|
return Image.extend({
|
|
addAttributes() {
|
|
return {
|
|
src: {
|
|
default: null
|
|
},
|
|
alt: {
|
|
default: null
|
|
},
|
|
title: {
|
|
default: null
|
|
},
|
|
width: {
|
|
default: '100%'
|
|
},
|
|
height: {
|
|
default: null
|
|
},
|
|
align: {
|
|
default: 'left'
|
|
}
|
|
};
|
|
},
|
|
addNodeView: () => {
|
|
return SvelteNodeViewRenderer(component);
|
|
}
|
|
}).configure({
|
|
allowBase64: true
|
|
});
|
|
};
|