Plugin Directory

Changeset 3453925


Ignore:
Timestamp:
02/04/2026 04:00:30 PM (2 weeks ago)
Author:
kayavanvliet
Message:

Version 1.2.9 enabling free trial

Location:
tracksharp
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • tracksharp/trunk/Tracksharp-tracker.php

    r3452023 r3453925  
    44 * Plugin Name: TrackSharp – Server Side Tracking for WooCommerce
    55 * Description: First-party server-side tracking for WooCommerce. GA4 Measurement Protocol, Meta Conversions API (CAPI), Google Ads Conversion attribution, Enhanced Conversions, and WP Consent API integration.
    6  * Version:     1.2.8
     6 * Version:     1.2.9
    77 * Author:      Kaya van Vliet
    88 * Requires PHP: 7.4
     
    1717// Plugin Constants
    1818// ============================================================================
    19 define( 'TRACKSHARP_VERSION', '1.2.8' );
     19define( 'TRACKSHARP_VERSION', '1.2.9' );
    2020define( 'TRACKSHARP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
    2121define( 'TRACKSHARP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
     
    4444                'is_org_compliant' => true,
    4545                'is_premium'       => false,
    46                 'premium_suffix'   => '',
     46                'premium_suffix'   => 'Pro',
    4747                'has_addons'       => false,
    4848                'has_paid_plans'   => true,
     49                'trial'            => array(
     50                    'days'               => 14,
     51                    'is_require_payment' => false,
     52                ),
    4953                'menu'             => array(
    5054                    'slug'       => 'tracksharp-audit',
     
    6771// ============================================================================
    6872if ( function_exists( 'tracksharp_fs' ) ) {
    69     // Force default currency to EUR
     73    // Force default currency to USD
    7074    tracksharp_fs()->add_filter( 'default_currency', function ( $currency ) {
    71         return 'eur';
     75        return 'usd';
    7276    } );
    7377    // Custom plugin icon for pricing page
     
    7579        return TRACKSHARP_PLUGIN_DIR . 'assets/images/tracksharp-icon.png';
    7680    } );
    77     // Custom pricing URL for Dutch sites (keep Freemius flow for others).
     81    // Custom pricing URL based on locale.
     82    // Dutch sites → tracksharp.nl, others → default Freemius upgrade page
    7883    tracksharp_fs()->add_filter( 'pricing_url', function ( $url ) {
    7984        $site_locale = (string) get_option( 'WPLANG' );
     
    100105            return 'https://tracksharp.nl/#prijzen';
    101106        }
    102         return $url;
     107        // Non-Dutch: return null to use the internal Freemius pricing page (branded with our CSS)
     108        return null;
    103109    } );
    104110    // Hide some Freemius submenus - keep Account and Pricing visible
  • tracksharp/trunk/assets/freemius-pricing/freemius-pricing.css

    r3437616 r3453925  
    22 * TrackSharp Premium Pricing Page Styles
    33 * Custom CSS for Freemius pricing page integration
    4  * Updated with correct Freemius SDK selectors
    54 */
    65
    7 /* ============================================================================
    8    CSS Custom Properties (TrackSharp Brand)
    9    ============================================================================ */
    106:root {
    117  --ts-primary: #1ecc8c;
     8  --ts-primary-rgb: 30, 204, 140;
    129  --ts-primary-dark: #158a5f;
    1310  --ts-primary-darker: #127a54;
     
    2421}
    2522
    26 /* ============================================================================
    27    Base Wrapper & Main Container
    28    ============================================================================ */
     23/* Base Wrapper & Navigation Layout */
    2924#fs_pricing_wrapper,
    3025.fs-app-main {
    3126  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    3227  -webkit-font-smoothing: antialiased;
    33   background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%) !important;
    34 }
    35 
    36 /* ============================================================================
    37    CRITICAL: Override Inline Width Styles
    38    ============================================================================ */
    39 .fs-packages-nav,
    40 section.fs-packages-nav {
    41   width: 100% !important;
    42   max-width: 900px !important;
     28  background: var(--ts-surface-alt) !important;
     29  min-height: 100vh;
     30}
     31
     32/* Header Tweaks */
     33.fs-app-header {
     34  padding: 40px 0 !important;
     35  border-bottom: 1px solid var(--ts-border) !important;
     36  background: #ffffff !important;
     37  margin-bottom: 0px !important;
     38}
     39
     40.fs-app-header .fs-plugin-icon {
     41  width: 64px !important;
     42  height: 64px !important;
     43  border-radius: 12px !important;
     44}
     45
     46/* Sections Spacing */
     47.fs-section,
     48#fs_pricing_wrapper section {
     49  max-width: 95% !important;
    4350  margin: 0 auto !important;
    44 }
    45 
    46 .fs-packages,
    47 ul.fs-packages {
    48   width: 100% !important;
    49   max-width: 100% !important;
    50   left: 0 !important;
    51   position: relative !important;
     51  width: 95% !important;
     52  box-sizing: border-box !important;
     53
     54}
     55
     56
     57/* Billing Cycles Toggle - Modernized */
     58.fs-section--billing-cycles {
     59  margin-bottom: 48px !important;
    5260  display: flex !important;
    5361  justify-content: center !important;
    54   gap: 24px !important;
     62}
     63
     64.fs-billing-cycles {
     65  display: flex !important;
     66  background: #ffffff !important;
     67  border: 1px solid var(--ts-border) !important;
     68  border-radius: 999px !important;
     69  padding: 6px !important;
     70  box-shadow: var(--ts-shadow-sm) !important;
     71  list-style: none !important;
     72  margin: 0 !important;
     73}
     74
     75.fs-billing-cycles li {
     76  padding: 12px 32px !important;
     77  border-radius: 999px !important;
     78  font-weight: 700 !important;
     79  font-size: 14px !important;
     80  color: var(--ts-text-muted) !important;
     81  cursor: pointer !important;
     82  transition: all 0.2s ease !important;
     83  border: none !important;
     84  margin: 0 !important;
     85  display: flex !important;
     86  align-items: center !important;
     87}
     88
     89.fs-billing-cycles li.fs-selected-billing-cycle {
     90  background: var(--ts-primary) !important;
     91  color: #ffffff !important;
     92  box-shadow: 0 4px 12px rgba(var(--ts-primary-rgb), 0.3) !important;
     93}
     94
     95/* Annual Discount Badge */
     96.fs-section--annual-discount {
     97  text-align: center !important;
     98  margin-bottom: 24px !important;
     99}
     100
     101.fs-section--annual-discount .fs-discount-badge {
     102  background: rgba(var(--ts-primary-rgb), 0.1) !important;
     103  color: var(--ts-primary-dark) !important;
     104  padding: 8px 24px !important;
     105  border-radius: 999px !important;
     106  font-weight: 800 !important;
     107  font-size: 13px !important;
     108  text-transform: uppercase !important;
     109  letter-spacing: 0.05em !important;
     110  border: 1px solid rgba(var(--ts-primary-rgb), 0.2) !important;
     111}
     112
     113/* Packages Grid */
     114.fs-packages {
     115  display: flex !important;
     116  flex-direction: row !important;
     117  justify-content: center !important;
     118  align-items: stretch !important;
     119  gap: 32px !important;
     120  margin-top: 40px !important;
    55121  flex-wrap: wrap !important;
    56122  padding: 0 !important;
     123  list-style: none !important;
     124  width: 100% !important;
     125}
     126
     127.fs-package {
     128  background: #ffffff !important;
     129  border: 1px solid var(--ts-border) !important;
     130  border-radius: var(--ts-radius) !important;
     131  padding: 48px 40px !important;
     132  width: 350px !important;
     133  max-width: 100% !important;
     134  text-align: center !important;
     135  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
     136  box-shadow: var(--ts-shadow-sm) !important;
     137  position: relative !important;
     138  flex: 0 1 auto !important;
    57139  margin: 0 !important;
    58140}
    59141
    60 .fs-package,
    61 li.fs-package {
    62   width: 320px !important;
    63   min-width: 280px !important;
    64   max-width: 350px !important;
    65   flex: 0 0 auto !important;
    66 }
    67 
    68 /* ============================================================================
    69    HIDE: Packages Tab (unnecessary with single plan)
    70    ============================================================================ */
    71 .fs-packages-tab,
    72 ul.fs-packages-tab {
    73   display: none !important;
    74   visibility: hidden !important;
    75 }
    76 
    77 /* ============================================================================
    78    Packages Section Container
    79    ============================================================================ */
    80 .fs-section--packages {
    81   background: var(--ts-surface-alt) !important;
    82   padding: 48px 24px 64px !important;
    83   border-radius: 24px !important;
    84   margin: 24px auto !important;
    85   max-width: 900px !important;
    86   overflow: visible !important;
    87 }
    88 
    89 /* Hide prev/next navigation arrows */
    90 .fs-prev-package,
    91 .fs-next-package,
    92 nav.fs-prev-package,
    93 nav.fs-next-package {
    94   display: none !important;
    95 }
    96 
    97 /* ============================================================================
    98    Billing Cycles Toggle - FIX READABILITY
    99    ============================================================================ */
    100 .fs-section--billing-cycles {
    101   margin-bottom: 20px !important;
    102 }
    103 
    104 .fs-billing-cycles,
    105 ul.fs-billing-cycles {
    106   display: flex !important;
    107   justify-content: center !important;
    108   gap: 0 !important;
    109   list-style: none !important;
    110   padding: 4px !important;
    111   margin: 0 !important;
    112   background: rgba(255, 255, 255, 0.1) !important;
    113   border-radius: 999px !important;
    114   border: 1px solid rgba(255, 255, 255, 0.15) !important;
    115 }
    116 
    117 /* All billing cycle options - make text WHITE for visibility */
    118 .fs-billing-cycles li,
    119 .fs-period--monthly,
    120 .fs-period--annual,
    121 li[data-billing-cycle] {
    122   color: rgba(255, 255, 255, 0.9) !important;
    123   padding: 10px 20px !important;
    124   border-radius: 999px !important;
    125   cursor: pointer !important;
    126   font-size: 14px !important;
    127   font-weight: 500 !important;
    128   transition: all 0.2s ease !important;
    129   background: transparent !important;
    130   margin: 0 !important;
    131 }
    132 
    133 /* Inactive state - ensure white text */
    134 .fs-period--monthly:not(.fs-selected-billing-cycle),
    135 .fs-period--annual:not(.fs-selected-billing-cycle),
    136 .fs-billing-cycles li:not(.fs-selected-billing-cycle) {
    137   color: rgba(255, 255, 255, 0.75) !important;
    138   background: transparent !important;
    139 }
    140 
    141 /* Active/Selected state */
    142 .fs-selected-billing-cycle,
    143 .fs-billing-cycles li.fs-selected-billing-cycle,
    144 .fs-period--monthly.fs-selected-billing-cycle,
    145 .fs-period--annual.fs-selected-billing-cycle {
     142.fs-package:hover {
     143  transform: translateY(-8px) !important;
     144  box-shadow: var(--ts-shadow) !important;
     145  border-color: var(--ts-primary) !important;
     146}
     147
     148/* Most Popular Badge Override */
     149.fs-most-popular {
     150  position: absolute !important;
     151  top: -16px !important;
     152  left: 50% !important;
     153  transform: translateX(-50%) !important;
    146154  background: var(--ts-primary) !important;
    147155  color: #ffffff !important;
     156  padding: 8px 20px !important;
     157  border-radius: 999px !important;
     158  font-size: 11px !important;
     159  font-weight: 800 !important;
     160  text-transform: uppercase !important;
     161  letter-spacing: 0.1em !important;
     162  box-shadow: 0 4px 12px rgba(var(--ts-primary-rgb), 0.4) !important;
     163}
     164
     165/* Pricing Display */
     166.fs-plan-title {
     167  font-size: 14px !important;
     168  font-weight: 700 !important;
     169  text-transform: uppercase !important;
     170  letter-spacing: 0.1em !important;
     171  color: var(--ts-text-muted) !important;
     172  margin-bottom: 24px !important;
     173}
     174
     175.fs-selected-pricing-amount {
     176  font-size: 64px !important;
     177  font-weight: 800 !important;
     178  color: var(--ts-text-dark) !important;
     179  margin: 16px 0 !important;
     180  display: flex !important;
     181  align-items: center !important;
     182  justify-content: center !important;
     183  line-height: 1 !important;
     184}
     185
     186.fs-selected-pricing-amount sup {
     187  font-size: 24px !important;
     188  font-weight: 700 !important;
     189  margin: 0 2px !important;
     190  position: relative !important;
     191  top: -4px !important;
     192}
     193
     194.fs-selected-pricing-amount .fs-period {
     195  font-size: 18px !important;
     196  color: var(--ts-text-muted) !important;
    148197  font-weight: 600 !important;
    149   box-shadow: 0 2px 8px rgba(30, 204, 140, 0.3) !important;
    150 }
    151 
    152 /* ============================================================================
    153    Annual Discount Banner
    154    ============================================================================ */
    155 .fs-section--annual-discount {
    156   margin-bottom: 16px !important;
    157 }
    158 
    159 .fs-section--annual-discount>*,
    160 .fs-section--annual-discount span,
    161 .fs-section--annual-discount div {
    162   background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%) !important;
    163   color: #0f172a !important;
    164   padding: 8px 20px !important;
    165   border-radius: 999px !important;
    166   font-weight: 600 !important;
    167   font-size: 13px !important;
    168   display: inline-block !important;
    169 }
    170 
    171 /* ============================================================================
    172    Currency Selector
    173    ============================================================================ */
    174 .fs-section--currencies {
    175   margin-bottom: 24px !important;
    176 }
    177 
    178 .fs-section--currencies select,
    179 .fs-section--currencies .fs-currency-selector {
    180   background: rgba(255, 255, 255, 0.15) !important;
    181   border: 1px solid rgba(255, 255, 255, 0.25) !important;
    182   border-radius: 8px !important;
    183   color: #ffffff !important;
    184   padding: 10px 16px !important;
    185   font-size: 14px !important;
    186   cursor: pointer !important;
    187 }
    188 
    189 /* ============================================================================
    190    Individual Package Cards
    191    ============================================================================ */
    192 .fs-package {
    193   background: var(--ts-surface) !important;
    194   border: 2px solid var(--ts-border) !important;
    195   border-radius: var(--ts-radius) !important;
    196   box-shadow: var(--ts-shadow-sm) !important;
    197   padding: 32px 28px !important;
    198   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    199   position: relative !important;
    200   overflow: visible !important;
    201   list-style: none !important;
    202 }
    203 
    204 .fs-package:hover {
    205   box-shadow: var(--ts-shadow) !important;
    206   border-color: var(--ts-primary) !important;
    207 }
    208 
    209 /* Featured/Popular Package */
    210 .fs-package:first-child {
    211   border-color: var(--ts-primary) !important;
    212   box-shadow: var(--ts-shadow), 0 0 0 4px rgba(30, 204, 140, 0.15) !important;
    213 }
    214 
    215 /* Most Popular Badge */
    216 .fs-most-popular {
    217   position: absolute !important;
    218   top: -12px !important;
    219   left: 50% !important;
    220   transform: translateX(-50%) !important;
    221   background: linear-gradient(135deg, var(--ts-primary) 0%, var(--ts-primary-dark) 100%) !important;
    222   color: #ffffff !important;
    223   font-size: 11px !important;
    224   font-weight: 700 !important;
    225   text-transform: uppercase !important;
    226   letter-spacing: 0.08em !important;
    227   padding: 6px 16px !important;
    228   border-radius: 999px !important;
    229   box-shadow: 0 4px 12px rgba(30, 204, 140, 0.4) !important;
    230   white-space: nowrap !important;
    231 }
    232 
    233 .fs-package-content {
    234   text-align: center !important;
    235 }
    236 
    237 /* ============================================================================
    238    Plan Title & Description
    239    ============================================================================ */
    240 .fs-plan-title {
    241   font-size: 12px !important;
    242   font-weight: 700 !important;
    243   text-transform: uppercase !important;
    244   letter-spacing: 0.12em !important;
    245   color: var(--ts-text-muted) !important;
    246   margin: 0 0 12px 0 !important;
    247   background: var(--ts-surface-alt) !important;
    248   border-radius: 8px !important;
    249   display: inline-block !important;
    250 }
    251 
    252 .fs-plan-title strong {
    253   color: var(--ts-text-dark) !important;
    254   font-weight: 700 !important;
    255 }
    256 
    257 .fs-plan-description {
    258   font-size: 14px !important;
    259   color: var(--ts-text-muted) !important;
    260   line-height: 1.5 !important;
    261   margin: 0 0 20px 0 !important;
    262   font-weight: 400 !important;
    263 }
    264 
    265 /* ============================================================================
    266    Pricing Display
    267    ============================================================================ */
     198  margin-left: 8px !important;
     199}
     200
     201/* Undiscounted price (Normally $X / mo) */
    268202.fs-undiscounted-price {
    269   font-size: 14px !important;
     203  font-size: 15px !important;
    270204  color: var(--ts-text-light) !important;
    271205  text-decoration: line-through !important;
    272206  margin-bottom: 4px !important;
    273   opacity: 0.7 !important;
    274 }
    275 
    276 .fs-selected-pricing-amount {
    277   font-size: 48px !important;
    278   font-weight: 800 !important;
     207  opacity: 0.8 !important;
     208}
     209
     210/* Features List */
     211.fs-plan-features {
     212  text-align: left !important;
     213  margin: 32px 0 !important;
     214  padding: 32px 0 !important;
     215  border-top: 1px solid var(--ts-border) !important;
     216  list-style: none !important;
     217}
     218
     219.fs-plan-features li {
     220  margin-bottom: 16px !important;
     221  font-size: 14px !important;
    279222  color: var(--ts-text-dark) !important;
    280   line-height: 1.1 !important;
    281   margin: 8px 0 !important;
    282 }
    283 
    284 .fs-selected-pricing-amount sup {
    285   font-size: 20px !important;
    286   font-weight: 600 !important;
    287   vertical-align: top !important;
    288   margin-right: 2px !important;
    289 }
    290 
    291 .fs-selected-pricing-amount sub,
    292 .fs-selected-pricing-amount .fs-period {
    293   font-size: 14px !important;
    294   font-weight: 500 !important;
    295   color: var(--ts-text-muted) !important;
    296 }
    297 
    298 .fs-selected-pricing-cycle {
    299   font-size: 11px !important;
    300   color: var(--ts-text-muted) !important;
    301   text-transform: uppercase !important;
    302   letter-spacing: 0.08em !important;
    303   font-weight: 600 !important;
    304   margin: 8px 0 !important;
    305 }
    306 
    307 .fs-selected-pricing-license-quantity {
    308   font-size: 13px !important;
    309   color: var(--ts-primary-dark) !important;
    310   font-weight: 500 !important;
    311   margin: 4px 0 16px 0 !important;
    312 }
    313 
    314 /* ============================================================================
    315    Features Section
    316    ============================================================================ */
    317 .fs-support-and-main-features {
    318   border-top: 1px solid var(--ts-border) !important;
    319   padding-top: 16px !important;
    320   margin: 16px 0 !important;
    321   font-size: 13px !important;
    322   color: var(--ts-text-muted) !important;
    323   text-align: center !important;
    324 }
    325 
    326 .fs-plan-features {
    327   list-style: none !important;
    328   padding: 0 !important;
    329   margin: 12px 0 0 0 !important;
    330   text-align: left !important;
    331 }
    332 
    333 .fs-plan-features li {
    334   display: flex !important;
    335   align-items: flex-start !important;
    336   gap: 10px !important;
    337   padding: 6px 0 !important;
    338   font-size: 13px !important;
    339   color: var(--ts-text-dark) !important;
     223  display: flex !important;
     224  align-items: center !important;
    340225}
    341226
    342227.fs-plan-features li::before {
    343   content: '✓' !important;
    344   display: flex !important;
    345   align-items: center !important;
    346   justify-content: center !important;
    347   width: 18px !important;
    348   height: 18px !important;
    349   background: rgba(30, 204, 140, 0.15) !important;
    350   color: var(--ts-primary-dark) !important;
    351   border-radius: 50% !important;
    352   font-size: 10px !important;
    353   font-weight: 700 !important;
    354   flex-shrink: 0 !important;
    355   margin-top: 2px !important;
    356 }
    357 
    358 /* ============================================================================
    359    CTA Buttons
    360    ============================================================================ */
    361 .fs-upgrade-button-container {
    362   margin-top: 20px !important;
    363 }
    364 
    365 .fs-upgrade-button-container a,
    366 .fs-upgrade-button-container button,
    367 .fs-button,
    368 a.fs-button {
    369   display: block !important;
     228  content: "✓" !important;
     229  color: var(--ts-primary) !important;
     230  font-weight: 900 !important;
     231  margin-right: 12px !important;
     232  font-size: 18px !important;
     233}
     234
     235/* Upgrade Button - Massive Brand CTA */
     236.fs-upgrade-button-container .fs-button,
     237.fs-button-primary {
     238  background: var(--ts-primary) !important;
     239  border: none !important;
     240  color: #ffffff !important;
     241  padding: 18px 32px !important;
     242  border-radius: var(--ts-radius-sm) !important;
     243  font-size: 16px !important;
     244  font-weight: 700 !important;
     245  text-transform: uppercase !important;
     246  letter-spacing: 0.05em !important;
    370247  width: 100% !important;
    371   background: linear-gradient(135deg, var(--ts-primary) 0%, var(--ts-primary-dark) 100%) !important;
    372   border: none !important;
    373   border-radius: var(--ts-radius-sm) !important;
    374   color: #ffffff !important;
    375   font-size: 13px !important;
    376   font-weight: 600 !important;
    377   padding: 14px 24px !important;
    378   text-align: center !important;
    379   text-decoration: none !important;
    380248  cursor: pointer !important;
    381249  transition: all 0.2s ease !important;
    382   box-shadow: 0 4px 14px rgba(30, 204, 140, 0.3) !important;
    383   text-transform: uppercase !important;
    384   letter-spacing: 0.05em !important;
    385 }
    386 
    387 .fs-upgrade-button-container a:hover,
    388 .fs-upgrade-button-container button:hover,
    389 .fs-button:hover,
    390 a.fs-button:hover {
    391   background: linear-gradient(135deg, var(--ts-primary-dark) 0%, var(--ts-primary-darker) 100%) !important;
     250  box-shadow: 0 4px 14px rgba(var(--ts-primary-rgb), 0.3) !important;
     251}
     252
     253.fs-upgrade-button-container .fs-button:hover,
     254.fs-button-primary:hover {
     255  background: var(--ts-primary-dark) !important;
    392256  transform: translateY(-2px) !important;
    393   box-shadow: 0 8px 20px rgba(30, 204, 140, 0.4) !important;
    394   color: #ffffff !important;
    395 }
    396 
    397 /* ============================================================================
    398    Footer / Trust Section - HIDE
    399    ============================================================================ */
    400 .fs-section--contact,
     257  box-shadow: 0 8px 20px rgba(var(--ts-primary-rgb), 0.4) !important;
     258}
     259
     260/* Disabled/Current Plan Button Styles */
     261.fs-button[disabled],
     262.fs-button--outline[disabled],
     263.fs-upgrade-button[disabled] {
     264  background: var(--ts-surface-alt) !important;
     265  border: 2px solid var(--ts-border) !important;
     266  color: var(--ts-text-light) !important;
     267  cursor: not-allowed !important;
     268  opacity: 0.7 !important;
     269  box-shadow: none !important;
     270  transform: none !important;
     271  pointer-events: none !important;
     272}
     273
     274/* Disable Unnecessary Elements */
     275.fs-currencies,
     276.fs-section--currencies,
    401277.fs-section--badges,
    402 .fs-badges,
    403 .fs-secure-payments,
    404 [class*="secure-payments"],
    405 [class*="badges"],
    406 footer.fs-footer,
    407 .fs-footer,
    408 .fs-powered-by,
    409 [class*="powered-by"] {
     278.fs-section--faq,
     279.fs-powered-by {
    410280  display: none !important;
    411   visibility: hidden !important;
    412   height: 0 !important;
    413   overflow: hidden !important;
    414   opacity: 0 !important;
    415 }
    416 
    417 /* ============================================================================
    418    Responsive Design
    419    ============================================================================ */
    420 @media (max-width: 768px) {
    421   .fs-section--packages {
    422     padding: 24px 16px 40px !important;
    423     margin: 16px !important;
    424   }
    425 
    426   .fs-packages,
    427   ul.fs-packages {
    428     flex-direction: column !important;
    429     align-items: center !important;
    430   }
    431 
    432   .fs-package,
    433   li.fs-package {
    434     width: 100% !important;
    435     max-width: 100% !important;
    436     padding: 24px 20px !important;
    437   }
    438 
    439   .fs-selected-pricing-amount {
    440     font-size: 36px !important;
    441   }
    442 
    443   .fs-billing-cycles li,
    444   .fs-period--monthly,
    445   .fs-period--annual {
    446     padding: 8px 14px !important;
    447     font-size: 13px !important;
    448   }
    449 }
    450 
    451 /* ============================================================================
    452    Animation
    453    ============================================================================ */
    454 @keyframes fadeInUp {
    455   from {
    456     opacity: 0;
    457     transform: translateY(20px);
    458   }
    459 
    460   to {
    461     opacity: 1;
    462     transform: translateY(0);
    463   }
    464 }
    465 
    466 .fs-package {
    467   animation: fadeInUp 0.5s ease forwards;
    468 }
    469 
    470 .fs-package:nth-child(1) {
    471   animation-delay: 0.1s;
    472 }
    473 
    474 .fs-package:nth-child(2) {
    475   animation-delay: 0.2s;
    476 }
     281}
  • tracksharp/trunk/includes/admin/class-tracksharp-admin.php

    r3437616 r3453925  
    147147            'tracksharp-settings',
    148148            'tracksharp-setup',
     149            'tracksharp-audit-pricing',
     150            'tracksharp-audit-account',
    149151        ];
    150152
     
    160162            TRACKSHARP_VERSION
    161163        );
     164
     165        if ($page === 'tracksharp-audit-pricing' || $page === 'tracksharp-audit-account') {
     166            wp_enqueue_style(
     167                'tracksharp-freemius-pricing',
     168                TRACKSHARP_PLUGIN_URL . 'assets/freemius-pricing/freemius-pricing.css',
     169                [],
     170                TRACKSHARP_VERSION
     171            );
     172        }
    162173
    163174        // Enqueue JS
  • tracksharp/trunk/readme.txt

    r3452023 r3453925  
    55Tested up to: 6.9
    66Requires PHP: 7.4
    7 Stable tag: 1.2.8
     7Stable tag: 1.2.9
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    106106== Changelog ==
    107107
     108= 1.2.9 =
     109* New: 14-day free trial for Pro features (no credit card required).
     110
    108111= 1.2.8 =
    109112* New: Referral preservation to improve GA4 attribution accuracy.
     
    132135
    133136== Upgrade Notice ==
     137
     138= 1.2.9 =
     139New: 14-day free trial for Pro features.
    134140
    135141= 1.2.8 =
Note: See TracChangeset for help on using the changeset viewer.