mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 01:01:39 -05:00
* Implement OmniAuth GitHub authentication * Fix omniauth GitHub scope to include user email access * Remove margin-bottom * Implement Google OAuth2 authentication * Implement OIDC authentication for Dawarich using omniauth_openid_connect gem. * Add patreon account linking and patron checking service * Update docker-compose.yml to use boolean values instead of strings * Add support for KML files * Add tests * Update changelog * Remove patreon OAuth integration * Move omniauthable to a concern * Update an icon in integrations * Update changelog * Update app version * Fix family location sharing toggle * Move family location sharing to its own controller * Update changelog * Implement basic tagging functionality for places, allowing users to categorize and label places with custom tags. * Add places management API and tags feature * Add some changes related to places management feature * Fix some tests * Fix sometests * Add places layer * Update places layer to use Leaflet.Control.Layers.Tree for hierarchical layer control * Rework tag form * Add hashtag * Add privacy zones to tags * Add notes to places and manage place tags * Update changelog * Update e2e tests * Extract tag serializer to its own file * Fix some tests * Fix tags request specs * Fix some tests * Fix rest of the tests * Revert some changes * Add missing specs * Revert changes in place export/import code * Fix some specs * Fix PlaceFinder to only consider global places when finding existing places * Fix few more specs * Fix visits creator spec * Fix last tests * Update place creating modal * Add home location based on "Home" tagged place * Save enabled tag layers * Some fixes * Fix bug where enabling place tag layers would trigger saving enabled layers, overwriting with incomplete data * Update migration to use disable_ddl_transaction! and add up/down methods * Fix tag layers restoration and filtering logic * Update OIDC auto-registration and email/password registration settings * Fix potential xss
167 lines
3.2 KiB
CSS
167 lines
3.2 KiB
CSS
/*
|
|
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
* listed below.
|
|
*
|
|
* Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
|
|
* vendor/assets/stylesheets directory can be referenced here using a relative path.
|
|
*
|
|
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
* compiled file so the styles you add here take precedence over styles defined in any other CSS
|
|
* files in this directory. Styles in this file should be added after the last require_* statement.
|
|
* It is generally better to create a new file per style scope.
|
|
*
|
|
*= require_tree .
|
|
*= require_self
|
|
*/
|
|
|
|
.emoji-icon {
|
|
font-size: 36px; /* Adjust size as needed */
|
|
text-align: center;
|
|
line-height: 36px; /* Same as font-size for perfect centering */
|
|
}
|
|
|
|
.timeline-box {
|
|
overflow: visible !important;
|
|
}
|
|
|
|
/* Style for the settings panel */
|
|
.leaflet-settings-panel {
|
|
background-color: white;
|
|
border-radius: 4px;
|
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
|
position: absolute !important;
|
|
top: 10px !important;
|
|
left: 60px !important;
|
|
transform: none;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.leaflet-settings-panel label {
|
|
display: block;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.leaflet-settings-panel input {
|
|
width: 100%;
|
|
margin-bottom: 10px;
|
|
padding: 5px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.leaflet-settings-panel button {
|
|
padding: 5px 10px;
|
|
background-color: #007bff;
|
|
color: white;
|
|
border: none;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.leaflet-settings-panel button:hover {
|
|
background-color: #0056b3;
|
|
}
|
|
|
|
.photo-marker {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.photo-marker img {
|
|
border-radius: 50%;
|
|
width: 48px;
|
|
height: 48px;
|
|
}
|
|
|
|
.leaflet-loading-control {
|
|
padding: 5px;
|
|
border-radius: 4px;
|
|
box-shadow: 0 1px 5px rgba(0,0,0,0.2);
|
|
margin: 10px;
|
|
width: 32px;
|
|
height: 32px;
|
|
background: white;
|
|
}
|
|
|
|
.loading-spinner {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
font-size: 18px;
|
|
color: gray;
|
|
}
|
|
|
|
.loading-spinner::before {
|
|
content: '';
|
|
font-size: 18px;
|
|
animation: spinner 1s linear infinite;
|
|
}
|
|
|
|
.loading-spinner.done::before {
|
|
content: '✅';
|
|
animation: none;
|
|
}
|
|
|
|
/* Flash message animations */
|
|
@keyframes slideInFromRight {
|
|
0% {
|
|
transform: translateX(100%);
|
|
opacity: 0;
|
|
}
|
|
100% {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes slideOutToRight {
|
|
0% {
|
|
transform: translateX(0);
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
transform: translateX(100%);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
/* Family feature specific styles */
|
|
.family-member-card {
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
|
|
.family-member-card:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.invitation-card {
|
|
border-left: 4px solid #f59e0b;
|
|
}
|
|
|
|
.family-invitation-form {
|
|
max-width: 500px;
|
|
}
|
|
|
|
/* Loading states */
|
|
.btn:disabled {
|
|
opacity: 0.7;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.loading-overlay {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(255, 255, 255, 0.8);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 10;
|
|
}
|