Compare commits

...

12 Commits

Author SHA1 Message Date
3cd1b32af9 1.15.3
All checks were successful
CI / Lint (push) Successful in 47s
CI / Test (push) Successful in 57s
2026-03-17 16:55:31 +04:00
462404b53e Fix sidebar content padding, class name 2026-03-17 16:54:41 +04:00
e3147caa90 1.15.2
All checks were successful
CI / Lint (push) Successful in 50s
CI / Test (push) Successful in 59s
2026-03-17 16:35:10 +04:00
7c11fefdb7 Tweak whitespace 2026-03-17 16:34:19 +04:00
9af6636971 1.15.1
All checks were successful
CI / Lint (push) Successful in 47s
CI / Test (push) Successful in 57s
2026-03-17 16:30:18 +04:00
8ae7fd1fd8 Tweak font sizes
All checks were successful
CI / Lint (push) Successful in 49s
CI / Test (push) Successful in 56s
2026-03-17 16:25:55 +04:00
cb3fbade39 Prevent unwanted zoom on iOS
All checks were successful
CI / Lint (push) Successful in 48s
CI / Test (push) Successful in 56s
2026-03-17 16:17:16 +04:00
6dfd9765b4 1.15.0
All checks were successful
CI / Lint (push) Successful in 53s
CI / Test (push) Successful in 56s
2026-03-17 15:55:15 +04:00
45eb8f087d Add linting to preversion script 2026-03-17 15:53:58 +04:00
3630fae133 Merge pull request 'Improve app menu sidebar, add separate subsections, more content' (#31) from feature/app_menu into master
All checks were successful
CI / Lint (push) Successful in 48s
CI / Test (push) Successful in 57s
Reviewed-on: #31
2026-03-17 11:52:42 +00:00
1116161e93 Add info/links for preferred contributions
All checks were successful
CI / Lint (pull_request) Successful in 53s
CI / Test (pull_request) Successful in 56s
Release Drafter / Update release notes draft (pull_request) Successful in 18s
2026-03-17 15:48:11 +04:00
88eb0ac0c1 WIP About section
* Add fold-out sections for additional details
* Use table for Open Source info, add licenses
* Move link styles to CSS variables
2026-03-17 15:12:29 +04:00
12 changed files with 169 additions and 53 deletions

View File

@@ -14,7 +14,7 @@ import Icon from '#components/icon';
</div> </div>
<div class="sidebar-content"> <div class="sidebar-content">
<section class="settings-section"> <section class="about-section">
<p> <p>
<strong>Marco</strong> <strong>Marco</strong>
(as in (as in
@@ -41,31 +41,78 @@ import Icon from '#components/icon';
<span>Open Source</span> <span>Open Source</span>
</summary> </summary>
<div class="details-content"> <div class="details-content">
<ul class="link-list"> <table>
<li> <thead>
<tr>
<th>Source</th>
<th>License</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a <a
href="https://gitea.kosmos.org/raucao/marco" href="https://gitea.kosmos.org/raucao/marco"
target="_blank" target="_blank"
rel="noopener" rel="noopener"
> >
Source Code Marco App
</a> </a>
(<a </td>
<td>
<a
href="https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License" href="https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License"
target="_blank" target="_blank"
rel="noopener" rel="noopener"
>AGPL</a>) >
</li> <abbr title="GNU Affero General Public License">AGPL</abbr>
<li> </a>
</td>
</tr>
<tr>
<td>
<a <a
href="https://openstreetmap.org/copyright" href="https://openstreetmap.org/copyright"
target="_blank" target="_blank"
rel="noopener" rel="noopener"
> >
Map Data © OpenStreetMap Map Data
</a> </a>
</li> </td>
</ul> <td>
<a
href="https://opendatacommons.org/licenses/odbl/"
target="_blank"
rel="noopener"
>
<abbr
title="Open Data Commons Open Database License"
>ODbL</abbr>
</a>
</td>
</tr>
<tr>
<td>
<a
href="https://github.com/feathericons/feather"
target="_blank"
rel="noopener"
>
Feather Icons
</a>
</td>
<td>
<a
href="https://en.wikipedia.org/wiki/MIT_License"
target="_blank"
rel="noopener"
>
<abbr title="MIT License">MIT</abbr>
</a>
</td>
</tr>
</tbody>
</table>
</div> </div>
</details> </details>
<details> <details>
@@ -74,6 +121,30 @@ import Icon from '#components/icon';
<span>Contribute</span> <span>Contribute</span>
</summary> </summary>
<div class="details-content"> <div class="details-content">
<p>
<strong>Most impactful:</strong>
Add and improve data for points of interest in
<a
href="https://www.openstreetmap.org"
target="_blank"
rel="noopener"
>OpenStreetMap</a>.
</p>
<p>
<strong>Most appreciated:</strong>
Use this app as much as you can and
<a
href="https://community.remotestorage.io/t/marco-an-unhosted-maps-app/941"
target="_blank"
rel="noopener"
>submit feedback</a>
about your experience, problems, feature wishes, etc.
</p>
<p>
<strong>Most supportive:</strong>
Tell others about this app, on social media, in blog posts,
educational videos, etc.
</p>
</div> </div>
</details> </details>
</section> </section>

View File

@@ -17,7 +17,7 @@ export default class AppMenu extends Component {
} }
<template> <template>
<div class="sidebar settings-pane"> <div class="sidebar app-menu-pane">
{{#if (eq this.currentView "menu")}} {{#if (eq this.currentView "menu")}}
<AppMenuHome @onNavigate={{this.setView}} @onClose={{@onClose}} /> <AppMenuHome @onNavigate={{this.setView}} @onClose={{@onClose}} />

View File

@@ -286,7 +286,7 @@ export default class PlaceDetails extends Component {
> >
<Icon <Icon
@name="bookmark" @name="bookmark"
@color={{if this.isSaved "currentColor" "#007bff"}} @color={{if this.isSaved "currentColor" "var(--link-color)"}}
/> />
{{if this.isSaved "Saved" "Save"}} {{if this.isSaved "Saved" "Save"}}
</button> </button>
@@ -307,7 +307,7 @@ export default class PlaceDetails extends Component {
title="Edit" title="Edit"
{{on "click" this.startEditing}} {{on "click" this.startEditing}}
> >
<Icon @name="edit" @color="#007bff" /> <Icon @name="edit" @color="var(--link-color)" />
Edit Edit
</button> </button>
{{/if}} {{/if}}

View File

@@ -226,7 +226,7 @@ export default class PlacesSidebar extends Component {
class="btn btn-outline create-place" class="btn btn-outline create-place"
{{on "click" this.createNewPlace}} {{on "click" this.createNewPlace}}
> >
<Icon @name="plus" @size={{18}} @color="#007bff" /> <Icon @name="plus" @size={{18}} @color="var(--link-color)" />
Create new place Create new place
</button> </button>
{{/if}} {{/if}}

View File

@@ -4,6 +4,8 @@
--default-list-color: #fc3; --default-list-color: #fc3;
--hover-bg: #f8f9fa; --hover-bg: #f8f9fa;
--sidebar-width: 360px; --sidebar-width: 360px;
--link-color: #2a7fff;
--link-color-visited: #6a4fbf;
} }
html, html,
@@ -186,7 +188,7 @@ body {
} }
.text-primary { .text-primary {
color: #007bff; color: var(--link-color);
} }
.text-danger { .text-danger {
@@ -212,12 +214,12 @@ body {
overflow: hidden; /* Ensure flex children are contained */ overflow: hidden; /* Ensure flex children are contained */
} }
.settings-pane.sidebar { .sidebar.app-menu-pane {
z-index: 3200; /* Higher than Places Sidebar (3100) */ z-index: 3200; /* Higher than Places Sidebar (3100) */
} }
@media (width <= 768px) { @media (width <= 768px) {
.settings-pane.sidebar { .sidebar.app-menu-pane {
width: 100%; width: 100%;
right: 0; right: 0;
border-radius: 16px 16px 0 0; border-radius: 16px 16px 0 0;
@@ -253,6 +255,10 @@ body {
overscroll-behavior: contain; overscroll-behavior: contain;
} }
.app-menu-pane .sidebar-content {
padding-top: 0.5rem;
}
.app-menu { .app-menu {
list-style: none; list-style: none;
padding: 0; padding: 0;
@@ -333,8 +339,9 @@ body {
} }
.sidebar-content details .details-content { .sidebar-content details .details-content {
padding: 1rem 1.4rem; padding: 0 1.4rem 1rem;
animation: details-slide-down 0.2s ease-out; animation: details-slide-down 0.2s ease-out;
font-size: 0.9rem;
} }
.sidebar-content details .link-list { .sidebar-content details .link-list {
@@ -387,7 +394,7 @@ body {
border: 1px solid #ddd; border: 1px solid #ddd;
border-radius: 4px; border-radius: 4px;
font-family: inherit; font-family: inherit;
font-size: 0.95rem; font-size: 1rem;
box-sizing: border-box; /* Ensure padding doesn't overflow width */ box-sizing: border-box; /* Ensure padding doesn't overflow width */
color: #333; color: #333;
background-color: #fff; background-color: #fff;
@@ -395,8 +402,8 @@ body {
.form-control:focus { .form-control:focus {
outline: none; outline: none;
border-color: #007bff; border-color: var(--link-color);
box-shadow: 0 0 0 2px rgb(0 123 255 / 10%); box-shadow: 0 0 0 2px rgb(42 127 255 / 10%);
} }
select.form-control { select.form-control {
@@ -425,12 +432,20 @@ select.form-control {
margin-top: 1rem; margin-top: 1rem;
} }
.settings-section p a { .about-section {
color: #007bff; margin-bottom: 2rem;
}
.about-section a {
color: var(--link-color);
text-decoration: none; text-decoration: none;
} }
.settings-section p a:hover { .about-section a:visited {
color: var(--link-color-visited);
}
.about-section a:hover {
text-decoration: underline; text-decoration: underline;
} }
@@ -439,7 +454,7 @@ select.form-control {
} }
.btn-primary { .btn-primary {
background: #007bff; background: var(--link-color);
color: white; color: white;
border: none; border: none;
padding: 0.75rem; padding: 0.75rem;
@@ -468,7 +483,7 @@ select.form-control {
} }
.meta-info a { .meta-info a {
color: #007bff; color: var(--link-color);
text-decoration: none; text-decoration: none;
} }
@@ -476,6 +491,36 @@ select.form-control {
text-decoration: underline; text-decoration: underline;
} }
.sidebar-content table {
width: 100%;
border-collapse: collapse;
}
.sidebar-content table th,
.sidebar-content table td {
padding: 0.5rem 0;
text-align: left;
}
.sidebar-content table th {
font-size: 0.75rem;
font-weight: bold;
text-transform: uppercase;
color: #898989;
}
.sidebar-content table td {
border-bottom: 1px solid #f9f9f9;
}
.sidebar-content table tr:last-child td {
border-bottom: none;
}
abbr[title] {
text-decoration: underline dotted;
}
.link-list { .link-list {
list-style: none; list-style: none;
padding: 0; padding: 0;
@@ -487,7 +532,7 @@ select.form-control {
} }
.link-list a { .link-list a {
color: #007bff; color: var(--link-color);
text-decoration: none; text-decoration: none;
font-size: 0.95rem; font-size: 0.95rem;
} }
@@ -612,7 +657,7 @@ select.form-control {
} }
.btn-blue { .btn-blue {
background: #007bff; background: var(--link-color);
color: white; color: white;
border: none; border: none;
} }
@@ -1152,7 +1197,7 @@ button.create-place {
} }
.place-lists-manager input[type='checkbox'] { .place-lists-manager input[type='checkbox'] {
accent-color: #007bff; accent-color: var(--link-color);
width: 16px; width: 16px;
height: 16px; height: 16px;
cursor: pointer; cursor: pointer;

View File

@@ -1,6 +1,6 @@
{ {
"name": "marco", "name": "marco",
"version": "1.14.0", "version": "1.15.3",
"private": true, "private": true,
"description": "Unhosted maps app", "description": "Unhosted maps app",
"repository": { "repository": {
@@ -35,7 +35,7 @@
"lint:js:fix": "eslint . --fix", "lint:js:fix": "eslint . --fix",
"start": "vite", "start": "vite",
"test": "vite build --mode development && testem ci --port 0", "test": "vite build --mode development && testem ci --port 0",
"preversion": "pnpm test", "preversion": "pnpm lint && pnpm test",
"version": "pnpm build && git add release/" "version": "pnpm build && git add release/"
}, },
"devDependencies": { "devDependencies": {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -39,8 +39,8 @@
<meta name="msapplication-TileColor" content="#F6E9A6"> <meta name="msapplication-TileColor" content="#F6E9A6">
<meta name="msapplication-TileImage" content="/icons/icon-144.png"> <meta name="msapplication-TileImage" content="/icons/icon-144.png">
<script type="module" crossorigin src="/assets/main-GynTgP18.js"></script> <script type="module" crossorigin src="/assets/main-DMekdiSt.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-BT0n1kYB.css"> <link rel="stylesheet" crossorigin href="/assets/main-CZskVGin.css">
</head> </head>
<body> <body>
</body> </body>