commit
19c2f9b048
10
README.md
10
README.md
|
@ -11,6 +11,9 @@ Phanpy
|
||||||
|
|
||||||
This is an alternative web client for [Mastodon](https://joinmastodon.org/).
|
This is an alternative web client for [Mastodon](https://joinmastodon.org/).
|
||||||
|
|
||||||
|
🔗 **Production**: https://phanpy.social <br>
|
||||||
|
🔗 **Development**: https://dev.phanpy.social
|
||||||
|
|
||||||
Everything is designed and engineered for my own use case, following my taste and vision. This is a personal side project for me to learn about Mastodon and experiment with new UI/UX ideas.
|
Everything is designed and engineered for my own use case, following my taste and vision. This is a personal side project for me to learn about Mastodon and experiment with new UI/UX ideas.
|
||||||
|
|
||||||
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
|
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
|
||||||
|
@ -21,9 +24,10 @@ Everything is designed and engineered for my own use case, following my taste an
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Minimalistic UI
|
- 👪 Multiple accounts
|
||||||
- Accounts switching
|
- 🪟 Compose window pop-out/in
|
||||||
- Theme switching (light, dark, auto)
|
- 🌗 Light/dark/auto theme
|
||||||
|
- 🔔 Grouped notifications
|
||||||
|
|
||||||
## Design decisions
|
## Design decisions
|
||||||
|
|
||||||
|
|
|
@ -307,6 +307,7 @@ a.mention span {
|
||||||
border: 1px solid var(--divider-color);
|
border: 1px solid var(--divider-color);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
max-height: 90vh;
|
max-height: 90vh;
|
||||||
|
max-height: 90dvh;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
.box > :is(h1, h2, h3):first-of-type {
|
.box > :is(h1, h2, h3):first-of-type {
|
||||||
|
@ -464,6 +465,7 @@ button.carousel-dot[disabled].active {
|
||||||
.sheet {
|
.sheet {
|
||||||
align-self: flex-end;
|
align-self: flex-end;
|
||||||
max-height: 90vh;
|
max-height: 90vh;
|
||||||
|
max-height: 90dvh;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
background-color: var(--bg-color);
|
background-color: var(--bg-color);
|
||||||
|
|
|
@ -408,6 +408,13 @@ function Compose({
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (window.opener.__STATES__.showCompose) {
|
||||||
|
const yes = confirm(
|
||||||
|
'Looks like you already have a compose field open in the parent window. Popping in this window will discard the changes you made in the parent window. Continue?',
|
||||||
|
);
|
||||||
|
if (!yes) return;
|
||||||
|
}
|
||||||
|
|
||||||
const mediaAttachmentsWithIDs = mediaAttachments.filter(
|
const mediaAttachmentsWithIDs = mediaAttachments.filter(
|
||||||
(media) => media.id,
|
(media) => media.id,
|
||||||
);
|
);
|
||||||
|
|
|
@ -147,7 +147,12 @@ function NotificationsList({ notifications, emptyCopy }) {
|
||||||
// Create new flat list of notifications
|
// Create new flat list of notifications
|
||||||
// Combine sibling notifications based on type and status id, ignore the id
|
// Combine sibling notifications based on type and status id, ignore the id
|
||||||
// Concat all notification.account into an array of _accounts
|
// Concat all notification.account into an array of _accounts
|
||||||
const cleanNotifications = [notifications[0]];
|
const cleanNotifications = [
|
||||||
|
{
|
||||||
|
...notifications[0],
|
||||||
|
_accounts: [notifications[0].account],
|
||||||
|
},
|
||||||
|
];
|
||||||
for (let i = 1, j = 0; i < notifications.length; i++) {
|
for (let i = 1, j = 0; i < notifications.length; i++) {
|
||||||
const notification = notifications[i];
|
const notification = notifications[i];
|
||||||
const cleanNotification = cleanNotifications[j];
|
const cleanNotification = cleanNotifications[j];
|
||||||
|
|
Loading…
Reference in a new issue