| 78 |
78 |
|
/// Enabled features; `create_project` derives `project_type` from these.
|
| 79 |
79 |
|
pub features: &'static [&'static str],
|
| 80 |
80 |
|
/// Headline pricing model for the project.
|
|
81 |
+ |
///
|
|
82 |
+ |
/// Keep this `Free` unless the point of the project *is* the paywall.
|
|
83 |
+ |
/// A non-free project renders `ProjectPaywallTemplate` to anyone without
|
|
84 |
+ |
/// access, and that template lists no items at all
|
|
85 |
+ |
/// (`Project::from_db(db_project, 0)`). testnot is a public no-login demo,
|
|
86 |
+ |
/// so every visitor is "without access" forever: a paid project there is a
|
|
87 |
+ |
/// storefront nobody can see inside. Spreading the four `PricingKind`s
|
|
88 |
+ |
/// across projects hid 9 of the 11 seeded items this way until 2026-08-05.
|
|
89 |
+ |
///
|
|
90 |
+ |
/// Price the *items* instead. Item pricing is visible from the storefront
|
|
91 |
+ |
/// (the card links to `/purchase/{id}`), so BuyOnce and Pwyw demonstrate
|
|
92 |
+ |
/// themselves without closing the door. `Subscription` is the exception: it
|
|
93 |
+ |
/// is project-level by construction, so marginalia keeps it and is the one
|
|
94 |
+ |
/// paywall on the box.
|
| 81 |
95 |
|
pub pricing: ProjectPricing,
|
| 82 |
96 |
|
/// Subscription tiers (only non-empty for a `Subscription` project).
|
| 83 |
97 |
|
pub tiers: &'static [TierSpec],
|
| 146 |
160 |
|
share; name your price if you'd like to support the \
|
| 147 |
161 |
|
restoration work.",
|
| 148 |
162 |
|
features: &["audio"],
|
| 149 |
|
- |
pricing: ProjectPricing::Pwyw { min: 100 },
|
|
163 |
+ |
// Free at the project level so the storefront is browsable; the Pwyw
|
|
164 |
+ |
// demonstration lives on the items below. See the pricing note on
|
|
165 |
+ |
// `ProjectSpec::pricing`.
|
|
166 |
+ |
pricing: ProjectPricing::Free,
|
| 150 |
167 |
|
tiers: &[],
|
| 151 |
168 |
|
items: &[
|
| 152 |
169 |
|
ItemSpec {
|
| 203 |
220 |
|
everything locally, and stays out of your way. One \
|
| 204 |
221 |
|
download, buy it once.",
|
| 205 |
222 |
|
features: &["downloads", "license_keys"],
|
| 206 |
|
- |
pricing: ProjectPricing::BuyOnce(900),
|
|
223 |
+ |
// Free at the project level so the storefront is browsable; the four
|
|
224 |
+ |
// items below are BuyOnce at $3-$12 and carry the paid demonstration.
|
|
225 |
+ |
// See the pricing note on `ProjectSpec::pricing`.
|
|
226 |
+ |
pricing: ProjectPricing::Free,
|
| 207 |
227 |
|
tiers: &[],
|
| 208 |
228 |
|
items: &[
|
| 209 |
229 |
|
ItemSpec {
|