diff --git a/package-lock.json b/package-lock.json index 203e7d25..e3c0caeb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "react-dom": "^18.2.0", "react-rnd": "^10.4.1", "react-router-dom": "^6.23.0", - "utopia-ui": "^3.0.0-alpha.178" + "utopia-ui": "^3.0.0-alpha.196" }, "devDependencies": { "@types/react": "^18.2.79", @@ -1969,20 +1969,20 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.45.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.45.0.tgz", - "integrity": "sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==", + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.51.1.tgz", + "integrity": "sha512-fJBMQMpo8/KSsWW5ratJR5+IFr7YNJ3K2kfP9l5XObYHsgfVy1w3FJUWU4FT2fj7+JMaEg33zOcNDBo0LMwHnw==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "5.45.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.45.1.tgz", - "integrity": "sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA==", + "version": "5.51.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.51.1.tgz", + "integrity": "sha512-s47HKFnQ4HOJAHoIiXcpna/roMMPZJPy6fJ6p4ZNVn8+/onlLBEDd1+xc8OnDuwgvecqkZD7Z2mnSRbcWefrKw==", "dependencies": { - "@tanstack/query-core": "5.45.0" + "@tanstack/query-core": "5.51.1" }, "funding": { "type": "github", @@ -2646,7 +2646,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001540", + "version": "1.0.30001640", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", "dev": true, "funding": [ { @@ -2661,8 +2663,7 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/ccount": { "version": "2.0.1", @@ -7086,9 +7087,9 @@ } }, "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -7249,9 +7250,9 @@ "license": "MIT" }, "node_modules/utopia-ui": { - "version": "3.0.0-alpha.178", - "resolved": "https://registry.npmjs.org/utopia-ui/-/utopia-ui-3.0.0-alpha.178.tgz", - "integrity": "sha512-Xn4ESlLiarr9vEUVdgY+G6DyaeKYbcygDo6bicYQBg59qhRVJrU1GQnsUOogNgKZAVTzAtuWULL+rtUnBlzwkQ==", + "version": "3.0.0-alpha.196", + "resolved": "https://registry.npmjs.org/utopia-ui/-/utopia-ui-3.0.0-alpha.196.tgz", + "integrity": "sha512-uge0s81XXqEJX7QMuCuyAYyMjVaihCJF3EM3AhqzaYTmoTxYjmrH17n2jUciWyqHjkfjyn+5EMl7fOT2LdatUA==", "dependencies": { "@heroicons/react": "^2.0.17", "@tanstack/react-query": "^5.17.8", @@ -7279,9 +7280,9 @@ } }, "node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.2.tgz", + "integrity": "sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0", diff --git a/package.json b/package.json index bec4791c..130e697c 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "react-dom": "^18.2.0", "react-rnd": "^10.4.1", "react-router-dom": "^6.23.0", - "utopia-ui": "^3.0.0-alpha.178" + "utopia-ui": "^3.0.0-alpha.196" }, "devDependencies": { "@types/react": "^18.2.79", diff --git a/src/App.tsx b/src/App.tsx index 1bb68cd8..e23315aa 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ -import { AppShell, SideBar, Content, AuthProvider, Modal, LoginPage, SignupPage, Quests, RequestPasswordPage, SetNewPasswordPage, OverlayProfile, OverlayProfileSettings, OverlayUserSettings, OverlayItemsIndexPage, OverlayItemProfile, OverlayItemProfileSettings, Permissions, Tags } from 'utopia-ui' -import { bottomRoutes, routes } from './routes/sidebar' +import { AppShell, SideBar, Content, AuthProvider, Modal, LoginPage, SignupPage, Quests, RequestPasswordPage, SetNewPasswordPage, OverlayUserSettings, OverlayItemsIndexPage, OverlayItemProfile, OverlayItemProfileSettings, Permissions, Tags } from 'utopia-ui' +import { getBottomRoutes, routes } from './routes/sidebar' import { Route, Routes } from 'react-router-dom' import MapContainer from "./pages/MapContainer" import './App.css' @@ -15,7 +15,6 @@ import { Tag } from 'utopia-ui/dist/types' import { mapApi } from './api/mapApi' import { layersApi } from './api/layersApi' - function App() { @@ -54,7 +53,7 @@ function App() { const getLayers = async () => { const layers = await layersApiInstance?.getItems(); layers && setLayers(layers); - setLayerPageRoutes(layers?.map((l: any) => ({ + setLayerPageRoutes(layers?.filter((l: any) => l.listed).map((l: any) => ({ path: '/' + l.name, // url icon: , name: l.name, // name that appear in Sidebar @@ -80,14 +79,15 @@ function App() { }, [map]) - + const currentUrl = window.location.href; + const bottomRoutes = getBottomRoutes(currentUrl); if (map && layers) return (
- + {tagsApi && } @@ -102,10 +102,8 @@ function App() { } /> } /> } /> - } /> - } /> - } /> - } /> + } /> + } /> } /> } /> } /> diff --git a/src/api/mapApi.ts b/src/api/mapApi.ts index 47b7a27e..371b3e1d 100644 --- a/src/api/mapApi.ts +++ b/src/api/mapApi.ts @@ -12,7 +12,7 @@ export class mapApi { async getItems() { try { - const map = await directusClient.request(readItems("maps" as any, { fields: ['*'], filter: { "url": { "_eq": this.url } } as any, limit: 500 })); + const map = await directusClient.request(readItems("maps" as any, { fields: ['*', {user_type : ['name']}], filter: { "url": { "_eq": this.url } } as any, limit: 500 })); if(map[0]) return map[0]; else return "null"; } catch (error: any) { diff --git a/src/pages/MapContainer.tsx b/src/pages/MapContainer.tsx index c2c86394..3f6f5384 100644 --- a/src/pages/MapContainer.tsx +++ b/src/pages/MapContainer.tsx @@ -37,7 +37,7 @@ function MapContainer({ layers, map }: { layers: Array, map: any }) return ( - + {layers && apis && layers.map(layer => , map: any }) markerShape={layer.markerShape} onlyOnePerOwner={layer.onlyOnePerOwner} markerDefaultColor={layer.menuColor} + markerDefaultColor2={layer.markerDefaultColor2 ? layer.markerDefaultColor2 : "RGBA(35, 31, 32, 0.2)"} itemType={layer.itemType} itemNameField='name' itemTextField='text' @@ -62,6 +63,7 @@ function MapContainer({ layers, map }: { layers: Array, map: any }) customEditLink='/edit-item' customEditParameter='id' public_edit_items={layer.public_edit_items} + listed={layer.listed} api={apis?.find(api => api.id === layer.id)?.api}> {layer.itemType.show_start_end && @@ -83,6 +85,7 @@ function MapContainer({ layers, map }: { layers: Array, map: any }) {layer.itemType.custom_text &&

Press Save to place your Profile to the Map

} + {layer.item_presets && Object.entries(layer.item_presets).map((ip : any) => )}
) } diff --git a/src/routes/sidebar.tsx b/src/routes/sidebar.tsx index 2c4535ec..dcb07934 100644 --- a/src/routes/sidebar.tsx +++ b/src/routes/sidebar.tsx @@ -1,4 +1,3 @@ - import { MapIcon } from '@heroicons/react/24/outline' @@ -44,14 +43,22 @@ export const routes = [ */ ] -export const bottomRoutes = [ +export const getBottomRoutes = (currentUrl: string) => { + const url = new URL(currentUrl); + const isEmbedded = url.searchParams.get('embedded') === 'true'; + const bottomRoutes = [ + // Other routes can be added here + ]; - { - path: 'https://github.com/utopia-os/utopia-ui', // url - icon: , - name: 'Github', // name that appear in Sidebar - blank: true + if (!isEmbedded) { + bottomRoutes.push({ + path: 'https://github.com/utopia-os/utopia-ui', // url + icon: , + name: 'Github', // name that appear in Sidebar + blank: true + }); } -] \ No newline at end of file + return bottomRoutes; +}; diff --git a/vite.config.ts b/vite.config.ts index cd85db35..e146618d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -6,6 +6,9 @@ import { VitePWA } from 'vite-plugin-pwa' // https://vitejs.dev/config/ export default defineConfig({ + server: { + port: 5174 + }, plugins: [ react() ]