closes https://github.com/TryGhost/Team/issues/1483
- updated newsletters list to use `<SortableObjects>` and `<DraggableObject>`
- swapped the `filteredNewsletters` reactive getter for a tracked property because `<SortableObjects>` replaces the value with a new array when re-ordering which isn't compatible with a getter
- required explicit update of the list any time the list should change through filter swap, archive, unarchive
- required explicit update of the list via router event when leaving the "new newsletter" route so any newly added newsletter can be displayed
- added action for handling update of `sort_order` properties when a re-order occurs
- updates every newsletter setting `sort_order` of the active newsletters first based on the new order, followed by all archived newsletters following their existing order
- disabled sorting of newsletters in the archived newsletters list
- hides the grab handle and disables the resize on hover
- allowing re-order of archived newsletters would complicate the re-order+save algorithm and re-ordering archived newsletters doesn't have a use-case
refs https://github.com/TryGhost/Team/issues/1487
- Fetches the staff picks from the RSS feed
- Shows the first 5 staff picks (amount is adjustable)
- Adds utm_source=ghost to external links
- Includes a temporary CSS class to keep it a bit orderly
refs https://github.com/TryGhost/Team/issues/1488
- Includes a new component that fetches the latest X newsletters.
- Displays these newsletters using design from old dashboard.
- Currently shows 10 newsletters, but we'll want to change that later.
- Temporary CSS class added.
* Trying out a tooltip alternative for combined graph in new dashboard
refs: https://github.com/TryGhost/Team/issues/1467
* Trying out a different type of interaction with the combined graph for the new dashboard that includes different style
refs: https://github.com/TryGhost/Team/issues/1467
* Working through the interface and code to majorly clean up for the new Dashboard
refs: https://github.com/TryGhost/Team/issues/1462
- lots of moving around css
- trying out some different layouts
- refactoring lots of code
- known bug: paid graphs don't work
- known bug: without newsletters, layout breaks
* Finishing up the basic styling of the new dashboard to be more presentable
refs: https://github.com/TryGhost/Team/issues/1462
- add an animation between the top metrics on combined graph
- ensure all graphs are responsive to parent container
- refactor many of the components and tidy up the styles
- tighten up spacing, headers, chart heights and more
- make the tooltip hovers a little more presentable
- balance the colors to be more muted, for the moment
- a million other tiny tweaks
closes https://github.com/TryGhost/Ghost/issues/14416
refs 1357390ac5
- after switching to a proper package version of our `ember-promise-modals` fork the addon's CSS was injected into the vendor file causing conflicts with our own modal styling
- added `align-items: unset` style override on `.epm-modal-container` so we're not fighting the addon's default `align-items: center;` style
closes https://github.com/TryGhost/Ghost/issues/14415
- after switching to a proper package version of our `ember-promise-modals` fork the addon's CSS was injected into the vendor file causing conflicts with our own modal styling
- added `transform: none` style override on `.epm-modal` so we're not fighting the addon's default `translate(0, -30vh) scale(1.1);` transform
* Basic work to combine the three line graphs for the new dashboard
refs: https://github.com/TryGhost/Team/issues/1467
- combined three line graphs into one main one at the top
- still working on this, so some code is a little rough
* Tidying up a few bits of consolidated graph in new dashboard
refs: https://github.com/TryGhost/Team/issues/1467
* Updated chart anchor component for removed member counts
no issue
* Updated chart paid members to not reload on days change
no refs
* Moved did-insert to top element in chart-anchor
* Fixed chart anchor to use filled member data
* Replaced chart anchor divs with buttons
* Tweaking up the paid graphs below anchor to improve visuals
refs: https://github.com/TryGhost/Team/issues/1467
* Fixed missing type attributes on buttons in chart anchor
* Updated MMR to MRR for the new consolidated graph
refs: https://github.com/TryGhost/Team/issues/1467
* Added real MRR to chart anchor
* Added open rate percentage data to chart email
Co-authored-by: Simon Backx <simon@ghost.org>
refs: https://github.com/TryGhost/Team/issues/1462
- remove dummy percentages where not necessary
- trying out a narrower width for the dashboard
- added in a basic layout for the various charts
- added more specific styles to each of the graphs
- tried out a different way of displaying metrics
- different way to show headers for each module
- made the grid and flex layouts a little more flexible
- there are some bits to still clean up with code
refs: https://github.com/TryGhost/Team/issues/1445
- threw in some static generic resources modules based off offers styling
- these will be dynamic but adding them to pad out prototype
Refs https://github.com/TryGhost/Team/issues/1441
- Rearranged the page: publish-menu preview is removed because the publish flow will change.
- Email addresses setting removed because it will be set on an individual newsletter level
refs https://github.com/TryGhost/Team/issues/1432
- Added very basic state selection at the bottom of dashboard 5.0
- Added a dashboard stats service, who is responsible for fetching and returning stats data
- Added POC for days dropdown with communication and reload between ember components
- Added proper automatic number and plural formatting for member counts
refs https://github.com/TryGhost/Team/issues/1141
Showing canceled subscriptions provide a more complete picture of the activity of a member.
- Given there is no `member.product` object when a subscription is canceled, use the `member.subscriptions.price.product` objects instead of `member.products`.
- applied boy-scout rule for linter errors and and code formatting
- removed `multipleTiers` flag conditionals as it's now GA
- set up subscriptions as a separate mirage resource so they are easier to work with
- updated `PUT /members/:id/` endpoint to match real API's complimentary subscription behaviour
- modified mirage member serializer to match API output
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
refs: https://github.com/TryGhost/Team/issues/1373
- Simplify the member details link on single member activity
- Adjust all the activity scrolling to work better at all sizes
- Make the header work properly with truncating at narrower viewports
- Remove unnecessary CSS and classes
- Remove the top line from the member detail box
- Move the member detail box so it stays when scrolling
- Make the empty state work with new member detail box position
- Better scrolling full width whilst not having full width like members
- Fix the subscriptions event icon which was a white box in dark mode
- Adjustments to global gh-list-scrolling styles at narrower viewports
- Test fully on narrower viewports and major browsers
refs: https://github.com/TryGhost/Team/issues/1373
- reduced from 10 to 5 to keep things visually simpler
- sneaked in a little colour tweak to link on activity member detail header
refs: https://github.com/TryGhost/Team/issues/1373
- nothing much here, just changing where the member detail header renders on activity
- added a little padding to empty states to better vertically center
refs: https://github.com/TryGhost/Team/issues/1373
- changed searched name clear to say Clear Member as there was duplicates across the screen
- tried to tidy up the Member Detail link when filtered by members in Activity
- few tiny CSS tweaks
refs https://github.com/TryGhost/Team/issues/1418
- drops the block usage of `<GhDatePicker>` for the "Last seen" input that added shortcut buttons
- not a full revert of https://github.com/TryGhost/Admin/pull/2291 as allowing block usage of the component is still useful for other component customisation
- removes CSS related to the calendar-with-shortcut buttons as we don't have any other use-cases for it at the moment
refs https://github.com/TryGhost/Team/issues/1410
- added block invocation support to `<GhDatePicker>` that exposes the calendar components used inside the datepicker dropdown allowing for customisation of the dropdown content
- updated "last seen" datepicker to use the block invocation support to add buttons that select typical "time ago" dates
Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
refs: https://github.com/TryGhost/Team/issues/1376
- adjust line heights for paragraphs
- vertical align content
- added subheader for actions
- added import members link
- updated action for customise site
refs https://github.com/TryGhost/Team/issues/1390
- added `membersTimeFilters` feature flag and labs toggle
- added `<GhDatePicker>` component that lifts functionality from the `<GhDateTimePicker>` component
- `<GhDateTimePicker>` has not yet been refactored to use the new component internally as there are some odd/complex interactions with error handling with it's existing use-cases and they are in critical publishing paths so the refactor doesn't belong as part of this change
- added "Created at" filter type to members filters
- uses new date picker component for input value
- has "before", "on or before", "after", "on or after" operators
- "on" and "not on" operators were skipped as they require two NQL statements to represent, breaking the current 1:1 statement:filter approach used in the NQL-based query param parsing
refs: https://github.com/TryGhost/Team/issues/1376
- renamed finishing touches file to done
- no last modal, just the done screen for first start
- added options for next steps
No issue
- Changed the Member details page to be more scalable and flexible, depending on whether creators are using subscriptions, emails, and stats.
* Hidden email stats on member detail page when subscriptions are off
* Hid subscription box on member details page when Stripe is not connected
* Updated copy and layout of member details page
* Updated old activity feed styles on member page
* Fixed padding issue for empty activity feed
* Fixed current and new activity feed
* Added Last seen to member details page behind feature flag
* Updated lint todo file
* Fixed spacing issue in member details
closes https://github.com/TryGhost/Team/issues/1029
- allows site owner to filter members on specific tier
- needs tiers beta flag enabled and site should have more than 1 paid tiers.
refs: https://github.com/TryGhost/Team/issues/1373
- added some additional styles to dropdown to better handle names and emails together
- widened the search box to better fit names and emails
No ref
- When memberships are set up but no members are present, we would display the email sending UI in a disabled state. We're now notifying the user why they can't send emails and how to start sending
Refs 72d3d6debc
- Fixed PSM error by moving the action on to the button and change the styling so the button is the main styled element that fills the whole area
- Hid the post-list-item error, which will warn in 30 and error in 60 days
no issue
- the members filtering is out of labs, we don't need to keep the labs component naming around
- renamed `-labs` components/classes to non-labs naming, replacing old and unused non-labs components where necessary
no issue
- softens the disappearance by fading out and collapsing the height when removing
- uses `{{css-transition}}` modifier from https://peec.github.io/ember-css-transitions/docs/insert-destroy
- max-height used in order to animate collapse of a `height: auto` panel, 350px starting point chosen as it's slightly bigger than the largest height of the panel at mobile widths
refs https://github.com/TryGhost/Team/issues/1310
We want to use parts of the "Brand setting" form in a separate streamlined settings screen after site setup but that wasn't possible without a lot of duplication.
- extracted individual form fields into separate components for re-use
- included minor refactors like using `uploader.registerFileInput` and `uploader.triggerFileDialog` instead of continually duplicating the same file input trigger method
- fixed accessibility issues
- changed input titles from `<div>` to `<label>` and associated with the component's input fields
- changed `<img {{on "click" upload}}>` to `<input type="image">` so they act as proper buttons and are linked to the label (required a styling change so `img` and `input[type="image"]` are treated equally)
- finished cleanup of `.description-container-labs` by renaming to `.description-container`
refs https://github.com/TryGhost/Team/issues/1303
- added rudimentary styling to the new onboarding modal
- added in three new icons to go with the new modal
- added the styling to the main.css for the moment
Updates Admin UX for Contributors
When logged in as a Contributor:
- removes sidebar, added floating account menu and dark-mode switch to right side. Updated mobile menu accordingly
- all post by the given user is listed in the Post list
- changed post filtering
- hides email columns in post list
- removes publishmenu for Contributors in Post preview modal
- visual tweaks
refs: https://github.com/TryGhost/Team/issues/1277
- added a z-index to fix breadcrumbs when filters overlap
- made the scrolling list longer on the member activity page to remove gap
refs https://github.com/TryGhost/Team/issues/1252
- allows site owners to (un)archive existing tiers via Admin UI
- adds option to switch between archived or active tiers view
Co-authored-by: Djordje Vlaisavljevic <dzvlais@gmail.com>
refs https://github.com/TryGhost/Team/issues/1277
- added new selected style to filters for activity
- added new subscription icon for filters for activity
- added in the GhMembersAvatar to events row
- fixed the green link for activity mini-view
refs https://github.com/TryGhost/Team/issues/1277
- changed breadcrumb for activity
- added back in three columns for activity when not filtered
- made adjustments to visual look and feel
refs https://github.com/TryGhost/Team/issues/1290
- renamed `@updateExcludedEvents` to `@onChange` and updated associated action name so we have consistent naming for our select-like components
- added `<MembersActivity::MemberFilter>` component
- utilises `<PowerSelect>` with a custom trigger component and and a debounced search via the member's API
- does not use `<PowerSelect>`'s default "selected" behaviour in favor of replacing the select with a button to provide a clearer "reset filter" UX that's easier to build/style outside of the power-select components
- added `.ember-power-select-trigger-reset` class to reset margins, paddings, borders, and heights so that it's easier for a custom trigger's contents to control the display
Updated email newsletter settings
- Added toggle to disable email newsletters
- Hides email related UI when email is completely turned off
- Rearranged email newsletter settings
- Added publish-menu preview in
- Changed default-recipients setting
- Updated publish-menu to show Publish as default action
- Removed the confirmation modal during publishing when no emails are intended to be sent
- adjusted min and max widths of various elements in audio card in What's New only to stop it from visually breaking when at specific viewport widths
- quick fixes for z-index of certain elements across cards in What's New only so they didn't appear above the page header
no issue
- the branding modal was a hangover from before the design settings screen that hadn't been fully removed after the newer settings screen was released
- double scrollbars showing at certain widths
- strange resizing of search members text box
- borders showing through when scrolling
- tidying table horizontal scrolling when viewport is narrower
refs https://github.com/TryGhost/Team/issues/1164
- removed flag and labs screen toggle
- removed all conditionals
- removed all old/unused route/controller/component files
- renamed labs components and classes to non-labs naming
refs https://github.com/TryGhost/Team/issues/1253
Using text-align: left will shift our cursor to the left of the editor,
but this does not match up with the placeholder text, so we need to use
media queries and some CSS calculations for that.
Zimo did the CSS magics for this
refs https://github.com/TryGhost/Team/issues/1249
When images are used which do not fill the space of the card - e.g. when
using a fullwidth card the slider is positioned to the left and doesn't
look good.
refs https://github.com/TryGhost/Team/issues/1249
This adds a WIP for the Before/After card UI - behind an alpha flag.
It's completely missing design input and is intented to serve as a base
to work from.
refs https://github.com/TryGhost/Team/issues/1229
- changed the video card image so it uses an aspect-ratio box set to the aspect ratio of the video, with the image using `object-fit: cover` to match the background image behavior in the front-end
refs https://github.com/TryGhost/Team/issues/1245
- Used onmouseover because a CSS-only approach wouldn't work
- CSS can only highligh next siblings on hover, while we want to highlight previous sibling in our case
- This adds a hover class on mouseover to the right stars and removes it onmouseout
no issue
- when buttons and button-like links were mixed in a modal footer, the link did not inherit the expected button styles and if the link followed a button the two became smushed together because of missing left margins
refs https://github.com/TryGhost/Team/issues/1245
- Moved away from using only checkboxes and css because we need to use SVGs to display the stars
- Made it simple to keep CSS to the minimum and enable flexibility
refs https://github.com/TryGhost/Team/issues/1245
- This is a proof-of-concept as there are so many ways to implement a star-rating component
- The component is only available when editing the product card
- Uses the unicode star character: ★
- The inspiration is an old article from Lea Verou: https://lea.verou.me/2011/08/accessible-star-rating-widget-with-pure-css/ (minus the clever use of :not(:checked) on something that's not an input to filter-out IE)
- There is currently no way to remove the star rating as it'll get designed this week