Merge pull request #19 from utopia-os/fix-type-imports

fix(other): fix type imports
This commit is contained in:
antontranelis 2025-02-11 15:27:17 +00:00 committed by GitHub
commit 1de3469bed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 3559 additions and 2106 deletions

5557
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
{
"name": "utopia-game",
"name": "utopia-map",
"private": true,
"version": "0.0.0",
"type": "module",
@ -19,7 +19,7 @@
"react-dom": "^18.2.0",
"react-rnd": "^10.4.1",
"react-router-dom": "^6.23.0",
"utopia-ui": "^3.0.36"
"utopia-ui": "^3.0.61"
},
"devDependencies": {
"@types/react": "^18.2.79",

View File

@ -6,12 +6,11 @@ import './App.css'
import { userApi } from './api/userApi'
import { assetsApi } from './api/assetsApi'
import { ModalContent } from './ModalContent'
import { MoonCalendar } from 'utopia-ui'
import { Landingpage } from './pages/Landingpage'
import { useEffect, useState } from 'react'
import { itemsApi } from './api/itemsApi'
import { permissionsApi } from './api/permissionsApi'
import { Tag } from 'utopia-ui/dist/types'
import { Tag } from 'utopia-ui'
import { mapApi } from './api/mapApi'
import { layersApi } from './api/layersApi'
@ -107,7 +106,6 @@ function App() {
<Route path="item/*" element={<ProfileView attestationApi={attestationApi} />} />
<Route path="edit-item/*" element={<ProfileForm />} />
<Route path="user-settings" element={<UserSettings />} />
<Route path="moon-calendar" element={<MoonCalendar />} />
<Route path="landingpage" element={<Landingpage />} />
<Route path="market" element={<MarketView />} />
<Route path="select-user" element={<SelectUser />} />

View File

@ -1,6 +1,6 @@
import { uploadFiles } from '@directus/sdk';
import { directusClient } from './directus';
import { AssetsApi } from 'utopia-ui/dist/types';
import { AssetsApi } from 'utopia-ui';
export class assetsApi implements AssetsApi{

View File

@ -1,6 +1,6 @@
import { createItem, deleteItem, readItem, readItems, updateItem } from '@directus/sdk';
import { MyCollections, directusClient } from './directus';
import { ItemsApi } from 'utopia-ui/dist/types';
import { ItemsApi } from 'utopia-ui';
@ -28,9 +28,35 @@ export class itemsApi<T> implements ItemsApi<T>{
if(customParameter) this.customParameter = customParameter;
}
async getItems() {
async getItems(): Promise<T[]> {
try {
return await directusClient.request(readItems(this.collectionName as never, { fields: ['*', 'to.*', "relations.*", "user_created.*", {offers: ['*'], needs: ['*'], gallery: ['*.*']} as any] , filter: this.filter, limit: -1 }));
const result = await directusClient.request<T[]>(
readItems(
this.collectionName as never,
{
fields: ['*', 'to.*', "relations.*", "user_created.*", { offers: ['*'], needs: ['*'], gallery: ['*.*'] } as any],
filter: this.filter,
limit: -1
}
)
);
return result as T[];
} catch (error: any) {
console.error(error);
if (error.errors?.[0]?.message) {
throw new Error(error.errors[0].message);
} else {
throw error;
}
}
}
async getItem(id : string): Promise<T> {
try {
const result = await directusClient.request(readItem(this.collectionName as never, id));
return result as T
} catch (error: any) {
console.log(error);
if (error.errors[0]?.message)
@ -39,9 +65,10 @@ export class itemsApi<T> implements ItemsApi<T>{
}
}
async getItem(id : string) {
async createItem(item: T & { id?: string }) : Promise<T> {
try {
return await directusClient.request(readItem(this.collectionName as never, id));
const result = await directusClient.request(createItem(this.collectionName as keyof MyCollections, {...item, ...(this.customParameter && this.customParameter), ...(this.layerId && {layer: this.layerId}), ...(this.layerId && {layer: this.layerId}), ...(this.mapId && {map: this.mapId})}))
return result as T
} catch (error: any) {
console.log(error);
if (error.errors[0]?.message)
@ -50,20 +77,10 @@ export class itemsApi<T> implements ItemsApi<T>{
}
}
async createItem(item: T & { id?: string }) {
async updateItem(item: T & { id?: string }) : Promise<T> {
try {
return await directusClient.request(createItem(this.collectionName as keyof MyCollections, {...item, ...(this.customParameter && this.customParameter), ...(this.layerId && {layer: this.layerId}), ...(this.layerId && {layer: this.layerId}), ...(this.mapId && {map: this.mapId})}))
} catch (error: any) {
console.log(error);
if (error.errors[0]?.message)
throw error.errors[0].message;
else throw error;
}
}
async updateItem(item: T & { id?: string }) {
try {
return await directusClient.request(updateItem(this.collectionName as keyof MyCollections, item.id!, item))
const result = await directusClient.request(updateItem(this.collectionName as keyof MyCollections, item.id!, item))
return result as T
} catch (error: any) {
console.log(error);
if (error.errors[0].message)
@ -72,9 +89,10 @@ export class itemsApi<T> implements ItemsApi<T>{
}
}
async deleteItem(id: string) {
async deleteItem(id: string) : Promise<boolean> {
try {
return await directusClient.request(deleteItem(this.collectionName as keyof MyCollections, id))
const result = await directusClient.request(deleteItem(this.collectionName as keyof MyCollections, id))
return result as unknown as boolean
} catch (error: any) {
console.log(error);
if (error.errors[0].message)

View File

@ -1,23 +1,20 @@
import { readPermissions } from '@directus/sdk';
import { directusClient } from './directus';
import { ItemsApi, Permission } from 'utopia-ui/dist/types';
import { readPermissions } from "@directus/sdk";
import { directusClient } from "./directus";
import { ItemsApi, Permission } from "utopia-ui";
export class permissionsApi implements ItemsApi<Permission> {
constructor() {}
export class permissionsApi implements ItemsApi<Permission>{
constructor() {
}
async getItems() {
async getItems(): Promise<Permission[]> {
try {
return await directusClient.request(readPermissions({fields: ['*', {policy : ['name', 'roles']} as any]}));
const result = await directusClient.request(
readPermissions({ fields: ["*", { policy: ["name", "roles"] } as any] })
);
return result as unknown as Permission[]
} catch (error: any) {
console.log(error);
if (error.errors[0]?.message)
throw error.errors[0].message;
if (error.errors[0]?.message) throw error.errors[0].message;
else throw error;
}
}
}
}

View File

@ -1,5 +1,5 @@
import axios from 'axios';
import { ItemsApi } from 'utopia-ui/dist/types';
import { ItemsApi } from 'utopia-ui';
export class refiBcnApi implements ItemsApi<any>{

View File

@ -1,6 +1,6 @@
import { createUser, passwordRequest, passwordReset, readMe, updateMe} from '@directus/sdk';
import { directusClient } from './directus';
import { UserApi, UserItem } from 'utopia-ui/dist/types';
import { UserApi, UserItem } from 'utopia-ui';
export class userApi implements UserApi {

View File

@ -1,8 +1,7 @@
import { UtopiaMap, Layer, ItemView, PopupButton, StartEndView, TextView, ItemForm, PopupStartEndInput, PopupTextAreaInput, PopupTextInput } from 'utopia-ui'
import { UtopiaMap, Layer, ItemView, PopupButton, StartEndView, TextView, ItemForm, PopupStartEndInput, PopupTextAreaInput, PopupTextInput, LayerProps } from 'utopia-ui'
import { itemsApi } from '../api/itemsApi';
import { Place } from '../api/directus';
import { useEffect, useState } from 'react';
import { LayerProps } from 'utopia-ui/dist/types';
type layerApi = {
id: string;
@ -54,7 +53,7 @@ function MapContainer({ layers, map }: { layers: Array<LayerProps>, map: any })
showFilterControl={map.show_filter_control}
showLayerControl={map.show_layer_control}
showGratitudeControl={map.show_gratitude_control}
infoText={map.info_text}
donationWidget = {map.donation_widget}
>
{layers && apis &&
layers.map(layer =>
@ -80,7 +79,7 @@ function MapContainer({ layers, map }: { layers: Array<LayerProps>, map: any })
<StartEndView></StartEndView>
}
{layer.itemType.show_profile_button &&
<PopupButton url={'/item'} parameterField={'id'} text={'Profile'} colorField={'color'} />
<PopupButton url={'/item'} parameterField={'id'} text={'Profile'} />
}
{layer.itemType.show_text &&
<TextView truncate></TextView>

View File

@ -1,4 +1,4 @@
import { Item, Tag } from "utopia-ui/dist/types";
import { Item, Tag } from "utopia-ui";
export const tags : Tag[] = [
{